Amazon RDS에서 다중 AZ DB 클러스터에 연결
다중 AZ DB 클러스터에는 단일 DB 인스턴스 대신 세 개의 DB 인스턴스가 있습니다. 각 연결은 특정 DB 인스턴스에서 처리합니다. 다중 AZ DB 클러스터에 연결하면 지정한 호스트 이름과 포트가 엔드포인트라는 정규화된 도메인 이름으로 연결됩니다. 다중 AZ DB 클러스터는 엔드포인트 메커니즘을 사용하여 이러한 연결을 추상화합니다. 따라서 DB 클러스터 내에서 연결할 DB 인스턴스를 정확히 지정할 필요가 없습니다. 따라서 일부 DB 인스턴스를 사용할 수 없을 때 모든 호스트 이름을 하드코딩하거나, 연결을 다시 라우팅하기 위해 자체 로직을 작성할 필요가 없습니다.
라이터 엔드포인트는 읽기 및 쓰기 작업을 모두 지원하는 DB 클러스터의 라이터 DB 인스턴스에 연결됩니다. 리더 엔드포인트는 읽기 작업만 지원하는 두 리더 DB 인스턴스 중 하나에 연결됩니다.
엔드포인트를 사용하면 사용 사례에 따라 각 연결을 적절한 DB 인스턴스 또는 DB 인스턴스 그룹에 매핑할 수 있습니다. 예를 들어, DDL 및 DML 문을 수행하기 위해 라이터 DB 인스턴스인 어떤 DB 인스턴스에나 연결할 수 있습니다. 쿼리를 수행하려는 경우 리더 엔드포인트에 연결하면 다중 AZ DB 클러스터가 자동으로 리더 DB 인스턴스 간에 연결을 관리합니다. 진단 또는 튜닝의 경우 특정 DB 인스턴스 엔드포인트에 연결하여 특정 DB 인스턴스에 대한 세부 정보를 검토할 수 있습니다.
DB 인스턴스 연결에 대한 정보는 Amazon RDS DB 인스턴스에 연결 섹션을 참조하세요.
다중 AZ DB 클러스터 연결에 대한 자세한 내용은 다음 주제를 참조하세요.
다중 AZ DB 클러스터 엔드포인트
엔드포인트는 호스트 주소를 포함하는 고유 식별자로 표시됩니다. 다중 AZ DB 클러스터에서 제공하는 엔드포인트 유형은 다음과 같습니다.
- 클러스터 엔드포인트
-
다중 AZ DB 클러스터의 클러스터 엔드포인트(또는 라이터 엔드포인트)는 해당 DB 클러스터의 현재 라이터 DB 인스턴스에 연결됩니다. 이 엔드포인트는 DDL 및 DML 문과 같은 쓰기 작업을 수행할 수 있는 유일한 엔드포인트로, 읽기 작업도 수행할 수 있습니다.
각 다중 AZ DB 클러스터에는 클러스터 엔드포인트와 라이터 DB 인스턴스가 하나씩 있습니다.
삽입, 업데이트, 삭제 및 DDL 변경을 비롯하여 DB 클러스터의 모든 쓰기 작업에 대해 클러스터 엔드포인트를 사용합니다. 또한 쿼리와 같은 읽기 작업에도 클러스터 엔드포인트를 사용할 수 있습니다.
DB 클러스터의 현재 라이터 DB 인스턴스에 장애가 발생하면 다중 AZ DB 클러스터가 자동으로 새 라이터 DB 인스턴스로 장애 조치를 수행합니다. 장애 조치가 이루어지는 동안에도 DB 클러스터가 새로운 라이터 DB 인스턴스의 클러스터 엔드포인트 연결 요청을 처리하여 서비스 중단 시간을 최소화합니다.
다음은 다중 AZ DB 클러스터의 클러스터 엔드포인트를 보여주는 예제입니다.
mydbcluster.cluster-123456789012.us-east-1.rds.amazonaws.com
클러스터 엔드포인트에 연결하는 방법에 대한 자세한 내용은 클러스터 엔드포인트 섹션을 참조하세요.
- 리더 엔드포인트
-
다중 AZ DB 클러스터의 리더 엔드포인트는 DB 클러스터에 대한 읽기 전용 연결을 위한 지원을 제공합니다.
SELECT
쿼리와 같은 읽기 작업에 리더 엔드포인트를 사용합니다. 리더 DB 인스턴스에서 이러한 문을 처리하여 이 엔드포인트에서 라이터 DB 인스턴스의 오버헤드를 줄입니다. 또한, 클러스터가 동시SELECT
쿼리를 처리할 수 있는 용량을 확장할 수 있습니다. 각 다중 AZ DB 클러스터에는 리더 엔드포인트가 하나씩 있습니다.리더 엔드포인트는 리더 DB 인스턴스 중 하나로 각 연결 요청을 전송합니다. 리더 엔드포인트를 세션에 사용하는 경우 해당 세션에서
SELECT
와 같은 읽기 전용 문만 수행할 수 있습니다.다음은 다중 AZ DB 클러스터의 리더 엔드포인트를 보여주는 예제입니다. 리더 엔드포인트의 읽기 전용 인텐트는 클러스터 엔드포인트 이름 내에서
-ro
로 표시됩니다.mydbcluster.cluster-ro-123456789012.us-east-1.rds.amazonaws.com
리더 엔드포인트에 연결하는 방법에 대한 자세한 내용은 리더 엔드포인트 섹션을 참조하세요.
- 인스턴스 엔드포인트
-
인스턴스 엔드포인트는 다중 AZ DB 클러스터에 있는 특정 DB 인스턴스에 연결됩니다. DB 클러스터의 DB 인스턴스에는 각각 고유한 인스턴스 엔드포인트가 있습니다. 따라서 DB 클러스터의 현재 라이터 DB 인스턴스에 대해 인스턴스 엔드포인트가 하나씩 있고 DB 클러스터의 각 리더 DB 인스턴스에 대해 인스턴스 엔드포인트가 하나씩 있습니다.
인스턴스 엔드포인트에서는 DB 클러스터에 대한 연결을 직접 제어할 수 있습니다. 이 제어 기능은 클러스터 엔드포인트 또는 리더 엔드포인트를 사용하는 것이 적절하지 않을 수 있는 상황에서 문제를 해결하는 데 도움이 될 수 있습니다. 예를 들어 클라이언트 애플리케이션에서 워크로드 유형에 따라 더욱 세분화된 로드 밸런싱이 필요할 수 있습니다. 이 경우, 여러 클라이언트가 DB 클러스터의 다른 리더 DB 인스턴스에 연결하여 읽기 워크로드를 분산하도록 구성할 수 있습니다.
다음은 다중 AZ DB 클러스터의 DB 인스턴스에 대한 인스턴스 엔드포인트를 보여주는 예제입니다.
mydbinstance.123456789012.us-east-1.rds.amazonaws.com
인스턴스 엔드포인트에 연결하는 방법에 대한 자세한 내용은 인스턴스 엔드포인트 섹션을 참조하세요.
엔드포인트 보기
콘솔, AWS CLI 또는 Amazon RDS API를 사용하여 클러스터, 리더 및 인스턴스 엔드포인트를 봅니다.
클러스터 엔드포인트
각 다중 AZ 클러스터에는 기본 제공되는 단일 클러스터 엔드포인트가 있으며, Amazon RDS에서 이 엔드포인트의 이름과 기타 속성을 관리합니다. 이 종류의 엔드포인트는 생성, 삭제 또는 수정할 수 없습니다.
DB 클러스터를 관리하거나, 추출, 변환, 로드(ETL) 작업을 수행하거나, 애플리케이션을 개발 및 테스트할 때 클러스터 엔드포인트를 사용하게 됩니다. 클러스터 엔드포인트는 클러스터의 라이터 DB 인스턴스에 연결됩니다. 라이터 DB 인스턴스는 테이블 및 인덱스를 생성하고, INSERT
문을 실행하며, 기타 DDL 및 DML 작업을 수행할 수 있는 유일한 DB 인스턴스입니다.
장애 조치 메커니즘에서 새 DB 인스턴스가 클러스터의 라이터 DB 인스턴스가 되도록 승격하면 클러스터 엔드포인트와 연결되는 물리적 IP 주소가 변경됩니다. 어떤 형식의 연결 풀링이나 기타 멀티플렉싱을 사용하는 경우, 캐싱된 DNS 정보의 TTL(Time to Live)을 플러시하거나 줄이도록 준비합니다. 이렇게 하면 사용할 수 없게 되었거나 장애 조치 후 이제 읽기 전용인 DB 인스턴스에 읽기/쓰기 연결 설정을 시도하지 않아도 됩니다.
리더 엔드포인트
다중 AZ DB 클러스터의 읽기 전용 연결에 리더 엔드포인트를 사용합니다. 이 엔드포인트는 DB 클러스터가 쿼리 집약적인 워크로드를 처리할 수 있도록 도와줍니다. 리더 엔드포인트는 클러스터에서 보고 또는 기타 읽기 전용 작업을 수행하는 애플리케이션에 제공하는 엔드포인트입니다. 리더 엔드포인트는 다중 AZ DB 클러스터에서 사용 가능한 리더 DB 인스턴스에 대한 연결을 전송합니다.
각 다중 AZ 클러스터에는 기본 제공되는 단일 리더 엔드포인트가 있으며, Amazon RDS에서 이 엔드포인트의 이름과 기타 속성을 관리합니다. 이 종류의 엔드포인트는 생성, 삭제 또는 수정할 수 없습니다.
인스턴스 엔드포인트
다중 AZ DB 클러스터의 각 DB 인스턴스에는 Amazon RDS에서 관리하는 고유한 기본 제공 인스턴스 엔드포인트가 있습니다. 이 종류의 엔드포인트는 생성, 삭제 또는 수정할 수 없습니다. 다중 AZ DB 클러스터에서는 일반적으로 인스턴스 엔드포인트보다 라이터 및 리더 엔드포인트를 더 자주 사용합니다.
일상적인 작업에서 인스턴스 엔드포인트를 사용하는 주요 방법은 다중 AZ DB 클러스터의 특정 DB 인스턴스 하나에 영향을 주는 용량 또는 성능 문제를 진단하는 것입니다. 특정 DB 인스턴스에 연결되어 있는 동안 해당 인스턴스의 상태 변수, 지표 등을 검토할 수 있습니다. 이렇게 하면 클러스터의 다른 인스턴스에 일어난 일과 별개로 해당 DB 인스턴스에 일어난 일을 확인하는 데 도움이 됩니다.
고가용성 연결
고가용성이 중요한 다중 AZ DB 클러스터의 경우 라이터 엔드포인트를 읽기/쓰기 또는 범용 연결에 사용하고 리더 엔드포인트를 읽기 전용 연결에 사용합니다. 라이터 및 리더 엔드포인트는 인스턴스 엔드포인트보다 DB 인스턴스 장애 조치를 더 잘 관리합니다. 인스턴스 엔드포인트와 달리, 라이터 및 리더 엔드포인트는 클러스터의 DB 인스턴스를 사용할 수 없게 되면 연결된 DB 인스턴스를 자동으로 변경합니다.
DB 클러스터의 기본 DB 인스턴스에 장애가 발생하면 Amazon RDS가 자동으로 새로운 라이터 DB 인스턴스로 장애 조치하는데, 리더 DB 인스턴스를 새로운 라이터 DB 인스턴스로 승격하여 이를 수행합니다. 장애 조치가 발생하면 라이터 엔드포인트를 사용하여 새롭게 승격된 라이터 DB 인스턴스에 다시 연결할 수 있습니다. 또는 리더 엔드포인트를 사용하여 DB 클러스터에서 리더 DB 인스턴스 중 하나에 다시 연결할 수 있습니다. 장애 조치 중에 리더 DB 인스턴스가 새로운 라이터 DB 인스턴스로 승격된 후 리더 엔드포인트가 잠시 동안 DB 클러스터의 새 라이터 DB 인스턴스에 직접 연결할 수 있습니다. 인스턴스 엔드포인트 연결을 관리하는 애플리케이션 로직을 직접 설계하면 DB 클러스터에서 사용 가능한 DB 인스턴스 집합을 수동으로 또는 프로그래밍 방식으로 검색할 수 있습니다.