MySQL을 사용한 지연 복제 구성
지연 복제를 재해 복구를 위한 전략으로 사용할 수 있습니다. 지연된 복제를 사용하여 원본에서 읽기 전용 복제본으로의 복제를 지연할 최소 시간(초)을 지정합니다. 재해 발생 시(예: 실수로 테이블 삭제) 다음 단계를 완료하여 재해로부터 빠르게 복구할 수 있습니다.
-
재해를 일으킨 변경 사항이 읽기 전용 복제본으로 전송되기 이전에 읽기 전용 복제본에 대한 복제를 중지합니다.
mysql.rds_stop_replication 저장 프로시저를 사용하여 복제를 중지합니다.
-
복제를 시작하고 로그 파일 위치에서 복제가 자동으로 중지되도록 지정합니다.
mysql.rds_start_replication_until 저장 프로시저를 사용하여 재해 직전 위치를 지정합니다.
-
읽기 전용 복제본을 독립 DB 인스턴스로 승격의 지침에 따라 읽기 전용 복제본을 새 원본 DB 인스턴스로 승격합니다.
참고
-
RDS for MySQL 8.4에서는 지연 복제가 MySQL 8.4.3 이상에 대해 지원됩니다. RDS for MySQL 8.0에서는 지연 복제가 MySQL 8.0.28 이상에 대해 지원됩니다. RDS for MySQL 5.7에서는 지연 복제가 MySQL 5.7.44 이상에 대해 지원됩니다.
-
저장 프로시저를 사용하여 지연된 복제를 구성합니다. AWS Management Console, AWS CLI 또는 Amazon RDS API를 사용하여 지연 복제를 구성할 수 없습니다.
-
다음 버전에 대한 지연된 복제 구성에서 전역 트랜잭션 ID(GTID)를 기반으로 하는 복제를 사용할 수 있습니다.
-
RDS for MySQL 버전 5.7.44 이상 5.7 버전
-
RDS for MySQL 버전 8.0.28 이상 8.0 버전
-
RDS for MySQL 버전 8.4.3 이상 8.4 버전
GTID 기반 복제를 사용하는 경우 mysql.rds_start_replication_until_gtid 저장 프로시저 대신 mysql.rds_start_replication_until 저장 프로시저를 사용하십시오. GTID 기반 복제에 대한 자세한 내용은 GTID 기반 복제 사용 단원을 참조하십시오.
-
읽기 전용 복제본 생성 중 지연 복제 구성
DB 인스턴스에서 향후에 생성되는 읽기 전용 복제본에 대한 지연된 복제를 구성하려면 mysql.rds_set_configuration 파라미터와 함께 target delay
저장 프로시저를 실행합니다.
읽기 전용 복제본을 생성하는 동안 지연된 복제를 구성하려면
-
MySQL 클라이언트를 사용하여 마스터 사용자로 읽기 전용 복제본에 대한 원본이 될 MySQL DB 인스턴스에 연결합니다.
-
mysql.rds_set_configuration 파라미터와 함께
target delay
저장 프로시저를 실행합니다.예를 들어, 현재 DB 인스턴스에서 생성되는 모든 읽기 전용 복제본에 대해 1시간(3,600초) 이상 복제를 지연하도록 지정하려면 다음 저장 프로시저를 실행합니다.
call mysql.rds_set_configuration('target delay', 3600);
참고
이 저장 프로시저를 실행한 후 AWS CLI 또는 Amazon RDS API를 사용하여 생성하는 모든 읽기 전용 복제본은 지정된 시간(초)만큼 복제를 지연하도록 구성됩니다.
기존 읽기 전용 복제본에 대한 지연 복제 수정
기존 읽기 전용 복제본에 대한 지연된 복제를 수정하려면 mysql.rds_set_source_delay 저장 프로시저를 실행합니다.
기존 읽기 전용 복제본에 대한 지연된 복제를 수정하려면
-
MySQL 클라이언트를 사용하여 마스터 사용자로 읽기 전용 복제본에 연결합니다.
-
mysql.rds_stop_replication 저장 프로시저를 사용하여 복제를 중지합니다.
-
mysql.rds_set_source_delay 저장 프로시저를 실행합니다.
예를 들어, 읽기 전용 복제본에 대한 복제가 1시간(3,600초) 이상 지연되도록 지정하려면 다음 저장 프로시저를 실행합니다.
call mysql.rds_set_source_delay(3600);
-
mysql.rds_start_replication 저장 프로시저를 사용하여 복제를 시작합니다.
읽기 전용 복제본에 대한 복제를 중지할 위치 설정
읽기 전용 복제본에 대한 복제를 중단한 이후에 mysql.rds_start_replication_until 저장 프로시저를 사용하여 복제를 시작한 다음 지정된 이진 로그 파일 위치에서 복제를 중지할 수 있습니다.
읽기 전용 복제본에 대한 복제를 시작하고 특정 위치에서 복제를 중지하려면
-
MySQL 클라이언트를 사용하여 원본 MySQL DB 인스턴스에 마스터 사용자로 연결합니다.
-
mysql.rds_start_replication_until 저장 프로시저를 실행합니다.
다음 예제에서는 복제를 시작하고
120
바이너리 로그 파일의mysql-bin-changelog.000777
위치에 도달할 때까지 변경 사항을 복제합니다. 재해 복구 시나리오에서120
이 재해 직전 위치라고 가정합니다.call mysql.rds_start_replication_until( 'mysql-bin-changelog.000777', 120);
중지 지점에 도달하면 복제가 자동으로 중지됩니다. Replication has been stopped since the replica reached the stop point specified by the
rds_start_replication_until stored procedure
RDS 이벤트가 생성됩니다.
읽기 전용 복제본 승격
복제가 중지된 후 재해 복구 시나리오에서 읽기 전용 복제본을 새 원본 DB 인스턴스로 승격할 수 있습니다. 읽기 전용 복제본 승격에 대한 자세한 내용은 읽기 전용 복제본을 독립 DB 인스턴스로 승격 단원을 참조하십시오.