Amazon RDS에서 블루/그린 배포 생성
블루/그린 배포를 만들 때는 배포에서 복사할 소스 DB 인스턴스를 지정합니다. 선택한 DB 인스턴스는 프로덕션 DB 인스턴스이며, 블루 환경에서는 이것이 기본 DB 인스턴스가 됩니다. 이 DB 인스턴스는 그린 환경으로 복사되고, RDS는 블루 환경의 DB 인스턴스에서 그린 환경의 DB 인스턴스로의 복제를 구성합니다.
RDS는 블루 환경의 토폴로지와 기능을 스테이징 영역에 복사합니다. 블루 DB 인스턴스에 읽기 전용 복제본이 있는 경우, 그린 DB 인스턴스의 읽기 전용 복제본으로 복사됩니다. 모든 그린 복제본의 할당된 스토리지는 그린 기본 인스턴스와 일치하는 반면, 다른 스토리지 파라미터는 블루 복제본에서 상속됩니다.
블루 DB 인스턴스가 다중 AZ DB 인스턴스 배포인 경우, 블루 DB 인스턴스는 다중 AZ DB 인스턴스 배포로서 생성됩니다.
블루/그린 배포 준비
DB 인스턴스가 실행 중인 엔진에 따라 블루/그린 배포를 생성하기 전에 수행해야 하는 몇 가지 단계가 있습니다.
주제
블루/그린 배포를 위해 RDS for MySQL 또는 RDS for MariaDB DB 인스턴스 준비
RDS for MySQL 또는 RDS for MariaDB DB 인스턴스에 블루/그린 배포를 만들기 전에 먼저 자동 백업을 활성화해야 합니다. 지침은 자동 백업 활성화 섹션을 참조하세요.
물리적 복제를 사용하는 블루/그린 배포를 위해 RDS for PostgreSQL DB 인스턴스 준비
물리적 복제를 사용하는 RDS for PostgreSQL 블루/그린 배포를 만들기 전에 다음 작업을 수행해야 합니다. 물리적 복제와 논리적 복제를 사용하는 버전의 비교 목록은 블루/그린 배포를 위한 PostgreSQL 복제 방법 섹션을 참조하세요.
-
DB 인스턴스에서 자동 백업을 사용 설정합니다. 지침은 자동 백업 활성화 섹션을 참조하세요.
-
DB 인스턴스가 외부 복제의 소스 또는 대상이 아닌지 확인하세요. 자세한 내용은 블루/그린 배포 관련 일반 제한 사항 섹션을 참조하세요.
논리적 복제를 사용하는 블루/그린 배포를 위해 RDS for PostgreSQL DB 인스턴스 준비
논리적 복제를 사용하는 RDS for PostgreSQL 블루/그린 배포를 만들기 전에 다음 작업을 수행해야 합니다. 논리적 복제와 물리적 복제를 사용하는 버전의 비교 목록은 블루/그린 배포를 위한 PostgreSQL 복제 방법 섹션을 참조하세요.
-
논리적 복제(
rds.logical_replication
)가 켜진 상태에서 인스턴스를 사용자 지정 DB 파라미터 그룹과 연결합니다. 블루 환경에서 그린 환경으로 복제하려면 논리적 복제가 필요합니다. 지침은 Amazon RDS에서 DB 파라미터 그룹의 파라미터 수정 섹션을 참조하세요.블루/그린 배포에는 데이터베이스당 최소 1명의 백그라운드 작업자가 필요하므로, 워크로드에 따라 다음 구성 설정을 조정해야 합니다. 각 설정을 조정하는 방법에 대한 지침은 PostgreSQL 설명서의 구성 설정
을 참조하세요. -
max_replication_slots
-
max_wal_senders
-
max_logical_replication_workers
-
max_worker_processes
논리적 복제를 활성화하고 모든 구성 옵션을 설정한 후에는 DB 인스턴스를 재부팅하여 변경 사항을 적용해야 합니다. 블루/그린 배포의 요구 사항은 DB 인스턴스가 DB 파라미터 그룹과 동기화되는 것이며, 그렇지 않으면 생성에 실패합니다. 자세한 내용은 DB 인스턴스 재부팅 섹션을 참조하세요.
-
-
DB 인스턴스가 외부 복제의 소스 또는 대상이 아닌지 확인하세요. 자세한 내용은 블루/그린 배포 관련 일반 제한 사항 섹션을 참조하세요.
-
DB 인스턴스의 모든 테이블에 프라이머리 키가 있는지 확인하세요. PostgreSQL 논리적 복제는 프라이머리 키가 없는 테이블에 대한
UPDATE
또는DELETE
작업을 허용하지 않습니다. -
RDS for PostgreSQL은 PostgreSQL의 기본 논리적 복제를 사용하여 그린 환경에서 재생될 때까지 미리 쓰기 로그(WAL) 세그먼트를 블루 인스턴스에 저장합니다. 블루/그린 배포를 만들기 전에 다음 지표를 확인하여 블루 인스턴스의 용량이 적절한지 확인합니다.
-
FreeStorageSpace
-
TransactionLogsGeneration
-
TransactionLogsDiskUsage
-
OldestReplicationSlotLag
블루 인스턴스에 필요한 추가 스토리지를 추정하려면 피크 워크로드 기간 동안
TransactionLogsGeneration
CloudWatch 지표를 모니터링합니다. 예를 들어 워크로드가 24시간 동안 100GB의 WAL 데이터를 생성하는 경우 하루 분량의 WAL 세그먼트를 수용할 수 있는 최소 100GB의 추가 스토리지가 있는지 확인합니다. 자세한 내용은 Amazon RDS 인스턴스에서 지표 모니터링 섹션을 참조하세요. -
블루/그린 배포 생성 시 변경 사항 지정
블루/그린 배포를 생성할 때 그린 환경의 DB 인스턴스에 다음 변경 사항을 적용할 수 있습니다.
배포가 끝나면 그린 환경의 DB 인스턴스 추가로 수정할 수 있습니다. 예를 들어 더 높은 엔진 버전 또는 다른 파라미터 그룹을 지정할 수 있습니다.
DB 인스턴스 수정에 대한 자세한 내용은 Amazon RDS DB 인스턴스 수정 단원을 참조하세요.
더 높은 엔진 버전 지정
DB 엔진 업그레이드를 테스트하고 싶다면 더 높은 엔진 버전을 지정할 수 있습니다. 전환 시 데이터베이스는 지정한 메이저 또는 마이너 DB 엔진 버전으로 업그레이드됩니다.
다른 DB 파라미터 그룹 지정
그린 환경에서 파라미터 변경이 DB 인스턴스에 미치는 영향을 테스트하거나, 업그레이드할 때 새 메이저 DB 엔진 버전에 대한 파라미터 그룹을 지정할 수 있습니다.
다른 DB 파라미터 그룹을 지정하면, 지정된 DB 파라미터 그룹이 그린 환경의 모든 DB 인스턴스와 연결됩니다. 다른 파라미터 그룹을 지정하지 않으면 그린 환경의 각 DB 인스턴스는 대응하는 블루 DB 인스턴스의 파라미터 그룹과 연결됩니다.
스토리지 및 성능 설정 수정
그린 환경에서 스토리지 및 성능 설정을 조정하여 리소스 할당을 최적화합니다. 이러한 설정에는 할당된 스토리지, 프로비저닝된 IOPS, 스토리지 유형 및 스토리지 처리량(gp3 스토리지용)이 포함됩니다.
그린 DB 인스턴스의 스토리지 유형을 gp2, gp3, io1 또는 io2로 변경할 수 있습니다. gp3 스토리지의 경우 스토리지 처리량을 조정하여 수요가 많은 워크로드의 데이터 전송 성능을 향상하거나 덜 집약적인 애플리케이션의 비용을 절감할 수도 있습니다. 자세한 내용은 Amazon RDS DB 인스턴스 스토리지 섹션을 참조하세요.
그린 환경에서 할당된 스토리지를 늘리거나 줄이도록 선택할 수도 있습니다. 그러나 스토리지 축소는 할당된 대상 스토리지가 현재 스토리지 사용량보다 20% 이상 많은 경우에만 발생합니다. 할당된 스토리지를 줄이면 Amazon RDS가 스토리지 구성 업그레이드를 시작합니다. 자세한 내용은 스토리지 구성 업그레이드 섹션을 참조하세요.
블루 DB 인스턴스가 마그네틱 스토리지를 사용하는 경우 할당된 스토리지를 늘리거나 줄이려면 그린 DB 인스턴스를 범용 또는 프로비저닝된 IOPS 스토리지 유형으로 변경해야 합니다.
RDS 최적화된 쓰기 활성화
RDS 최적화된 쓰기를 지원하는 DB 인스턴스 클래스로 업그레이드하는 데 블루/그린 배포를 사용할 수 있습니다. 지원되는 DB 인스턴스 클래스로 생성된 데이터베이스에서만 RDS 최적화된 쓰기를 활성화할 수 있습니다. 따라서 이 옵션을 사용하면 지원되는 DB 인스턴스 클래스를 사용하는 그린 데이터베이스가 생성되며, 이를 통해 그린 DB 인스턴스에 RDS 최적화된 쓰기를 활성화할 수 있습니다.
RDS 최적화된 쓰기를 지원하지 않는 DB 인스턴스 클래스에서 지원하는 클래스로 업그레이드하는 경우 그린 DB 인스턴스의 스토리지 구성도 업그레이드해야 합니다. 자세한 내용은 스토리지 구성 업그레이드 섹션을 참조하세요.
기본 그린 DB 인스턴스의 DB 인스턴스 클래스만 업그레이드할 수 있습니다. 그린 환경의 읽기 전용 복제본은 블루 환경의 DB 인스턴스 설정을 기본적으로 상속합니다. 그린 환경을 성공적으로 만든 후에는 그린 환경에서 읽기 전용 복제본의 DB 인스턴스 클래스를 수동으로 수정해야 합니다.
블루 DB 인스턴스의 엔진 버전과 인스턴스 클래스에 따라 일부 인스턴스 클래스 업그레이드가 지원되지 않습니다. DB 인스턴스 클래스에 대한 자세한 내용은 DB 인스턴스 클래스 섹션을 참조하세요.
스토리지 구성 업그레이드
블루 데이터베이스가 최신 스토리지 구성에 없는 경우 RDS는 그린 DB 인스턴스를 이전 스토리지 구성(32비트 파일 시스템)에서 원하는 구성으로 마이그레이션할 수 있습니다. RDS 블루/그린 배포를 사용하면 이전 32비트 파일 시스템의 스토리지 및 파일 크기 조정 제한을 극복할 수 있습니다. 또한 이 설정은 지정된 DB 인스턴스 클래스가 최적화된 쓰기를 지원하는 경우 RDS 최적화된 쓰기와 호환되도록 스토리지 구성을 변경합니다.
참고
스토리지 구성 업그레이드는 I/O 집약적인 작업이므로 블루/그린 배포의 생성 시간이 길어집니다. 블루 DB 인스턴스가 프로비저닝된 IOPS SSD(io1 또는 io2 Block Express) 스토리지를 사용하고 그린 환경을 인스턴스 크기가 4xlarge 이상이 되도록 프로비저닝한 경우 스토리지 업그레이드 프로세스가 더 빨라집니다. 범용 SSD(gp2) 스토리지를 사용하는 스토리지 업그레이드는 I/O 크레딧 밸런스를 고갈할 수 있어 업그레이드 시간이 더 오래 걸릴 수 있습니다. 자세한 내용은 Amazon RDS DB 인스턴스 스토리지 섹션을 참조하세요.
스토리지 업그레이드 중에는 그린 DB 인스턴스를 일시적으로 사용할 수 없는 반면 블루 DB 인스턴스는 계속 사용할 수 있습니다. 이 시간 동안 복제가 일시 중지됩니다. 블루 인스턴스의 스토리지를 모니터링하고, 업그레이드 후 그린 인스턴스가 자동으로 10% 확장되므로 스토리지가 90%에 도달하면 규모 조정을 고려하세요.
이 옵션은 블루 데이터베이스가 최신 스토리지 구성을 사용하지 않거나 동일한 요청으로 DB 인스턴스 클래스를 변경하는 경우에만 사용할 수 있습니다. 블루/그린 배포를 처음 생성할 때는 스토리지 구성만 업그레이드할 수 있습니다.
블루/그린 배포를 위한 지연 로딩 및 스토리지 초기화
블루/그린 배포를 생성하면 Amazon RDS는 DB 스냅샷에서 복원하여 그린 환경에서 기본 DB 인스턴스를 생성합니다. 만들어진 그린 DB 인스턴스와 해당 읽기 전용 복제본은 지연 로딩이라는 프로세스를 통해 백그라운드에서 데이터를 계속 로드합니다.
지연 로딩은 애플리케이션이 데이터 블록을 요청할 때만 로드합니다. 아직 로드하지 않은 데이터에 액세스하려고 하면 Amazon EBS는 Amazon S3에서 즉시 데이터를 검색하지만 나머지 데이터는 백그라운드에서 계속 로드됩니다. 자세한 내용은 Amazon EBS 스냅샷을 참조하세요.
전체 볼륨 성능을 가속화하기 위해 Amazon RDS는 그린 환경 볼륨의 모든 블록을 읽는 스토리지 초기화를 제공합니다. Amazon EBS는 Amazon S3에서 블록을 사전에 다운로드하여 처음 사용할 때부터 최대 볼륨 성능을 제공합니다. 스토리지 초기화는 전적으로 백그라운드에서 수행되므로 DB 인스턴스 가용성이나 패치 적용 또는 업그레이드와 같은 진행 중인 활동에 영향을 주지 않습니다.
스토리지 초기화는 gp2
, gp3
, io1
및 io2
볼륨 유형을 사용하는 블루/그린 배포의 인스턴스에만 사용할 수 있습니다. t3 및 t4 패밀리를 제외한 모든 인스턴스 클래스를 지원합니다. 단일 AZ 배포의 그린 DB 인스턴스를 다중 AZ DB 인스턴스 배포로 수정하는 경우 스토리지 초기화에는 다중 AZ 구성의 보조 노드가 포함됩니다.
스토리지를 초기화하는 동안 초기화가 완료될 때까지 스토리지가 전체 성능에 도달하지 못할 수 있지만 인스턴스는 완전히 사용 가능하고 데이터베이스 작업에 사용할 수 있습니다. 스토리지 초기화가 진행되는 동안 전체 인스턴스 상태가 스토리지 초기화로 변경되고 진행률 표시기에 DB 인스턴스의 모든 볼륨에서 최소 초기화 수준이 표시됩니다.
콘솔, AWS CLI 또는 Amazon RDS API를 사용하여 스토리지 초기화를 모니터링합니다.
백그라운드 초기화 작업이 진행됨에 따라 진행률 표시기가 업데이트되므로 전체 스토리지 초기화가 완료되기 전에 스토리지 준비 상태를 추적할 수 있습니다. 스토리지 초기화를 통해 그린 DB 인스턴스가 완전히 작동하면 성능을 최적화할 수 있습니다.
블루/그린 배포 생성
AWS Management Console, AWS CLI 또는 RDS API를 사용하여 블루/그린 배포를 생성할 수 있습니다.
블루/그린 배포를 생성하려면
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/
에서 Amazon RDS 콘솔을 엽니다. -
탐색 창에서 Databases(데이터베이스)를 선택한 다음 그린 환경에 복사할 DB 인스턴스를 선택합니다.
-
작업, 블루/그린 배포 생성을 선택합니다.
블루/그린 배포 생성 페이지가 표시됩니다.
-
블루 데이터베이스 식별자를 검토합니다. 해당 식별자가 블루 환경에 있어야 하는 DB 인스턴스와 일치하는지 확인합니다. 일치하지 않는다면 Cancel(취소)를 선택합니다.
-
블루/그린 배포 이름에 블루/그린 배포의 이름을 입력합니다.
-
나머지 섹션에서 그린 환경에 대한 설정을 지정합니다. 각 설정에 대한 자세한 내용은 블루/그린 배포를 생성하기 위한 설정 단원을 참조하세요.
배포가 끝나면 그린 환경의 데이터베이스를 추가로 수정할 수 있습니다.
-
생성(Create)을 선택합니다.
AWS CLI를 사용하여 블루/그린 배포를 생성하려면 create-blue-green-deployment 명령을 사용해야 합니다. 사용 가능한 모든 옵션에 대한 자세한 내용은 블루/그린 배포를 생성하기 위한 설정 섹션을 참조하세요.
대상 LinuxmacOS, 또는Unix:
aws rds create-blue-green-deployment \ --blue-green-deployment-name
my-blue-green-deployment
\ --source arn:aws:rds:us-east-2
:123456789012
:db:mydb1
\ --target-engine-version8.0.31
\ --target-db-parameter-group-namemydbparametergroup
Windows의 경우:
aws rds create-blue-green-deployment ^ --blue-green-deployment-name
my-blue-green-deployment
^ --source arn:aws:rds:us-east-2
:123456789012
:db:mydb1
^ --target-engine-version8.0.31
^ --target-db-parameter-group-namemydbparametergroup
Amazon RDS API를 사용하여 블루/그린 배포를 생성하려면 CreateBlueGreenDeployment
작업을 사용해야 합니다. 각 옵션에 대한 자세한 내용은 블루/그린 배포를 생성하기 위한 설정 단원을 참조하세요.
블루/그린 배포를 생성하기 위한 설정
블루/그린 배포를 만들 때 선택할 수 있는 설정에 대한 설명은 다음 표에 나와 있습니다. AWS CLI 옵션에 대한 자세한 내용은 create-blue-green-deployment 섹션을 참조하세요. RDS API 파라미터에 대한 자세한 내용은 CreateBlueGreenDeployment를 참조하세요.
콘솔 설정 | 설정 설명 | CLI 옵션 및 RDS API 파라미터 |
---|---|---|
할당된 스토리지 |
그린 DB 인스턴스에 할당할 스토리지의 양(기비바이트 단위)입니다. 할당된 스토리지를 늘리거나 줄일 수 있습니다. 블루 DB 인스턴스가 마그네틱( 자세한 내용은 Amazon RDS DB 인스턴스 스토리지 섹션을 참조하세요. |
CLI 옵션:
API 파라미터:
|
블루/그린 배포 식별자 |
블루/그린 배포의 이름 |
CLI 옵션:
API 파라미터:
|
블루 데이터베이스 식별자 |
그린 환경으로 복사할 인스턴스 의 식별자입니다. CLI 또는 API를 사용하는 경우 인스턴스 Amazon 리소스 이름(ARN)을 지정합니다. |
CLI 옵션:
API 파라미터:
|
그린 데이터베이스를 위한 DB 파라미터 그룹 | 그린 환경의 데이터베이스와 연결할 파라미터 그룹입니다. |
CLI 옵션:
API 파라미터:
|
그린 데이터베이스를 위한 최적화된 쓰기 활성화 |
그린 기본 DB 인스턴스에서 RDS 최적화된 쓰기를 활성화하는 옵션입니다. 자세한 내용은 RDS 최적화된 쓰기 활성화 섹션을 참조하세요. 최적화된 쓰기를 지원하지 않는 DB 인스턴스 클래스에서 지원하는 클래스로 변경하는 경우 스토리지 구성도 업그레이드해야 합니다. 자세한 내용은 스토리지 구성 업그레이드 섹션을 참조하세요. |
CLI 및 API의 경우, RDS 최적화된 쓰기를 지원하는 대상 DB 인스턴스 클래스를 지정하면 그린 기본 DB 인스턴스에서 자동으로 활성화됩니다. |
그린 데이터베이스를 위한 엔진 버전 |
그린 환경의 데이터베이스 를 지정된 DB 엔진 버전으로 업그레이드합니다. 지정하지 않으면 그린 환경의 각 데이터베이스는 블루 환경의 해당 DB 인스턴스와 동일한 엔진 버전으로 생성됩니다. 논리적 복제를 사용하는 RDS for PostgreSQL DB 인스턴스를 선택하는 경우 논리적 복제 제한 사항을 검토하고 확인하세요. 자세한 내용은 블루/그린 배포의 논리적 복제 관련 제한 사항 섹션을 참조하세요. |
CLI 옵션:
RDS API 파라미터:
|
그린 DB 인스턴스 클래스 |
그린 환경에 있는 DB 인스턴스의 컴퓨팅 및 메모리 용량입니다(예: 그린 데이터베이스에 대해 RDS 최적화 쓰기를 사용하도록 설정한 경우에만 이 옵션이 표시됩니다. |
CLI 옵션:
RDS API 파라미터:
|
프로비저닝된 IOPS |
그린 데이터베이스에 처음 할당될 초당 입출력 작업량(IOPS)입니다. 이 값은 그린 기본 DB 인스턴스에만 적용되며 그린 복제본에는 적용되지 않습니다. |
CLI 옵션:
RDS API 파라미터:
|
스토리지 구성 업그레이드 |
스토리지 파일 시스템 구성을 업그레이드할지 여부를 선택합니다. 이 설정을 활성화하면 RDS는 기존 스토리지 파일 시스템에서 원하는 구성으로 그린 데이터베이스를 마이그레이션합니다. 이 옵션은 블루 데이터베이스가 최신 스토리지 구성을 사용하지 않거나 동일한 요청으로 RDS 최적화된 쓰기를 활성화하는 경우에만 사용할 수 있습니다. 블루/그린 배포를 처음 생성할 때는 스토리지 구성만 업그레이드할 수 있습니다. 자세한 내용은 DB 인스턴스의 스토리지 파일 시스템 업그레이드 섹션을 참조하세요. |
CLI 옵션:
RDS API 파라미터:
|
스토리지 처리량(throughput) |
그린 데이터베이스의 스토리지 처리량 값입니다. 이 설정은 스토리지 유형으로 범용 SSD(gp3)를 선택한 경우에만 표시됩니다. 이 값은 그린 기본 DB 인스턴스에만 적용되며 그린 복제본에는 적용되지 않습니다. 자세한 내용은 gp3 스토리지(권장) 섹션을 참조하세요. |
CLI 옵션:
RDS API 파라미터:
|
스토리지 유형 |
그린 데이터베이스의 스토리지 유형입니다. 다음 스토리지 유형이 지원됩니다.
이 값은 그린 기본 DB 인스턴스에만 적용되며 그린 복제본에는 적용되지 않습니다. 자세한 내용은 Amazon RDS 스토리지 유형 섹션을 참조하세요. |
CLI 옵션:
RDS API 파라미터:
|