RDS for MySQL 액티브-액티브 클러스터 구성 - Amazon Relational Database Service

RDS for MySQL 액티브-액티브 클러스터 구성

MySQL 그룹 복제 플러그인을 사용하여 RDS for MySQL 액티브-액티브 클러스터를 설정할 수 있습니다. 그룹 복제 플러그인은 버전 8.0.35 이상의 마이너 버전을 실행하는 RDS for MySQL DB 인스턴스에 대해 지원됩니다.

MySQL 그룹 복제에 대한 자세한 내용은 MySQL 설명서의 그룹 복제를 참조하세요. MySQL 설명서에는 이 기능에 대한 자세한 정보가 포함되어 있으며, 이 주제에서는 RDS for MySQL의 DB 인스턴스에서 플러그인을 구성하고 관리하는 방법을 설명합니다.

참고

간결하게 설명하기 위해 이 주제에서 '액티브-액티브' 클러스터에 대한 모든 언급은 MySQL 그룹 복제 플러그인을 사용하는 액티브-액티브 클러스터를 가리킵니다.

액티브-액티브 클러스터의 사용 사례

액티브-액티브 클러스터를 사용하기에 좋은 경우는 다음과 같습니다.

  • 쓰기 작업을 지원하기 위해 클러스터의 모든 DB 인스턴스가 필요한 애플리케이션입니다. 그룹 복제 플러그인은 액티브-액티브 클러스터의 각 DB 인스턴스에서 데이터를 일관되게 유지합니다. 작동 방식에 대한 자세한 내용은 MySQL 설명서의 그룹 복제를 참조하세요.

  • 데이터베이스의 지속적인 가용성이 필요한 애플리케이션입니다. 액티브-액티브 클러스터의 경우 데이터는 클러스터의 모든 DB 인스턴스에 유지됩니다. 한 DB 인스턴스에 장애가 발생하는 경우 애플리케이션은 클러스터의 다른 DB 인스턴스로 트래픽을 다시 라우팅할 수 있습니다.

  • 로드 밸런싱을 위해 클러스터의 여러 DB 인스턴스 간에 읽기 및 쓰기 작업을 분할해야 할 수 있는 애플리케이션입니다. 액티브-액티브 클러스터를 사용하면 애플리케이션이 특정 DB 인스턴스로 읽기 트래픽을 보내고 다른 인스턴스에는 쓰기 트래픽을 보낼 수 있습니다. 또한 언제든지 읽기 또는 쓰기를 전송할 DB 인스턴스를 전환할 수 있습니다.

액티브-액티브 클러스터에 대한 고려 사항 및 모범 사례

RDS for MySQL 액티브-액티브 클러스터를 사용하려면 먼저 다음 고려 사항 및 모범 사례를 검토하세요.

  • 액티브-액티브 클러스터의 DB 인스턴스는 9개를 초과할 수 없습니다.

  • 그룹 복제 플러그인을 사용하면 액티브-액티브 클러스터의 트랜잭션 일관성 보장을 제어할 수 있습니다. 자세한 내용은 MySQL 설명서의 트랜잭션 일관성 보장을 참조하세요.

  • 액티브-액티브 클러스터에서 서로 다른 DB 인스턴스가 동일한 행을 업데이트하는 경우 충돌이 발생할 수 있습니다. 충돌 및 충돌 해결에 대한 자세한 내용은 MySQL 설명서의 그룹 복제를 참조하세요.

  • 내결함성을 위해 액티브-액티브 클러스터에 DB 인스턴스를 3개 이상 포함합니다. 1~2개의 DB 인스턴스만으로도 액티브-액티브 클러스터를 구성할 수는 있지만, 클러스터에 내결함성이 갖춰지지 않습니다. 내결함성에 대한 자세한 내용은 MySQL 설명서의 내결함성을 참조하세요.

  • DB 인스턴스가 기존 액티브-액티브 클러스터에 조인하고 클러스터에서 가장 낮은 엔진 버전과 동일한 엔진 버전을 실행하는 경우 DB 인스턴스는 읽기-쓰기 모드로 조인됩니다.

  • DB 인스턴스가 기존 액티브-액티브 클러스터에 조인하고 클러스터의 최하위 엔진 버전보다 높은 엔진 버전을 실행하는 경우 DB 인스턴스는 읽기 전용 모드를 유지해야 합니다.

  • DB 파라미터 그룹에서 rds.group_replication_enabled 파라미터를 1로 설정하여 DB 인스턴스의 그룹 복제를 활성화했지만, 복제가 시작되지 않았거나 시작에 실패한 경우 DB 인스턴스는 슈퍼 읽기 전용 모드로 전환되어 데이터 불일치를 방지합니다. 슈퍼 읽기 전용 모드에 대한 자세한 내용은 MySQL 설명서를 참조하세요.

  • 액티브-액티브 클러스터에서 DB 인스턴스를 업그레이드할 수 있지만, 액티브-액티브 클러스터의 다른 모든 DB 인스턴스가 동일한 엔진 버전 또는 상위 엔진 버전으로 업그레이드될 때까지 DB 인스턴스는 읽기 전용입니다. DB 인스턴스를 업그레이드한 경우 업그레이드가 완료되면 DB 인스턴스가 동일한 액티브-액티브 클러스터에 자동으로 조인합니다. 의도치 않게 DB 인스턴스가 읽기 전용 모드로 전환되는 것을 방지하려면 해당 인스턴스의 자동 마이너 버전 업그레이드를 비활성화하세요. MySQL DB 인스턴스 업그레이드에 대한 자세한 내용은 MySQL DB 엔진 업그레이드를 참조하십시오.

  • 다중 AZ DB 인스턴스 배포의 DB 인스턴스를 기존 액티브-액티브 클러스터에 추가할 수 있습니다. 액티브-액티브 클러스터의 단일 AZ DB 인스턴스를 다중 AZ DB 인스턴스 배포로 변환할 수도 있습니다. 다중 AZ 배포의 기본 DB 인스턴스에 장애가 발생하면 기본 인스턴스가 대기 인스턴스로 장애 조치됩니다. 새 기본 DB 인스턴스는 장애 조치가 완료된 후 동일한 클러스터에 자동으로 조인합니다. 다중 AZ DB 인스턴스 배포에 대한 자세한 내용은 다중 AZ DB 인스턴스 배포 섹션을 참조하세요.

  • 액티브-액티브 클러스터의 DB 인스턴스는 유지 관리 기간의 시간 범위를 다르게 설정하는 것이 좋습니다. 이렇게 하면 클러스터의 여러 DB 인스턴스가 유지 관리를 위해 동시에 오프라인 상태가 되는 것을 방지할 수 있습니다. 자세한 내용은 Amazon RDS 유지 관리 기간 섹션을 참조하세요.

  • 액티브-액티브 클러스터는 DB 인스턴스 간 연결에 SSL을 사용할 수 있습니다. SSL 연결을 구성하려면 group_replication_recovery_use_ssl group_replication_ssl_mode 파라미터를 설정하세요. 이러한 파라미터의 값은 액티브-액티브 클러스터의 모든 DB 인스턴스에서 일치해야 합니다.

    현재 액티브-액티브 클러스터는 AWS 리전 간 연결에 대한 인증 기관(CA) 검증을 지원하지 않습니다. 따라서 group_replication_ssl_mode 파라미터를 DISABLED(기본값)로 설정하거나, 리전 간 클러스터의 경우 REQUIRED로 설정해야 합니다.

  • RDS for MySQL 액티브-액티브 클러스터는 다중 기본 모드에서 실행됩니다. group_replication_enforce_update_everywhere_checks의 기본값은 ON이며, 파라미터는 정적입니다. 이 파라미터를 ON으로 설정하면 애플리케이션은 계단식 외래 키 제약 조건이 있는 표에 삽입할 수 없습니다.

  • RDS for MySQL 액티브-액티브 클러스터는 XCOM 대신 MySQL 통신 스택을 연결 보안에 사용합니다. 자세한 내용은 MySQL 설명서의 연결 보안 관리를 위한 통신 스택을 참조하세요.

  • DB 파라미터 그룹을 액티브-액티브 클러스터의 DB 인스턴스와 연결할 때는 이 DB 파라미터 그룹을 클러스터에 있는 다른 DB 인스턴스에만 연결하는 것이 좋습니다.

  • 액티브-액티브 클러스터는 RDS for MySQL DB 인스턴스만 지원합니다. 이러한 DB 인스턴스는 지원되는 버전의 DB 엔진을 실행해야 합니다.

  • 액티브-액티브 클러스터의 DB 인스턴스에 예상치 못한 장애가 발생하면 RDS는 자동으로 DB 인스턴스 복구를 시작합니다. DB 인스턴스가 복구되지 않는 경우 클러스터의 정상 DB 인스턴스를 통해 특정 시점으로 복구를 수행하여 새 DB 인스턴스로 교체하는 것이 좋습니다. 지침은 특정 시점으로 복구를 사용하여 액티브-액티브 클러스터에 DB 인스턴스 추가 섹션을 참조하세요.

  • 클러스터의 다른 DB 인스턴스에 영향을 주지 않고 액티브-액티브 클러스터의 DB 인스턴스를 삭제할 수 있습니다. DB 인스턴스 삭제에 대한 자세한 내용은 DB 인스턴스 삭제 단원을 참조하세요.

