log_bin 설정 확인 및 참고사항
RDS 구성시 dual master 구성을 진행중인데 log_bin = OFF 상태일때 관련 참고 내용입니다.
- https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.
- 탐색 창에서 파라미터 그룹을 선택합니다.
- 수정할 DB 인스턴스와 연결된 DB 파라미터 그룹을 선택합니다.파라미터 그룹에 대한 자세한 정보는 Amazon RDS의 파라미터 그룹 단원을 참조하십시오.
- 기본 파라미터 그룹을 수정할 수 없습니다. DB 인스턴스 가 기본 파라미터 그룹을 사용하고 있는 경우 새 파라미터 그룹을 생성하여 DB 인스턴스 와 연결합니다.
- 작업에서 편집을 선택합니다.
- binlog_format 파라미터를 선택한 이진 로깅 형식(ROW, STATEMENT, 또는 MIXED)으로 설정합니다.
- DB 인스턴스의 백업 보존 기간을 0으로 설정하여 이진 로깅을 끌 수 있지만, 이렇게 하면 일일 자동 백업이 비활성화됩니다. 자동 백업을 비활성화하면 log_bin 세션 변수가 꺼지거나 비활성화됩니다. 그러면 RDS for MySQL DB 인스턴스에 대한 이진 로깅이 비활성화되며, 이는 다시 binlog_format 세션 변수를 데이터베이스의 기본값인 ROW 값으로 재설정합니다. 백업을 비활성화하지 않는 것이 좋습니다. 백업 보존 기간 설정에 대한 자세한 정보는 DB 인스턴스에 대한 설정 섹션을 참조하세요.
- 변경 내용 저장을 선택하여 업데이트를 DB 파라미터 그룹에 저장합니다.
binlog_format 파라미터는 RDS for MySQL에서 동적이므로 DB 인스턴스를 재부팅하지 않고 변경 사항을 적용할 수 있습니다. (Aurora MySQL에서 이 파라미터는 정적입니. 자세한 내용은 Aurora MySQL 바이너리 로깅 구성을 참조하세요.)
DB 파라미터 그룹을 변경하면 해당 파라미터 그룹을 사용하는 모든 DB 인스턴스에 영향을 미칩니다. AWS 리전의 다양한 MySQL DB 인스턴스에 대해 서로 다른 바이너리 로깅 형식을 지정하려면 DB 인스턴스에서 서로 다른 DB 파라미터 그룹을 사용해야 합니다. 이러한 파라미터 그룹은 다양한 로깅 형식을 식별합니다. 각 DB 인스턴스에 적절한 DB 파라미터 그룹을 할당합니다.
Replication 구성
- 복제 계정 생성
GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO USERID@'AWS_ENDPOING' IDENTIFIED BY 'PASSWORD';
FLUSH PRIVILEGES;
- 복제 구성 실행
CALL mysql.rds_set_external_master ('접속서버HOST', 3306, 'USERID', 'PASSWORD', '바이너리로그파일', 바이너리POS, 0);
- RDS Slave 복제 실행 명령어
# 복제 실행
CALL mysql.rds_start_replication;
# 복제 중단
CALL mysql.rds_stop_replication;
RDS 내부 프로시져를 호출해야함.
# 바이너리 로그 파일 확인
SHOW BINARY LOGS;
# master 상태 확인
SHOW MASTER STATUS;
# slave 상태 확인
SHOW SLAVE STATUS;
- AWS RDS 설명 참고
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Welcome.html
AWS 리전 및 가용 영역
Amazon 클라우드 컴퓨팅 리소스는 전 세계 여러 리전의 가용성이 높은 데이터 센터 시설에 하우징됩니다(예: 북미, 유럽 또는 아시아). 각 데이터 센터 위치를 AWS 리전이라고 합니다. Amazon RDS를 사용하여 여러 리전에서 DB 인스턴스를 생성할 수 있습니다.
다음 시나리오는 한 리전의 RDS DB 인스턴스가 다른 리전의 대기 DB 인스턴스에 비동기적으로 복제되는 것을 보여줍니다. 한 리전을 사용할 수 없게 되더라도 다른 리전의 인스턴스는 계속 사용할 수 있습니다.
가용 영역
AWS 리전마다 가용 영역 또는 AZ라는 고유한 위치가 여러 개 포함됩니다. 각 가용 영역은 다른 가용 영역에서 발생한 장애에서 격리되도록 설계되었습니다. 각 가용 영역은 같은 AWS 리전에 있는 다른 가용 영역에 대해 저렴하고 지연 시간이 짧은 네트워크 연결을 제공하도록 설계되었습니다. 별도의 가용 영역에서 DB 인스턴스를 시작함으로써 단일 위치에서 장애가 발생할 경우 애플리케이션을 보호할 수 있습니다. 자세한 내용은 리전, 가용 영역 및 로컬 영역 단원을 참조하십시오.
다중 AZ 배포
여러 가용 영역에서 DB 인스턴스를 실행할 수 있습니다. 다중 AZ 배포라는 옵션입니다. 이 옵션을 선택하면 Amazon은 다른 AZ에서 하나 이상의 보조 대기 DB 인스턴스를 자동으로 프로비저닝하고 유지합니다. 기본 DB 인스턴스는 가용 영역 전체에서 각 보조 DB 인스턴스로 복제됩니다.
다중 AZ 배포는 다음과 같은 이점을 제공합니다.
- 데이터 중복성 및 장애 조치 지원 제공
- I/O 작동 중지 제거
- 시스템 백업 중 지연 시간 급증 최소화
- 보조 DB 인스턴스에서 읽기 트래픽 처리(다중 AZ DB 클러스터 배포만 해당)
다음 다이어그램은 Amazon RDS가 다른 가용 영역에서 동기식 대기 복제본을 자동으로 프로비저닝하고 유지 관리하는 다중 AZ DB 인스턴스 배포를 보여줍니다. 복제본 데이터베이스는 읽기 트래픽을 제공하지 않습니다.
다음 다이어그램은 동일한 AWS 리전에 있는 3개의 개별 가용 영역에 라이터 DB 인스턴스와 2개의 리더 DB 인스턴스가 있는 다중 AZ DB 클러스터 배포를 보여줍니다. 3개의 DB 인스턴스 모두 읽기 트래픽을 처리할 수 있습니다.