블루-그린 배포 설명 및 나열

이 문서에서는 Cloud SQL 블루-그린 배포를 나열하고 설명하며, 연결 세부정보와 구성 차이점을 검사하고, 그린 스테이징 환경에 연결하여 워크로드를 테스트하고 검증하는 방법을 설명합니다.

시작하기 전에

블루-그린 배포를 나열하거나 설명하고 그린 스테이징 인스턴스에 연결하려면 필요한 역할과 데이터베이스 사용자 인증 정보가 있는지 확인하세요.

필수 역할 및 권한

블루-그린 배포를 나열하고 설명하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

  • Cloud SQL 뷰어 (roles/cloudsql.viewer)
  • Cloud SQL 편집자 (roles/cloudsql.editor)
  • Cloud SQL 관리자 (roles/cloudsql.admin)

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

  • cloudsql.blueGreenDeployments.get
  • cloudsql.blueGreenDeployments.list

녹색 스테이징 인스턴스에 연결하고 테스트 쿼리를 실행하려면 소스 인스턴스에 구성된 데이터베이스 사용자 인증 정보도 필요합니다.

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

개요

describe 명령어를 사용하면 초기 프로비저닝 및 스테이징부터 전환 완료에 이르기까지 수명 주기 전반에 걸쳐 Cloud SQL 블루-그린 배포의 상태를 항상 모니터링하고 추적할 수 있습니다.

블루-그린 배포를 설명하면 다음 사항을 확인할 수 있습니다.

  • 배포 수명 주기 상태: PROVISIONING, SWITCHOVER_READY, SWITCHOVER_NOT_READY, SWITCHOVER_IN_PROGRESS, SWITCHOVER_COMPLETED와 같은 상태를 전환할 때 배포의 실시간 상태를 모니터링합니다.
  • 대상 인스턴스 연결 세부정보: 녹색 스테이징 인스턴스의 고유한 연결 이름과 네트워크 엔드포인트를 가져옵니다. 이를 통해 데이터베이스 관리자 (DBA)와 QA 엔지니어는 라이브 블루 프로덕션 트래픽에 영향을 주지 않고 애플리케이션을 연결하고, 테스트 쿼리를 실행하고, 그린 인스턴스의 성능을 검증할 수 있습니다.
  • 복제 상태 및 전환 준비 상태: 파란색에서 녹색으로의 지속적인 논리적 복제가 정상인지 확인하고 문제가 발생하면 진단 오류 세부정보를 검사합니다. 배포를 설명해도 복제 지연은 표시되지 않습니다.
  • 구성 차이: 세부정보 보기로 요청하면 파란색 인스턴스와 녹색 인스턴스 간의 데이터베이스 버전, 머신 등급, 스토리지 설정, 고가용성 구성의 나란히 비교 (diffs)를 검사합니다.

블루-그린 배포 나열

프로젝트의 블루-그린 배포를 나열하려면 다음 안내를 따르세요.

콘솔

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

    Cloud SQL 인스턴스로 이동

  2. 인스턴스 목록에서 블루-그린 배포 ID 열을 확인하여 인스턴스와 연결된 블루-그린 배포를 확인합니다. 블루-그린 배포에 속하는 인스턴스에는 인스턴스 이름 옆에 역할 태그(Blue, Green, Old-blue, New-blue)도 표시됩니다.

gcloud

gcloud를 사용하여 블루-그린 배포를 나열하려면 blue-green-deployments list 명령어를 실행합니다.

gcloud beta sql blue-green-deployments list \
  --region=REGION

프로젝트의 모든 리전에서 배포를 나열하려면 --region 플래그를 생략합니다.

REST v1

Cloud SQL Admin API를 사용하여 배포를 나열하려면 blueGreenDeployments.list 메서드에 GET 요청을 전송합니다.

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/blueGreenDeployments

REST v1beta4

Cloud SQL Admin API를 사용하여 배포를 나열하려면 blueGreenDeployments.list 메서드에 GET 요청을 전송합니다.

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/blueGreenDeployments

블루-그린 배포 설명

배포 상태를 검사하고 녹색 인스턴스 연결 세부정보를 가져오려면 배포를 설명하세요.

콘솔

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

    Cloud SQL 인스턴스로 이동

  2. 배포 개요 페이지를 열려면 다음 중 하나를 수행합니다.
    • 블루-그린 배포 ID 열에서 배포 ID를 클릭합니다.
    • 인스턴스 이름을 클릭하여 개요 페이지를 연 다음 블루-그린 배포 상태 카드에서 세부정보를 클릭합니다.
  3. 배포 개요 페이지에서 배포 세부정보 카드를 검토하여 배포 상태, 소스 인스턴스, 대상 인스턴스, 대상 인스턴스 엔드포인트, 타겟 버전을 검사하고 배포 진행 상황 카드를 검토하여 작업 상태를 검사합니다.

gcloud

gcloud를 사용하여 배포를 설명하려면 blue-green-deployments describe 명령어를 실행합니다.

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

