Amazon Relational Database Service
사용 설명서 (API 버전 2014-10-31)

mysql.rds_set_external_master

MySQL DB 인스턴스를 Amazon RDS 외부에서 실행 중인 MySQL 인스턴스의 읽기 전용 복제본으로 구성합니다.

참고

mysql.rds_set_external_master_with_delay 저장 프로시저를 사용하여 외부 마스터와 지연 복제를 구성할 수 있습니다.

구문

CALL mysql.rds_set_external_master ( host_name , host_port , replication_user_name , replication_user_password , mysql_binary_log_file_name , mysql_binary_log_file_location , ssl_encryption );

파라미터

host_name

복제 마스터가 될 Amazon RDS의 외부에서 실행 중인 MySQL 인스턴스의 호스트 이름 또는 IP 주소입니다.

host_port

복제 마스터로 구성될 Amazon RDS 외부에서 실행 중인 MySQL 인스턴스에서 사용하는 포트입니다. 네트워크 구성에 포트 번호를 변환하는 SSH 포트 복제가 포함되는 경우 SSH(Secure Shell)에 의해 공개되는 포트 이름을 지정하십시오.

replication_user_name

Amazon RDS 외부에서 실행하는 MySQL 인스턴스에서 REPLICATION CLIENT 및 REPLICATION SLAVE 권한을 보유한 사용자의 ID입니다. 외부 인스턴스를 사용한 복제에만 사용되는 계정을 제공하는 것이 좋습니다.

replication_user_password

replication_user_name에 지정된 사용자 ID의 암호입니다.

mysql_binary_log_file_name

복제 정보가 들어 있는 복제 마스터에 있는 이진수 로그의 이름입니다.

mysql_binary_log_file_location

복제 시 복제 정보를 읽기 시작하는 mysql_binary_log_file_name 이진수 로그 내 위치입니다.

ssl_encryption

복제 연결에 SSL(Secure Socket Layer) 암호화를 사용할지 여부를 지정하는 값입니다. 1은 SSL 암호화 사용, 0은 암호화 사용 안 함입니다. 기본값은 0입니다.

참고

MySQL과 호환되는 Amazon Aurora에서만 사용할 수 있는 파라미터입니다. MySQL DB 인스턴스에서는 기본값만 사용할 수 있습니다.

사용 시 주의사항

마스터 사용자는 mysql.rds_set_external_master 절차를 실행해야 합니다. 이 절차는 Amazon RDS 외부에서 실행 중인 MySQL 인스턴스의 읽기 전용 복제본으로 구성될 MySQL DB 인스턴스에서 실행해야 합니다.

mysql.rds_set_external_master를 실행하기 전에 먼저 Amazon RDS 외부에서 실행하는 MySQL 인스턴스를 복제 마스터로 구성해야 합니다. Amazon RDS 외부에서 실행하는 MySQL 인스턴스에 연결하려면 MySQL의 외부 인스턴스에서 REPLICATION CLIENTREPLICATION SLAVE 권한이 있는 복제 사용자를 나타내는 replication_user_namereplication_user_password 값을 지정해야 합니다.

MySQL의 외부 인스턴스를 복제 마스터로 구성하려면

  1. 선택한 MySQL 클라이언트를 사용하여 MySQL의 외부 인스턴스에 연결하고 복제에 사용될 사용자 계정을 생성합니다. 다음은 예제입니다.

    CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY 'password'
  2. MySQL의 외부 인스턴스에서 복제 사용자에게 REPLICATION CLIENTREPLICATION SLAVE 권한을 부여합니다. 다음 예제에서는 도메인의 'repl_user' 사용자에게 모든 데이터베이스에 대한 REPLICATION CLIENTREPLICATION SLAVE 권한을 부여합니다.

    GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY 'password'

자세한 내용은 Amazon RDS 외부에서 실행 중인 MySQL 또는 MariaDB 인스턴스를 사용한 복제 단원을 참조하십시오.

암호화된 복제를 사용하려면, 마스터가 SSL 연결을 사용하도록 구성해야 합니다. 또한 mysql.rds_import_binlog_ssl_material 프로시저를 사용하여 인증 기관(CA) 인증서, 클라이언트 인증서, 클라이언트 키를 DB 인스턴스나 DB 클러스터로 가져옵니다.

참고

가능하면 읽기 전용 복제본을 사용하여 Amazon RDS DB 인스턴스 간 복제를 관리하는 것이 좋습니다. 그렇게 하면 이 복제 및 다른 복제 관련 저장 절차만 사용하는 것이 좋습니다. 이러한 방법을 사용하면 Amazon RDS DB 인스턴스 간 더욱 복잡한 복제 토폴로지를 사용할 수 있습니다. AWS는 주로 Amazon RDS 외부에서 실행하는 MySQL 인스턴스를 사용하여 복제가 가능한 이러한 저장 절차를 제공합니다. Amazon RDS DB 인스턴스 간 복제 관리에 대한 자세한 내용은 MariaDB, MySQL 및 PostgreSQL DB 인스턴스의 읽기 전용 복제본 작업 주제를 참조하십시오.

mysql.rds_set_external_master를 호출하여 Amazon RDS DB 인스턴스를 읽기 전용 복제본으로 구성한 후 읽기 전용 복제본에서 mysql.rds_start_replication을 호출하여 복제 프로세스를 시작할 수 있습니다. mysql.rds_reset_external_master를 호출하여 읽기 전용 복제본 구성을 제거할 수 있습니다.

mysql.rds_set_external_master가 호출되면 Amazon RDS에서 mysql.rds_historymysql.rds_replication_status 테이블에 시간, 사용자 및 "set master" 작업을 기록합니다.

예제

MySQL DB 인스턴스에서 다음 예제를 실행하면 Amazon RDS 외부에서 실행 중인 MySQL 인스턴스의 읽기 전용 복제본이 되도록 DB 인스턴스가 구성됩니다.

call mysql.rds_set_external_master( 'Externaldb.some.com', 3306, 'repl_user'@'mydomain.com', 'password', 'mysql-bin-changelog.0777', 120, 0);