VPC 간 액티브-액티브 클러스터의 사전 조건

2개 이상의 VPC에서 DB 인스턴스를 사용하여 액티브-액티브 클러스터를 구성할 수 있습니다. VPC는 동일한 AWS 리전에 있을 수도 있고, 다른 AWS 리전에 있을 수도 있습니다.

참고

여러 AWS 리전 간에 트래픽을 전송하면 추가 비용이 발생할 수 있습니다. 자세한 내용은 일반적인 아키텍처의 데이터 전송 비용 개요를 참조하세요.

단일 VPC에서 액티브-액티브 클러스터를 구성하는 경우 이 단계를 건너뛰고 새 DB 인스턴스로 액티브-액티브 클러스터 설정으로 이동합니다.

2개 이상의 VPC에 DB 인스턴스가 있는 액티브-액티브 클러스터를 준비하려면
  1. CIDR 블록의 IPv4 주소 범위가 다음 요구 사항을 충족하는지 확인합니다.

    • VPC의 CIDR 블록에 있는 IPv4 주소 범위는 겹칠 수 없습니다.

    • CIDR 블록의 모든 IPv4 주소 범위는 128.0.0.0/subnet_mask보다 작거나 128.0.0.0/subnet_mask보다 커야 합니다.

    다음 범위는 이러한 요구 사항을 보여줍니다.

    • 한 VPC에서는 10.1.0.0/16이 지원되고, 다른 VPC에서는 10.2.0.0/16이 지원됩니다.

    • 한 VPC에서는 172.1.0.0/16이 지원되고, 다른 VPC에서는 172.2.0.0/16이 지원됩니다.

    • 한 VPC의 10.1.0.0/16 및 다른 VPC의 10.1.0.0/16은 범위가 겹치기 때문에 지원되지 않습니다.

    • 한 VPC의 10.1.0.0/16 및 다른 VPC의 172.1.0.0/16은 하나는 128.0.0.0/subnet_mask보다 낮고 다른 하나는 128.0.0.0/subnet_mask보다 높기 때문에 지원되지 않습니다.

    CIDR 블록에 대한 자세한 내용은 Amazon VPC 사용 설명서VPC CIDR 블록을 참조하세요.

  2. 각 VPC에서 DNS 확인 및 DNS 호스트 이름이 모두 활성화되어 있는지 확인합니다.

    지침은 Amazon VPC 사용 설명서VPC에 대한 DNS 속성 보기 및 업데이트를 참조하세요.

  3. VPC 간 트래픽을 다음 방법 중 하나로 라우팅할 수 있도록 VPC를 구성합니다.

    • VPC 간에 VPC 피어링 연결을 만듭니다.

      지침은 Amazon VPC 피어링 가이드VPC 피어링 연결 생성을 참조하세요. 각 VPC에 피어링된 VPC의 보안 그룹을 참조하는 보안 그룹의 인바운드 규칙이 있는지 확인합니다. 그렇게 하면 피어링된 VPC의 참조 보안 그룹과 연결된 인스턴스 간에 트래픽을 주고받을 수 있습니다. 지침은 Amazon VPC 피어링 가이드피어 보안 그룹을 참조하도록 보안 그룹 업데이트를 참조하세요.

    • VPC 간에 전송 게이트웨이를 만듭니다.

      지침은 Amazon VPC 전송 게이트웨이전송 게이트웨이 시작하기를 참조하세요. 각 VPC에 다른 VPC의 트래픽을 허용하는 보안 그룹의 인바운드 규칙(예: 다른 VPC의 CIDR을 지정하는 인바운드 규칙)이 있는지 확인합니다. 이렇게 하면 액티브-액티브 클러스터의 참조된 보안 그룹과 연결된 인스턴스 간에 트래픽을 주고받을 수 있습니다. 자세한 내용은 Amazon VPC 사용 설명서보안 그룹을 사용하여 AWS 리소스에 대한 트래픽 제어를 참조하세요.

