Amazon Aurora DB 클러스터에 연결 - Amazon Aurora

Amazon Aurora DB 클러스터에 연결

MySQL 또는 PostgreSQL 데이터베이스에 연결할 때 사용한 것과 동일한 도구를 사용하여 Aurora DB 클러스터에 연결할 수 있습니다. MySQL 또는 PostgreSQL DB 인스턴스에 연결되는 모든 스크립트, 유틸리티 또는 애플리케이션에서 연결 문자열을 설정합니다. 그리고 동일한 퍼블릭 키를 사용하여 Secure Sockets Layer(SSL)를 연결합니다.

연결 문자열에서는 보통 DB 클러스터에 연결된 특별 엔드포인트에서 나온 호스트 및 포트 정보를 사용합니다. 이들 엔드포인트에서는 클러스터의 DB 인스턴스 수에 관계 없이 동일한 연결 파라미터를 사용할 수 있습니다. 문제 해결 같은 전문 작업의 경우, Aurora DB 클러스터의 특별 DB 인스턴스에 나온 호스트 및 포트 정보를 사용할 수 있습니다.

참고

Aurora Serverless DB 클러스터의 경우 DB 인스턴스가 아닌 데이터베이스 엔드포인트에 연결합니다. Aurora Serverless DB 클러스터의 데이터베이스 엔드포인트는 AWS Management Console의 연결 및 보안 탭에서 찾을 수 있습니다. 자세한 내용은 Amazon Aurora Serverless v1 사용 섹션을 참조하세요.

Aurora DB 엔진과 DB 클러스터 또는 인스턴스 작업에 사용하는 특정 도구에 관계없이 엔드포인트에 액세스할 수 있어야 합니다. Amazon Aurora DB 클러스터는 Amazon VPC 서비스를 기반으로 하는 Virtual Private Cloud(VPC)에만 생성해야 합니다. 즉, 다음 방법 중 하나를 사용하여 VPC 내부 또는 VPC 외부에서 엔드포인트에 액세스합니다.

  • VPC 내의 Amazon Aurora DB 클러스터에 액세스 –VPC를 통해 Amazon AuroraDB 클러스터에 액세스할 수 있습니다. 이렇게 하려면 특정 Aurora DB 클러스터에 대한 액세스를 허용하도록 VPC의 보안 그룹에서 인바운드 규칙을 편집합니다. 다양한 Aurora DB 클러스터 시나리오에 맞게 VPC를 구성하는 방법을 포함하여 자세한 내용은 Amazon Virtual Private Cloud(VPC) 및 Amazon Aurora를 참조하세요.

  • VPC 외부의 Amazon Aurora DB 클러스터에 액세스 –외부에서 Amazon Aurora DB 클러스터에 액세스하려면 Amazon Aurora DB 클러스터의 퍼블릭 엔드포인트 주소를 사용합니다. ClassicLink를 사용하여 VPC에 존재하지 않는 Amazon Aurora 인스턴스에서 VPC 내부에 있는 Amazon EC2 DB 클러스터에 연결할 수도 있습니다. 자세한 내용은 VPC에 있는 EC2 인스턴스가 VPC에 있지 않은 DB 인스턴스에 액세스 섹션을 참조하세요.

자세한 내용은 Aurora 연결 장애 문제 해결 섹션을 참조하세요.

Amazon Aurora MySQL DB 클러스터에 연결

Aurora MySQL DB 클러스터에 대해 인증하려면, MySQL 사용자 이름 및 암호 인증 또는 AWS Identity and Access Management(IAM) 데이터베이스 인증을 사용할 수 있습니다. MySQL 사용자 이름 및 암호 인증 사용에 대한 자세한 정보는 MySQL 설명서의 액세스 제어 및 계정 관리를 참조하십시오. IAM 데이터베이스 인증 사용에 대한 자세한 정보는 을 위한 IAM 데이터베이스 인증 단원을 참조하십시오.

