블루-그린 배포 전환 실행

그린 환경을 테스트하고 검증한 후 전환을 시작하여 그린 환경을 새 프로덕션 읽기 및 쓰기 환경으로 변환합니다.

시작하기 전에

전환을 시작하기 전에 필요한 권한이 있고 배포가 컷오버 준비가 되었는지 확인하세요.

필수 역할 및 권한

전환을 실행하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

  • Cloud SQL 관리자 (roles/cloudsql.admin)

맞춤 역할의 경우 다음 권한이 있는지 확인합니다.

  • cloudsql.blueGreenDeployments.switchover
  • cloudsql.blueGreenDeployments.get
  • cloudsql.instances.switchover
  • cloudsql.operations.get

Cloud SQL의 IAM 역할 및 권한에 대한 자세한 내용은 역할 및 권한을 참고하세요.

전환 전 확인

전환을 시작하기 전에 다음 조건을 확인하세요.

  1. 배포 상태: 배포가 SWITCHOVER_READY 상태여야 합니다.
  2. 워크로드 검증: 녹색 스테이징 인스턴스에서 모든 테스트와 검증을 완료합니다.
  3. 낮은 복제 지연: 컷오버 시간을 줄이려면 파란색과 녹색 간의 복제 지연이 최소화되어야 합니다.

전환 작동 방식

전환을 시작하면 Cloud SQL은 다음 자동 시퀀스를 실행합니다.

  1. 전환 전 검증: 전환 작업 전에 Cloud SQL은 복제가 중단되지 않았는지 확인하고 배포가 준비되었는지 확인하기 위해 일련의 구성 검사를 실행합니다.
  2. 전환 워크플로 실행: 워크플로 실행 중에 Cloud SQL은 컷오버를 위해 인스턴스를 준비합니다. 복제 지연 시간이 너무 길거나 활성 트랜잭션이 컷오버를 차단하면 전환 작업이 실패하고 프로덕션 파란색 환경이 온라인 상태로 유지됩니다.
  3. 트래픽 리디렉션: Cloud SQL이 블루 인스턴스와 그린 인스턴스 간에 연결 엔드포인트를 스왑합니다.
  4. 역할 변환: 녹색 인스턴스가 활성 프로덕션 읽기 및 쓰기 인스턴스가 되고 파란색 인스턴스가 독립형 읽기 및 쓰기 인스턴스가 됩니다.

전환 중에 애플리케이션 연결이 업그레이드된 프로덕션 인스턴스에 자동으로 다시 연결되기 전에 잠시 중단됩니다(일반적으로 몇 초). 전환 다운타임은 Cloud SQL 버전에 따라 다릅니다.

  • Cloud SQL Enterprise Plus 버전: 전환 다운타임은 일반적으로 1초 미만입니다.
  • Cloud SQL Enterprise 버전: 워크로드 및 복제 지연에 따라 전환 다운타임이 일반적으로 60초 미만입니다. 애플리케이션 구성이나 연결 문자열을 변경할 필요가 없습니다.

전환 수명 주기 상태

전환 전, 전환 중, 전환 후에는 배포가 state 응답 필드에서 다음 상태를 거칩니다.

  • SWITCHOVER_READY: 블루에서 그린으로의 논리 복제가 정상이며 배포가 전환 준비가 되었습니다. SWITCHOVER_READY 상태는 복제가 정상인지에만 따라 달라집니다. Cloud SQL은 이 상태를 설정할 때 복제 지연을 평가하지 않습니다.
  • SWITCHOVER_NOT_READY: 배포가 프로비저닝되었지만 전환을 시작할 수 없습니다. 이는 논리 복제가 중단되거나, 일시중지되거나, 중지된 경우 또는 기본 노드 오류가 발생한 경우에 발생합니다. Cloud SQL은 이 상태를 설정할 때 복제 지연을 평가하지 않습니다. errorDetail을 검사하고 전환을 시도하기 전에 오류를 해결하세요.
  • SWITCHOVER_IN_PROGRESS: 전환 명령어가 활성 상태로 실행되고 있습니다. Cloud SQL이 연결 엔드포인트를 스왑하고 녹색을 프로덕션 읽기 및 쓰기 인스턴스로 변환하고 있습니다.
  • SWITCHOVER_COMPLETED: 전환이 성공적으로 완료되었습니다. 이제 녹색이 읽기 및 쓰기 트래픽을 처리하는 활성 프로덕션 데이터베이스 인스턴스이며, 파란색 인스턴스는 배포를 삭제할 때까지 독립형 읽기 및 쓰기 인스턴스로 유지됩니다.