액티브-액티브 클러스터의 필수 파라미터 설정

RDS for MySQL 액티브-액티브 클러스터를 설정할 때는 다음 파라미터 설정이 필요합니다.

파라미터 설명 필수 설정

binlog_format

이진 로깅 형식을 설정합니다. RDS for MySQL의 기본값은 MIXED입니다. 자세한 내용은 MySQL 설명서를 참조하세요.

ROW

enforce_gtid_consistency

문 실행에 GTID 일관성을 적용합니다. RDS for MySQL의 기본값은 OFF입니다. 자세한 내용은 MySQL 설명서를 참조하세요.

ON

group_replication_group_name

그룹 복제 이름을 UUID로 설정합니다. UUID 형식은 11111111-2222-3333-4444-555555555555입니다. MySQL DB 인스턴스에 연결하고 SELECT UUID()를 실행하여 MySQL UUID를 생성할 수 있습니다. 액티브-액티브 클러스터의 모든 DB 인스턴스에서 값이 동일해야 합니다. 자세한 내용은 MySQL 설명서를 참조하세요.

MySQL UUID

gtid-mode

GTID 기반 로깅을 제어합니다. RDS for MySQL의 기본값은 OFF_PERMISSIVE입니다. 자세한 내용은 MySQL 설명서를 참조하세요.

ON

rds.custom_dns_resolution

VPC의 Amazon DNS 서버로부터의 DNS 확인을 허용할지 여부를 지정합니다. rds.group_replication_enabled 파라미터로 그룹 복제를 활성화한 경우 DNS 확인을 활성화해야 합니다. rds.group_replication_enabled 파라미터로 그룹 복제를 비활성화한 경우 DNS 확인을 활성화할 수 없습니다. 자세한 내용은 Amazon VPC 사용 설명서Amazon DNS 서버를 참조하세요.

1

rds.group_replication_enabled

그룹 복제를 DB 인스턴스에 활성화할지 여부를 지정합니다. 액티브-액티브 클러스터의 DB 인스턴스에서 그룹 복제를 활성화해야 합니다.

1

slave_preserve_commit_order

복제본에서 트랜잭션이 커밋되는 순서를 제어합니다. RDS for MySQL의 기본값은 ON입니다. 자세한 내용은 MySQL 설명서를 참조하세요.

ON

기존 DB 인스턴스를 액티브-액티브 클러스터로 변환

액티브-액티브 클러스터로 마이그레이션하려는 DB 인스턴스의 DB 엔진 버전은 MySQL 8.0.35 이상이어야 합니다. 엔진 버전을 업그레이드해야 하는 경우 MySQL DB 엔진 업그레이드 섹션을 참조하세요.

2개 이상의 VPC에 DB 인스턴스가 있는 액티브-액티브 클러스터를 설정하는 경우 VPC 간 액티브-액티브 클러스터의 사전 조건에 나와 있는 사전 조건을 완료해야 합니다.

다음 단계를 완료하여 기존 DB 인스턴스를 RDS for MySQL용 액티브-액티브 클러스터로 마이그레이션하세요.

1단계: 하나 이상의 사용자 지정 파라미터 그룹에서 액티브-액티브 클러스터 파라미터 설정

액티브-액티브 클러스터의 RDS for MySQL DB 인스턴스는 필수 파라미터가 올바르게 설정된 사용자 지정 파라미터 그룹과 연결되어야 합니다. 파라미터 및 각 파라미터에 대한 필수 설정에 대한 정보는 액티브-액티브 클러스터의 필수 파라미터 설정 섹션을 참조하세요.

새 파라미터 그룹이나 기존 파라미터 그룹에서 이러한 파라미터를 설정할 수 있습니다. 하지만 액티브-액티브 클러스터에 속하지 않은 DB 인스턴스에 실수로 영향을 주지 않으려면 새 사용자 지정 파라미터 그룹을 생성하는 것이 좋습니다. 액티브-액티브 클러스터의 DB 인스턴스를 동일한 DB 파라미터 그룹이나 다른 DB 파라미터 그룹과 연결할 수 있습니다.

AWS Management Console 또는 AWS CLI로 사용자 지정 파라미터 그룹을 새로 생성할 수 있습니다. 자세한 내용은 DB 파라미터 그룹 생성 섹션을 참조하세요. 다음은 create-db-parameter-group AWS CLI 명령을 실행하여 myactivepg로 이름이 지정된 사용자 지정 DB 파라미터 그룹을 생성하는 예제입니다.

Linux, macOS, Unix:

aws rds create-db-parameter-group \ --db-parameter-group-name myactivepg \ --db-parameter-group-family mysql8.0 \ --description "Parameter group for active-active clusters"

Windows의 경우:

aws rds create-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --db-parameter-group-family mysql8.0 ^ --description "Parameter group for active-active clusters"

