왜 프라이빗 서브넷의 Amazon EC2 인스턴스에서 NAT 게이트웨이를 사용하여 인터넷에 연결할 수 없습니까?

2분 분량
0

Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 인터넷에 연결하기 위해 NAT 게이트웨이를 생성했습니다. 내 인스턴스가 프라이빗 서브넷에서 HTTP 또는 HTTPS 포트를 사용하지만 인터넷에 연결할 수 없습니다.

해결 방법

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

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

2.    NAT 게이트웨이가 Available 상태입니다. NAT 게이트웨이가 Failed 상태인 경우 NAT 게이트웨이 생성 실패를 참조하세요.

참고: Failed 상태의 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년 전