PostgreSQL용 AlloyDB 프로덕션 워크로드 위험을 최소화하려면 스테이징 클러스터를 사용하여 프로덕션 시스템에 업데이트를 적용하기 전에 새로운 기능, 성능, 기능을 테스트하면 됩니다. 스테이징 클러스터는 유지보수 업데이트 프로세스에 제어 레이어를 추가하는 프로덕션 클러스터의 복사본입니다. 스테이징 클러스터를 사용하여 유지보수 업데이트를 테스트하면 비프로덕션 환경에서 잠재적인 문제를 식별하고 해결할 수 있습니다. 이 방식을 사용하면 프로덕션 시스템에서 다운타임과 성능 저하가 발생할 위험이 줄어듭니다.
AlloyDB 유지보수 업데이트는 주기적이며 주로 월별로 진행됩니다. 업데이트에는 새로운 기능, 버그 수정, 데이터베이스 호환성 업그레이드, 보안 관련 수정사항이 포함됩니다. AlloyDB 출시 버전은 상위 호환되지만 스테이징 환경에서 새 출시 버전을 테스트하여 프로덕션 클러스터의 중요 애플리케이션에 대한 데이터베이스 안정성과 예측 가능성을 보장하는 것이 좋습니다.
스테이징 클러스터를 사용하려면 다음과 같은 개략적인 단계를 수행합니다.
- 스테이징 클러스터를 설정합니다.
- 프로덕션 클러스터에서 유지보수 기간을 구성합니다.
- 스테이징 클러스터 업데이트를 관리합니다.
- 프로덕션 클러스터 업데이트를 관리합니다.
AlloyDB 유지보수에 대한 이 스테이징 검증 방식을 사용하면 프로덕션 환경이 안정적이고 성능이 우수하며 안전한 상태를 유지하면서 최신 AlloyDB 기능과 패치의 이점을 활용할 수 있습니다.
다음 다이어그램에서는 스테이징 클러스터와 프로덕션 클러스터 간의 관계와 업데이트 프로세스의 운영 흐름을 보여줍니다.

