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 클러스터 또는 인스턴스 작업에 사용하는 특정 도구에 관계없이 엔드포인트에 액세스할 수 있어야 합니다. Aurora DB 클러스터는 Amazon VPC 서비스를 기반으로 하는 Virtual Private Cloud(VPC)에만 생성해야 합니다. 즉, 다음 방법 중 하나를 사용하여 VPC 내부 또는 VPC 외부에서 엔드포인트에 액세스합니다.
VPC 내의 Aurora DB 클러스터에 액세스 – VPC를 통해 AuroraDB 클러스터에 액세스할 수 있습니다. 이렇게 하려면 특정 Aurora DB 클러스터에 대한 액세스를 허용하도록 VPC의 보안 그룹에서 인바운드 규칙을 편집합니다. 다양한 Aurora DB 클러스터 시나리오에 맞게 VPC를 구성하는 방법을 포함하여 자세한 내용은 Amazon Virtual Private Cloud(VPC) 및 Amazon Aurora를 참조하세요.
-
VPC 외부의 Aurora DB 클러스터에 액세스 – VPC 외부에서 Aurora DB 클러스터에 액세스하려면 DB 클러스터의 퍼블릭 엔드포인트 주소를 사용합니다.
자세한 내용은 Aurora 연결 장애 문제 해결 단원을 참조하십시오.
목차
AWS 드라이버를 사용하여 Aurora DB 클러스터에 연결
더 빠른 전환 및 장애 조치 시간, AWS Secrets Manager, AWS Identity and Access Management(IAM) 및 페더레이션 ID를 사용한 인증을 지원하도록 설계된 AWS 드라이버 제품군입니다. AWS 드라이버는 DB 클러스터 상태 모니터링과 클러스터 토폴로지 파악을 통해 새 라이터를 결정합니다. 이 접근 방식은 전환 및 장애 조치 시간을 오픈 소스 드라이버의 경우 수십 초였던 것에 비해 10초 미만으로 단축합니다.
다음 표에는 각 드라이버에 지원되는 기능이 나와 있습니다. 새로운 서비스 기능이 도입됨에 따라 AWS 드라이버 제품군의 목표는 이러한 서비스 기능에 대한 지원을 기본 제공하는 것입니다.
AWS 드라이버에 대한 자세한 내용은 Aurora MySQL 또는 Aurora PostgreSQL DB 클러스터의 해당 언어 드라이버를 참조하세요.
Amazon Aurora MySQL DB 클러스터에 연결
Aurora MySQL DB 클러스터에 대해 인증하려면, MySQL 사용자 이름 및 암호 인증 또는 AWS Identity and Access Management(IAM) 데이터베이스 인증을 사용할 수 있습니다. MySQL 사용자 이름 및 암호 인증 사용에 대한 자세한 정보는 MySQL 설명서의 액세스 제어 및 계정 관리
MySQL 8.0과 호환되는 Amazon Aurora DB 클러스터에 연결되어 있으면 MySQL 버전 8.0과 호환되는 SQL 명령을 실행할 수 있습니다. 최소 호환 버전은 MySQL 8.0.23입니다. MySQL 8.0 SQL 구문에 대한 자세한 정보는 MySQL 8.0 참조 매뉴얼
MySQL 5.7과 호환되는 Amazon Aurora DB 클러스터에 연결되어 있으면 MySQL 버전 5.7과 호환되는 SQL 명령을 실행할 수 있습니다. MySQL 5.7 SQL 구문에 대한 자세한 정보는 MySQL 5.7 참조 매뉴얼
참고
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 클러스터 세부 정보를 표시하십시오.
주제
Aurora MySQL 연결 유틸리티
다음과 같은 연결 유틸리티를 사용할 수 있습니다.
-
명령줄 – MySQL 명령줄 유틸리티 같은 도구를 사용하여 Amazon Aurora DB 클러스터에 연결할 수 있습니다. MySQL 유틸리티 사용에 대한 자세한 정보는 MySQL 설명서의 mysql - MySQL 명령줄 클라이언트
를 참조하세요. -
GUI – MySQL Workbench 유틸리티를 통해 UI 인터페이스를 사용하여 연결할 수 있습니다. 자세한 내용은 MySQL Workbench 다운로드
페이지를 참조하세요. -
AWS 드라이버
MySQL 유틸리티를 사용하여 Aurora MySQL에 연결
다음 절차를 따르세요. VPC의 프라이빗 서브넷에 DB 클러스터를 구성했다고 가정합니다. 자습서: 웹 서버 및 Amazon Aurora DB 클러스터 생성의 자습서에 따라 구성한 Amazon EC2 인스턴스를 사용하여 연결합니다.
참고
이 절차에서는 자습서에서 웹 서버를 설치할 필요가 없지만, MariaDB 10.5는 설치해야 합니다.
MySQL 유틸리티를 사용하여 DB 클러스터를 연결하려면
-
DB 클러스터에 연결하는 데 사용하는 EC2 인스턴스에 로그인합니다.
다음과 유사한 출력 화면이 표시되어야 합니다.
Last login: Thu Jun 23 13:32:52 2022 from
xxx.xxx.xxx.xxx
__| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ [ec2-user@ip-10-0-xxx.xxx
~]$ -
명령 프롬프트에 다음 명령을 입력하여 DB 클러스터의 프라이머리 DB 인스턴스에 연결합니다.
-h
파라미터에서 기본 인스턴스의 엔드포인트 DNS 이름을 교체합니다.-u
파라미터에서 데이터베이스 사용자 계정의 사용자 ID를 교체합니다.mysql -h
primary-instance-endpoint
.AWS_account
.AWS_Region
.rds.amazonaws.com -P 3306 -udatabase_user
-p예:
mysql -h my-aurora-cluster-instance.c1xy5example.123456789012.eu-central-1.rds.amazonaws.com -P 3306 -u admin -p
-
데이터베이스 사용자의 암호를 입력합니다.
다음과 유사한 출력 화면이 표시되어야 합니다.
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 1770 Server version: 8.0.23 Source distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MySQL [(none)]>
-
SQL 명령을 입력합니다.
Amazon Web Services(AWS) JDBC 드라이버를 사용하여 Aurora MySQL에 연결
Amazon Web Services(AWS) JDBC 드라이버는 고급 JDBC 래퍼로 설계되었습니다. 이 래퍼는 기존 JDBC 드라이버를 보완하고 기능을 확장하여 애플릴케이션이 Aurora MySQL과 같은 클러스터링된 데이터베이스의 기능을 활용할 수 있도록 합니다. 이 드라이버는 커뮤니티 MySQL Connector/J 드라이버 및 커뮤니티 MariaDB Connector/J 드라이버와 드롭인 호환됩니다.
AWS JDBC 드라이버를 설치하려면 CLASSPATH
애플리케이션에 있는 AWS JDBC 드라이버 .jar 파일을 추가하고 해당 커뮤니티 드라이버에 대한 참조를 보관해 두세요. 다음과 같이 해당 연결 URL 접두사를 업데이트하세요.
-
jdbc:mysql://
~jdbc:aws-wrapper:mysql://
-
jdbc:mariadb://
~jdbc:aws-wrapper:mariadb://
AWS JDBC 드라이버에 대한 자세한 내용 및 사용 방법에 대한 전체 지침은 Amazon Web Services (AWS) JDBC Driver GitHub repository
참고
MariaDB Connector/J 유틸리티 버전 3.0.3은 Aurora DB 클러스터에 대한 지원을 중단하므로 AWS JDBC 드라이버로 이동할 것을 권장합니다.
Amazon Web Services(AWS) Python 드라이버를 사용하여 Aurora MySQL에 연결
Amazon Web Services(AWS) Python 드라이버는 고급 Python 래퍼로 설계되었습니다. 이 래퍼는 오픈 소스 Psycopg 드라이버의 기능을 보완하고 확장합니다. AWS Python 드라이버는 Python 버전 3.8 이상을 지원합니다. pip
명령을 사용하여 psycopg
오픈 소스 패키지와 함께 aws-advanced-python-wrapper
패키지를 설치할 수 있습니다.
AWS Python 드라이버에 대한 자세한 내용 및 사용 방법에 대한 전체 지침은 Amazon Web Services (AWS) JDBC Python GitHub repository
MySQL용 Amazon Web Services(AWS) ODBC 드라이버를 사용하여 Aurora MySQL에 연결
MySQL용 AWS ODBC 드라이버는 Aurora MySQL의 고가용성을 위해 설계된 클라이언트 드라이버입니다. 드라이버는 MySQL Connector/ODBC 드라이버와 함께 존재할 수 있으며 동일한 워크플로와 호환됩니다.
MySQL용 AWS ODBC 드라이버에 대한 자세한 내용 및 설치와 사용에 대한 전체 지침은 MySQL용 Amazon Web Services(AWS) ODBC 드라이버
SSL을 사용하여 Aurora MySQL에 연결
Aurora MySQL DB 인스턴스에 연결할 때는 SSL 암호화를 사용할 수 있습니다. 자세한 내용은 Aurora MySQL DB 클러스터에 대한 TLS 연결 단원을 참조하세요.
SSL을 사용하여 연결하려면 다음 절차에 따라 MySQL 유틸리티를 사용합니다. IAM 데이터베이스 인증을 사용하고 있다면, SSL 연결을 사용해야 합니다. 자세한 정보는 IAM 데이터베이스 인증 섹션을 참조하세요.
참고
SSL을 사용하여 클러스터 엔드포인트에 연결하려면 클라이언트 연결 유틸리티에서 Subject Alternative Names(SAN)를 지원해야 합니다. 클라이언트 연결 유틸리티에서 SAN을 지원하지 않는 경우, Aurora DB 클러스터에서 인스턴스에 직접 연결할 수 있습니다. Aurora 엔드포인트에 대한 자세한 정보는 Amazon Aurora 엔드포인트 연결 단원을 참조하십시오.
MySQL 유틸리티를 사용하여 SSL에 DB 클러스터를 연결하려면
-
Amazon RDS 서명 인증서의 퍼블릭 키를 다운로드합니다.
인증서 다운로드에 대한 자세한 내용은 SSL/TLS를 사용하여 DB 클러스터에 대한 연결 암호화 단원을 참조하십시오.
-
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: 8.0.26-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 클러스터 세부 정보를 표시하십시오.
Aurora PostgreSQL 연결 유틸리티
다음과 같은 연결 유틸리티를 사용할 수 있습니다.
Amazon Web Services(AWS) JDBC 드라이버를 사용하여 Aurora PostgreSQL에 연결
Amazon Web Services(AWS) JDBC 드라이버는 고급 JDBC 래퍼로 설계되었습니다. 이 래퍼는 기존 JDBC 드라이버를 보완하고 기능을 확장하여 애플릴케이션이 Aurora PostgreSQL과 같은 클러스터링된 데이터베이스의 기능을 활용할 수 있도록 합니다. 이 드라이버는 커뮤니티 pgJDBC 드라이버와 드롭인 호환됩니다.
AWS JDBC 드라이버를 설치하려면 CLASSPATH
애플리케이션에 있는 AWS JDBC 드라이버 .jar 파일을 추가하고 pgJDBC 커뮤니티 드라이버에 대한 참조를 보관해 두세요. 연결 URL 접두사를 jdbc:postgresql://
에서 jdbc:aws-wrapper:postgresql://
로 업데이트하세요.
AWS JDBC 드라이버에 대한 자세한 내용 및 사용 방법에 대한 전체 지침은 Amazon Web Services (AWS) JDBC Driver GitHub repository
Amazon Web Services(AWS) Python 드라이버를 사용하여 Aurora PostgreSQL에 연결
Amazon Web Services(AWS) Python 드라이버는 고급 Python 래퍼로 설계되었습니다. 이 래퍼는 오픈 소스 Psycopg 드라이버의 기능을 보완하고 확장합니다. AWS Python 드라이버는 Python 버전 3.8 이상을 지원합니다. pip
명령을 사용하여 psycopg
오픈 소스 패키지와 함께 aws-advanced-python-wrapper
패키지를 설치할 수 있습니다.
AWS Python 드라이버에 대한 자세한 내용 및 사용 방법에 대한 전체 지침은 Amazon Web Services (AWS) JDBC Python GitHub repository
Aurora 연결 장애 문제 해결
새 Aurora DB 클래스에 공통적으로 발생하는 연결 실패의 원인은 다음과 같습니다.
-
VPC의 보안 그룹이 액세스를 허용하지 않음 – VPC는 VPC의 보안 그룹을 적절히 구성하여 디바이스 또는 Amazon EC2 인스턴스로부터의 연결을 허용해야 합니다. 이 문제를 해결하려면 연결을 허용하도록 VPC의 보안 그룹 인바운드 규칙을 수정하십시오. 관련 예제는 자습서: DB 클러스터에 사용할 Amazon VPC 생성(IPv4 전용) 섹션을 참조하세요
-
방화벽 규칙에 의해 차단된 포트 – Aurora DB 클러스터에 대해 구성된 포트 값을 확인합니다. 방화벽 규칙이 해당 포트를 차단하는 경우 다른 포트를 사용하여 인스턴스를 다시 생성할 수 있습니다.
-
IAM 구성이 완료되지 않았거나 잘못된 경우 – IAM–기반 인증을 사용하기 위해 Aurora DB 인스턴스를 생성한 경우 해당 인스턴스가 제대로 구성되어 있는지 확인합니다. 자세한 내용은 IAM 데이터베이스 인증 섹션을 참조하세요.
문제 해결 Aurora DB 연결에 대한 자세한 내용은 Amazon RDS DB 인스턴스에 연결할 수 없음 단원을 참조하세요.