메뉴
Amazon Relational Database Service
사용 설명서 (API Version 2014-10-31)

Aurora와 MySQL 간의 복제 또는 Aurora와 다른 Aurora DB 클러스터 간의 복제

Amazon Aurora은 MySQL과 호환되기 때문에 MySQL 데이터베이스와 Amazon Aurora DB 클러스터 사이에 복제를 설정할 수 있습니다. 이때 MySQL 데이터베이스에서 실행되는 MySQL 버전은 5.5 이후를 사용하는 것이 좋습니다. Amazon Aurora DB 클러스터가 복제 마스터 또는 복제본인 경우에 복제를 설정할 수 있고, Amazon RDS MySQL DB 인스턴스, Amazon RDS 외부의 MySQL 데이터베이스 또는 다른 Amazon Aurora DB 클러스터로 복제할 수 있습니다.

다른 AWS 리전의 Amazon RDS MySQL DB 인스턴스 또는 Amazon Aurora DB 클러스터로도 복제할 수 있습니다. AWS 리전 간 복제를 수행할 경우 DB 클러스터와 DB 인스턴스에 공개 액세스가 가능한지 확인합니다. Amazon Aurora DB 클러스터는 VPC의 퍼블릭 서브넷에 포함되어야 합니다.

주의

Amazon Aurora와 MySQL 간에 복제할 경우 InnoDB 테이블만 사용해야 합니다. 복제할 MyISAM 테이블이 있는 경우 다음 명령을 사용하여 복제를 설정하기 전에 해당 테이블을 InnoDB로 변환할 수 있습니다.

Copy
alter table <schema>.<table_name> engine=innodb, algorithm=copy;

Amazon Aurora를 사용한 MySQL 복제 설정 단계는 다음과 같으며, 이 주제의 뒷부분에 자세히 설명되어 있습니다.

1. 복제 마스터에 대한 이진 로깅 활성화

2. 더 이상 필요 없을 때까지 복제 마스터에 이진 로그 보관

3. 복제 마스터의 스냅샷 생성

4. 복제본으로 스냅샷 로드

5. 복제 활성화

6. 복제본 모니터링

MySQL 또는 다른 Aurora DB 클러스터를 사용한 복제 설정

MySQL로 Aurora 복제를 설정하려면 다음 단계를 수행합니다.

1. 복제 마스터에 대한 이진 로깅 활성화

다음 데이터베이스 엔진의 복제 마스터에 대한 이진 로깅을 활성화하는 방법의 지침을 확인하십시오.

데이터베이스 엔진 지침

Aurora

Amazon Aurora DB 클러스터에 대한 이진 로깅을 활성화하려면

binlog_format 파라미터를 ROW, STATEMENT 또는 MIXED로 설정합니다. MIXED는 특정 binlog 형식이 요구되는 경우를 제외하고 권장됩니다. binlog_format 파라미터는 기본적으로 default.aurora5.6 클러스터 파라미터 그룹에 속하는 클러스터 수준 파라미터입니다. binlog_format 파라미터를 OFF에서 다른 값으로 변경하는 경우, Aurora DB 클러스터를 재부팅해야 변경 사항이 적용됩니다.

자세한 내용은 DB 클러스터와 DB 인스턴스 파라미터DB 파라미터 그룹 작업을(를) 참조하십시오.

RDS MySQL

Amazon RDS DB 인스턴스에 대한 이진 로깅을 활성화하려면

Amazon RDS DB 인스턴스에 대한 이진 로깅을 직접 활성화할 수는 없지만, 다음 중 하나를 수행하여 활성화할 수 있습니다.

MySQL(외부)

외부 MySQL 데이터베이스에 대한 이진 로깅을 활성화하려면

  1. 명령 셸에서 mysql 서비스를 중지합니다.

    Copy
    sudo service mysqld stop
  2. my.cnf 파일을 편집합니다(이 파일은 보통 /etc에 있음).

    Copy
    sudo vi /etc/my.cnf

    log_binserver_id 옵션을 [mysqld] 섹션에 추가합니다. log_bin 옵션은 이진 로그 파일에 대한 파일 이름 식별자를 제공합니다. server_id 옵션은 마스터-복제본 관계에서 서버의 고유 식별자를 제공합니다.

    다음 예제에서는 my.cnf 파일의 업데이트된 [mysqld] 섹션을 보여줍니다.

    Copy
    [mysqld] log-bin=mysql-bin server-id=1

    또한 MySQL DB 인스턴스의 sql_mode 옵션을 0으로 설정하거나, my.cnf 파일에 이 옵션이 포함되어서는 안 됩니다.

    자세한 내용은 MySQL 문서의 Setting the Replication Master Configuration을(를) 참조하십시오.

  3. mysql 서비스를 시작합니다.

    Copy
    sudo service mysqld start