MySQL 8.0과 호환되는 Amazon Aurora DB 클러스터에 연결되어 있으면 MySQL 버전 8.0과 호환되는 SQL 명령을 실행할 수 있습니다. 최소 호환 버전은 MySQL 8.0.23입니다. MySQL 8.0 SQL 구문에 대한 자세한 정보는 MySQL 8.0 참조 매뉴얼을 참조하세요. Aurora MySQL 3에 적용되는 제한 사항에 대한 자세한 정보는 Aurora MySQL 버전 3과 커뮤니티 MySQL 8.0의 비교 섹션을 참조하세요.

MySQL 5.7과 호환되는 Amazon Aurora DB 클러스터에 연결되어 있으면 MySQL 버전 5.7과 호환되는 SQL 명령을 실행할 수 있습니다. MySQL 5.7 SQL 구문에 대한 자세한 정보는 MySQL 5.7 참조 매뉴얼을 참조하십시오. Aurora MySQL 5.7에 적용되는 제한 사항에 대한 자세한 정보는 Aurora MySQL 버전 2는 MySQL 5.7과 호환을 참조하십시오.

MySQL 5.6과 호환되는 Amazon Aurora DB 클러스터에 연결되어 있으면 MySQL 버전 5.6과 호환되는 SQL 명령을 실행할 수 있습니다. MySQL 5.6 SQL 구문에 대한 자세한 정보는 MySQL 5.6 참조 매뉴얼을 참조하십시오.

참고

Amazon Aurora MySQL DB 클러스터에 연결하는 데 도움이 되는 자세한 안내는 Aurora 연결 관리 핸드북에서 확인할 수 있습니다.

DB 클러스터의 세부 정보 보기에서 MySQL 연결 문자열에 사용할 수 있는 클러스터 엔드포인트를 확인할 수 있습니다. 엔드포인트는 DB 클러스터의 도메인 이름과 포트로 구성되어 있습니다. 예를 들어 엔드포인트 값이 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com:3306이라면 MySQL 연결 문자열에 다음과 같이 값을 지정합니다.

  • 호스트 또는 호스트 이름은 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com으로 지정합니다.

  • 포트의 경우, DB 클러스터를 생성할 때 사용한 포트 값 또는 3306를 지정합니다

클러스터 엔드포인트는 DB 클러스터의 기본 인스턴스에 연결하는 데 사용되며, 이를 통해 읽기 및 쓰기 연산을 실행할 수 있습니다. 또한 DB 클러스터에 DB 클러스터의 데이터에 대한 읽기 전용 액세스를 지원하는 Aurora 복제본이 최대 15개 있을 수 있습니다. 기본 인스턴스와 각 Aurora 복제본에는 클러스터 엔드포인트와 독립적이고 클러스터의 특정 DB 인스턴스에 직접 연결할 수 있는 고유의 엔드포인트가 있습니다. 클러스터 엔드포인트는 항상 기본 인스턴스를 가리킵니다. 기본 인스턴스에 장애가 발생하여 교체되는 경우 클러스터 엔드포인트는 새로운 기본 인스턴스를 가리킵니다.

클러스터 엔드포인트(라이터 엔드포인트)를 보려면 Amazon RDS 콘솔에서 Databases(데이터베이스)를 선택하고 DB 클러스터의 이름을 선택하여 DB 클러스터 세부 정보를 표시하십시오.


                Amazon Aurora세부 정보

Aurora MySQL 연결 유틸리티

