Amazon Redshift 클러스터에 연결할 수 없음

최종 업데이트 날짜: 2021년 7월 26일

Amazon Redshift 클러스터에 연결하는 데 문제가 있습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

간략한 설명

Amazon Redshift 클러스터에 연결하려면 다음을 확인하세요.

  • 퍼블릭 서브넷에 있는 Amazon Redshift 클러스터에 인터넷을 통해 액세스하려면 퍼블릭 액세스 가능로 설정합니다.
  • Amazon Redshift 클러스터가 프라이빗 서브넷에 있는 경우, 퍼블릿 서브넷에 있는 NAT 게이트웨이를 사용하여 인터넷에 액세스합니다. 프라이빗 서브넷의 클러스터는 NAT 게이트웨이를 사용하여 인터넷에 연결할 수 있지만 인터넷이 클러스터로의 연결을 시작할 수는 없습니다.
  • Amazon Redshift 클러스터가 다른 Virtual Private Cloud(VPC) 계정에 있는 리소스와 통신할 수 있도록 하려면 VPC 피어링 연결을 생성합니다.

해결 방법

내 클러스터가 퍼블릭 서브넷에 있지만 로컬 컴퓨터에서 인터넷을 통해 이 클러스터에 연결할 수 없습니다.

참고: 아래 단계를 완료하기 전에 VPC에 인터넷 게이트웨이가 연결되어 있는지 확인합니다.

1.    Amazon Redshift 콘솔을 엽니다.

2.    클러스터를 선택합니다.

3.    연결하려는 클러스터를 선택합니다.

4.    [작업(Actions)]을 선택합니다.

5.    퍼블릭 액세스 가능 설정 수정을 선택합니다.

6.    VPC 외부의 인스턴스와 디바이스가 클러스터 엔드포인트를 통해 데이터베이스에 연결하도록 허용에서 퍼블릭 액세스 가능 편집을 선택합니다.

7.    활성화를 선택합니다.

8.    (선택 사항) 탄력적 IP 주소를 선택합니다.

9.    확인을 선택하여 변경 사항을 저장합니다.

내 클러스터가 프라이빗 서브넷에 있으며 내 로컬 컴퓨터에서 이 클러스터에 연결할 수 없음

클러스터가 로컬 시스템에 연결하려면 퍼블릭 서브넷에 있어야 합니다.

로컬 시스템에서 클러스터에 액세스하려면 다음 단계를 수행합니다.

1.    Amazon Redshift 콘솔을 엽니다.

2.    클러스터를 선택합니다.

3.    연결하려는 클러스터를 선택합니다.

4.    구성 탭을 선택하여 클러스터 속성 페이지를 엽니다.

5.    VPC 보기를 선택하여 Amazon VPC 콘솔을 엽니다.

6.    탐색 창에서 라우팅 테이블을 선택합니다.

7.    클러스터가 상주하는 서브넷과 연결된 라우팅 테이블을 선택합니다.

8.    편집을 선택합니다.

9.    라우팅 추가를 선택합니다.
IPv4 트래픽의 경우 대상 필드에 “0.0.0.0/0”을 입력하고, 대상 필드에서 인터넷 게이트웨이 ID를 선택합니다.
IPv6 트래픽의 경우 대상 필드에 “::/0”을 입력하고, 대상 필드에서 인터넷 게이트웨이 ID를 선택합니다.

10.    저장을 선택합니다.

다른 VPC에 있는 Amazon EC2(Amazon Elastic Compute Cloud) 인스턴스가 내 클러스터에 액세스할 수 없습니다.

VPC 간에 VPC 피어링 연결을 생성합니다. VPC 피어링 연결을 사용하면 두 VPC가 프라이빗 IP 주소를 사용하여 서로 통신할 수 있습니다.

1.    VPC 피어링 연결 생성 및 수락의 단계를 따릅니다.

참고: VPC가 동일한 AWS 계정에 있는 경우 IPv4 CIDR 블록이 겹치지 않는지 확인합니다.

2.    두 라우팅 테이블 모두를 업데이트합니다.

3.    피어 VPC 그룹을 참조하도록 보안 그룹을 업데이트합니다.

4.    EC2 인스턴스에서 netcat와 같은 네트워킹 유틸리티를 사용하여 VPC 피어링 연결을 테스트합니다. 예:

nc -zv <hostname> <port>

VPC 피어링 연결이 성공하면 다음과 같이 출력됩니다.

$ nc -zv example.123456789.us-east-1.redshift.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 example.123456789.us-east-1.redshift.amazonaws.com port 5439 [tcp/*] succeeded!