2. 더 이상 필요 없을 때까지 복제 마스터에 이진 로그 보관

MySQL binlog 복제를 사용할 경우 Amazon RDS에서 복제 프로세스를 관리하지 않습니다. 따라서 변경 사항이 복제본에 적용된 이후까지 복제 마스터의 binlog 파일이 보관되는지 확인해야 합니다. 이렇게 유지 관리해야 오류 발생 시 마스터 데이터베이스를 복원할 수 있습니다.

다음 데이터베이스 엔진의 이진 로그를 보관하는 방법에 대한 지침을 확인하십시오.

데이터베이스 엔진 지침

Aurora

Amazon Aurora DB 클러스터에 이진 로그를 보관하려면

Amazon Aurora DB 클러스터의 binlog 파일에 대한 액세스 권한이 없습니다. 따라서 Amazon RDS에서 binlog 파일을 삭제하기 이전에 변경 사항이 복제본에 적용되도록 복제 마스터에 binlog 파일을 보관할 기간을 충분히 길게 선택해야 합니다. 최대 90일 동안 Amazon Aurora DB 클러스터에 binlog 파일을 보관할 수 있습니다.

MySQL 데이터베이스 또는 RDS MySQL DB 인스턴스를 복제본으로 사용하여 복제를 설정하고 복제본을 생성할 데이터베이스가 매우 큰 경우, 복제본에 대한 데이터베이스의 초기 복사가 완료되고 복제 지연이 0에 도달할 때까지 binlog 파일을 보관하도록 기간을 길게 선택합니다.

binlog 보관 기간을 설정하려면 mysql.rds_set_configuration 절차를 사용하여 'binlog retention hours' 구성 파라미터와 DB 클러스터에 binlog 파일을 보관할 시간(최대 2160시간(90일))을 함께 지정합니다. 다음 예에서는 binlog 파일의 보관 기간을 6일로 설정합니다.

Copy
CALL mysql.rds_set_configuration('binlog retention hours', 144);

복제를 시작한 후 복제본에 대해 SHOW SLAVE STATUS 명령을 실행하고 Seconds behind master 필드를 선택하여 변경 사항이 복제본에 적용되었는지 확인할 수 있습니다. Seconds behind master 필드가 0이면 복제 지연이 없는 것입니다. 복제 지연이 없는 경우 binlog retention hours 구성 파라미터를 더 짧은 기간으로 설정하여 binlog 파일을 보관할 기간을 줄입니다.

RDS MySQL

Amazon RDS DB 인스턴스에 이진 로그를 보관하려면

이전 단원에서 설명한 Amazon Aurora DB 클러스터와 같은 방법으로 binlog 보관 시간을 설정하여 Amazon RDS DB 인스턴스에 binlog 파일을 보관할 수 있습니다.

DB 인스턴스에 대한 읽기 전용 복제본을 생성하여 Amazon RDS DB 인스턴스에 binlog 파일을 보관할 수도 있습니다. 이 읽기 전용 복제본은 임시 복제본이며 binlog 파일 보관의 목적으로만 사용됩니다. 읽기 전용 복제본이 생성된 후 읽기 전용 복제본에 대한 mysql.rds_stop_replication 프로시저를 호출합니다(mysql.rds_stop_replication 프로시저는 MySQL 5.5, 5.6 이상 버전과 5.7 이상 버전에서만 사용할 수 있음). 복제가 중지된 동안 Amazon RDS에서는 복제 마스터에서 binlog 파일을 삭제하지 않습니다. 영구 복제본을 사용하여 복제를 설정한 후 복제 마스터와 영구 복제본 사이의 복제 지연(Seconds behind master 필드)이 0에 도달한 경우 읽기 전용 복제본을 삭제할 수 있습니다.

MySQL(외부)

외부 MySQL 데이터베이스에 이진 로그를 보관하려면

외부 MySQL 데이터베이스의 binlog 파일은 Amazon RDS에서 관리하지 않으므로 삭제할 때까지 보관됩니다.

