Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 인터넷에 연결하기 위해 NAT 게이트웨이를 만들었습니다. 인스턴스에서 프라이빗 서브넷의 HTTP 또는 HTTPS 포트를 사용하지만 인터넷에 연결할 수 없습니다.
해결 방법
대상 연결성 및 NAT 게이트웨이 상태 확인
퍼블릭 IP 주소를 통해 다른 소스에서 대상에 연결할 수 있는지 확인하십시오. NAT 게이트웨이가 사용 가능 상태인지 확인합니다. NAT 게이트웨이가 실패 상태인 경우 NAT 게이트웨이 생성 실패를 참조하십시오.
참고: 실패 상태인 NAT 게이트웨이는 약 1시간 후에 자동으로 삭제됩니다.
서브넷 및 라우팅 테이블 구성 확인
퍼블릭 서브넷에서 NAT 게이트웨이를 만들었는지 확인하십시오. 퍼블릭 라우팅 테이블에 트래픽을 인터넷 게이트웨이로 보내는 기본 경로가 있는지 확인합니다. 또한 프라이빗 서브넷의 라우팅 테이블에 트래픽을 NAT 게이트웨이로 보내는 기본 경로가 있는지 확인합니다.
중요: 프라이빗 서브넷과 퍼블릭 서브넷에 모두 동일한 라우팅 테이블을 사용하지 않도록 하십시오. 동일한 라우팅 테이블을 사용하면 트래픽이 인터넷으로 라우팅되지 않습니다.
DNS 확인 실패를 방지하려면 가상 프라이빗 클라우드(VPC)에서 enableDnsSupport 속성을 true로 설정하십시오. 자세한 내용은 VPC의 DNS 속성 보기 및 업데이트를 참조하십시오.
방화벽 및 포트 설정 확인
방화벽이 소스 및 대상 호스트에서 HTTP 트래픽의 경우 포트 80을 통한 트래픽을 허용하고 HTTPS 트래픽의 경우 포트 443을 통한 트래픽을 허용하는지 확인하십시오. 연결을 확인하려면 다음 명령을 실행합니다.
telnet PUBLIC_IP TCP_PORT
보안 그룹 설정 검토
인스턴스의 탄력적 네트워크 인터페이스에 연결된 보안 그룹이 포트 80 및 443으로 나가는 아웃바운드 트래픽을 허용하는지 확인하십시오. 자세한 내용은 EC2 인스턴스의 Amazon EC2 보안 그룹을 참조하십시오.
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을 구성하는 방법에 대한 자세한 내용은 네트워크 액세스 제어 목록으로 서브넷 트래픽 제어를 참조하십시오.
관련 정보
NAT 게이트웨이
라우팅 테이블 구성