Aurora용 Amazon RDS 블루/그린 배포 개요 - Amazon Aurora

Aurora용 Amazon RDS 블루/그린 배포 개요

Amazon RDS 블루/그린 배포를 사용하면 프로덕션 환경에서 구현하기 전에 데이터베이스를 변경하고 테스트할 수 있습니다. 블루/그린 배포는 프로덕션 환경을 복사하는 스테이징 환경을 만듭니다. 블루/그린 배포에서는 블루 환경이 현재 프로덕션 환경입니다. 그린 환경은 스테이징 환경입니다. 스테이징 환경은 논리적 복제를 사용하여 현재 프로덕션 환경과 계속 동기화됩니다.

프로덕션 워크로드에 영향을 주지 않고 그린 환경에서 Aurora DB 클러스터를 변경할 수 있습니다. 예를 들어 메이저 또는 마이너 DB 엔진 버전을 업그레이드하거나 스테이징 환경에서 데이터베이스 파라미터를 변경할 수 있습니다. 그린 환경의 변경 사항을 철저하게 테스트할 수 있습니다. 준비가 되면 환경을 전환하여 그린 환경을 새로운 프로덕션 환경으로 승격할 수 있습니다. 전환은 일반적으로 1분도 걸리지 않으며 데이터 손실이 발생하지 않고 애플리케이션을 변경할 필요도 없습니다.

그린 환경은 프로덕션 환경 토폴로지의 복사본이므로, DB 클러스터와 DB 클러스터의 모든 DB 인스턴스가 배포 시 복사됩니다. 그린 환경에는 DB 클러스터 스냅샷, 성능 개선 도우미와 확장 모니터링 같은 DB 클러스터에서 사용하는 기능도 포함됩니다Aurora Serverless v2.

참고
  • 블루/그린 배포는 Aurora MySQL 및 Aurora PostgreSQL에서 지원됩니다. Amazon RDS 가용성에 대해서는 Amazon RDS 사용 설명서의 데이터베이스 업데이트에 Amazon RDS 블루/그린 배포 사용을 참조하세요.

  • 블루/그린 배포는 다음 버전의 Babelfish for Aurora PostgreSQL에서만 지원됩니다.

    • 15.7 이상 버전

    • 16.3 이상 버전

리전 및 버전 사용 가능 여부

기능 가용성 및 해당 지원은 각 데이터베이스 엔진의 특정 버전 및 AWS 리전 리전에 따라 다릅니다. 자세한 내용은 블루/그린 배포를 지원하는 리전 및 Aurora DB 엔진 단원을 참조하십시오.

Amazon RDS 블루/그린 배포 사용의 장점

Amazon RDS 블루/그린 배포를 사용하면 보안 패치를 최신 상태로 유지하고, 데이터베이스 성능을 개선할 수 있으며 짧고 예측 가능한 다운타임으로 최신 데이터베이스 기능을 채택할 수 있습니다. 블루/그린 배포를 통해 메이저 또는 마이너 엔진 버전 업그레이드와 같이 데이터베이스 업데이트로 인해 발생가능한 리스크 및 다운타임을 줄일 수 있습니다.

블루/그린 배포는 다음과 같은 장점을 제공합니다.

  • 프로덕션 준비가 된 스테이징 환경을 쉽게 만들 수 있습니다.

  • 데이터베이스 변경 사항을 프로덕션 환경에서 스테이징 환경으로 자동으로 복제합니다.

  • 프로덕션 환경에 영향을 주지 않고 안전한 스테이징 환경에서 데이터베이스 변경 사항을 테스트합니다.

  • 데이터베이스 패치 및 시스템 업데이트로 최신 상태를 유지하세요.

  • 새로운 데이터베이스 기능을 구현하고 테스트합니다.

  • 애플리케이션을 변경하지 않고도 스테이징 환경을 새 프로덕션 환경으로 전환합니다.

  • 내장된 전환 가드레일을 사용하여 안전하게 전환합니다.

  • 전환 중 데이터 손실이 발생하지 않습니다.

  • 워크로드에 따라 대부분 1분 이내에 빠르게 전환합니다.

블루/그린 배포 워크플로우