AWS Management Console 또는 AWS CLI로 사용자 지정 파라미터 그룹에서 파라미터를 설정할 수도 있습니다. 자세한 내용은 DB 파라미터 그룹의 파라미터 수정 섹션을 참조하세요.

다음 예제에서는 modify-db-parameter-group AWS CLI 명령을 실행하여 파라미터를 설정합니다.

Linux, macOS, Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" \ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" \ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

Windows의 경우:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" ^ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" ^ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

2단계: 필수 그룹 복제 파라미터가 설정된 DB 파라미터 그룹과 DB 인스턴스 연결

DB 인스턴스를 이전 단계에서 만들거나 수정한 파라미터 그룹과 연결합니다. 지침은 DB 파라미터 그룹과 DB 인스턴스 연결 섹션을 참조하세요.

새 파라미터 설정을 적용하려면 DB 인스턴스를 재부팅하세요. 지침은 DB 인스턴스 재부팅 섹션을 참조하세요.

3단계: 액티브-액티브 클러스터 생성

DB 인스턴스와 연결된 DB 파라미터 그룹에서 group_replication_group_seeds 파라미터를 변환할 DB 인스턴스의 엔드포인트로 설정합니다.

AWS Management Console 또는 AWS CLI를 사용하여 파라미터를 설정할 수 있습니다. 이 파라미터를 설정한 후 DB 인스턴스를 재부팅할 필요가 없습니다. 파라미터 설정에 대한 자세한 내용은 DB 파라미터 그룹의 파라미터 수정 섹션을 참조하세요.

다음 예제에서는 modify-db-parameter-group AWS CLI 명령을 실행하여 파라미터를 설정합니다.

Linux, macOS, Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"

Windows의 경우:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"

4단계: 액티브-액티브 클러스터를 위한 추가 RDS for MySQL DB 인스턴스 생성

액티브-액티브 클러스터용 추가 DB 인스턴스를 만들려면 변환하려는 DB 인스턴스에서 특정 시점으로 복구를 수행합니다. 지침은 특정 시점으로 복구를 사용하여 액티브-액티브 클러스터에 DB 인스턴스 추가 섹션을 참조하세요.

액티브-액티브 클러스터에는 최대 9개의 DB 인스턴스가 있을 수 있습니다. 클러스터에 사용할 DB 인스턴스 수를 원하는 수준으로 갖출 때까지 DB 인스턴스에서 특정 시점으로 복구를 수행합니다. 특정 시점으로 복구를 수행할 때 추가할 DB 인스턴스를 rds.group_replication_enabled1로 설정된 DB 파라미터 그룹과 연결해야 합니다. 그렇지 않으면 새로 추가된 DB 인스턴스에서 그룹 복제가 시작되지 않습니다.

5단계: 변환하려는 DB 인스턴스에서 그룹 초기화

그룹을 초기화하고 복제를 시작합니다.

  1. SQL 클라이언트에서 변환하려는 DB 인스턴스에 연결합니다. RDS for MySQL DB 인스턴스 연결에 대한 자세한 내용은 MySQL 데이터베이스 엔진 기반 DB 인스턴스에 연결하기 섹션을 참조하세요.

  2. SQL 클라이언트에서 다음 저장 프로시저를 실행하고 group_replication_user_passwordrdsgrprepladmin 사용자의 암호로 대체합니다. rdsgrprepladmin 사용자는 액티브-액티브 클러스터의 그룹 복제 연결에만 사용할 수 있습니다. 이 사용자의 암호는 액티브-액티브 클러스터의 모든 DB 인스턴스에서 동일해야 합니다.

    call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(1);

    이 예제에서는 binlog retention hours 값을 168로 설정합니다. 즉, 이진 로그 파일은 DB 인스턴스에 7일 동안 유지됩니다. 값은 사용자의 요구 사항에 맞게 조정할 수 있습니다.

    이 예제는 mysql.rds_group_replication_start 저장 프로시저에서 현재 DB 인스턴스로 새 그룹을 초기화하도록 1을 지정합니다.

    예제에서 호출한 저장 프로시저에 대한 자세한 내용은 활성-활성 클러스터 섹션을 참조하세요.

6단계: 액티브-액티브 클러스터의 다른 DB 인스턴스에서 복제 시작

액티브-액티브 클러스터의 각 DB 인스턴스에 대해 SQL 클라이언트를 사용하여 인스턴스에 연결하고 다음 저장 프로시저를 실행합니다. group_replication_user_passwordrdsgrprepladmin 사용자의 암호로 대체합니다.

call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(0);

이 예제에서는 binlog retention hours 값을 168로 설정합니다. 즉, 이진 로그 파일은 각 DB 인스턴스에 7일 동안 유지됩니다. 값은 사용자의 요구 사항에 맞게 조정할 수 있습니다.

이 예제는 mysql.rds_group_replication_start 저장 프로시저에서 현재 DB 인스턴스를 기존 그룹에 조인하도록 0을 지정합니다.

작은 정보

액티브-액티브 클러스터의 다른 모든 DB 인스턴스에서 이러한 저장 프로시저를 실행해야 합니다.

7단계: (권장) 액티브-액티브 클러스터의 상태 확인

클러스터의 각 멤버가 올바르게 구성되었는지 확인하려면 액티브-액티브 클러스터의 DB 인스턴스에 연결하고 다음 SQL 명령을 실행하여 클러스터의 상태를 확인합니다.

SELECT * FROM performance_schema.replication_group_members;

출력은 다음 샘플 출력과 같이 각 DB 인스턴스의 MEMBER_STATE에 대해 ONLINE으로 표시되어야 합니다.

+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ 3 rows in set (0.00 sec)

가능한 MEMBER_STATE 값에 대한 자세한 내용은 MySQL 설명서의 그룹 복제 서버 상태를 참조하세요.

새 DB 인스턴스로 액티브-액티브 클러스터 설정

새 RDS for MySQL DB 인스턴스를 사용하여 액티브-액티브 클러스터를 설정하려면 다음 단계를 완료하세요.

