Aurora PostgreSQL에 대한 로컬 쓰기 전달 작업 - Amazon Aurora

Aurora PostgreSQL에 대한 로컬 쓰기 전달 작업

다음 섹션을 사용하여 데이터베이스 클러스터에 로컬 쓰기 전달이 활성화되어 있는지 확인하고, 호환성 고려 사항을 확인하며, 구성 가능한 파라미터 및 인증 설정을 참조할 수 있습니다. 이 정보는 Aurora PostgreSQL의 로컬 쓰기 전달 기능을 효과적으로 활용할 수 있는 세부 정보를 제공합니다.

참고

로컬 쓰기 전달을 사용하는 클러스터의 라이터 인스턴스가 다시 시작되면 로컬 쓰기 전달을 사용하는 리더 인스턴스의 활성 상태이며 전달된 트랜잭션 및 쿼리가 모두 자동으로 닫힙니다. 라이터 인스턴스를 다시 사용할 수 있게 되면 이러한 트랜잭션을 다시 시도할 수 있습니다.

DB 클러스터에 로컬 쓰기 전달이 활성화되어 있는지 확인

DB 클러스터에서 로컬 쓰기 전달을 사용할 수 있는지 확인하려면 클러스터에 LocalWriteForwardingStatus 속성이 enabled로 되어 있는지 확인합니다.

‎‎AWS Management Console에서 클러스터의 세부 정보 페이지 구성 탭에서 로컬 읽기 복제본 쓰기 전달이 활성화됨 상태인 것을 볼 수 있습니다.‎‎

모든 클러스터에 대한 로컬 쓰기 전달 설정의 상태를 보려면 다음 AWS CLI 명령을 실행합니다.

aws rds describe-db-clusters \ --query '*[].{DBClusterIdentifier:DBClusterIdentifier,LocalWriteForwardingStatus:LocalWriteForwardingStatus}' [ { "LocalWriteForwardingStatus": "enabled", "DBClusterIdentifier": "write-forwarding-test-cluster-1" }, { "LocalWriteForwardingStatus": "disabled", "DBClusterIdentifier": "write-forwarding-test-cluster-2" }, { "LocalWriteForwardingStatus": "requested", "DBClusterIdentifier": "test-global-cluster-2" }, { "LocalWriteForwardingStatus": "null", "DBClusterIdentifier": "aurora-postgresql-v2-cluster" } ]

DB 클러스터는 LocalWriteForwardingStatus에 대해 다음과 같은 값을 가질 수 있습니다.

  • disabled - 로컬 쓰기 전달이 비활성화되었습니다.

  • disabling - 로컬 쓰기 전달을 비활성화하는 중입니다.

  • enabled - 로컬 쓰기 전달이 활성화되었습니다.

  • enabling - 로컬 쓰기 전달을 활성화하는 중입니다.

  • null - 이 DB 클러스터에서는 로컬 쓰기 전달을 사용할 수 없습니다.

  • requested - 로컬 쓰기 전달이 요청되었지만 아직 활성 상태가 아닙니다.

쓰기 전달을 위한 기본 파라미터 설정

Aurora 클러스터 파라미터 그룹에는 로컬 쓰기 전달 기능에 대한 설정이 포함되어 있습니다. 이러한 파라미터는 클러스터 파라미터이므로 각 클러스터의 모든 DB 인스턴스에 이러한 변수의 동일한 값이 있어야 합니다. 이러한 파라미터에 대한 자세한 내용은 다음 표에 요약되어 있으며, 표 뒤에 사용 참고 사항이 나와 있습니다.

파라미터 범위 유형 기본값 유효값
apg_write_forward.connect_timeout 세션 30 0–2147483647
apg_write_forward.consistency_mode 세션 enum 세션 SESSION, EVENTUAL, GLOBAL, 및 OFF
apg_write_forward.idle_in_transaction_session_timeout 세션 밀리초 86400000 0–2147483647
apg_write_forward.idle_session_timeout 세션 밀리초 300000 0–2147483647
apg_write_forward.max_forwarding_connections_percent 전 세계 int 25 1–100

apg_write_forward.max_forwarding_connections_percent 파라미터는 리더에서 전달된 쿼리를 처리하기 위해 사용할 수 있는 데이터베이스 연결의 상한입니다. 이 값은 라이터 DB 인스턴스에 대한 max_connections 설정의 백분율로 표시됩니다. 예를 들어 max_connections800이고 apg_write_forward.max_forwarding_connections_percent10이면 라이터는 최대 80개의 동시 전달 세션을 허용합니다. 이러한 연결은 max_connections 설정을 통해 관리되는 동일한 연결 풀에서 발생합니다. 이 설정은 클러스터에 로컬 쓰기 전달이 활성화된 경우 라이터 DB 인스턴스에만 적용됩니다.

다음 설정을 사용하여 로컬 쓰기 전달 요청을 제어합니다.

  • apg_write_forward.consistency_mode - 읽기 전용 복제본에서 읽기 일관성 정도를 제어하는 세션 수준 파라미터입니다. 유효한 값은 SESSION, EVENTUAL, GLOBAL 또는 OFF입니다. 기본적으로 이 값은 SESSION로 설정됩니다. 값을 OFF로 설정하면 세션에서 로컬 쓰기 전달이 비활성화됩니다. 일관성 수준에 대한 자세한 내용은 Aurora PostgreSQL에서 로컬 쓰기 전달의 일관성 및 격리 단원을 참조하세요. 이 파라미터는 로컬 쓰기 전달이 활성화되어 있는 리더 인스턴스에만 적용됩니다.

  • apg_write_forward.connect_timeout - 라이터 DB 인스턴스에 연결할 때 읽기 전용 복제본이 연결을 끊기 전에 대기하는 최대 시간(초)입니다. 값이 0이면 무한정 대기할 수 있다는 뜻입니다.

  • apg_write_forward.idle_in_transaction_session_timeout - 라이터 DB 인스턴스가 연결을 닫기 전에 트랜잭션이 열려 있는 읽기 전용 복제본에서 전달된 연결의 활동을 기다리는 시간(밀리초)입니다. 세션이 이 기간을 넘어 트랜잭션에서 유휴 상태로 유지되면 Aurora에서 세션이 종료됩니다. 0 값은 제한 시간을 비활성화합니다.

  • apg_write_forward.idle_session_timeout - 라이터 DB 인스턴스가 연결을 닫기 전에 읽기 전용 복제본에서 전달된 연결의 활동을 기다리는 시간(밀리초)입니다. 세션이 이 기간을 넘어 유휴 상태로 유지되면 Aurora에서 세션이 종료됩니다. 0 값은 제한 시간을 비활성화합니다.

rdswriteforwarduser

rdswriteforwarduser는 읽기 전용 복제본과 라이터 DB 인스턴스 간의 연결을 설정하는 데 사용할 사용자입니다.

참고

rdswriteforwarduser는 PUBLIC 역할을 통해 CONNECT 권한을 고객 데이터베이스에 상속합니다. PUBLIC 역할에 대한 권한이 취소된 경우 쓰기를 전달해야 하는 데이터베이스에 대한 CONNECT 권한을 부여해야 합니다.