Aurora DB 클러스터 업데이트에 블루/그린 배포를 사용한다면 다음 주요 단계를 완료하십시오.

  1. 업데이트가 필요한 프로덕션 DB 클러스터를 식별합니다.

    다음 이미지에서는 프로덕션 DB 클러스터 예시를 확인할 수 있습니다.

    블루/그린 배포의 프로덕션(블루) Aurora DB 클러스터
  2. 블루/그린 배포 생성 지침은 블루/그린 배포 생성 단원을 참조하십시오.

    다음 이미지는 1단계에서 설명하는 프로덕션 환경의 블루/그린 배포 예시입니다. 블루/그린 배포를 생성하는 동안, RDS는 Aurora DB 클러스터의 전체 토폴로지 및 구성을 복사하여 그린 환경을 만듭니다. 복사된 DB 클러스터 및 DB 인스턴스 이름 뒤에는 -green-random-characters가 추가됩니다. 이미지의 스테이징 환경에는 DB 클러스터(auroradb-green-abc123)가 있습니다. 또한 DB 클러스터에서는 DB 인스턴스 3개가 있습니다(auroradb-instance1-green-abc123, auroradb-instance2-green-abc123 및 auroradb-instance3-green-abc123).

    Amazon Aurora용 블루/그린 배포

    블루/그린 배포를 생성하는 도중 더 높은 DB 엔진 버전을 지정하고, 그린 환경에 있는 DB 클러스터에 다른 DB 클러스터 파라미터 그룹을 지정할 수 있습니다. DB 클러스터의 DB 인스턴스에 다른 DB 파라미터 그룹을 지정할 수 있습니다.

    또한 RDS는 블루 환경의 기본 DB 인스턴스에서 그린 환경의 기본 DB 인스턴스로의 복제를 구성합니다.

    중요

    Aurora MySQL 버전 3의 경우 블루/그린 배포를 생성하면 그린 환경의 DB 클러스터는 기본적으로 쓰기 작업을 허용하지 않습니다. 그러나 이는 Aurora 마스터 사용자를 비롯하여 CONNECTION_ADMIN 권한이 있는 사용자에게 적용되지 않습니다. 이 권한이 있는 사용자는 read_only 동작을 재정의할 수 있습니다. 자세한 내용은 역할 기반 권한 모델 단원을 참조하십시오.

  3. 스테이징 환경에 변경 사항을 적용합니다.

    예를 들어 데이터베이스의 스키마를 변경하거나 그린 환경에 있는 하나 이상의 DB 인스턴스에서 사용하는 DB 인스턴스 클래스를 변경할 수 있습니다.

    DB 클러스터 수정에 대한 자세한 내용은 Amazon Aurora DB 클러스터 수정 섹션을 참조하세요.

  4. 스테이징 환경을 테스트합니다.

    테스트하는 동안에는 그린 환경의 데이터베이스를 읽기 전용으로 유지하는 것이 좋습니다. 복제 충돌이 발생할 수 있으므로 그린 환경에서 쓰기 작업을 사용 설정하세요. 전환 후 프로덕션 데이터베이스에 의도하지 않은 데이터가 저장될 수도 있습니다. Aurora MySQL에서 쓰기 작업을 활성화하려면 read_only 파라미터를 0으로 설정한 다음 DB 인스턴스를 재부팅합니다. Aurora PostgreSQL의 경우 default_transaction_read_only 파라미터를 세션 수준에서 off로 설정합니다.

  5. 준비가 되면 전환하여 그린 환경을 새로운 프로덕션 환경으로 승격합니다. 지침은 블루/그린 배포 전환 단원을 참조하십시오.

    전환하면 다운타임이 발생하게 됩니다. 다운타임은 보통 1분 미만이지만 워크로드에 따라 더 길어질 수 있습니다.

    다음 이미지는 전환 이후의 DB 클러스터를 보여줍니다.

    Amazon Aurora 블루/그린 배포로 전환한 후의 DB 클러스터 및 DB 인스턴스

    전환 후에는 그린 환경의 Aurora DB 클러스터가 새로운 프로덕션 DB 클러스터가 됩니다. 현재 프로덕션 환경의 이름과 엔드포인트가 새로 승격된 프로덕션 환경에 할당되므로, 애플리케이션을 변경할 필요가 없습니다. 따라서 이제 프로덕션 트래픽이 새 프로덕션 환경으로 이동합니다. 이전 블루 환경의 DB 클러스터와 DB 인스턴스는 현재 이름에 -oldn이 추가됩니다(여기서 n은 숫자입니다). 예를 들어 블루 환경의 DB 인스턴스 이름이 auroradb-instance-1이라고 가정하겠습니다. 전환이 끝나면 DB 인스턴스 이름은 auroradb-instance-1-old1이 됩니다.

    이미지의 예시에서는 전환 중에 다음과 같은 변경 사항이 발생합니다.

    • 그린 환경 DB 클러스터 auroradb-green-abc123auroradb라는 프로덕션 DB 클러스터가 됩니다.

    • 이름이 auroradb-instance1-green-abc123인 그린 환경 DB 인스턴스가 이름이 auroradb-instance1인 프로덕션 DB 클러스터가 됩니다.

    • 이름이 auroradb-instance2-green-abc123인 그린 환경 DB 인스턴스가 이름이 auroradb-instance2인 프로덕션 DB 클러스터가 됩니다.

    • 이름이 auroradb-instance3-green-abc123인 그린 환경 DB 인스턴스가 이름이 auroradb-instance3인 프로덕션 DB 클러스터가 됩니다.

    • 이름이 auroradb인 블루 환경 DB 클러스터가 auroradb-old1이 됩니다.

    • 이름이 auroradb-instance1인 블루 환경 DB 인스턴스가 auroradb-instance1-old1이 됩니다.

    • 이름이 auroradb-instance2인 블루 환경 DB 인스턴스가 auroradb-instance2-old1이 됩니다.

    • 이름이 auroradb-instance3인 블루 환경 DB 인스턴스가 auroradb-instance3-old1이 됩니다.

  6. 블루/그린 배포가 더 이상 필요하지 않다면 삭제해도 됩니다. 지침은 블루/그린 배포 삭제 단원을 참조하십시오.

    전환 후에도 이전 프로덕션 환경이 삭제되지 않으므로, 필요하다면 회귀 테스트에 사용할 수 있습니다.