2개 이상의 VPC에 DB 인스턴스가 있는 액티브-액티브 클러스터를 설정하는 경우 VPC 간 액티브-액티브 클러스터의 사전 조건에 나와 있는 사전 조건을 완료해야 합니다.

1단계: 하나 이상의 사용자 지정 파라미터 그룹에서 액티브-액티브 클러스터 파라미터 설정

액티브-액티브 클러스터의 RDS for MySQL DB 인스턴스는 필수 파라미터가 올바르게 설정된 사용자 지정 파라미터 그룹과 연결되어야 합니다. 파라미터 및 각 파라미터에 대한 필수 설정에 대한 정보는 액티브-액티브 클러스터의 필수 파라미터 설정 섹션을 참조하세요.

새 파라미터 그룹이나 기존 파라미터 그룹에서 이러한 파라미터를 설정할 수 있습니다. 하지만 액티브-액티브 클러스터에 속하지 않은 DB 인스턴스에 실수로 영향을 주지 않으려면 새 사용자 지정 파라미터 그룹을 생성하는 것이 좋습니다. 액티브-액티브 클러스터의 DB 인스턴스를 동일한 DB 파라미터 그룹이나 다른 DB 파라미터 그룹과 연결할 수 있습니다.

AWS Management Console 또는 AWS CLI로 사용자 지정 파라미터 그룹을 새로 생성할 수 있습니다. 자세한 내용은 DB 파라미터 그룹 생성 섹션을 참조하세요. 다음은 create-db-parameter-group AWS CLI 명령을 실행하여 myactivepg로 이름이 지정된 사용자 지정 DB 파라미터 그룹을 생성하는 예제입니다.

Linux, macOS, Unix:

aws rds create-db-parameter-group \ --db-parameter-group-name myactivepg \ --db-parameter-group-family mysql8.0 \ --description "Parameter group for active-active clusters"

Windows의 경우:

aws rds create-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --db-parameter-group-family mysql8.0 ^ --description "Parameter group for active-active clusters"

AWS Management Console 또는 AWS CLI로 사용자 지정 파라미터 그룹에서 파라미터를 설정할 수도 있습니다. 자세한 내용은 DB 파라미터 그룹의 파라미터 수정 섹션을 참조하세요.

다음 예제에서는 modify-db-parameter-group AWS CLI 명령을 실행하여 파라미터를 설정합니다.

Linux, macOS, Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" \ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" \ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" \ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" \ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

Windows의 경우:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='rds.group_replication_enabled',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='rds.custom_dns_resolution',ParameterValue='1',ApplyMethod=pending-reboot" ^ "ParameterName='enforce_gtid_consistency',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='gtid-mode',ParameterValue='ON',ApplyMethod=pending-reboot" ^ "ParameterName='binlog_format',ParameterValue='ROW',ApplyMethod=immediate" ^ "ParameterName='slave_preserve_commit_order',ParameterValue='ON',ApplyMethod=immediate" ^ "ParameterName='group_replication_group_name',ParameterValue='11111111-2222-3333-4444-555555555555',ApplyMethod=pending-reboot"

2단계: 액티브-액티브 클러스터를 위한 새 RDS for MySQL DB 인스턴스 생성

액티브-액티브 클러스터는 버전 8.0.35 이상의 RDS for MySQL DB 인스턴스에서 지원됩니다. 클러스터에 대해 새 DB 인스턴스를 9개까지 생성할 수 있습니다.

AWS Management Console 또는 AWS CLI를 사용하여 새 DB 인스턴스를 생성할 수 있습니다. DB 인스턴스를 생성하는 방법에 대한 자세한 내용은 Amazon RDS DB 인스턴스 생성 섹션을 참조하세요. DB 인스턴스를 만들 때 이전 단계에서 만들거나 수정한 DB 파라미터 그룹과 연결합니다.

4단계: 액티브-액티브 클러스터의 DB 인스턴스 지정

각 DB 인스턴스와 연결된 DB 파라미터 그룹에서 클러스터에 포함하려는 DB 인스턴스의 엔드포인트로 group_replication_group_seeds 파라미터를 설정합니다.

AWS Management Console 또는 AWS CLI를 사용하여 파라미터를 설정할 수 있습니다. 이 파라미터를 설정한 후 DB 인스턴스를 재부팅할 필요가 없습니다. 파라미터 설정에 대한 자세한 내용은 DB 파라미터 그룹의 파라미터 수정 섹션을 참조하세요.

다음 예제에서는 modify-db-parameter-group AWS CLI 명령을 실행하여 파라미터를 설정합니다.

Linux, macOS, Unix:

aws rds modify-db-parameter-group \ --db-parameter-group-name myactivepg \ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"

Windows의 경우:

aws rds modify-db-parameter-group ^ --db-parameter-group-name myactivepg ^ --parameters "ParameterName='group_replication_group_seeds',ParameterValue='myactivedb1.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb2.123456789012.us-east-1.rds.amazonaws.com:3306,myactivedb3.123456789012.us-east-1.rds.amazonaws.com:3306',ApplyMethod=immediate"
작은 정보

액티브-액티브 클러스터의 DB 인스턴스와 연결된 각 DB 파라미터 그룹에서 group_replication_group_seeds 파라미터를 설정해야 합니다.

5단계: DB 인스턴스에서 그룹 초기화 및 복제 시작

