내용으로 건너뛰기

Amazon VPC의 퍼블릭 또는 프라이빗 서브넷을 사용하는 Amazon RDS DB 인스턴스에 연결하려면 어떻게 해야 합니까?

4분 분량
0

Amazon Virtual Private Cloud(Amazon VPC)의 퍼블릭 또는 프라이빗 서브넷에 있는 Amazon Relational Database Service(Amazon RDS) DB 인스턴스에 연결하려고 합니다.

간략한 설명

VPC의 퍼블릭 또는 프라이빗 서브넷에서 RDS DB 인스턴스를 시작할 때 다음과 같은 이유로 연결 문제가 발생할 수 있습니다.

  • DB 인스턴스의 잘못된 VPC 구성
  • 연결하는 클라이언트의 잘못된 구성 또는 연결 문제

이러한 문제를 해결하려면 환경에 맞는 해결 방법을 완료하십시오.

해결 방법

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

로컬 컴퓨터의 인터넷을 통해 퍼블릭 서브넷에 있는 DB 인스턴스에 대한 연결 문제 해결

DB 인스턴스의 퍼블릭 액세스 가능 속성이 아니요로 설정된 경우 연결 문제가 발생할 수 있습니다. DB 인스턴스가 공개적으로 액세스할 수 있는지 확인하려면 다음 단계를 완료하십시오.

  1. Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 데이터베이스를 선택합니다.
  3. DB 인스턴스를 선택합니다.
  4. 인스턴스의 연결 및 보안 섹션을 검토합니다.
    -또는-
    describe-db-instances AWS CLI 명령을 실행합니다.
    aws rds describe-db-instances --db-instance-id example_instance_id
    참고: example_instance_id를 DB 인스턴스 ID로 바꾸십시오.

DB 인스턴스의 퍼블릭 액세스 가능 속성을 업데이트하려면 다음 단계를 완료하십시오.

  1. Amazon RDS 콘솔을 엽니다.
  2. 탐색 창에서 데이터베이스를 선택하고 DB 인스턴스를 선택합니다.
  3. 수정을 선택합니다.
  4. 연결에서 추가 구성 섹션을 확장한 다음, 퍼블릭 액세스 가능을 선택합니다.
  5. 계속을 선택합니다.
  6. DB 인스턴스 수정을 선택합니다.
    참고: Amazon RDS는 즉시 적용 옵션을 선택하지 않아도 변경 사항을 즉시 적용합니다. 가동 중지 시간이 필요한 보류 중인 유지 관리 작업이 있고 즉시 적용을 선택한 경우에만 가동 중지 시간이 발생합니다.

퍼블릭 액세스 가능 속성을 활성화했지만 여전히 인스턴스에 연결할 수 없는 경우 다음 세부 정보를 확인하십시오.

  • VPC에 인터넷 게이트웨이를 연결했는지 확인합니다.
  • DB 인스턴스의 보안 그룹에 대한 인바운드 규칙이 소스 IP 주소에서 연결을 허용하는지 확인합니다.

로컬 컴퓨터의 프라이빗 서브넷에 있는 DB 인스턴스에 대한 연결 문제 해결

이 문제를 해결하려면 사용 사례에 가장 적합한 다음 방법 중 하나를 사용하십시오.

퍼블릭 서브넷으로 전환하려면 다음 단계를 완료하십시오.

  1. Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택하고 DB 인스턴스를 선택합니다.

  3. 연결 및 보안 섹션에서 DB 인스턴스의 엔드포인트를 복사합니다.

  4. 다음 예와 유사하게 VPC 내 EC2 인스턴스에서 DB 인스턴스 엔드포인트에 대한 nslookup을 실행합니다.

    nslookup myexampledb.xxxx.us-east-1.rds.amazonaws.com
    Server: xx.xx.xx.xx
    Address: xx.xx.xx.xx#53

    출력 예시:

    Non-authoritative answer:
    Name: myexampledb.xxxx.us-east-1.rds.amazonaws.com
    Address: 172.31.xx.x
  5. DB 인스턴스의 프라이빗 IP 주소를 얻은 후 프라이빗 IP 주소를 VPC의 특정 서브넷에 연결합니다. VPC 서브넷은 서브넷 CIDR 범위와 프라이빗 IP 주소를 기반으로 합니다.

  6. Amazon VPC 콘솔을 엽니다.

  7. 탐색 창에서 서브넷을 선택합니다.

  8. 5번 단계에서 찾은 DB 인스턴스에 연결된 서브넷을 선택합니다.

  9. 설명 창에서 라우팅 테이블을 선택합니다.

  10. 작업을 선택한 다음, 경로 편집을 선택합니다.

  11. 경로 추가를 선택합니다. IPv4 및 IPv6 트래픽의 경우 대상 상자에 외부 또는 온프레미스 네트워크의 경로를 입력합니다. 그런 다음, 대상 목록에서 인터넷 게이트웨이 ID를 선택합니다.
    참고: 인스턴스의 인바운드 보안 그룹 규칙이 외부 또는 온프레미스 네트워크 주소로 향하는 트래픽을 제한하는지 확인하십시오.

  12. 저장을 선택합니다.

DB 인스턴스에 여전히 액세스할 수 없다면 DB 인스턴스가 퍼블릭 액세스 가능인지 확인하십시오. 자세한 내용은 이전 섹션의 로컬 컴퓨터의 인터넷을 통해 퍼블릭 서브넷에 있는 DB 인스턴스에 대한 연결 문제 해결을 참조하십시오.

다른 VPC의 EC2 인스턴스로 인한 DB 인스턴스 액세스 문제 해결

다른 VPC의 EC2 인스턴스에서 DB 인스턴스에 액세스할 수 없는 경우 VPC 피어링 연결을 만드십시오. VPC 피어링 연결은 VPC가 통신할 수 있도록 프라이빗 IP 주소를 사용합니다.

다음 단계를 완료하십시오.

  1. VPC 피어링 연결을 만듭니다.
    참고: VPC가 동일한 AWS 계정에 있는 경우 IPv4 CIDR 블록이 중복되지 않는지 확인하십시오. 자세한 내용은 VPC 피어링 제한을 참조하십시오.
  2. 연결을 수락합니다.
  3. 두 라우팅 테이블을 모두 업데이트합니다.
  4. 피어 VPC 그룹을 참조하도록 보안 그룹을 업데이트합니다.
  5. VPC 피어링 연결에 대한 DNS 확인 지원을 활성화합니다.
  6. EC2 인스턴스에서 네트워킹 유틸리티를 사용하여 다음 예와 유사한 VPC 피어링 연결을 테스트합니다.
    nc -zv hostname port
    참고: hostname을 호스트 이름으로 바꾸고 port를 포트로 바꾸십시오.
    연결이 작동하는 경우 출력은 다음과 비슷합니다.
    nc -zv myexampledb.xxxx.us-east-1.rds.amazonaws.com 5439  
    found 0 associations
    found 1 connections:
         1:    flags=82<CONNECTED,PREFERRED>
        outif en0
        src xx.xxx.xxx.xx port 53396
        dst xx.xxx.xxx.xxx port 5439
        rank info not available
        TCP aux info available
    
    Connection to myexampledb.xxxx.us-east-1.rds.amazonaws.com port 5439 [tcp/*] succeeded!
    
    

관련 정보

VPC의 DB 인스턴스에 액세스하는 시나리오

VPC에서 DB 인스턴스를 사용한 작업

댓글 없음

관련 콘텐츠