내용으로 건너뛰기

Amazon RDS DB 인스턴스의 IP 주소 관련 문제를 해결하려면 어떻게 해야 합니까?

4분 분량
0

Amazon Relational Database Services(Amazon RDS)가 내 DB 인스턴스에 할당하는 IP 주소와 관련된 문제를 해결하려고 합니다.

해결 방법

Amazon RDS는 가상 프라이빗 클라우드(VPC)에 DB 인스턴스를 생성할 때 DB 인스턴스에 네트워크 인터페이스를 할당합니다. Amazon RDS는 인스턴스 구성 방식에 따라 프라이빗 IP 주소 또는 퍼블릭 IP 주소를 할당합니다.

공개적으로 액세스 가능 설정을 선택했지만 Amazon RDS가 퍼블릭 IP 주소를 DB 인스턴스에 할당하지 않음

DB 서브넷 그룹의 서브넷이 프라이빗 서브넷인 경우 Amazon RDS가 DB 인스턴스에 퍼블릭 IP 주소를 할당하지 않습니다.

이 문제를 해결하려면 다음 단계를 완료하십시오.

  1. Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 서브넷 그룹을 선택합니다.
  3. DB 인스턴스가 연결된 서브넷 그룹을 선택합니다.
    참고: VPC ID 및 연결된 서브넷 ID와 함께 서브넷 그룹을 볼 수 있습니다.
  4. Amazon Virtual Private Cloud(Amazon VPC) 콘솔을 엽니다.
  5. 탐색 창에서 인터넷 게이트웨이를 선택합니다.
  6. VPC가 인터넷 게이트웨이에 연결되어 있는지 확인합니다.
    참고: VPC가 인터넷 게이트웨이에 연결되어 있지 않은 경우 생성하고 VPC에 연결하십시오.
  7. 탐색 창에서 라우팅 테이블을 선택합니다.
  8. VPC와 연결된 라우팅 테이블을 선택합니다.
  9. 서브넷 연결 탭을 선택한 다음 DB 서브넷 그룹의 모든 서브넷이 라우팅 테이블에 연결되어 있는지 확인합니다.
    참고: 서브넷이 라우팅 테이블에 연결되어 있지 않은 경우 서브넷 연결 편집을 선택합니다. 라우팅 테이블에 연결하려는 서브넷을 선택합니다.
  10. 경로 탭을 선택합니다. DB 서브넷 그룹의 모든 서브넷의 목적지 필드에 0.0.0.0/0이 있고 대상 필드에 인터넷 게이트웨이 ID가 있는지 확인합니다.
    참고: 서브넷의 목적지대상 필드 값이 다른 경우 이전 값을 포함하도록 경로를 수정하십시오.
  11. Amazon RDS 콘솔을 엽니다.
  12. 탐색 창에서 데이터베이스를 선택합니다.
  13. DB 인스턴스를 선택한 다음, 수정을 선택합니다.
  14. 연결에서 추가 구성 섹션을 확장한 다음 공용 액세스를 선택합니다.
  15. 계속을 선택합니다.
  16. DB 인스턴스 수정을 선택합니다.

참고: 퍼블릭 서브넷과 프라이빗 서브넷의 조합을 포함하는 서브넷 그룹은 장애 조치 후 연결 문제를 일으킬 수 있습니다. 예를 들어 다중 가용 영역 구성에서는 기본 인스턴스가 퍼블릭 서브넷을 사용하고 보조 인스턴스가 프라이빗 서브넷을 사용하는 경우 연결 문제가 발생할 수 있습니다.

Amazon RDS DB 인스턴스의 연결 정보를 찾으려고 합니다.

참고: AWS Command Line Interface(AWS CLI) 명령을 실행할 때 오류가 발생하면 AWS CLI의 오류 해결을 참조하십시오. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.

동일한 VPC 내 리소스에서 DB 인스턴스에 연결하려고 하면 Amazon RDS 엔드포인트가 자동으로 프라이빗 IP 주소로 확인됩니다. VPC 또는 인터넷 외부에서 DB 인스턴스에 연결하면 엔드포인트가 퍼블릭 IP 주소로 확인됩니다.

연결 정보를 찾으려면 Amazon RDS 콘솔을 사용하거나 describe-db-instances AWS CLI 명령 또는 DescribeDBInstances Amazon RDS API를 실행하면 됩니다.

또는 다음 명령 중 하나를 실행하면 됩니다.

dig example-rds-endpoint

-또는-

nslookup example-rds-endpoint

참고: example-rds-endpoint를 해당 엔드포인트로 대체하십시오.

nslookup 명령을 실행하여 Amazon RDS 엔드포인트를 가져오면 다음 예시와 비슷한 출력이 표시됩니다.

프라이빗 IP 주소로 확인되는 동일한 VPC에 있는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스의 출력:

[ec2-user@ip-172-xx-xx-xx ~] nslookup myoracledb.abcd123.region.rds.amazonaws.com  
Server: 172.16.0.0
Address: 172.31.255.255#53
Non-authoritative answer: myoracledb.abcd123.region.rds.amazonaws.com canonical name = ec2-3-232-189-42.compute-1.amazonaws.com.
Name: ec2-3-232-189-42.compute-1.amazonaws.com
Address: 172.31.8.27

퍼블릭 IP 주소로 확인되는 다른 VPC에 있는 Amazon EC2 인스턴스의 출력:

[ec2-user@ip-172-xx-xx-xx ~] nslookup myoracledb.abcd123.region.rds.amazonaws.com  
Server: 192.0.2.0
Address: 192.0.2.255#53
Non-authoritative answer: myoracledb.abcd123.region.rds.amazonaws.com canonical name = ec2-3-232-189-42.compute-1.amazonaws.com.
Name: ec2-3-232-189-42.compute-1.amazonaws.com
Address: 3.232.189.42

DB 인스턴스의 IP 주소가 일치하지 않음

다음과 같은 상황에서는 Amazon RDS DB 인스턴스의 IP 주소가 변경될 수 있습니다.

  • DB 인스턴스를 중지하고 다시 시작합니다.
    참고: DB 인스턴스를 재부팅해도 IP 주소는 변경되지 않습니다.
  • DB 인스턴스 장애 또는 DB 인스턴스 클래스 업데이트가 있을 경우 Amazon RDS가 기본 호스트를 대체합니다.
  • Amazon RDS는 DB 인스턴스의 하드웨어 유지 관리를 수행합니다.
  • DB 인스턴스가 다중 AZ 환경에 있고, 장애 조치가 발생했습니다.
  • DB 인스턴스의 운영 체제(OS)에 소프트웨어 패치가 적용되었습니다.
  • 장애 조치와 함께 재부팅을 사용하여 DB 인스턴스의 수동 장애 조치를 시작했습니다.
  • DB 엔진의 메이저 또는 마이너 버전이 업그레이드되었습니다.
  • 인스턴스의 가용 영역에서 중단이 발생했습니다.

참고: 인스턴스의 IP 주소는 동적이므로 인스턴스에 고정 IP 주소 또는 탄력적 IP 주소를 할당할 수 없습니다.