복제를 시작한 후 복제본에 대해 SHOW SLAVE STATUS 명령을 실행하고 Seconds behind master 필드를 선택하여 변경 사항이 복제본에 적용되었는지 확인할 수 있습니다. Seconds behind master 필드가 0이면 복제 지연이 없는 것입니다. 복제 지연이 없는 경우 이전 binlog 파일을 삭제할 수 있습니다.

3. 복제 마스터의 스냅샷 생성

복제 마스터의 스냅샷은 데이터의 기본 사본을 복제본으로 로드한 후 해당 지점에서 복제를 시작하는 데 사용됩니다.

다음 데이터베이스 엔진의 복제 마스터의 스냅샷을 생성하는 방법에 대한 지침을 확인하십시오.

데이터베이스 엔진 지침

Aurora

Amazon Aurora DB 클러스터의 스냅샷을 생성하려면

  1. Amazon Aurora DB 클러스터의 DB 클러스터 스냅샷을 생성합니다. 자세한 내용은 DB 스냅샷 생성을(를) 참조하십시오.

  2. 방금 만든 DB 클러스터 스냅샷에서 복원하여 새 Aurora DB 클러스터를 생성합니다. 복원된 DB 클러스터의 DB 파라미터 그룹을 원래 DB 클러스터와 동일하게 유지해야 합니다. 이렇게 해야 DB 클러스터 사본에 이진 로깅이 활성화됩니다. 자세한 내용은 DB 스냅샷에서 복원을(를) 참조하십시오.

  3. 콘솔에서 [Instances]를 선택하고 복원된 Aurora DB 클러스터에 대한 기본 인스턴스(라이터)를 선택합니다. [Alarms and Recent Events]를 봅니다. binlog 파일 이름과 위치를 포함한 이벤트 메시지가 표시됩니다. 이벤트 메시지의 형식은 다음과 같습니다.

    Copy
    Binlog position from crash recovery is binlog-file-name binlog-position

    예를 들어, 다음은 binlog 파일 이름이 mysql-bin-changelog.000003이고 binlog 위치가 4278인 이벤트 메시지입니다.

     Amazon Aurora binlog 파일 이름과 위치

    복제 시작 위치에 해당하는 binlog 파일 이름 및 위치 값을 저장합니다.

    AWS CLI에서 describe-events 명령을 호출하여 binlog 파일 이름 및 위치를 얻을 수도 있습니다. 다음은 describe-events 명령과 명령 출력의 예입니다.

    Copy
    PROMPT> aws rds describe-events
    Copy
    { "Events": [ { "EventCategories": [], "SourceType": "db-instance", "SourceArn": "arn:aws:rds:us-west-2:123456789012:db:sample-restored-instance", "Date": "2016-10-28T19:43:46.862Z", "Message": "Binlog position from crash recovery is mysql-bin-changelog.000003 4278", "SourceIdentifier": "sample-restored-instance" } ] }
  4. 복제본이 다른 리전의 Aurora DB 클러스터, 다른 AWS 계정이 소유한 Aurora DB 클러스터, 외부 MySQL 데이터베이스 또는 RDS MySQL DB 인스턴스인 경우 Amazon Aurora DB 클러스터 스냅샷에서 데이터를 로드할 수 없습니다. 대신 MySQL 클라이언트를 사용하여 DB 클러스터에 연결하고 mysqldump 명령을 실행하여 Amazon Aurora DB 클러스터의 덤프를 생성할 수 있습니다. 생성한 Amazon Aurora DB 클러스터 사본에 대해 mysqldump 명령을 실행해야 합니다. 다음은 그 한 예입니다.

    Copy
    PROMPT> mysqldump --databases <database_name> --single-transaction --order-by-primary -r backup.sql -u <local_user> -p
  5. 새로 생성된 Aurora DB 클러스터에서 데이터 덤프 생성을 마치고 나면 해당 DB 클러스터는 더 이상 필요하지 않으므로 삭제합니다.

RDS MySQL