새 DB를 선택하여 그룹을 초기화하고 복제를 시작할 수 있습니다. 이렇게 하려면 다음 단계를 완료합니다.

  1. 액티브-액티브 클러스터에서 DB 인스턴스를 선택하고 SQL 클라이언트에서 해당 DB 인스턴스에 연결합니다. RDS for MySQL DB 인스턴스 연결에 대한 자세한 내용은 MySQL 데이터베이스 엔진 기반 DB 인스턴스에 연결하기 섹션을 참조하세요.

  2. SQL 클라이언트에서 다음 저장 프로시저를 실행하고 group_replication_user_passwordrdsgrprepladmin 사용자의 암호로 대체합니다. rdsgrprepladmin 사용자는 액티브-액티브 클러스터의 그룹 복제 연결에만 사용할 수 있습니다. 이 사용자의 암호는 액티브-액티브 클러스터의 모든 DB 인스턴스에서 동일해야 합니다.

    call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(1);

    이 예제에서는 binlog retention hours 값을 168로 설정합니다. 즉, 이진 로그 파일은 DB 인스턴스에 7일 동안 유지됩니다. 값은 사용자의 요구 사항에 맞게 조정할 수 있습니다.

    이 예제는 mysql.rds_group_replication_start 저장 프로시저에서 현재 DB 인스턴스로 새 그룹을 초기화하도록 1을 지정합니다.

    예제에서 호출한 저장 프로시저에 대한 자세한 내용은 활성-활성 클러스터 섹션을 참조하세요.

6단계: 액티브-액티브 클러스터의 다른 DB 인스턴스에서 복제 시작

액티브-액티브 클러스터의 각 DB 인스턴스에 대해 SQL 클라이언트를 사용하여 인스턴스에 연결하고 다음 저장 프로시저를 실행합니다. group_replication_user_passwordrdsgrprepladmin 사용자의 암호로 대체합니다.

call mysql.rds_set_configuration('binlog retention hours', 168); -- 7 days binlog call mysql.rds_group_replication_create_user('group_replication_user_password'); call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password'); call mysql.rds_group_replication_start(0);

이 예제에서는 binlog retention hours 값을 168로 설정합니다. 즉, 이진 로그 파일은 각 DB 인스턴스에 7일 동안 유지됩니다. 값은 사용자의 요구 사항에 맞게 조정할 수 있습니다.

이 예제는 mysql.rds_group_replication_start 저장 프로시저에서 현재 DB 인스턴스를 기존 그룹에 조인하도록 0을 지정합니다.

작은 정보

액티브-액티브 클러스터의 다른 모든 DB 인스턴스에서 이러한 저장 프로시저를 실행해야 합니다.

7단계: (권장) 액티브-액티브 클러스터의 상태 확인

클러스터의 각 멤버가 올바르게 구성되었는지 확인하려면 액티브-액티브 클러스터의 DB 인스턴스에 연결하고 다음 SQL 명령을 실행하여 클러스터의 상태를 확인합니다.

SELECT * FROM performance_schema.replication_group_members;

출력은 다음 샘플 출력과 같이 각 DB 인스턴스의 MEMBER_STATE에 대해 ONLINE으로 표시되어야 합니다.

+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ 3 rows in set (0.00 sec)

가능한 MEMBER_STATE 값에 대한 자세한 내용은 MySQL 설명서의 그룹 복제 서버 상태를 참조하세요.

8단계: (선택 사항) 액티브-액티브 클러스터의 DB 인스턴스로 데이터 가져오기

MySQL 데이터베이스의 데이터를 액티브-액티브 클러스터의 DB 인스턴스로 가져올 수 있습니다. 데이터를 가져온 후 그룹 복제는 데이터를 클러스터의 다른 DB 인스턴스로 복제합니다.

데이터 가져오기에 대한 자세한 내용은 가동 중지 시간을 단축하여 Amazon RDS MariaDB 또는 MySQL 데이터베이스로 데이터 가져오기 섹션을 참조하세요.

액티브-액티브 클러스터에 DB 인스턴스 추가

DB 스냅샷을 복원하거나 DB 인스턴스를 특정 시점으로 복원하여 DB 인스턴스를 액티브-액티브 클러스터에 추가할 수 있습니다. 액티브-액티브 클러스터에는 최대 9개의 DB 인스턴스가 포함될 수 있습니다.

DB 인스턴스를 특정 시점으로 복구할 때는 일반적으로 DB 스냅샷에서 복원된 DB 인스턴스보다 최근 트랜잭션이 더 많이 포함됩니다. DB 인스턴스에 최근 트랜잭션이 더 많으면 복제를 시작할 때 적용해야 하는 트랜잭션 수가 줄어듭니다. 따라서 특정 시점으로 복구를 사용하여 클러스터에 DB 인스턴스를 추가하는 것이 일반적으로 DB 스냅샷에서 복원하는 것보다 빠릅니다.

특정 시점으로 복구를 사용하여 액티브-액티브 클러스터에 DB 인스턴스 추가

클러스터의 DB 인스턴스에서 특정 시점으로 복구를 수행하여 액티브-액티브 클러스터에 DB 인스턴스를 추가할 수 있습니다.

다른 AWS 리전에서 DB 인스턴스를 특정 시점으로 복구하는 방법에 대한 자세한 내용은 다른 AWS 리전에 자동 백업 복제 섹션을 참조하세요.

특정 시점으로 복구를 사용하여 액티브-액티브 클러스터에 DB 인스턴스를 추가하려면
  1. 액티브-액티브 클러스터의 DB 인스턴스에서 특정 시점으로 복구를 수행하여 새 DB 인스턴스를 생성합니다.

    클러스터의 모든 DB 인스턴스에서 특정 시점으로 복구를 수행하여 새 DB 인스턴스를 생성할 수 있습니다. 지침은 DB 인스턴스를 지정된 시간으로 복원 섹션을 참조하세요.

    중요

    특정 시점으로 복구 중에는 액티브-액티브 클러스터 파라미터가 설정된 DB 파라미터 그룹에 새 DB 인스턴스를 연결합니다. 그렇지 않으면 새 DB 인스턴스에서 그룹 복제가 시작되지 않습니다. 파라미터 및 각 파라미터에 대한 필수 설정에 대한 정보는 액티브-액티브 클러스터의 필수 파라미터 설정 섹션을 참조하세요.

    작은 정보

    특정 시점으로 복구를 시작하기 전에 DB 인스턴스의 스냅샷을 생성하면 새 DB 인스턴스에서 트랜잭션을 적용하는 데 필요한 시간을 줄일 수 있습니다.

  2. 새 DB 인스턴스와 연결한 DB 파라미터 그룹을 포함하여 액티브-액티브 클러스터의 DB 인스턴스와 연결된 각 DB 파라미터 그룹의 group_replication_group_seeds 파라미터에 DB 인스턴스를 추가합니다.

    파라미터 설정에 대한 자세한 내용은 DB 파라미터 그룹의 파라미터 수정 섹션을 참조하세요.

  3. SQL 클라이언트에서 새 DB 인스턴스에 연결하고 mysql.rds_group_replication_set_recovery_channel 저장 프로시저를 호출합니다. group_replication_user_passwordrdsgrprepladmin 사용자의 암호로 대체합니다.

    call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password');
  4. SQL 클라이언트를 통해 mysql.rds_group_replication_start 저장 프로시저를 호출하여 복제를 시작합니다.

    call mysql.rds_group_replication_start(0);