다음과 같은 연결 유틸리티를 사용할 수 있습니다.

  • 명령줄 – MySQL 명령줄 유틸리티 같은 도구를 사용하여 Amazon Aurora DB 클러스터에 연결할 수 있습니다. MySQL 유틸리티 사용에 대한 자세한 정보는 MySQL 문서의 mysql - MySQL 명령줄 도구를 참조하십시오.

  • GUI – MySQL Workbench 유틸리티를 통해 UI 인터페이스를 사용하여 연결할 수 있습니다. 자세한 정보는 MySQL Workbench 다운로드 페이지를 참조하십시오.

  • Applications - MySQL용 AWS JDBC 드라이버 사용하여 클라이언트 애플리케이션을 Aurora MySQL DB 클러스터에 연결할 수 있습니다. AWS JDBC Driver for MySQL 및 사용 방법에 대한 전체 지침에 관한 자세한 내용은 AWS JDBC Driver for MySQL GitHub 리포지토리를 참조하세요.

    참고

    MariaDB Connector/J 유틸리티 버전 3.0.3은 Aurora DB 클러스터에 대한 지원을 중단하므로 MySQL용 AWS JDBC 드라이버로 이동할 것을 권장합니다. MySQL용 AWS JDBC 드라이버는 빠른 사용을 위해 DNS 연결을 캐싱하여 Aurora MySQL DB 클러스터에 향상된 장애 조치 속도를 제공합니다.

    Aurora Serverless DB 클러스터를 사용 중인 경우 장애 조치 혜택은 적용되지 않지만 failureDetectionEnabled 파라미터를 false에 설정하여 기능을 사용 중지할 수 있습니다. 구성 옵션의 전체 목록을 검토하려면 MySQL GitHub 리포지토리용 AWS JDBC 드라이버를 참조하세요.

MySQL용 Amazon Web Services JDBC 드라이버와 연결

AWS JDBC Driver for MySQL은 Aurora MySQL의 고가용성을 위해 설계된 클라이언트 드라이버입니다. AWS JDBC Driver for MySQL은 MySQL Connector/J 드라이버와 즉시 호환됩니다. 커넥터를 설치하거나 업그레이드하려면 애플리케이션 CLASSPATH에 있는 MySQL 커넥터 .jar file을 MySQL.jar 파일용 AWS JDBC 드라이버로 교체하고, 연결 URL 접두사 jdbc:mysql://jdbc:mysql:aws://로 업데이트합니다.

AWS JDBC Driver for MySQL은 Aurora MySQL의 장애 조치 기능을 최대한 활용합니다. AWS JDBC Driver for MySQL에서는 DB 클러스터 토폴로지의 캐시 및 각 DB 인스턴스의 역할(기본 DB 인스턴스 또는 Aurora 복제본)을 완전하게 유지합니다. 이 토폴로지를 사용하여 DNS 확인으로 인한 지연을 우회하여 새로운 기본 DB 인스턴스에 대한 연결이 가능한 한 빠르게 설정됩니다.

AWS JDBC Driver for MySQL 및 사용 방법에 대한 전체 지침에 관한 자세한 내용은 AWS JDBC Driver for MySQL GitHub 리포지토리를 참조하세요.

Aurora MySQL용 SSL과 연결

Aurora MySQL DB 인스턴스에 연결할 때는 SSL 암호화를 사용할 수 있습니다. 자세한 정보는 Aurora MySQL DB 클러스터에서 SSL/TLS 사용 섹션을 참조하세요.

SSL을 사용하여 연결하려면 다음 절차에 따라 MySQL 유틸리티를 사용합니다. IAM 데이터베이스 인증을 사용하고 있다면, SSL 연결을 사용해야 합니다. 자세한 정보는 을 위한 IAM 데이터베이스 인증 섹션을 참조하세요.

참고

SSL을 사용하여 클러스터 엔드포인트에 연결하려면 클라이언트 연결 유틸리티에서 Subject Alternative Names(SAN)를 지원해야 합니다. 클라이언트 연결 유틸리티에서 SAN을 지원하지 않는 경우, Aurora DB 클러스터에서 인스턴스에 직접 연결할 수 있습니다. Aurora 엔드포인트에 대한 자세한 정보는 Amazon Aurora 연결 관리 단원을 참조하십시오.