유지보수 업데이트가 AlloyDB 클러스터와 함께 작동하는 방식에 대한 자세한 내용은 유지보수 개요를 참조하세요. 유지보수 기간 관리 방법에 대한 자세한 내용은 PostgreSQL용 AlloyDB 클러스터 유지보수 기간 관리를 참조하세요.
시작하기 전에
사용하는 Google Cloud 프로젝트가 AlloyDB에 액세스할 수 있도록 사용 설정되어 있어야 합니다.
스테이징 클러스터를 설정하려면 AlloyDB 프로덕션 클러스터를 만들거나 이미 보유하고 있어야 합니다. 자세한 내용은 클러스터 및 클러스터의 기본 인스턴스 만들기를 참조하세요.
사용 중인 Google Cloud프로젝트에 다음 IAM 역할 중 하나가 있어야 합니다.
roles/alloydb.admin:AlloyDB 관리자가 사전 정의한 IAM 역할roles/owner: 소유자 기본 IAM 역할roles/editor: 편집자 기본 IAM 역할
이러한 역할이 없으면 조직 관리자에게 문의하여 액세스 권한을 요청하세요.
스테이징 클러스터 설정
성공적인 스테이징 우선 전략의 핵심은 스테이징 클러스터가 프로덕션 환경과 유사하고 프로덕션 전에 업데이트를 수신하는지 확인하는 것입니다. 스테이징 클러스터에 유지보수 기간을 설정하지 않으면 스테이징 우선 전략을 구성합니다. AlloyDB는 먼저 유지보수 기간 없이 클러스터를 업데이트합니다.
프로덕션 백업에서 스테이징 클러스터 만들기
프로덕션 환경을 미러링하는 스테이징 클러스터를 배포하고 스테이징 클러스터에 프로덕션 클러스터와 동일한 AlloyDB 버전, 구성, 데이터가 있는지 확인합니다.
스테이징 클러스터가 프로덕션 환경과 동일한지 확인하려면 restore 명령어를 사용하여 프로덕션 데이터베이스를 스테이징 클러스터에 클론하고 데이터 유사성 및 구성 일치를 확인합니다 또한 스테이징 및 프로덕션 환경을 서로 다른 프로젝트에 분리하는 것이 좋습니다.
다음 두 가지 방법을 사용하여 프로덕션 백업을 만들 수 있습니다.
- 기존 프로덕션 클러스터 백업의 전체 복원을 수행하여 새 스테이징 클러스터를 만듭니다. 이 메서드에는 데이터베이스 복구가 포함되지 않습니다. 하지만 백업 일정에 따라 데이터는 최대 24시간 이전의 데이터일 수 있습니다. 이 방법을 사용하려면 저장된 백업에서 클러스터 복원을 참조하세요.
- 최신 시간을 포함하여 기존 프로덕션 데이터베이스 백업의 특정 시간으로 PITR(point-in-time-recovery)을 수행하여 새 스테이징 클러스터를 만듭니다. 이 옵션을 사용하면 최신 데이터를 가져올 수 있으며 방법도 더 쉽습니다. 하지만 마지막 PITR 백업 시간에 따라 데이터를 지정된 시간으로 복원하거나 복구하는 데 시간이 더 걸릴 수 있습니다. 이 방법을 사용하려면 PITR(point-in-time recovery) 사용을 참조하세요.
스테이징 클러스터에 유지보수 기간이 설정되어 있지 않은지 확인
스테이징 클러스터 유지보수 기간을 설정하지 마세요. 기본적으로 새로 생성된 AlloyDB 클러스터(백업에서 복원한 클러스터 포함)에는 유지보수 기간이 설정되어 있지 않습니다. 이는 스테이징 환경의 올바른 상태입니다. AlloyDB는 예약된 유지보수 기간이 없는 클러스터를 업데이트한 후에 예약된 유지보수 기간이 있는 클러스터를 업데이트합니다.
다음과 같이 설정된 유지보수 기간이 없는지 확인할 수 있습니다.
콘솔
클러스터 페이지로 이동합니다.
리소스 이름 열에서 클러스터를 클릭합니다. 개요 페이지가 열립니다.
개요 페이지의 유지보수 섹션에서 클러스터의 유지보수 기간 세부정보를 봅니다.
선택사항: 시스템 통계 페이지에서 이벤트 타임라인과 같은 유지보수 작업 상태 세부정보를 볼 수 있습니다.
Unified Maintenance 관리를 보려면 검색창에 'Cloud Hub maintenance'를 입력하고 유지보수를 선택합니다. 이 페이지에서 유지보수 요약, Google에서 제어하는 유지보수, 예정된 유지보수 세부정보를 볼 수 있습니다.
gcloud
gcloud CLI를 사용하려면 Google Cloud CLI를 설치 및 초기화하거나 Cloud Shell을 사용합니다.
gcloud alloydb clusters describe STAGING_CLUSTER_ID \ --region=LOCATION_ID \ --project=PROJECT_ID출력에서
maintenanceSchedule필드를 찾습니다. 유지보수 기간이 설정되지 않으면 이 필드는 누락되거나 비어 있습니다. 어떤 이유로든 유지보수 기간이 설정되어 있으면 유지보수 기간을 삭제합니다.gcloud alloydb clusters update STAGING_CLUSTER_ID \ --region=LOCATION_ID \ --clear-maintenance-window \ --project=PROJECT_ID
프로덕션 클러스터에서 유지보수 기간 구성
프로덕션 클러스터의 경우 유지보수 기간을 예약하는 것이 중요합니다. 이렇게 하면 업데이트가 발생하는 시기를 제어하고 업데이트를 비즈니스의 트래픽이 적은 기간에 맞춰 조정할 수 있습니다.
프로덕션 클러스터에서 유지보수 기간 설정
프로덕션 클러스터의 유지보수 기간을 예약합니다. 프로덕션 시스템 부하가 가장 낮은 날짜와 시간을 선택합니다. 단일 유지보수 이벤트에 필요한 총 시간은 다를 수 있습니다.
AlloyDB는 스테이징 클러스터를 업데이트한 후 최소 1주일 동안 프로덕션 클러스터 업데이트를 자동으로 지연시킵니다. 스테이징 클러스터 업데이트 후 문제가 발견되면 최대 30일 동안 프로덕션 유지보수 업데이트를 거부하고 Google Cloud 지원팀과 협력하여 문제를 해결할 수 있습니다.
프로덕션 클러스터에서 다음과 같이 유지보수 기간을 설정합니다.
콘솔
클러스터 페이지로 이동합니다.
리소스 이름 열에서 클러스터를 클릭합니다.
개요 페이지의 유지보수 섹션에서 수정을 클릭합니다. 구성 창이 열립니다.
선호 유지보수 기간 섹션에서 이 유지보수 기간 요일을 선택합니다. 기본 옵션은 '모든 창'입니다.
클러스터를 만들면 AlloyDB에서 이 기본 유지보수 기간을 할당합니다.
유지보수 업데이트 날짜를 선택한 경우 유지보수 기간 시간을 선택합니다.
업데이트를 클릭하여 변경사항을 저장합니다.
gcloud
gcloud CLI를 사용하려면 Google Cloud CLI를 설치 및 초기화하거나 Cloud Shell을 사용합니다.
AlloyDB 클러스터의 구성 세부정보를 가져오려면 gcloud alloydb clusters update 명령어를 사용하여 다음을 실행합니다.
gcloud alloydb clusters update PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--maintenance-window-day=DAY_OF_WEEK \
--maintenance-window-hour=HOUR_OF_DAY \
--project=PROJECT_ID다음을 바꿉니다.
PRODUCTION_CLUSTER_ID: 프로덕션 클러스터 IDLOCATION_ID: Google Cloud 리전입니다.DAY_OF_WEEK: 유지보수에 선호하는 요일(예:SUNDAY)HOUR_OF_DAY: UTC 기준 유지보수 선호 시간(0~23)다음 예시에서는 유지보수 기간을 일요일 오전 2시(UTC)로 설정하는 방법을 보여줍니다.
gcloud alloydb clusters update my-prod-cluster \ --region=us-central1 \ --maintenance-window-day=SUNDAY \ --maintenance-window-hour=2 \ --project=my-production-project
프로덕션 클러스터에서 유지보수 기간 확인
프로덕션 클러스터에 유지보수 기간이 설정되어 있는지 확인하려면 gcloud alloydb clusters describe 명령어를 실행합니다.
gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID출력은 지정된 유지보수 요일과 시간이 포함된 maintenanceSchedule 필드를 반환합니다.
유지보수 알림 수신 동의
프로덕션 클러스터의 예약 유지보수 이벤트에 대한 알림 수신을 동의하는 것이 좋습니다. 알림을 통해 테스트를 시작할 시기를 계획할 수 있습니다.
유지보수 알림 수신을 동의하려면 다음 단계를 수행합니다.
클러스터 페이지로 이동합니다.
리소스 이름 열에서 클러스터를 클릭합니다. 개요 페이지가 열립니다.
개요 페이지의 유지보수 섹션에서 세부정보 표시를 클릭하여 섹션을 펼칩니다. 그런 다음 알림 행에서 수정을 클릭합니다. 커뮤니케이션 페이지가 열립니다.
커뮤니케이션 페이지에서 제품 커뮤니케이션 탭을 선택합니다.
AlloyDB 행의 이메일 열에서 알림 버튼을 사용으로 전환합니다.
프로덕션 클러스터의 유지보수 기간을 구성하면 AlloyDB에서 스테이징 클러스터 업데이트 후 7일 이내에 업데이트합니다. 알림을 수신하면 프로덕션 클러스터에 유지보수 업데이트가 예약되었다는 이메일 알림이 전송됩니다.
스테이징 클러스터 업데이트
스테이징 환경을 사용하여 예정된 프로덕션 업데이트의 유효성을 검사합니다.
업데이트 전 상태 확인
스테이징 클러스터에 유지보수 기간이 없으므로 이 클러스터에서 업데이트를 가장 먼저 수신합니다. 하지만 AlloyDB는 유지보수 기간이 구성되지 않은 클러스터에 알림을 보내지 않습니다. 그럼에도 불구하고 Google Cloud 콘솔의 로그 탐색기를 사용하여 유지보수 업데이트가 발생하는 시점을 모니터링할 수 있습니다.
Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Logging인 결과를 선택합니다.
모든 리소스를 선택하고 스테이징 클러스터를 선택한 후 적용을 클릭합니다.
모든 로그 이름을 선택하고 maintenance_events를 선택한 후 적용을 클릭합니다.
타임라인 창에서 스테이징 클러스터가 업데이트를 수신할 기간을 선택합니다.
업데이트 후 기능 확인 수행
AlloyDB에서 스테이징 클러스터를 업데이트한 후 기능 테스트를 수행하여 업데이트가 안전하고 프로덕션 환경에 적용하는 데 적합한지 확인합니다.
업데이트 후 성능 확인 수행
유지보수 업데이트가 완료된 후에 스테이징 클러스터를 확인합니다. 스테이징 클러스터를 업데이트한 후에 데이터베이스에 미치는 성능 영향을 평가합니다. 포괄적인 기능 및 성능 테스트를 수행하여 애플리케이션이 예상대로 작동하고 성능 SLA를 충족하는지 확인합니다.
안정성과 최적의 작동을 보장하려면 다음을 수행합니다.
- 업데이트 전 기준과 주요 측정항목을 비교합니다.
- 부하 테스트를 실행하여 회귀를 식별합니다.
- 쿼리 성능을 분석합니다.
- 리소스 사용률을 모니터링합니다.
확인 결과에 따라 조치 취하기
확인 결과를 검토하고 결과에 따라 다음 작업을 수행합니다.
- 확인 성공: 스테이징 클러스터에서 기능 및 성능 테스트가 성공하면 스테이징 환경에 오류가 없으며 예약된 기간에 프로덕션 유지보수를 진행할 수 있습니다. 프로덕션 업데이트를 준비하고 관련 이해관계자에게 알립니다.
- 확인 실패: 스테이징 클러스터에서 기능 및 성능 테스트가 실패하고 유지보수 업데이트 후 스테이징 환경에서 기능 오류, 성능 저하 또는 예기치 않은 동작이 발생하면 프로덕션 유지보수를 거부해야 합니다.
예약된 유지보수 이벤트 거부
프로덕션 클러스터의 예약된 유지보수 이벤트를 거부하려면 시작일, 종료일, 간격 시작 및 종료 시간을 설정해야 합니다.
시작일과 종료일은 YYYY-MM-DD 형식이어야 합니다. 시작일, 종료일, 시간은 모두 UTC 시간대입니다.
gcloud CLI를 사용하려면 Google Cloud CLI를 설치 및 초기화하거나 Cloud Shell을 사용합니다.
AlloyDB 클러스터에 유지보수 거부 기간을 추가하려면 다음 단계를 완료합니다.
deny-maintenance-period-start-date,deny-maintenance-period-end-date,deny-maintenance-period-time플래그와 함께gcloud alloydb clusters update명령어를 실행합니다.gcloud alloydb clusters update CLUSTER_ID \ --region LOCATION_ID \ --deny-maintenance-period-start-date START_DATE \ --deny-maintenance-period-end-date END_DATE \ --deny-maintenance-period-time TIME다음을 바꿉니다.
CLUSTER_ID: 유지보수 거부 기간을 구성할 클러스터LOCATION_ID: 이 클러스터가 있는 Google Cloud 리전(예:us-central1)START_DATE: 유지보수 거부 기간 시작일(YYYY-MM-DDUTC 형식).END_DATE: 유지보수 거부 기간 종료일(YYYY-MM-DDUTC 형식).TIME: 유지보수 거부 기간 시간(HH:MMUTC 형식). 시간은 24시간 형식으로 표시되며 값은00:00~23:59입니다(예:16:45).
오류 메시지, 성능 측정항목, 문제 재현 단계를 포함하여 모든 문제를 기록합니다.
Google Cloud 에 우선순위가 높은 지원 케이스를 접수하고 기록된 모든 문제를 제공합니다. Google Cloud 에서 문제를 분석하고 해결하는 데 사용합니다.
프로덕션 클러스터 업데이트
스테이징 확인이 성공하고 프로덕션 유지보수를 진행하도록 허용하면 예약된 유지보수 기간 중에 업데이트가 발생합니다.
유지보수 기간 확인
프로덕션 클러스터에서 예정된 유지보수 이벤트를 모니터링하려면 다음 단계를 수행합니다.
콘솔
클러스터 페이지로 이동합니다.
리소스 이름 열에서 클러스터를 클릭합니다. 개요 페이지가 열립니다.
개요 페이지의 유지보수 섹션에서 클러스터의 유지보수 기간 세부정보를 봅니다.
선택사항: 시스템 통계 페이지에서 이벤트 타임라인과 같은 유지보수 작업 상태 세부정보를 볼 수 있습니다.
Unified Maintenance 관리를 보려면 검색창에 'Cloud Hub maintenance'를 입력하고 유지보수를 선택합니다. 이 페이지에서 유지보수 요약, Google에서 제어하는 유지보수, 예정된 유지보수 세부정보를 볼 수 있습니다.
gcloud
gcloud CLI를 사용하려면 Google Cloud CLI를 설치 및 초기화하거나 Cloud Shell을 사용합니다.
gcloud alloydb clusters describe를 사용하여 다음을 실행합니다.
gcloud alloydb clusters describe PRODUCTION_CLUSTER_ID \
--region=LOCATION_ID \
--project=PROJECT_ID유지보수 이벤트가 계획되면 출력에 maintenanceSchedule 및 startTime이 포함됩니다. 알림을 수신한 경우 이메일 알림도 수신됩니다.
유지보수 기간 중에 프로덕션 모니터링
Google Cloud 에서 유지보수 프로세스를 자동화하지만 예약된 유지보수 기간 동안 프로덕션 환경에서 다음을 모니터링하는 것이 좋습니다.
- 애플리케이션 상태: 애플리케이션 로그와 상태 점검을 모니터링하여 중단 징후를 확인합니다.
- 데이터베이스 연결: 중단 후 애플리케이션이 데이터베이스에 다시 연결할 수 있는지 확인합니다.
- AlloyDB 측정항목: Google Cloud Monitoring을 사용하여 AlloyDB 측정항목(CPU, 메모리, 연결, 복제 지연)을 관찰하고 업데이트 후 예상 수준으로 돌아가는지 확인합니다.
유지보수 후 업데이트 확인
유지보수 업데이트가 완료되면 프로덕션 환경에서 중요한 기능과 성능 지표를 확인합니다.
- 주요 애플리케이션 기능: 가장 중요한 애플리케이션 기능의 스모크 테스트를 실행합니다.
- 기본 성능 검사: 대시보드에서 지연 시간 또는 리소스 소비의 급격한 증가를 검토합니다.