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_connections
가 800
이고 apg_write_forward.max_forwarding_connections_percent
가 10
이면 라이터는 최대 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 권한을 부여해야 합니다.