MySQL 유틸리티를 사용하여 SSL에 DB 클러스터 연결하는 방법

  1. Amazon RDS 서명 인증서의 퍼블릭 키를 다운로드합니다.

    인증서 다운로드에 대한 자세한 내용은 SSL/TLS를 사용하여 DB 클러스터에 대한 연결 암호화 단원을 참조하십시오.

  2. MySQL 유틸리티에서 SSL이 포함된 DB 클러스터의 기본 인스턴스에 연결하려면 명령 프롬프트에 다음 명령을 입력합니다. -h 파라미터에서 기본 인스턴스의 엔드포인트 DNS 이름을 교체합니다. -u 파라미터에서 데이터베이스 사용자 계정의 사용자 ID를 교체합니다. --ssl-ca 파라미터에는 해당하는 SSL 인증서 파일 이름으로 대체합니다. 입력 프롬프트가 표시되면 마스터 사용자 암호를 입력합니다.

    mysql -h mycluster-primary.123456789012.us-east-1.rds.amazonaws.com -u admin_user -p --ssl-ca=[full path]global-bundle.pem --ssl-verify-server-cert

다음과 유사한 출력 화면이 표시되어야 합니다.

Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 350 Server version: 5.6.10-log MySQL Community Server (GPL) Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>

RDS for MySQL 연결 문자열 구성 및 SSL 연결용 퍼블릭 키 검색에 대한 일반적인 지침은 MySQL 데이터베이스 엔진을 실행하는 DB 인스턴스에 연결을 참조하세요.

Amazon Aurora PostgreSQL DB 클러스터에 연결

PostgreSQL 데이터베이스에 연결할 때와 동일한 도구를 사용하여 Amazon Aurora PostgreSQL DB 클러스터의 DB 인스턴스에 연결할 수 있습니다. 이 설정의 일환으로 동일한 퍼블릭 키를 사용하여 Secure Sockets Layer(SSL)를 연결합니다. Aurora PostgreSQL DB 클러스터에 속한 기본 인스턴스나 Aurora 복제본의 엔드포인트 및 포트 정보를 PostgreSQL DB 인스턴스에 연결하는 모든 스크립트, 유틸리티 또는 애플리케이션의 연결 문자열에 사용할 수 있습니다. 연결 문자열에는 호스트 파라미터로 기본 인스턴스 또는 Aurora 복제본 엔드포인트의 DNS 주소를 지정하십시오. 엔드포인트의 포트 번호를 포트 파라미터로 지정하십시오.

Amazon Aurora PostgreSQL DB 클러스터의 DB 인스턴스에 연결한 경우 PostgreSQL과 호환되는 SQL 명령을 실행할 수 있습니다.

Aurora PostgreSQL DB 클러스터의 세부 정보 보기에서 클러스터 엔드포인트 이름, 상태, 유형 및 포트 번호를 검색할 수 있습니다. PostgreSQL 포트 번호에서 이 엔드포인트를 사용합니다. 예를 들어 엔드포인트 값이 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com이라면 PostgreSQL 연결 문자열에 다음과 같이 값을 지정합니다.

  • 호스트 또는 호스트 이름은 mycluster.cluster-123456789012.us-east-1.rds.amazonaws.com으로 지정합니다.

  • 포트의 경우, DB 클러스터를 생성할 때 사용한 포트 값 또는 5432를 지정합니다

클러스터 엔드포인트는 DB 클러스터의 기본 인스턴스에 연결하는 데 사용되며, 이를 통해 읽기 및 쓰기 연산을 실행할 수 있습니다. 또한 DB 클러스터에 DB 클러스터의 데이터에 대한 읽기 전용 액세스를 지원하는 Aurora 복제본이 최대 15개 있을 수 있습니다. Aurora 클러스터의 각 DB 인스턴스(즉, 기본 인스턴스와 각 Aurora 복제본)는 클러스터 엔드포인트와 무관한 고유한 엔드포인트를 가집니다. 이 고유 엔드포인트를 통해 클러스터의 특정 DB 인스턴스에 직접 연결할 수 있습니다. 클러스터 엔드포인트는 항상 기본 인스턴스를 가리킵니다. 기본 인스턴스에 결함이 발생하여 교체되면 클러스터 엔드포인트는 새로운 기본 인스턴스로 향하게 됩니다.

