유지보수 기간 찾기 및 설정

이 페이지는 Cloud SQL 인스턴스의 유지보수 기간을 찾고 설정하는 절차를 제공합니다. Cloud SQL이 유지보수를 수행하는 방법과 이유에 대한 자세한 내용은 Cloud SQL 인스턴스의 유지보수 개요를 참조하세요.

시작하기 전에

  1. Google Cloud 계정에 로그인합니다. Google Cloud를 처음 사용하는 경우 계정을 만들고 Google 제품의 실제 성능을 평가해 보세요. 신규 고객에게는 워크로드를 실행, 테스트, 배포하는 데 사용할 수 있는 $300의 무료 크레딧이 제공됩니다.
  2. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  3. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  4. Google Cloud CLI를 설치합니다.
  5. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init
  6. Google Cloud Console의 프로젝트 선택기 페이지에서 Google Cloud 프로젝트를 선택하거나 만듭니다.

    프로젝트 선택기로 이동

  7. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  8. Google Cloud CLI를 설치합니다.
  9. gcloud CLI를 초기화하려면 다음 명령어를 실행합니다.

    gcloud init

인스턴스의 기본 유지보수 기간 설정

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 유지보수 섹션에서 유지보수 환경설정 수정을 클릭합니다.
  4. 구성 옵션 섹션에서 유지보수를 엽니다.
  5. 다음 옵션을 구성합니다.
    • 선호 기간. 이 인스턴스에서 업데이트를 실행할 요일과 시간 범위를 설정합니다.
    • 업데이트 순서. 다른 인스턴스 업데이트와 관련하여 이 인스턴스를 업데이트하는 순서를 설정합니다. 업데이트 시점을 자동 선택, 미리 또는 나중에로 설정합니다. 미리 설정을 사용하는 인스턴스는 나중에 설정을 사용하는 인스턴스보다 최대 일주일 전에 업데이트를 수신합니다(동일한 위치에 있는 인스턴스를 비교한 경우).

gcloud

다음 gcloud 명령어를 사용하기 전에 다음을 바꿉니다.

  • instance-id: 재예약할 인스턴스
  • day: 유지보수를 실행할 요일. SUN, MON, TUE, WED, THU, FRI, SAT 중 하나로 설정합니다.
  • hour: UTC 시간대 기준 유지보수 기간의 시간(0~23)
gcloud sql instances patch instance-id \
--maintenance-window-day=day \
--maintenance-window-hour=hour
    
참조 정보는 gcloud sql instances patch를 확인하세요.

인스턴스에 이미 유지보수가 진행 중이거나 유지보수가 예약된 상태에서 유지보수 기간을 설정하면 변경사항이 즉시 적용되지 않습니다. 이러한 변경사항은 향후 유지보수 이벤트에 반영됩니다.

유지보수 알림 수신에 동의하면 유지보수 알림을 선택한 경우 Cloud SQL에서 인스턴스 유지보수가 예약된 후 유지보수가 예정된 정확한 날짜 및 시간과 함께 알림을 보냅니다. Cloud SQL은 다음과 같이 인스턴스의 유지보수 기간 순서 업데이트 설정에 따라 알림을 전송합니다.

  • 업데이트 순서가 Earlier로 설정된 경우 Cloud SQL은 최소 1주일 전에 유지보수 알림을 전송합니다.
  • 업데이트 순서가 Later로 설정된 경우 Cloud SQL은 최소 2주 전에 유지보수 알림을 전송합니다.

유지보수 알림 수신 동의

유지보수 알림 수신에 동의하기 전에 인스턴스 유지보수를 위한 선호 기간을 설정해야 합니다.

  1. 커뮤니케이션 페이지로 이동합니다. 커뮤니케이션으로 이동
  2. Cloud SQL, 유지보수 기간 행에서 이메일 아래에 있는 라디오 버튼을 선택하여 사용으로 전환합니다.

알림을 수신해야 하는 각 사용자는 별도로 선택해야 합니다.

Google Cloud 콘솔에서 유지보수 알림 찾기

Google Cloud 콘솔의 여러 곳에서 유지보수 알림을 확인할 수 있습니다.

  • 활동 대시보드에서 SQL 유지보수로 표시된 인스턴스를 찾습니다.
    활동으로 이동

  • 인스턴스 유지보수가 예약되면 유지보수 열의 인스턴스 페이지에 유지보수 날짜가 나열됩니다. 유지보수 열은 대개 표시되지 않지만 유지보수가 예약되면 자동으로 표시됩니다. 또한 유지보수 열을 항상 표시하려면 열 표시 옵션(열 표시 옵션 아이콘은 세 줄입니다.)에서 유지보수를 선택하면 됩니다.

  • 또는 인스턴스를 선택하여 인스턴스 세부정보 페이지로 이동할 수 있습니다. 인스턴스 유지보수가 예약되면 유지보수 창에 메시지가 표시됩니다.
    Cloud SQL 인스턴스로 이동