DB 스냅샷을 사용하여 액티브-액티브 클러스터에 DB 인스턴스 추가

클러스터에 있는 DB 인스턴스의 DB 스냅샷을 만든 다음 DB 스냅샷을 복원하여 액티브-액티브 클러스터에 DB 인스턴스를 추가할 수 있습니다.

스냅샷을 다른 AWS 리전으로 복사하는 방법에 대한 자세한 내용은 리전 간 스냅샷 복사 섹션을 참조하세요.

DB 스냅샷을 사용하여 액티브-액티브 클러스터에 DB 인스턴스를 추가하려면
  1. 액티브-액티브 클러스터에서 DB 인스턴스의 DB 스냅샷을 생성합니다.

    클러스터에 있는 모든 DB 인스턴스의 DB 스냅샷을 생성할 수 있습니다. 지침은 단일 AZ DB 인스턴스용 DB 스냅샷 생성 섹션을 참조하세요.

  2. DB 스냅샷에서 DB 인스턴스를 복원합니다.

    스냅샷 복원 작업 중에 액티브-액티브 클러스터 파라미터가 설정된 DB 파라미터 그룹에 새 DB 인스턴스를 연결합니다. 파라미터 및 각 파라미터에 대한 필수 설정에 대한 정보는 액티브-액티브 클러스터의 필수 파라미터 설정 섹션을 참조하세요.

    DB 스냅샷에서 DB 인스턴스를 복원하는 방법에 대한 자세한 내용은 DB 스냅샷에서 복원 섹션을 참조하세요.

  3. 새 DB 인스턴스와 연결한 DB 파라미터 그룹을 포함하여 액티브-액티브 클러스터의 DB 인스턴스와 연결된 각 DB 파라미터 그룹의 group_replication_group_seeds 파라미터에 DB 인스턴스를 추가합니다.

    파라미터 설정에 대한 자세한 내용은 DB 파라미터 그룹의 파라미터 수정 섹션을 참조하세요.

  4. SQL 클라이언트에서 새 DB 인스턴스에 연결하고 mysql.rds_group_replication_set_recovery_channel 저장 프로시저를 호출합니다. group_replication_user_passwordrdsgrprepladmin 사용자의 암호로 대체합니다.

    call mysql.rds_group_replication_set_recovery_channel('group_replication_user_password');
  5. SQL 클라이언트를 통해 mysql.rds_group_replication_start 저장 프로시저를 호출하여 복제를 시작합니다.

    call mysql.rds_group_replication_start(0);

액티브-액티브 클러스터 모니터링

클러스터의 DB 인스턴스에 연결하고 다음 SQL 명령을 실행하여 액티브-액티브 클러스터를 모니터링할 수 있습니다.

SELECT * FROM performance_schema.replication_group_members;

출력은 다음 샘플 출력과 같이 각 DB 인스턴스의 MEMBER_STATE에 대해 ONLINE으로 표시되어야 합니다.

+---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | CHANNEL_NAME | MEMBER_ID | MEMBER_HOST | MEMBER_PORT | MEMBER_STATE | MEMBER_ROLE | MEMBER_VERSION | MEMBER_COMMUNICATION_STACK | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ | group_replication_applier | 9854d4a2-5d7f-11ee-b8ec-0ec88c43c251 | ip-10-15-3-137 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | 9e2e9c28-5d7f-11ee-8039-0e5d58f05fef | ip-10-15-3-225 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | | group_replication_applier | a6ba332d-5d7f-11ee-a025-0a5c6971197d | ip-10-15-1-83 | 3306 | ONLINE | PRIMARY | 8.0.35 | MySQL | +---------------------------+--------------------------------------+----------------+-------------+--------------+-------------+----------------+----------------------------+ 3 rows in set (0.00 sec)

가능한 MEMBER_STATE 값에 대한 자세한 내용은 MySQL 설명서의 그룹 복제 서버 상태를 참조하세요.

액티브-액티브 클러스터의 DB 인스턴스에서 그룹 복제 중지

액티브-액티브 클러스터의 DB 인스턴스에서 그룹 복제를 중지할 수 있습니다. 그룹 복제를 중지하면 복제가 다시 시작되거나 해당 DB 인스턴스가 액티브-액티브 클러스터에서 제거될 때까지 DB 인스턴스는 슈퍼 읽기 전용 모드로 전환됩니다. 슈퍼 읽기 전용 모드에 대한 자세한 내용은 MySQL 설명서를 참조하세요.

액티브-액티브 클러스터의 그룹 복제를 일시적으로 중지하려면
  1. SQL 클라이언트를 사용하여 액티브-액티브 클러스터의 DB 인스턴스에 연결합니다.

    RDS for MySQL DB 인스턴스 연결에 대한 자세한 내용은 MySQL 데이터베이스 엔진 기반 DB 인스턴스에 연결하기 섹션을 참조하세요.

  2. SQL 클라이언트에서 mysql.rds_group_replication_stop 저장 프로시저를 호출합니다.

    call mysql.rds_group_replication_stop();

액티브-액티브 클러스터의 DB 인스턴스 이름 변경