Amazon RDS DB 인스턴스의 스냅샷을 생성하려면

  1. Amazon RDS DB 인스턴스의 읽기 전용 복제본을 생성합니다. 읽기 전용 복제본 생성에 대한 자세한 내용은 읽기 전용 복제본 생성을(를) 참조하십시오.

  2. 읽기 전용 복제본에 연결하고 mysql.rds_stop_replication 명령을 실행하여 복제를 중지합니다.

  3. 읽기 전용 복제본이 [Stopped] 상태인 동안 읽기 전용 복제본에 연결하고 SHOW SLAVE STATUS 명령을 실행합니다. Relay_Master_Log_File 필드에서 현재 이진 로그 파일 이름을 검색하고 Exec_Master_Log_Pos 필드에서 로그 파일 위치를 검색합니다. 복제를 시작할 때에 대비하여 해당 값을 저장합니다.

  4. 읽기 전용 복제본을 [Stopped] 상태로 유지하면서 읽기 전용 복제본의 DB 스냅샷을 생성합니다. DB 스냅샷을 만드는 방법에 대한 자세한 내용은 DB 스냅샷 생성을(를) 참조하십시오.

  5. 읽기 전용 복제본을 삭제합니다.

MySQL(외부)

외부 MySQL 데이터베이스의 스냅샷을 생성하려면

  1. 스냅샷을 생성하기 전에 스냅샷의 binlog 위치가 마스터 인스턴스의 최신 데이터와 일치하는지 확인해야 합니다. 이렇게 하려면 먼저 다음 명령을 사용하여 인스턴스에 대한 쓰기 작업을 중지해야 합니다.

    Copy
    mysql> FLUSH TABLES WITH READ LOCK;
  2. 다음과 같이 mysqldump 명령을 사용하여 MySQL 데이터베이스의 덤프를 생성합니다.

    Copy
    PROMPT> sudo mysqldump --databases <database_name> --master-data=2 --single-transaction --order-by-primary -r backup.sql -u <local_user> -p
  3. 스냅샷을 생성한 후 다음 명령을 사용하여 MySQL 데이터베이스에서 테이블의 잠금을 해제합니다.

    Copy
    mysql> UNLOCK TABLES;

4. 복제본으로 스냅샷 로드

복제 마스터의 스냅샷을 복제본으로 로드하기 전에 다음을 고려해야 합니다.

  • AWS 리전 간에 복제할 경우, Amazon Aurora DB 클러스터 스냅샷을 사용하여 복제본을 로드할 수 없습니다. DB 클러스터 스냅샷을 리전 간에 복사할 수 없습니다. 리전을 교차하여 작업하려면 RDS MySQL DB 인스턴스의 DB 스냅샷에서 다른 리전에 Amazon Aurora DB 인스턴스를 생성할 수 있습니다. 복제 슬레이브가 호스팅될 리전에 DB 스냅샷을 복사한 후 이 스냅샷에서 Amazon Aurora DB 클러스터 또는 MySQL DB 인스턴스를 생성합니다. 스냅샷을 다른 리전으로 복사하는 방법은 DB 스냅샷 또는 DB 클러스터 스냅샷 복사을(를) 참조하십시오.

  • Amazon RDS 외부에 있는 MySQL 데이터베이스 덤프에서 데이터를 로드할 경우 EC2 인스턴스를 생성하여 덤프 파일을 복사한 후 해당 EC2 인스턴스에서 DB 클러스터 또는 DB 인스턴스로 데이터를 로드할 수 있습니다. 이 방법을 사용하면 EC2 인스턴스에 덤프 파일을 복사하기 전에 압축하여 Amazon RDS에 데이터를 복사하는 것과 관련한 네트워크 비용을 줄일 수 있습니다. 또한 덤프 파일 또는 파일을 암호화하여 네트워크 간에 전송되는 데이터를 보호할 수 있습니다.

다음 데이터베이스 엔진의 복제본에 복제 마스터의 스냅샷을 로드하는 방법에 대한 지침을 확인하십시오.

데이터베이스 엔진 지침

Aurora

