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

최종 업데이트 날짜: 2021년 8월 17일

프라이빗 서브넷의 HTTP 또는 HTTPS 포트를 사용하여 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 인터넷에 연결하기 위해 NAT 게이트웨이를 만들었습니다. 하지만 제 인스턴스는 인터넷에 접속할 수 없습니다. 이 문제를 해결하려면 어떻게 해야 하나요?

해결 방법

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

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.    소프트웨어 방화벽은 HTTP 또는 HTTPS를 통한 트래픽을 차단하지 않습니다. 대상 호스트에서 트래픽을 차단하는 방화벽이 있는지 확인하세요. 다음 예제 명령을 사용하여 방화벽을 확인할 수 있습니다.

$ telnet PUBLIC_IP TCP_PORT

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

8.    다음 두 ACL 모두 대상 IP 주소 0.0.0.0/0을 사용하여 포트 80 및 443에서 인바운드 및 아웃바운드 트래픽을 허용하는 규칙이 있습니다.

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

예를 들어 EC2 인스턴스가 HTTPS 웹 사이트에 액세스하도록 허용하려면 NAT 게이트웨이 서브넷과 연결된 네트워크 ACL에 아래 규칙이 있어야 합니다.

인바운드 규칙:

소스 프로토콜 포트 범위 허용 및 거부
VPC CIDR TCP 443 ALLOW
PUBLIC_IP TCP 1024-65535 ALLOW

아웃바운드 규칙:

대상 프로토콜 포트 범위 허용 및 거부
PUBLIC_IP TCP 443 ALLOW
VPC CIDR TCP 1024-65535 ALLOW

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

VPC의 트래픽 라우팅에 대한 자세한 내용은 VPC 및 서브넷을 참조하세요.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요합니까?