API를 사용하여 예약된 유지보수 기간 찾기

gcloud

다음 gcloud 명령어를 사용하기 전에 다음을 바꿉니다.

  • instance-id: 재예약할 인스턴스
gcloud sql instances describe instance-id
    

응답에서 scheduledMaintenance 섹션을 찾습니다.

REST v1

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
  • INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "POSTGRES_13"
}

응답에서 scheduledMaintenance 섹션을 찾습니다.

REST v1beta4

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
  • INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "POSTGRES_13"
}

응답에서 scheduledMaintenance 섹션을 찾습니다.

예정된 유지보수 일정 변경

Google Cloud 콘솔, gcloud 또는 Cloud SQL Admin API를 사용하여 유지보수를 다시 예약할 수 있습니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 유지보수라는 용어로 필터링하여 유지보수가 예약된 모든 인스턴스를 나열합니다.
  3. 유지보수 열에서 일정 변경을 클릭합니다.
  4. 일정 변경 대화상자에서 유지보수를 즉시 적용할지, 28일 연기 기간 내 특정 시간에 실행되도록 재예약할지, 사용 가능한 다음 유지보수 기간으로 연기할지 선택합니다.

gcloud

다음 gcloud 명령어를 사용하기 전에 다음을 바꿉니다.

  • instance-id: 재예약할 인스턴스
  • reschedule-type: IMMEDIATE, NEXT_AVAILABLE_WINDOW 또는 SPECIFIC_TIME 중 하나를 사용합니다.

    NEXT_AVAILABLE_WINDOW를 선택하면 유지보수 일정이 현재 예약된 시간에 따라 사용 가능한 다음 유지보수 기간으로 변경됩니다.

  • reschedule-time: reschedule-typeSPECIFIC_TIME을 선택하는 경우 이 플래그도 설정하여 유지보수를 실행할 새로운 요일과 시간을 지정해야 합니다. ISO 8601 형식을 사용합니다. 예를 들면 2020-01-16T16:56:00.000Z입니다.
gcloud sql reschedule-maintenance instance-id \
--reschedule-type=reschedule-type \
[--schedule-time=reschedule-time]
  
참조 정보는 gcloud sql reschedule-maintenance를 확인하세요.

최대 28일 동안 유지보수 일정을 변경하려면 gcloud의 버전 번호를 확인하세요. 버전 번호가 390.0.0_RC00 미만이면 gcloud를 다시 설치합니다.

REST v1

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID
  • reschedule-type: IMMEDIATE, NEXT_AVAILABLE_WINDOW 또는 SPECIFIC_TIME 중 하나를 사용합니다.

    NEXT_AVAILABLE_WINDOW를 선택하면 사용 가능한 다음 유지보수 기간으로 재예약됩니다.

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/rescheduleMaintenance

JSON 요청 본문:

{
  "reschedule": {
    "reschedule_type": "reschedule-type"
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": RESCHEDULE_MAINTENANCE,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID
  • reschedule-type: IMMEDIATE, NEXT_AVAILABLE_WINDOW 또는 SPECIFIC_TIME 중 하나를 사용합니다.

    NEXT_AVAILABLE_WINDOW를 선택하면 사용 가능한 다음 유지보수 기간으로 재예약됩니다.

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/rescheduleMaintenance

JSON 요청 본문:

{
  "reschedule": {
    "reschedule_type": "reschedule-type"
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": RESCHEDULE_MAINTENANCE,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

이 태스크와 관련된 기본 REST API 요청이 생성되는 방식을 확인하려면 instances:post 페이지의 API 탐색기를 참조하세요.

유지보수 거부 기간 구성

Cloud SQL 인스턴스에서 언제든지 최대 1개의 유지보수 거부 기간을 구성할 수 있습니다. 유지보수 거부 기간이 예약된 유지보수 기간보다 우선 적용됩니다. 유지보수 기간과 유지보수 거부 기간 사이에 충돌이 있으면 유지보수 거부 기간이 유지보수 기간을 재정의합니다.

유지보수 거부가 시작되었든 아니든 유지보수 거부 기간을 수동으로 삭제할 수 있습니다.

유지보수 거부 기간을 구성하려면 해당 기간의 시작일, 종료일, 그리고 간격 시작 및 종료 시간을 설정합니다. 유지보수 거부 기간은 1~90일입니다.

시작일 및 종료일에는 다음 두 가지 형식이 있습니다.

  • yyyy-mm-dd: 특정 날짜를 나타냅니다.
  • mm-dd: 매년 반복되는 날짜를 나타냅니다.

시작일 및 종료일은 UTC입니다. 시간대를 설정하려면 시간 필드를 사용하여 시작 시간을 조정합니다. 예를 들어 시작일 = 2020-10-10 및 시간 = 07:00:00은 시작 시간 2020-10-10 07:00:00 UTC(2020-10-10 00:00:00 PST)를 나타냅니다.

이번에는 시간 형식이 HH:mm:SS입니다.

  • 시간은 0~23(포함) 사이입니다.
  • 분과 초는 0에서 59(포함) 사이입니다.

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 유지보수 섹션에서 유지보수 환경설정 수정을 클릭합니다.
  4. 유지보수 거부 기간 섹션에서 시작일 및 종료일을 설정합니다.
  5. 고급 옵션 섹션에서 원하는 경우 매년 반복을 선택합니다.
  6. 저장을 클릭합니다.

gcloud

다음 gcloud 명령어를 사용하기 전에 다음을 바꿉니다.

  • instance-id: Cloud SQL 인스턴스 ID
  • start-date: 간격이 시작되는 날짜입니다. 예를 들면 2021-11-29입니다.
  • end-date: 간격이 종료되는 날짜입니다. 예를 들면 2021-12-02입니다.
  • time: 간격이 시작 및 종료될 시간입니다. 예를 들면 00:00:00입니다.
gcloud sql instances patch instance-id\
 --deny-maintenance-period-start-date=start-date \
 --deny-maintenance-period-end-date=end-date \
 --deny-maintenance-period-time=time

REST v1

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID
  • start-date: 매년 반복되는 시작일(yyyy-mm-dd) 또는 (mm-dd)
  • end-date: 매년 반복되는 종료일(yyyy-mm-dd) 또는 (mm-dd)
  • time: 시작 및 종료 시간(HH:mm:SS)

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

JSON 요청 본문:

{
  "settings":
  {
    "denyMaintenancePeriods": [{
      "start_date": "start-date",
      "end_date": "end-date"
      "time": "time"
    }]
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": MAINTENANCE_DENY_PERIOD,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID
  • start-date: 매년 반복되는 시작일(yyyy-mm-dd) 또는 (mm-dd)
  • end-date: 매년 반복되는 종료일(yyyy-mm-dd) 또는 (mm-dd)
  • time: 시작 및 종료 시간(HH:mm:SS)

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

JSON 요청 본문:

{
  "settings":
  {
    "denyMaintenancePeriods": [{
      "start_date": "start-date",
      "end_date": "end-date"
      "time": "time"
    }]
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": MAINTENANCE_DENY_PERIOD,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

유지보수 거부 기간 삭제

콘솔

  1. Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 유지보수 섹션에서 유지보수 환경설정 수정을 클릭합니다.
  4. 유지보수 기간 거부 섹션에서 삭제를 클릭합니다.
  5. 저장을 클릭합니다.

gcloud

다음 gcloud 명령어를 사용하기 전에 다음을 바꿉니다.

  • instance-id: Cloud SQL 인스턴스 ID
gcloud sql instances patch instance-id \
--remove-deny-maintenance-period

REST v1

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id

JSON 요청 본문:

{
  "settings":
  {
    "denyMaintenancePeriods": []
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": MAINTENANCE_DENY_PERIOD,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

REST v1beta4

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • project-id: 프로젝트 ID
  • instance-id: 인스턴스 ID

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

JSON 요청 본문:

{
  "settings":
  {
    "denyMaintenancePeriods": []
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "startTime": "08:00",
  "endTime": "08:01",
  "operationType": MAINTENANCE_DENY_PERIOD,
  "name": "operation-id",
  "targetId": "instance-id",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id",
  "targetProject": "project-id"
}

유지보수 거부 기간 알림

계획된 유지보수 시간이 유지보수 거부 기간에 포함되면 유지보수 기간 알림은 전송되지 않으며 유지보수 거부 기간 설정으로 인해 금지됩니다.

이전에 예약된 시간에 유지보수가 방지되도록 유지보수 거부 기간 설정을 변경하면 Cloud SQL 인스턴스에서 유지보수를 건너뛰고 유지보수 취소에 대한 알림을 보냅니다. Cloud SQL은 인스턴스 업데이트가 예약될 때마다 이 취소 알림을 보냅니다.

계획된 유지보수 알림은 유지보수 거부 기간 중에 전송됩니다(이러한 유지보수가 해당 기간을 벗어나 발생하도록 예약된 경우).

다음 단계