프라이빗 서브넷의 Amazon EC2 인스턴스에서 NAT 게이트웨이를 통해 인터넷에 연결할 수 없는 이유는 무엇인가요?

2분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 인터넷에 연결하기 위해 NAT 게이트웨이를 만들었습니다. 인스턴스에서 프라이빗 서브넷의 HTTP 또는 HTTPS 포트를 사용함에도 불구하고 인터넷에 연결할 수 없습니다.

해결 방법

인스턴스가 다음 조건을 충족하는지 확인하세요.

1.    다른 소스에서 퍼블릭 IP 주소를 사용하여 대상 주소를 ping하는 방법으로 대상 주소에 연결할 수 있습니다.

2.    NAT 게이트웨이가 사용 가능 상태입니다. NAT 게이트웨이가 실패 상태인 경우 NAT 게이트웨이 생성 실패를 참고하세요.

참고: 실패 상태의 NAT 게이트웨이는 약 1시간 후에 자동으로 삭제됩니다.

3.    퍼블릭 서브넷에 NAT 게이트웨이를 생성했고 퍼블릭 라우팅 테이블인터넷 게이트웨이를 가리키는 기본 경로가 있습니다.

4.    프라이빗 서브넷의 라우팅 테이블에 해당 NAT 게이트웨이를 가리키는 기본 경로가 있습니다.

중요: 프라이빗 서브넷과 퍼블릭 서브넷 모두에 동일한 라우팅 테이블을 사용하지 않도록 유의하세요. 동일한 라우팅 테이블을 사용하면 트래픽이 인터넷으로 라우팅되지 않습니다.

5.    VPC에서 enableDnsSupport 속성이 true로 설정되어 있습니다. 자세한 내용은 VPC에서 DNS 속성 보기 및 업데이트를 참고하세요.

참고: DNS 확인 실패를 방지하려면 DNS를 켜세요.

6.    포트 80(HTTP 트래픽의 경우)과 443(HTTPS 트래픽의 경우)을 통한 트래픽의 경우 방화벽에서 차단하지 않습니다. 대상 호스트에서 트래픽을 차단하는 방화벽이 있는지 확인하세요. 다음 예제 명령을 사용해 방화벽을 확인할 수 있습니다.

$ telnet PUBLIC_IP TCP_PORT

7.    인스턴스의 탄력적 네트워크 인터페이스에 연결된 보안 그룹이 포트 80 및 443으로 가는 아웃바운드 트래픽을 허용합니다. 자세한 내용은 Linux 인스턴스용 Amazon EC2 보안 그룹이나 Windows 인스턴스용 Amazon EC2 보안 그룹을 참고하세요.

8.    다음은 대상 IP 주소 0.0.0.0/0을 사용해 포트 80 및 443에서 인바운드 및 아웃바운드 트래픽을 허용하는 규칙을 보여주는 예시입니다.

  • 인스턴스가 있는 프라이빗 서브넷에 연결된 네트워크 액세스 제어 목록(ACL).
  • NAT 게이트웨이가 있는 퍼블릭 서브넷에 연결된 네트워크 ACL.

Amazon EC2 인스턴스가 HTTPS 웹 사이트에 액세스할 수 있도록 하려면 NAT 게이트웨이 서브넷과 연결된 네트워크 ACL에 다음 규칙이 있어야 합니다.

인바운드 규칙

소스프로토콜포트 범위허용 / 거부
VPC CIDRTCP443ALLOW
PUBLIC_IPTCP1024~65535ALLOW

아웃바운드 규칙

대상프로토콜포트 범위허용 / 거부
PUBLIC_IPTCP443ALLOW
VPC CIDRTCP1024~65535ALLOW

네트워크 ACL 구성에 대한 자세한 내용은 네트워크 ACL 사용을 참고하세요.


관련 정보

NAT 게이트웨이

라우팅 테이블 구성

AWS 공식
AWS 공식업데이트됨 2년 전