Aurora 글로벌 데이터베이스에 RDS 프록시 사용 - Amazon Aurora

Aurora 글로벌 데이터베이스에 RDS 프록시 사용

Aurora 글로벌 데이터베이스는 다중 AWS 리전으로 확장할 수 있는 단일 데이터베이스로, 짧은 대기 시간의 글로벌 읽기가 가능하며 리전 규모의 가동 중단 발생 시 재해 복구를 제공합니다. DB 인스턴스는 단일 AWS 리전이 아니라 여러 리전 및 가용 영역에 의존하기 때문에, 배포한 내용에 자체 결함 용인을 제공합니다. 자세한 내용은 Amazon Aurora 글로벌 데이터베이스 사용 섹션을 참조하세요.

RDS 프록시는 Aurora 글로벌 데이터베이스의 어떤 DB 클러스터에도 사용할 수 있습니다. 이 기능들을 함께 사용하기 전에 다음 정보를 숙지해야 합니다.

중요

DB 클러스터가 쓰기 전달이 켜져 있는 글로벌 데이터베이스의 일부인 경우, 쓰기 전달에 할당된 할당량만큼 프록시의 MaxConnectionsPercent 값을 줄입니다. 쓰기 전달 할당량은 DB 클러스터 파라미터 aurora_fwd_writer_max_connections_pct에 설정됩니다. 쓰기 전달에 대한 자세한 내용은 Amazon Aurora 글로벌 데이터베이스에서 쓰기 전달 사용 단원을 참조하십시오.

글로벌 데이터베이스에서 RDS 프록시의 제한 사항

Aurora DB 클러스터에서 쓰기 전달이 켜져 있으면 RDS 프록시는 aurora_replica_read_consistency 변수의 SESSION 값을 지원하지 않습니다. 이 값을 설정하면 예상하지 못한 동작이 일어날 수 있습니다.

RDS 프록시 엔드포인트가 글로벌 데이터베이스에서 작동하는 방식

RDS 프록시 엔드포인트가 글로벌 데이터베이스에서 작동하는 방식을 이해하면 이 두 가지 기능을 통해 Aurora 데이터베이스를 사용하는 애플리케이션을 더 잘 관리할 수 있습니다.

글로벌 데이터베이스의 기본 클러스터를 등록된 대상으로 사용하는 프록시의 경우 프록시 엔드포인트는 모든 Aurora DB 클러스터와 동일한 방식으로 작동합니다. 프록시의 읽기/쓰기 엔드포인트는 모든 요청을 클러스터의 라이터 인스턴스로 보냅니다. 프록시의 읽기 전용 엔드포인트는 모든 요청을 리더 인스턴스로 보냅니다. 연결이 열려 있는 동안 리더를 사용할 수 없게 되면 RDS 프록시는 연결에 대한 후속 쿼리를 다른 리더 인스턴스로 리디렉션합니다. 보조 클러스터를 등록된 대상으로 사용하는 프록시의 경우 프록시의 읽기 전용 엔드포인트로 전송된 요청도 리더 인스턴스로 전송됩니다. 클러스터에 라이터 인스턴스가 없기 때문에 읽기/쓰기 엔드포인트로 전송된 요청은 ‘The target group doesn't have any associated read/write instances‘ 오류와 함께 실패합니다.

글로벌 데이터베이스 전환 및 장애 조치 작업에는 기본 DB 클러스터와 보조 DB 클러스터 중 하나 간의 역할 전환이 포함됩니다. 선택한 보조 클러스터가 새 기본 클러스터가 되면 해당 리더 인스턴스 중 하나가 라이터로 승격됩니다. 이제 이 DB 인스턴스는 글로벌 클러스터의 새 라이터 인스턴스가 됩니다. 애플리케이션의 쓰기 작업을 새 기본 클러스터와 연결된 프록시의 적절한 읽기/쓰기 엔드포인트로 리디렉션해야 합니다. 이 프록시 엔드포인트는 기본 엔드포인트이거나 사용자 지정 읽기/쓰기 엔드포인트일 수 있습니다.

RDS 프록시는 읽기/쓰기 엔드포인트를 통해 모든 요청을 대기열에 넣고 사용 가능해지는 즉시 새 기본 클러스터의 라이터 인스턴스로 전송합니다. 이는 전환 또는 장애 조치 작업이 완료되었는지 여부에 관계없이 수행됩니다. 전환 또는 장애 조치 중에도 기존 기본 클러스터의 프록시 관련 기본 엔드포인트는 여전히 쓰기 작업을 수락합니다. 하지만 해당 클러스터가 보조 클러스터가 되는 즉시 모든 쓰기 작업이 실패합니다. 특정 글로벌 전환 또는 장애 조치 작업을 수행하는 방법과 시기를 알아보려면 다음 주제를 참조하세요.