Amazon Redshift 클러스터에 연결이 안 되는 이유는 무엇인가요?

3분 분량
0

Amazon Redshift 클러스터가 있는데 연결이 안 됩니다. 이 문제를 해결하고 싶습니다.

간략한 설명


연결 시간 초과 오류가 있으면 Amazon Redshift 클러스터에 문제가 발생하는 경우가 자주 있습니다. 다음과 유사한 오류 메시지가 나타납니다.

“서버에 연결할 수 없음: 연결 시간 초과
서버가 “example.123456789.us-east-1.redshift.amazonaws.com" (255.255.255.255) 호스트에서 실행 중이고
포트 5439에서 TCP/IP 연결을 수락했습니까?”

이 문제를 해결하려면 공용 또는 프라이빗 서브넷에 있는 클러스터에 다음 문제 해결 단계를 실행하세요.

해결 방법

클러스터가 공용 서브넷에 있는데 인터넷에서 액세스할 수 없습니다.

인터넷에서 Redshift 클러스터에 액세스하려면 다음 기준을 충족해야 합니다.

  • 클러스터 설정에서 공용 액세스 가능을 활성화했습니다.
  • 공용 서브넷에서 클러스터를 프로비저닝했습니다.
  • 클러스터 보안 그룹에는 클러스터의 포트 번호에 소스 IP 주소나 CIDR 블록 연결을 허용하는 인바운드 규칙이 포함되어 있습니다.

참고: 다음 단계를 완료하기 전에 Virtual Private Cloud(VPC)에 인터넷 게이트웨이가 연결되어 있는지 확인하세요.

클러스터에서 공용 액세스가 가능하도록 하는 설정을 켭니다.

  1. Amazon Redshift 콘솔을 엽니다.
  2. 클러스터를 선택합니다.
  3. 연결할 클러스터를 선택합니다.
  4. 작업을 선택합니다.
  5. 공용 액세스 가능 설정 수정을 선택합니다.
  6. 공용 액세스 가능 켜기 체크박스를 선택합니다.
  7. (선택 사항) Elastic IP 주소를 선택합니다.
  8. 변경 사항 저장을 선택합니다.

클러스터가 프라이빗 서브넷에 있는데 로컬 컴퓨터에서 연결할 수 없습니다

클러스터를 로컬 컴퓨터에 연결하는 두 가지 옵션이 있습니다.

  • 클러스터 서브넷을 공용으로 설정합니다.
  • Amazon Redshift 쿼리 에디터 v2를 사용합니다.

클러스터의 서브넷을 공용으로 설정

다음 단계를 따르세요.

  1. Amazon Redshift 콘솔을 엽니다.
  2. 클러스터를 선택합니다.
  3. 연결할 클러스터를 선택합니다.
  4. 구성 탭을 선택하고 클러스터 속성 페이지를 엽니다.
  5. VPC 보기를 선택하고 Amazon VPC 콘솔을 엽니다.
  6. 탐색 창에서 라우팅 테이블을 선택합니다.
  7. 클러스터가 있는 서브넷과 연결된 라우팅 테이블을 선택합니다.
  8. 편집을 선택합니다.
  9. 경로 추가를 선택합니다.
    IPv4 트래픽의 경우: **대상 ** 필드에 액세스를 제공하려는 CIDR 범위를 입력합니다. 대상 필드에서 인터넷 게이트웨이 ID를 선택합니다.
    IPv6 트래픽의 경우: 대상 필드에 ::/0을 입력합니다. 대상 필드에서 인터넷 게이트웨이 ID를 선택합니다.
  10. 저장을 누릅니다.

Amazon Redshift 쿼리 에디터 v2 사용

네트워크 설정을 변경하지 않고 Redshift 클러스터에 연결하려면 쿼리 데이터 v2를 사용합니다. Amazon Redshift 데이터베이스에 연결 지침을 따르세요.

다른 VPC에 있는 Amazon EC2 인스턴스에서 클러스터에 액세스할 수 없습니다.

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

  1. VPC 피어링 연결 생성 및 수락 단계를 따르세요.
    참고: VPC가 동일한 AWS 계정에 있는 경우 IPv4 CIDR 블록이 중복되지 않도록 하세요.

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

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

  4. Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 네트워킹 유틸리티를 사용해 VPC 피어링 연결을 테스트합니다. 다음은 SourceForge 웹사이트에서 netcat을 사용한 예시입니다.

    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!

관련 정보

클러스터에 액세스 권한 부여

VPC에서 클러스터 관리

VPC 피어링 연결 사용

라우팅 테이블 사용

AWS 공식
AWS 공식업데이트됨 9달 전