다음을 바꿉니다.

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

REST v1

Cloud SQL Admin API를 사용하여 배포를 설명하려면 blueGreenDeployments.get 메서드에 GET 요청을 전송합니다.

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

REST v1beta4

Cloud SQL Admin API를 사용하여 배포를 설명하려면 blueGreenDeployments.get 메서드에 GET 요청을 전송합니다.

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

상태 및 연결 세부정보 검사

명령어 출력에서 배포 상태를 확인하고 타겟 녹색 인스턴스의 연결 정보를 찾습니다.

name: projects/my-project/locations/us-central1/
  blueGreenDeployments/my-deployment
createTime: '2026-08-13T10:00:00.000Z'
state: SWITCHOVER_READY
sourceInstance: my-source-instance
switchoverTargetInstance: my-target-instance
requestedConfig:
  databaseVersion: MYSQL_8_4
deploymentMappings:
- source:
    connection: my-project:us-central1:my-source-instance
    dns: my-source-instance.123456789012.us-central1.sql.goog.
    instance: projects/my-project/instances/my-source-instance
    ipAddresses:
    - ipAddress: 10.0.0.1
      type: PRIMARY
  state: PROVISIONED
  target:
    connection: my-project:us-central1:my-target-instance
    dns: my-target-instance.123456789012.us-central1.sql.goog.
    instance: projects/my-project/instances/my-target-instance
    ipAddresses:
    - ipAddress: 10.0.0.2
      type: PRIMARY
  tasks:
  - type: PROVISION
    state: SUCCEEDED
    startTime: '2026-08-13T10:00:00.000Z'
    endTime: '2026-08-13T10:15:00.000Z'
deploymentTasks:
- type: PROVISION
  state: SUCCEEDED
  startTime: '2026-08-13T10:00:00.000Z'
  endTime: '2026-08-13T10:15:00.000Z'

대답에서 다음 필드를 검토합니다.

  • name: projects/PROJECT_ID/locations/REGION/blueGreenDeployments/DEPLOYMENT_NAME 형식의 배포에 대한 정규화된 리소스 경로입니다.
  • createTime: 배포가 생성된 타임스탬프입니다.
  • state: 배포의 전체 수명 주기 상태입니다.
    • PROVISIONING: 배포가 그린 환경을 프로비저닝하고 복제를 설정하고 있습니다.
    • SWITCHOVER_READY: 스테이징이 완료되고 논리 복제가 정상이며 배포를 전환할 준비가 되었습니다. 테스트를 실행하기 전에 이 상태를 확인하세요.
    • SWITCHOVER_NOT_READY: 배포가 전환 준비가 되지 않았습니다. 문제 해결은 errorDetail을 참고하세요.
    • SWITCHOVER_IN_PROGRESS: 전환 작업이 활성 상태로 실행되고 있습니다.
    • SWITCHOVER_COMPLETED: 전환이 완료되었으며 이제 녹색 인스턴스가 활성 읽기 및 쓰기 인스턴스로 프로덕션 트래픽을 처리합니다.
    • DELETING: 배포 리소스가 삭제되고 있습니다.
  • sourceInstance: 원래 파란색 프로덕션 인스턴스의 인스턴스 식별자입니다.
  • switchoverTargetInstance: 전환 중에 프로덕션 읽기 및 쓰기 인스턴스가 되는 녹색 스테이징 인스턴스의 인스턴스 식별자입니다.
  • requestedConfig: 생성 시 대상 인스턴스를 위해 의도된 구성입니다(예: 메이저 버전 업그레이드의 경우 databaseVersion).
  • errorDetail: 전환이 준비되지 않았거나 프로비저닝 또는 전환 작업이 실패한 이유를 설명하는 진단 오류 세부정보입니다.
  • deploymentMappings: 배포의 소스 및 대상 인스턴스 페어링 목록입니다. 각 쌍에 대해 다음을 검토합니다.
    • source: 파란색 인스턴스의 연결 및 네트워크 세부정보입니다. 여기에는 인스턴스 리소스 경로 (instance), 연결 이름(connection), DNS 호스트 이름 (dns), IP 주소 (ipAddresses)가 포함됩니다.
    • target: 녹색 인스턴스의 연결 및 네트워크 세부정보입니다. 타겟 connection 이름 또는 ipAddresses을 사용하여 스테이징 애플리케이션과 테스트 모음을 녹색 환경에 연결합니다.
    • diffs: 세부정보 보기를 사용할 때 파란색 인스턴스와 녹색 인스턴스 간의 구성 차이입니다. 미리보기 중에는 데이터베이스 플래그 변경사항이 표시되지 않습니다.
    • state: 페어링된 노드의 작동 상태입니다 (예: PROVISIONING, PROVISIONED, UPGRADING, UPGRADED, UPGRADE_FAILED, SWITCHOVER_IN_PROGRESS, SWITCHOVER_FAILED, SWITCHOVER_SUCCEEDED 또는 DELETING).
    • tasks: 이 노드에서 실행된 배포 작업의 실행 상태, 시작 시간, 종료 시간, 오류 세부정보입니다.
  • deploymentTasks: 태스크 type (PROVISION, UPGRADE, SWITCHOVER, DELETE 또는 POST_SWITCHOVER_OPERATIONS), state (PENDING, RUNNING, SUCCEEDED 또는 FAILED), startTime, endTime, errorMessage 등 모든 노드의 모든 배포 태스크의 통합 목록입니다.