Amazon Aurora DB 클러스터로 스냅샷을 로드하려면

  • 복제 마스터의 스냅샷이 DB 클러스터 스냅샷인 경우 DB 클러스터 스냅샷에서 복원하여 새 Amazon Aurora DB 클러스터를 복제본으로 생성할 수 있습니다. 자세한 내용은 DB 스냅샷에서 복원을(를) 참조하십시오.

  • 복제 마스터의 스냅샷이 DB 스냅샷인 경우 DB 스냅샷의 데이터를 새 Amazon Aurora DB 클러스터로 마이그레이션할 수 있습니다. 자세한 내용은 Amazon Aurora DB 클러스터로 데이터 마이그레이션을(를) 참조하십시오.

  • 복제 마스터의 스냅샷이 mysqldump 명령의 출력인 경우 다음 단계를 따릅니다.

    1. mysqldump 명령의 출력을 복제 마스터에서 Amazon Aurora DB 클러스터에도 연결 가능한 위치로 복사합니다.

    2. mysql 명령을 사용하여 Amazon Aurora DB 클러스터에 연결합니다. 다음은 그 한 예입니다.

      Copy
      PROMPT> mysql -h <host_name> -port=3306 -u <db_master_user> -p
    3. mysql 프롬프트에서 source 명령을 실행하고 데이터베이스 덤프 파일의 이름을 전달하여 Amazon Aurora DB 클러스터로 데이터를 로드합니다. 예를 들면 다음과 같습니다.

      Copy
      mysql> source backup.sql;

RDS MySQL

Amazon RDS DB 인스턴스로 스냅샷을 로드하려면

  1. mysqldump 명령의 출력을 복제 마스터에서 MySQL DB 인스턴스에도 연결 가능한 위치로 복사합니다.

  2. mysql 명령을 사용하여 MySQL DB 인스턴스에 연결합니다. 다음은 그 한 예입니다.

    Copy
    PROMPT> mysql -h <host_name> -port=3306 -u <db_master_user> -p
  3. mysql 프롬프트에서 source 명령을 실행하고 데이터베이스 덤프 파일의 이름을 전달하여 MySQL DB 인스턴스로 데이터를 로드합니다. 예를 들면 다음과 같습니다.

    Copy
    mysql> source backup.sql;

MySQL(외부)

외부 MySQL 데이터베이스로 스냅샷을 로드하려면

DB 스냅샷 또는 DB 클러스터 스냅샷을 외부 MySQL 데이터베이스로 로드할 수 없습니다. 대신 mysqldump 명령의 출력을 사용해야 합니다.

  1. mysqldump 명령의 출력을 복제 마스터에서 MySQL 데이터베이스에도 연결 가능한 위치로 복사합니다.

  2. mysql 명령을 사용하여 MySQL 데이터베이스에 연결합니다. 다음은 그 한 예입니다.

    Copy
    PROMPT> mysql -h <host_name> -port=3306 -u <db_master_user> -p
  3. mysql 프롬프트에서 source 명령을 실행하고 데이터베이스 덤프 파일의 이름을 전달하여 MySQL 데이터베이스로 데이터를 로드합니다. 예를 들면 다음과 같습니다.

    Copy
    mysql> source backup.sql;

5. 복제 활성화

복제를 활성화하기 전에 Amazon Aurora DB 클러스터 또는 RDS MySQL DB 인스턴스 복제본의 스냅샷을 수동으로 생성하는 것이 좋습니다. 문제가 발생하여 DB 클러스터 또는 DB 인스턴스 복제본을 통해 복제를 다시 설정해야 하는 경우, 데이터를 복제본으로 다시 가져오는 대신 이 스냅샷에서 DB 클러스터 또는 DB 인스턴스를 복원할 수 있습니다.

복제에만 사용되는 사용자 ID를 생성할 수도 있습니다. 이 사용자 ID를 생성하려면 REPLICATION CLIENTREPLICATION SLAVE 권한이 필요합니다. 다음은 그 한 예입니다.

Copy
REPLICATION CLIENT and REPLICATION SLAVE privileges. For example: CREATE USER 'repl_user'@'mydomain.com' IDENTIFIED BY '<password>'; GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'mydomain.com' IDENTIFIED BY '<password>';

다음 데이터베이스 엔진의 복제를 활성화하는 방법에 대한 지침을 확인하십시오.

데이터베이스 엔진 지침

Aurora

