로컬 쓰기 전달 활성화 - Amazon Aurora

로컬 쓰기 전달 활성화

기본적으로 Aurora MySQL DB 클러스터에는 로컬 쓰기 전달이 활성화되어 있지 않습니다. 인스턴스 수준이 아닌 클러스터 수준에서 직접 로컬 쓰기 전달을 활성화합니다.

중요

또한 이진 로깅을 사용하지만 쓰기 작업이 소스 AWS 리전에 전달되지 않는 리전 간 읽기 전용 복제본에 대해 로컬 쓰기 전달을 활성화할 수 있습니다. 이는 binlog 읽기 전용 복제본 클러스터의 라이터 DB 인스턴스로 전달됩니다.

이 방법은 보조 AWS 리전의 binlog 읽기 전용 복제본에 쓰기 위한 사용 사례가 있는 경우에만 사용하세요. 그렇지 않으면 복제된 데이터 세트가 서로 일치하지 않는 '스플릿 브레인(split-brain)' 시나리오가 발생할 수 있습니다.

꼭 필요한 경우가 아니면 리전 간 읽기 전용 복제본에 로컬 쓰기 전달을 사용하기보다는 글로벌 데이터베이스에 전역 쓰기 전달을 사용하는 것이 좋습니다. 자세한 내용은 Amazon Aurora 글로벌 데이터베이스에서 쓰기 전달 사용 단원을 참조하십시오.

DB 클러스터를 만들거나 수정할 때 AWS Management Console을 사용하여 읽기 전용 복제본 쓰기 전달 아래의 로컬 쓰기 전달 켜기 확인란을 선택합니다.

AWS CLI를 사용하여 쓰기 전달을 활성화하려면 --enable-local-write-forwarding 옵션을 사용합니다. 이 옵션은 create-db-cluster 명령을 사용하여 새 DB 클러스터를 생성할 때 작동합니다. modify-db-cluster 명령을 사용하여 기존 DB 클러스터를 수정할 때도 작동합니다. 이러한 동일한 CLI 명령과 함께 --no-enable-local-write-forwarding 옵션을 사용하여 쓰기 전달을 비활성화할 수 있습니다.

다음 예시에서는 쓰기 전달이 활성화된 Aurora MySQL DB 클러스터를 생성합니다.

aws rds create-db-cluster \ --db-cluster-identifier write-forwarding-test-cluster \ --enable-local-write-forwarding \ --engine aurora-mysql \ --engine-version 8.0.mysql_aurora.3.04.0 \ --master-username myuser \ --master-user-password mypassword \ --backup-retention 1

그런 다음 쓰기 전달을 사용할 수 있도록 라이터 및 리더 DB 인스턴스를 생성합니다. 자세한 내용은 Amazon Aurora DB 클러스터 생성 단원을 참조하십시오.

Amazon RDS API를 사용하여 쓰기 전달을 활성화하려면 EnableLocalWriteForwarding 파라미터를 true로 설정합니다. 이 파라미터는 CreateDBCluster 작업을 사용하여 새 DB 클러스터를 생성할 때 작동합니다. ModifyDBCluster 작업을 사용하여 기존 DB 클러스터를 수정할 때도 작동합니다. EnableLocalWriteForwarding 파라미터를 false로 설정하여 쓰기 전달을 비활성화할 수 있습니다.

데이터베이스 세션에 대한 쓰기 전달 활성화

aurora_replica_read_consistency 파라미터는 쓰기 전달을 가능하게 하는 DB 파라미터 및 DB 클러스터 파라미터입니다. 읽기 일관성 수준에 대해 EVENTUAL, SESSION 또는 GLOBAL을 지정할 수 있습니다. 일관성 수준에 대한 자세한 내용은 쓰기 전달을 위한 읽기 일관성 단원을 참조하세요.

이 파라미터에는 다음과 같은 규칙이 적용됩니다.

  • 기본값은 "(Null)입니다.

  • aurora_replica_read_consistency를 EVENTUALSESSION 또는 GLOBAL로 설정하는 경우에만 쓰기 전달을 사용할 수 있습니다. 이 파라미터는 쓰기 전달이 활성화되어 있는 DB 클러스터의 리더 인스턴스에만 적용됩니다.

  • 다중 명령문 트랜잭션 내에서 이 변수가 비어 있는 경우 설정하거나 이미 설정된 경우 설정을 취소할 수 없습니다. 이러한 트랜잭션 중에 하나의 유효한 값에서 다른 유효한 값으로 변경할 수는 있지만 이 작업은 권장되지 않습니다.