전환 전 권장사항

  • 트래픽이 적은 시간대에 예약: 다운타임은 최소화되지만(일반적으로 초 단위) 초당 쓰기 작업 수(QPS)가 가장 낮은 시간대(예: 비성수기 또는 유지보수 기간)에 전환을 시작합니다. 이렇게 하면 복제 지연이 최소화되고 트랜잭션 취소 위험이 줄어듭니다.
  • 복제 지연 확인: 전환을 시작하기 전에 복제 지연이 최소화되었는지 확인합니다. 블루-그린 배포를 설명해도 복제 지연이 표시되지 않으며 Cloud SQL은 전환 작업 전에 복제 지연을 확인하지 않습니다. 하지만 워크플로 실행 중에 복제 지연이 너무 높으면 전환이 실패합니다. 복제 지연 시간을 모니터링하려면 Cloud Monitoring 측정항목 (예: replica_lag)을 확인하거나 녹색 인스턴스에서 직접 복제 상태를 검사합니다. 자세한 내용은 복제 지연을 참고하세요.
  • 활성 트랜잭션 확인: 전환을 시작하기 전에 장기 실행 DDL 작업 또는 일괄 쓰기가 완료되었는지 확인합니다.

전환 시작

Google Cloud 콘솔, gcloud CLI 또는 Cloud SQL Admin API를 사용하여 전환 작업을 시작합니다.

콘솔

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

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 블루-그린 배포 상태 카드에서 세부정보를 클릭하여 배포 개요 페이지를 엽니다.
  4. 전환 배포를 클릭합니다.
  5. 인스턴스 설정 차이 대화상자에서 소스 및 타겟 인스턴스 간의 설정 차이점을 검토한 후 계속을 클릭하여 전환을 시작합니다.

gcloud

blue-green-deployments switchover 명령어를 실행합니다.

gcloud beta sql blue-green-deployments switchover DEPLOYMENT_NAME \
  --region=REGION \
  --async

전환 작업을 완료하는 데 몇 분 정도 걸릴 수 있습니다. 작업이 예상보다 오래 걸릴 경우 메시지가 표시될 수 있습니다. 이 메시지를 무시하거나 gcloud sql operations wait 명령어를 실행하여 메시지를 닫고 작업이 완료될 때까지 기다릴 수 있습니다.

gcloud sql operations wait OPERATION_ID

전환 작업의 상태를 확인하려면 gcloud sql operations describe 명령어를 실행합니다.

gcloud sql operations describe OPERATION_ID

다음을 바꿉니다.

  • DEPLOYMENT_NAME: 블루-그린 배포의 이름입니다.
  • REGION: 배포가 생성된 Google Cloud 리전입니다.
  • OPERATION_ID: 전환 작업의 ID입니다.

REST v1

blueGreenDeployments.switchover 메서드에 POST 요청을 전송합니다.

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME:switchover

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
  • REGION: 배포가 생성된 Google Cloud 리전입니다.
  • DEPLOYMENT_NAME: 블루-그린 배포의 이름입니다.

REST v1beta4

blueGreenDeployments.switchover 메서드에 POST 요청을 전송합니다.

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME:switchover

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트의 ID입니다.
  • REGION: 배포가 생성된 Google Cloud 리전입니다.
  • DEPLOYMENT_NAME: 블루-그린 배포의 이름입니다.

전환 후 모니터링

전환이 완료된 후:

  1. 애플리케이션이 성공적으로 다시 연결되고 프로덕션 데이터베이스 작업이 재개되는지 확인합니다.
  2. 새 프로덕션 인스턴스에서 쿼리 처리량, 오류 로그, 복제 상태를 모니터링합니다.
  3. 초기 업그레이드 후 확인 기간 동안 파란색 독립형 인스턴스를 그대로 유지합니다. 안정성을 확인한 후 배포를 삭제합니다. 자세한 내용은 블루-그린 배포 삭제를 참고하세요.

다음 단계