Amazon Aurora DB 클러스터에서 복제를 활성화하려면

  1. DB 클러스터 스냅샷에서 DB 클러스터를 생성한 경우 DB 클러스터에 연결하고 SHOW MASTER STATUS 명령을 실행합니다. File 필드에서 현재 이진 로그 파일 이름을 검색하고 Position 필드에서 로그 파일 위치를 검색합니다.

    DB 스냅샷에서 DB 클러스터를 생성한 경우 복제 시작 위치에 해당하는 binlog 파일 및 binlog 위치가 필요합니다. 복제 마스터의 스냅샷을 생성할 때 SHOW SLAVE STATUS 명령에서 이 값을 검색했습니다.

    mysqldump 명령을 --master-data=2 옵션과 함께 실행하여 그 출력으로 DB 클러스터를 채운 경우 binlog 파일 및 binlog 위치는 출력에 포함되어 있습니다. 다음은 그 한 예입니다.

    Copy
    -- -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;
  2. DB 클러스터에 연결하고 mysql.rds_set_external_mastermysql.rds_start_replication 명령을 실행하여 이전 단계의 이진 로그 파일 이름과 위치를 사용하여 복제 마스터로 복제를 시작합니다. 다음은 그 한 예입니다.

    Copy
    CALL mysql.rds_set_external_master ('mydbinstance.123456789012.us-east-1.rds.amazonaws.com', 3306, 'repl_user', '<password>', 'mysql-bin-changelog.000031', 107, 0); CALL mysql.rds_start_replication;

RDS MySQL

Amazon RDS DB 인스턴스에서 복제를 활성화하려면

  1. DB 스냅샷에서 DB 인스턴스를 생성한 경우 복제 시작 위치에 해당하는 binlog 파일 및 binlog 위치가 필요합니다. 복제 마스터의 스냅샷을 생성할 때 SHOW SLAVE STATUS 명령에서 이 값을 검색했습니다.

    mysqldump 명령을 --master-data=2 옵션과 함께 실행하여 그 출력으로 DB 인스턴스를 채운 경우 binlog 파일 및 binlog 위치는 출력에 포함되어 있습니다. 다음은 그 한 예입니다.

    Copy
    -- -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;
  2. DB 인스턴스에 연결하고 mysql.rds_set_external_mastermysql.rds_start_replication 명령을 실행하여 이전 단계의 이진 로그 파일 이름과 위치를 사용하여 복제 마스터로 복제를 시작합니다. 다음은 그 한 예입니다.

    Copy
    CALL mysql.rds_set_external_master ('mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com', 3306, 'repl_user', '<password>', 'mysql-bin-changelog.000031', 107, 0); CALL mysql.rds_start_replication;

MySQL(외부)

외부 MySQL 데이터베이스에서 복제를 활성화하려면

  1. 복제 시작 위치에 해당하는 binlog 파일 및 binlog 위치를 검색합니다. 복제 마스터의 스냅샷을 생성할 때 SHOW SLAVE STATUS 명령에서 이 값을 검색했습니다. mysqldump 명령을 --master-data=2 옵션과 함께 실행하여 그 출력으로 데이터베이스를 채운 경우 binlog 파일 및 binlog 위치는 출력에 포함되어 있습니다. 다음은 그 한 예입니다.

    Copy
    -- -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin-changelog.000031', MASTER_LOG_POS=107;
  2. 데이터베이스에 연결하고 CHANGE MASTER TOSTART SLAVE를 실행하여 이전 단계의 이진 로그 파일 이름과 위치를 사용하여 복제 마스터로 복제를 시작합니다. 예를 들면 다음과 같습니다.

    Copy
    CHANGE MASTER TO MASTER_HOST = 'mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com' MASTER_PORT = 3306 MASTER_USER = 'repl_user' MASTER_PASSWORD = '<password>' MASTER_LOG_FILE = 'mysql-bin-changelog.000031' MASTER_LOG_POS = 107; START SLAVE;

6. 복제본 모니터링

Amazon Aurora DB 클러스터를 사용하여 MySQL 복제를 설정한 경우 복제본인 Amazon Aurora DB 클러스터에 대한 장애 조치 이벤트를 모니터링해야 합니다. 장애 조치가 발생할 경우에는 복제본인 DB 클러스터가 다른 네트워크 주소를 가진 새 호스트에서 다시 생성될 수도 있습니다. 장애 조치 이벤트를 모니터링하는 자세한 방법은 Amazon RDS 이벤트 알림 서비스 사용을(를) 참조하십시오.

또한 복제본에 연결하고 SHOW SLAVE STATUS 명령을 실행하여 복제본이 복제 마스터보다 얼마나 지연되었는지 모니터링할 수 있습니다. 명령 출력의 Seconds Behind Master 필드에서는 복제본이 마스터보다 얼마나 지연되었는지 보여 줍니다.

Aurora와 MySQL 간의 복제 또는 Aurora와 다른 Aurora DB 클러스터 간의 복제 중지