클러스터 엔드포인트(라이터 엔드포인트)를 보려면 Amazon RDS 콘솔에서 Databases(데이터베이스)를 선택하고 DB 클러스터의 이름을 선택하여 DB 클러스터 세부 정보를 표시하십시오.


                Amazon Aurora세부 정보

Aurora PostgreSQL 연결 유틸리티

다음과 같은 연결 유틸리티를 사용할 수 있습니다.

  • 명령줄 – PostgreSQL 대화식 터미널인 psql과 같은 도구를 사용하여 Amazon Aurora PostgreSQL DB 인스턴스에 연결할 수 있습니다. PostgreSQL 대화식 터미널 사용에 대한 자세한 정보는 PostgreSQL 설명서에서 psql을 참조하십시오.

  • GUI – pgAdmin 유틸리티를 사용하여 UI 인터페이스로 PostgreSQL DB 인스턴스에 연결할 수 있습니다. 자세한 정보는 pgAdmin 웹사이트에서 Download 페이지 단원을 참조하십시오.

  • 애플리케이션 – PostgreSQL JDBC 드라이버를 사용하여 애플리케이션을 PostgreSQL DB 인스턴스에 연결할 수 있습니다. 자세한 정보는 PostgreSQL JDBC 드라이버 웹사이트에서 Download 페이지 단원을 참조하십시오.

Amazon Web Services JDBC Driver for PostgreSQL(미리 보기)에 연결

이 문서는 Amazon Web Services JDBC Driver for PostgreSQL에 대한 미리 보기 설명서입니다. 변경될 수 있습니다.

현재 AWS JDBC Driver for PostgreSQL(미리 보기)는 Aurora PostgreSQL의 고가용성을 위해 설계된 클라이언트 드라이버입니다. AWS JDBC Driver for PostgreSQL은 PostgreSQL JDBC 드라이버와 즉시 호환됩니다.

AWS JDBC Driver for PostgreSQL은 Aurora PostgreSQL의 장애 조치 기능을 최대한 활용합니다. AWS JDBC Driver for PostgreSQL에서는 DB 클러스터 토폴로지의 캐시 및 각 DB 인스턴스의 역할(기본 DB 인스턴스 또는 Aurora 복제본)을 완전히 유지합니다. 이 토폴로지를 사용하여 DNS 확인으로 인한 지연을 우회하여 새로운 기본 DB 인스턴스에 대한 연결이 가능한 한 빠르게 설정됩니다.

AWS JDBC Driver for PostgreSQL 및 사용 방법에 관한 자세한 내용은 AWS JDBC Driver for PostgreSQL GitHub 리포지토리를 참조하세요.

Aurora 연결 장애 문제 해결

새 Aurora DB 클래스에 공통적으로 발생하는 연결 실패의 원인은 다음과 같습니다.

  • VPC의 보안 그룹이 액세스를 허용하지 않습니다 –VPC는 VPC의 보안 그룹을 적절히 구성하여 디바이스 또는 Amazon EC2 인스턴스로부터의 연결을 허용해야 합니다. 이 문제를 해결하려면 연결을 허용하도록 VPC의 보안 그룹 인바운드 규칙을 수정하십시오. 관련 예제는 VPC 및 서브넷 생성 섹션을 참조하세요

  • 방화벽 규칙에 의해 차단된 포트 – Aurora DB 클러스터에 대해 구성된 포트 값을 확인합니다. 방화벽 규칙이 해당 포트를 차단하는 경우 다른 포트를 사용하여 인스턴스를 다시 생성할 수 있습니다.

  • IAM 구성이 완료되지 않았거나 잘못된 경우 – IAM–기반 인증을 사용하기 위해 Aurora DB 인스턴스를 생성한 경우 해당 인스턴스가 제대로 구성되어 있는지 확인합니다. 자세한 내용은 을 위한 IAM 데이터베이스 인증 섹션을 참조하세요.

문제 해결 Aurora DB 연결에 대한 자세한 내용은 Amazon RDS DB 인스턴스에 연결할 수 없음 단원을 참조하십시오.