반응형
EC2 인스턴스가 Public IP를 사용했을 때는 연결이 되고, NAT Gateway를 사용했을 때는 연결이 되지 않는 경우, 이는 네트워크 설정과 NAT Gateway의 동작 방식 차이로 인해 발생할 수 있습니다.
Public IP와 NAT Gateway의 차이점
- Public IP: EC2 인스턴스가 직접 외부 네트워크(인터넷)와 통신할 수 있습니다. 즉, EC2 인스턴스에 할당된 Public IP를 통해 인스턴스는 외부에서 직접 접근 가능하고, 외부와의 통신이 자유롭습니다.
- NAT Gateway: NAT Gateway는 프라이빗 서브넷에 위치한 EC2 인스턴스가 아웃바운드 트래픽을 통해 인터넷과 통신할 수 있도록 중계 역할을 합니다. 그러나, NAT Gateway는 외부에서 프라이빗 서브넷으로의 인바운드 트래픽을 허용하지 않습니다. 즉, 외부에서 NAT Gateway를 통해 프라이빗 인스턴스에 접근할 수는 없습니다.
주요 차이점 요약
- Public IP:
- EC2 인스턴스가 인터넷과 양방향으로 연결 가능 (인바운드 및 아웃바운드).
- 외부에서 인스턴스에 직접 접근 가능.
- NAT Gateway:
- 프라이빗 서브넷의 인스턴스가 아웃바운드로 인터넷에 연결 가능.
- 외부에서 NAT Gateway를 통해 인스턴스에 접근할 수 없음.
연결 문제 해결을 위한 확인 사항
- 서브넷 구성 확인:
- Public IP를 사용하는 인스턴스는 퍼블릭 서브넷에 위치하며, 인터넷 게이트웨이를 통해 외부와 연결됩니다.
- NAT Gateway를 사용하는 인스턴스는 프라이빗 서브넷에 위치하며, 아웃바운드 트래픽만 NAT Gateway를 통해 나가게 됩니다.
- 라우팅 테이블 설정 확인:
- 퍼블릭 서브넷의 경우, 라우팅 테이블에 인터넷 게이트웨이(IGW)가 연결되어 있어야 합니다.
- 프라이빗 서브넷의 경우, 라우팅 테이블에 NAT Gateway가 연결되어 있어야 합니다.
- NAT Gateway가 설정된 프라이빗 서브넷에 인스턴스가 위치한 경우, 아웃바운드 트래픽만 NAT Gateway를 통해 나갈 수 있습니다. 라우팅 테이블이 잘못 구성된 경우 외부 연결에 문제가 생길 수 있습니다.
- 0.0.0.0/0 -> nat-xxxxxxxx (NAT Gateway)
- 0.0.0.0/0 -> igw-xxxxxxxx (인터넷 게이트웨이)
- 보안 그룹 및 네트워크 ACL 확인:
- EC2 인스턴스의 보안 그룹과 네트워크 ACL에서 아웃바운드 트래픽이 허용되는지 확인합니다.
- Public IP를 사용한 인스턴스의 경우, 인바운드 규칙이 올바르게 설정되어 있어야 외부에서 접근할 수 있습니다.
- NAT Gateway를 사용하는 경우, 인스턴스에 대한 아웃바운드 규칙이 올바르게 설정되어 있는지 확인합니다.
- NAT Gateway 설정 확인:
- NAT Gateway는 퍼블릭 서브넷에 위치해야 하며, 이를 통해 프라이빗 서브넷에 있는 인스턴스가 인터넷에 연결됩니다.
- NAT Gateway에 연결된 퍼블릭 서브넷에는 인터넷 게이트웨이(IGW)가 연결되어 있어야 합니다.
- NAT Gateway 자체에 Public IP가 할당되어 있어야 프라이빗 서브넷에서 인터넷으로 나갈 수 있습니다.
- DNS 설정 확인:
- EC2 인스턴스가 인터넷에 연결될 때 DNS 설정이 올바르게 설정되어 있는지 확인하세요.
- 특히, 프라이빗 서브넷에서 NAT Gateway를 사용할 때는 DNS 호스트네임이 제대로 설정되어 있어야 합니다.
결론
- Public IP를 사용할 때는 양방향 통신이 가능하고, 외부에서 직접 연결할 수 있습니다.
- NAT Gateway를 사용할 때는 프라이빗 서브넷의 EC2 인스턴스가 아웃바운드로만 인터넷과 통신할 수 있으며, 외부에서 프라이빗 서브넷의 인스턴스에 직접 연결할 수 없습니다.
만약 외부에서 접근이 필요한 경우, Public IP 또는 Elastic IP를 할당하거나, 인터넷 게이트웨이를 사용하는 퍼블릭 서브넷에 인스턴스를 배치하는 방법을 고려해야 합니다.
반응형