MySQL DB 인스턴스, 외부 MySQL 데이터베이스 또는 다른 Aurora DB 클러스터와의 binlog 복제 중지 단계는 다음과 같으며, 이 주제의 뒷부분에 자세히 설명되어 있습니다.

1. binlog 복제 중지

2. 복제 마스터에 대한 이진 로깅 비활성화

1. binlog 복제 중지

다음 데이터베이스 엔진의 binlog 복제를 중지하는 방법에 대한 지침을 확인하십시오.

데이터베이스 엔진 지침

Aurora

Amazon Aurora DB 클러스터에 대한 binlog 복제를 중지하는 방법

  1. 복제본인 Aurora DB 클러스터에 연결하고 mysql.rds_stop_replication 프로시저(mysql.rds_stop_replication 프로시저는 MySQL 5.5 이상 버전, 5.6 이상 버전과 5.7 이상 버전에서만 사용할 수 있음)를 호출합니다.

  2. binlog 보관 기간을 0으로 설정합니다. binlog 보관 기간을 설정하려면, 다음 예제와 같이 mysql.rds_set_configuration 절차를 사용하여 binlog retention hours 구성 파라미터를 DB 클러스터에 binlog 파일을 보관할 시간(이 예제에서는 0)과 함께 지정합니다.

    Copy
    CALL mysql.rds_set_configuration('binlog retention hours', 0);

RDS MySQL

Amazon RDS DB 인스턴스에 대한 binlog 복제를 중지하는 방법

복제본인 RDS DB 인스턴스에 연결하고 mysql.rds_stop_replication 프로시저(mysql.rds_stop_replication 프로시저는 MySQL 5.5 이상 버전, 5.6 이상 버전과 5.7 이상 버전에서만 사용할 수 있음)를 호출합니다.

MySQL(외부)

외부 MySQL 데이터베이스에서 binlog 복제를 중지하는 방법

MySQL 데이터베이스에 연결하고 STOP REPLICATION 명령을 호출합니다.

2. 복제 마스터에 대한 이진 로깅 비활성화

다음 데이터베이스 엔진의 복제 마스터에 대한 이진 로깅을 비활성화하는 방법의 지침을 확인하십시오.

데이터베이스 엔진 지침

Aurora

Amazon Aurora DB 클러스터에 대한 이진 로깅을 비활성화하는 방법

binlog_format 파라미터를 OFF로 설정합니다. binlog_format 파라미터는 기본적으로 default.aurora5.6 클러스터 파라미터 그룹에 속하는 클러스터 수준 파라미터입니다.

binlog_format 파라미터 값을 변경한 후에는 DB 클러스터를 재부팅해야만 변경 사항이 적용됩니다.

자세한 내용은 DB 클러스터와 DB 인스턴스 파라미터DB 파라미터 그룹의 파라미터 수정을(를) 참조하십시오.

RDS MySQL

Amazon RDS DB 인스턴스에 대한 이진 로깅을 비활성화하는 방법

Amazon RDS DB 인스턴스에 대한 이진 로깅을 직접 비활성화할 수는 없지만, 다음을 수행하여 비활성화할 수 있습니다.

  1. DB 인스턴스의 자동 백업을 비활성화합니다. 기존 DB 인스턴스를 수정하고 백업 보존 기간을 0으로 설정하여 자동 백업을 비활성화할 수 있습니다. 자세한 내용은 MySQL 데이터베이스 엔진 기반 DB 인스턴스의 변경백업 작업을(를) 참조하십시오.

  2. DB 인스턴스의 읽기 전용 복제본을 모두 삭제합니다. 자세한 내용은 PostgreSQL, MySQL 및 MariaDB 읽기 전용 복제본 작업을(를) 참조하십시오.

MySQL(외부)

외부 MySQL 데이터베이스에 대한 이진 로깅을 비활성화하는 방법

MySQL 데이터베이스에 연결하고 STOP REPLICATION 명령을 호출합니다.

  1. 명령 셸에서 mysql 서비스를 중지합니다.

    Copy
    sudo service mysqld stop
  2. my.cnf 파일을 편집합니다(이 파일은 보통 /etc에 있음).

    Copy
    sudo vi /etc/my.cnf

    [mysqld] 섹션에서 log_binserver_id 옵션을 삭제합니다.

    자세한 내용은 MySQL 문서의 Setting the Replication Master Configuration을(를) 참조하십시오.

  3. mysql 서비스를 시작합니다.

    Copy
    sudo service mysqld start

관련 주제