액티브-액티브 클러스터에서 DB 인스턴스의 이름을 변경할 수 있습니다. 액티브-액티브 클러스터에서 둘 이상의 DB 인스턴스 이름을 바꾸려면 DB 인스턴스 이름을 한 번에 하나씩 바꾸세요. 즉, 다음 DB 인스턴스의 이름을 바꾸기 전에 한 DB 인스턴스의 이름을 변경하고 클러스터에 다시 조인해야 합니다.

액티브-액티브 클러스터의 DB 인스턴스 이름을 변경하려면
  1. SQL 클라이언트에서 DB 인스턴스에 연결하고 mysql.rds_group_replication_stop 저장 프로시저를 호출합니다.

    call mysql.rds_group_replication_stop();
  2. DB 인스턴스 이름 변경의 지침에 따라 DB 인스턴스의 이름을 바꿉니다.

  3. 액티브-액티브 클러스터의 DB 인스턴스와 연결된 각 DB 파라미터 그룹의 group_replication_group_seeds 파라미터를 수정합니다.

    파라미터 설정에서 이전 DB 인스턴스 엔드포인트를 새 DB 인스턴스 엔드포인트로 교체합니다. 파라미터 설정에 대한 자세한 내용은 DB 파라미터 그룹의 파라미터 수정 섹션을 참조하세요.

  4. SQL 클라이언트에서 DB 인스턴스에 연결하고 mysql.rds_group_replication_start 저장 프로시저를 호출합니다.

    call mysql.rds_group_replication_start(0);

액티브-액티브 클러스터에서 DB 인스턴스 제거

액티브-액티브 클러스터에서 DB 인스턴스를 제거하면 독립형 DB 인스턴스로 되돌아갑니다.

액티브-액티브 클러스터에서 DB 인스턴스를 제거하려면
  1. SQL 클라이언트에서 DB 인스턴스에 연결하고 mysql.rds_group_replication_stop 저장 프로시저를 호출합니다.

    call mysql.rds_group_replication_stop();
  2. 액티브-액티브 클러스터에 남아 있는 DB 인스턴스의 group_replication_group_seeds 파라미터를 수정합니다.

    group_replication_group_seeds 파라미터에서 액티브-액티브 클러스터에서 제거하려는 DB 인스턴스를 삭제합니다. 파라미터 설정에 대한 자세한 내용은 DB 파라미터 그룹의 파라미터 수정 섹션을 참조하세요.

  3. 액티브-액티브 클러스터에서 제거하려는 DB 인스턴스가 더 이상 클러스터에 속하지 않도록 파라미터를 수정합니다.

    DB 인스턴스를 다른 파라미터 그룹과 연결하거나 DB 인스턴스와 연결된 DB 파라미터 그룹의 파라미터를 수정할 수 있습니다. 수정할 파라미터로는 group_replication_group_name, rds.group_replication_enabled, group_replication_group_seeds가 있습니다. 액티브-액티브 클러스터 파라미터에 대한 자세한 내용은 액티브-액티브 클러스터의 필수 파라미터 설정 섹션을 참조하세요.

    DB 파라미터 그룹에서 파라미터를 수정하는 경우 DB 파라미터 그룹이 액티브-액티브 클러스터의 다른 DB 인스턴스와 연결되어 있지 않은지 확인합니다.

  4. 새 파라미터 설정을 적용하려면 액티브-액티브 클러스터에서 제거한 DB 인스턴스를 재부팅하세요.

    지침은 DB 인스턴스 재부팅 섹션을 참조하세요.

RDS for MySQL 액티브-액티브 클러스터의 제한 사항

RDS for MySQL의 액티브-액티브 클러스터에 다음과 같은 제한 사항이 적용됩니다.

  • 액티브-액티브 클러스터의 DB 인스턴스에 대한 마스터 사용자 이름으로 rdsgrprepladmin을 지정할 수 없습니다. 이 사용자 이름은 그룹 복제 연결용으로 예약되어 있습니다.

  • 액티브-액티브 클러스터에 읽기 전용 복제본이 있는 DB 인스턴스의 경우, Replicating 이외의 연장된 복제 상태가 로그 파일이 저장 제한을 초과하게끔 만들 수 있습니다. 읽기 전용 복제본 상태에 대한 자세한 내용은 읽기 전용 복제본 모니터링 섹션을 참조하세요.

  • 액티브-액티브 클러스터의 DB 인스턴스에는 블루/그린 배포가 지원되지 않습니다. 자세한 내용은 데이터베이스 업데이트에 Amazon RDS 블루/그린 배포 사용 섹션을 참조하세요.

  • 액티브-액티브 클러스터의 DB 인스턴스에는 Kerberos 인증이 지원되지 않습니다. 자세한 내용은 MySQL에 Kerberos 인증 사용 섹션을 참조하세요.

  • 다중 AZ DB 클러스터의 DB 인스턴스는 액티브-액티브 클러스터에 추가할 수 없습니다.

    그러나 다중 AZ DB 인스턴스 배포의 DB 인스턴스는 액티브-액티브 클러스터에 추가할 수 있습니다.

    자세한 내용은 다중 AZ 배포 구성 및 관리 섹션을 참조하세요.

  • 그룹 복제 플러그인이 쓰기를 거부하기 때문에 프라이머리 키가 없는 표는 액티브-액티브 클러스터에 복제되지 않습니다.

  • InnoDB가 아닌 표는 액티브-액티브 클러스터에 복제되지 않습니다.

  • 액티브-액티브 클러스터는 클러스터의 여러 DB 인스턴스에 대한 동시 DML 및 DDL 문을 지원하지 않습니다.

  • 그룹의 복제 모드에 단일 기본 모드를 사용하도록 액티브-액티브 클러스터를 구성할 수 없습니다. 이 구성의 경우 다중 AZ DB 클러스터를 대신 사용하는 것이 좋습니다. 자세한 내용은 다중 AZ DB 클러스터 배포 섹션을 참조하세요.

  • 액티브-액티브 클러스터의 DB 인스턴스에는 다중 소스 복제가 지원되지 않습니다.

  • 리전 간 액티브-액티브 클러스터는 그룹 복제 연결에 인증 기관(CA) 검증을 적용할 수 없습니다.