Amazon Aurora PostgreSQL 호환 버전 데이터베이스(DB) 클러스터에 연결하려고 할 때 발생하는 연결 시간 초과 오류를 해결하고 싶습니다.
해결 방법
참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
Aurora PostgreSQL 호환 DB 클러스터에 연결할 때 네트워크 구성 문제로 인해 연결 시간 초과 오류가 발생하는 경우가 많습니다. 연결 시간 초과 문제를 파악하고 해결하려면 다음 작업을 수행하십시오.
데이터베이스 인스턴스 상태 확인
다음 단계를 완료하십시오.
- Amazon Relational Database Service(RDS) 콘솔을 엽니다.
- 탐색 창에서 데이터베이스를 선택합니다.
- 상태 열에서 Aurora PostgreSQL 호환 DB 인스턴스가 사용 가능 상태인지 확인합니다.<br id=hardline_break/>
중요: 인스턴스를 사용할 수 없는 경우 사용할 수 있을 때까지 기다렸다가 추가 문제 해결을 진행하십시오.
보안 그룹 구성 확인
인바운드 규칙과 아웃바운드 규칙을 모두 확인하려면 다음 단계를 완료하십시오.
- Amazon Elastic Compute Cloud(Amazon EC2) 콘솔을 엽니다.
- 탐색 창에서 보안 그룹을 선택합니다.
- Aurora PostgreSQL 호환 DB 클러스터와 연결된 보안 그룹을 선택합니다.
- 인바운드 규칙을 선택합니다.
- 포트 5432 또는 사용자 지정 포트에서 클라이언트 IP 주소 또는 보안 그룹의 트래픽을 허용하는 규칙이 있는지 확인합니다.<br id=hardline_break/>
참고: 필요한 트래픽을 허용하는 규칙을 추가하거나 수정하려면 인바운드 규칙 편집을 선택하십시오.
- Amazon EC2 인스턴스에서 연결하는 경우 아웃바운드 규칙을 선택합니다.
- Amazon EC2 인스턴스의 보안 그룹이 포트 5432에 있는 Aurora PostgreSQL 호환 클러스터의 보안 그룹으로 유입되는 아웃바운드 트래픽을 허용하는지 확인합니다.<br id=hardline_break/>
참고: 필요한 트래픽을 허용하는 규칙을 추가하거나 수정하려면 아웃바운드 규칙 편집을 선택하십시오.
네트워크 ACL 구성 확인
네트워크 액세스 제어 목록(네트워크 ACL) 구성을 확인하려면 다음 단계를 완료하십시오.
- Amazon Virtual Private Cloud(Amazon VPC) 콘솔을 엽니다.
- 탐색 창에서 네트워크 ACL을 선택합니다.
- Aurora PostgreSQL 호환 DB 클러스터의 서브넷과 연결된 네트워크 ACL을 선택합니다.
- 인바운드 규칙과 아웃바운드 규칙을 모두 선택한 다음 규칙이 포트 5432에서 클라이언트와 데이터베이스 간에 트래픽을 허용하는지 확인합니다.
라우팅 테이블 구성 확인
라우팅 테이블 구성을 확인하려면 다음 단계를 완료하십시오.
- Amazon VPC 콘솔을 엽니다.
- 탐색 창에서 라우팅 테이블을 선택합니다.
- Aurora PostgreSQL 호환 DB 클러스터의 서브넷과 연결된 라우팅 테이블을 선택합니다.
- 올바른 대상을 가리키는 클래스 없는 도메인 간 라우팅에 대한 경로가 있는지 확인합니다.
예를 들어 대상은 인터넷 게이트웨이, NAT 게이트웨이 또는 피어링 연결일 수 있습니다. 다른 VPC 또는 온프레미스 네트워크에서 연결하는 경우 필요한 경로가 설정되어 있는지 확인하십시오.
VPC 피어링 또는 트랜짓 게이트웨이 구성 확인
VPC 피어링을 통해 다른 VPC에서 연결하는 경우 다음 단계를 완료하십시오.
- VPC 피어링 프로세스를 따라 VPC 간에 VPC 피어링이 올바르게 설정되었는지 확인합니다.
- 두 VPC의 라우팅 테이블을 확인하여 두 VPC 간에 트래픽을 전달하는 데 필요한 경로가 있는지 확인합니다.
- 두 VPC의 보안 그룹을 확인하여 필요한 트래픽을 수락하는지 확인합니다.
트랜짓 게이트웨이를 통해 다른 VPC에서 연결하는 경우 다음 단계를 완료하십시오.
- 설계 모범 사례를 따라 VPC 간에 전송 게이트웨이가 올바르게 설정되었는지 확인합니다.
- 모든 VPC 연결의 라우팅 테이블을 확인하여 이들 간에 트래픽을 전달하는 데 필요한 경로가 있는지 확인합니다.
- 두 VPC의 보안 그룹을 확인하여 필요한 트래픽을 수락하는지 확인합니다.
DNS 확인 점검
VPC를 통해 연결하는 경우 VPC 피어링 연결에 대한 DNS 확인을 활성화했는지 확인하십시오.
다음 단계를 완료하십시오.
- Amazon VPC 콘솔을 엽니다.
- 탐색 창에서 피어링 연결을 선택합니다.
- 피어링 연결을 선택합니다.
- 작업을 선택한 다음 DNS 설정 편집을 선택합니다.
- DNS 설정 편집 섹션에서 요청자 VPC와 수락자 VPC 모두에 대한 DNS 확인을 허용합니다.
인터넷 게이트웨이 IP 주소 확인
VPC 외부에서 연결을 시도하는 경우 클러스터에 공개적으로 액세스할 수 있으면 다음 단계를 완료하십시오.
- Amazon VPC 콘솔을 엽니다.
- 탐색 창에서 인터넷 게이트웨이를 선택합니다.
- VPC의 인터넷 게이트웨이를 찾은 다음 인터넷 게이트웨이가 연결됨 상태인지 확인합니다.
- 인터넷 게이트웨이의 VPC ID를 선택합니다.
- 세부 정보에서 기본 라우팅 테이블을 선택합니다.
- 경로를 선택한 다음 대상 인터넷 게이트웨이를 가리키는 대상 0.0.0.0/0 IP 주소를 가진 경로가 있는지 확인합니다.
데이터베이스 인스턴스에 대한 연결 테스트
연결을 테스트하여 네트워크 관련 또는 인증 관련 문제가 있는지 확인합니다. 연결 테스트가 성공한다면 데이터베이스 자격 증명에 문제가 있을 가능성이 높습니다.
텔넷을 사용하여 네트워크 연결을 테스트하려면 다음 명령을 실행합니다.
telnet CLUSTER-ENDPOINT 5432
참고: CLUSTER-ENDPOINT를 Aurora PostgreSQL 호환 클러스터 엔드포인트로, 5432를 데이터베이스 포트로 바꾸십시오. PostgreSQL의 기본 데이터베이스 포트는 5432입니다.
텔넷을 사용할 수 없을 때 네트워크 연결을 테스트하려면 다음 명령을 실행합니다.
nc -zv CLUSTER-ENDPOINT 5432
참고: CLUSTER-ENDPOINT를 Aurora PostgreSQL 호환 클러스터 엔드포인트로, 5432를 데이터베이스 포트로 바꾸십시오.
연결에 성공하면 보안 그룹이 제대로 구성된 것입니다.
참고: Amazon RDS는 ping을 포함한 Internet Control Message Protocol(ICMP) 트래픽을 허용하지 않습니다.
공개적으로 액세스할 수 있는 구성 확인
VPC 외부에서 클러스터에 연결하려는 경우 클러스터에 공개적으로 액세스할 수 있어야 합니다. 또는 배스천 호스트 또는 AWS Direct Connect와 같은 다른 연결 방법을 사용할 수 있습니다.
클러스터에 공개적으로 액세스할 수 있는지 확인하려면 다음 단계를 완료하십시오.
- Amazon RDS 콘솔을 엽니다.
- 탐색 창에서 데이터베이스를 선택합니다.
- Aurora PostgreSQL 호환 클러스터를 선택한 다음 수정을 선택합니다.
- 연결 섹션에서 추가 구성을 선택합니다.
- 클러스터를 공개적으로 액세스 가능으로 설정했는지 확인합니다.
IP 주소 충돌 확인
로컬 네트워크와 VPC CIDR 범위 간에 IP 주소 충돌이 없는지 확인합니다. 충돌이 있는 경우 NAT를 사용하거나 네트워크 구성을 조정해야 할 수 있습니다.
VPC의 CIDR을 확인하려면 다음 단계를 완료하십시오.
- Amazon VPC 콘솔을 엽니다.
- 탐색 창에서 VPC를 선택한 다음 로컬 네트워크 연결에 사용할 VPC를 선택합니다.
- CIDR 탭을 선택한 다음 CIDR 블록이 로컬 네트워크의 IP 주소와 겹치지 않는지 확인합니다.
AWS CLI를 사용하여 VPC CIDR 확인
AWS CLI를 사용하여 VPC CIDR 블록을 설명하려면 다음 describe-vpcs AWS CLI 명령을 실행합니다.
aws ec2 describe-vpcs \
--vpc-ids VPC-ID \
--region REGION
참고: VPC-ID를 VPC ID로 바꾸고 REGION을 AWS 리전으로 바꾸십시오.
관련 정보
Amazon Aurora DB 클러스터에 연결
보안 그룹을 사용하여 AWS 리소스에 대한 트래픽 제어
네트워크 액세스 제어 목록으로 서브넷 트래픽 제어
서브넷 라우팅 테이블 관리
VPC 피어링이란 무엇입니까?