구성 차이 보기

기본적으로 배포를 설명하면 핵심 메타데이터가 포함된 기본 뷰가 반환됩니다. 파란색 인스턴스와 녹색 인스턴스 간의 구성 차이를 검토하려면 Google Cloud 콘솔에서 설정 차이를 확인하거나 gcloud CLI 또는 Cloud SQL Admin API를 사용하여 세부정보 보기를 요청하세요.

콘솔

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

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 블루-그린 배포 상태 카드에서 세부정보를 클릭하여 배포 개요 페이지를 엽니다.
  4. 배포 세부정보 카드에서 설정 차이 보기를 클릭합니다.
  5. 인스턴스 설정 차이 대화상자에서 소스와 타겟 인스턴스를 비교한 후 닫기를 클릭합니다.

gcloud

--show-config-diff 플래그와 함께 blue-green-deployments describe 명령어를 실행합니다.

gcloud beta sql blue-green-deployments describe DEPLOYMENT_NAME \
  --region=REGION \
  --show-config-diff

REST v1

view=DETAILED 쿼리 매개변수를 사용하여 blueGreenDeployments.get 메서드에 GET 요청을 전송합니다.

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME?view=DETAILED

REST v1beta4

view=DETAILED 쿼리 매개변수를 사용하여 blueGreenDeployments.get 메서드에 GET 요청을 전송합니다.

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/
  locations/REGION/
  blueGreenDeployments/DEPLOYMENT_NAME?view=DETAILED

구성 차이 검토

세부정보 보기를 지정하면 응답에 deploymentMappings 아래의 각 페어링된 노드 내에 diffs 섹션이 포함됩니다.

deploymentMappings:
- diffs:
  - field: database_version
    sourceValue: MYSQL_8_0
    targetValue: MYSQL_8_4
  - field: settings/tier
    sourceValue: db-custom-2-7680
    targetValue: db-custom-4-15360
  source:
    instance: projects/PROJECT_ID/instances/my-source-instance
  target:
    connection: PROJECT_ID:REGION:my-target-instance
    instance: projects/PROJECT_ID/instances/my-target-instance

diffs 섹션에서는 다음과 같은 속성에 대해 소스 인스턴스와 대상 인스턴스 간의 차이점을 강조합니다.

  • database_version: 파란색 인스턴스와 녹색 인스턴스의 데이터베이스 엔진 버전입니다.
  • settings/tier: 인스턴스에 할당된 머신 유형 (vCPU 및 메모리)입니다.
  • edition: Cloud SQL 버전 (Cloud SQL Enterprise 버전 또는 Cloud SQL Enterprise Plus 버전)
  • availability_type: 고가용성 (HA) 구성 (ZONAL 또는 REGIONAL)
  • settings/data_disk_size_gb: 스토리지 용량(GB)입니다.
  • settings/data_disk_type: 스토리지 유형 (PD_SSD)

기능 워크로드 테스트를 시작하기 전에 나열된 모든 변경사항이 계획된 배포 사양과 일치하는지 확인합니다.

애플리케이션 워크로드 연결 및 검증

고유한 연결 문자열을 사용하여 애플리케이션 또는 클라이언트 도구를 녹색 인스턴스에 연결합니다.

gcloud sql connect TARGET_INSTANCE_NAME --user=DB_USER

다음을 바꿉니다.

  • TARGET_INSTANCE_NAME: 타겟 녹색 인스턴스의 이름입니다.
  • DB_USER: 데이터베이스 사용자 이름입니다.

다음 유효성 검사 단계를 수행합니다.

  • 통합 테스트 실행: 애플리케이션 쿼리 및 저장 프로시저가 녹색 인스턴스에서 오류 없이 실행되는지 확인합니다.
  • 오류 로그 검사: Cloud Logging 및 Cloud SQL 데이터베이스 오류 로그에서 지원 중단된 구문 경고 또는 예기치 않은 엔진 오류를 확인합니다.
  • 성능 통계 검토: 녹색 인스턴스에서 CPU, 메모리, I/O 측정항목을 모니터링하여 성능이 운영 SLO를 충족하는지 확인합니다.

다음 단계

  • 검증이 성공하고 녹색 인스턴스가 모든 기능 및 성능 기준을 충족하면 블루-그린 배포 전환으로 진행합니다.
  • 유효성 검사 중에 문제가 감지되면 라이브 블루 환경에 영향을 주지 않고 블루-그린 배포를 삭제할 수 있습니다.