public-ec2-a1 <- private-ec2-a1
이런식으로 베스쳔 호스트를 두게되면 private-a1은 private subnet이기 때문에 외부와 통신이 불가능하다.
그러나 private ec2 인스턴스라도 패치나 업그레이드, 소프트웨어 패키지를 다운받거나 외부의 통신 경로가 필요한 경우가 있다!
외부와의 통신을 하기 위한 경로를 만들기 위해 NAT Gateway를 사용한다. (public subnet에 위치하여 private subnet의 통신이 가능하게 함
이제 그럼 설정하는 방법을 알아보자 !
1. 간단하게 NAT Gateway를 생성할 subnet을 설정하면 된다. (public 서브넷 선택).
NAT Gateway도 대부분의 AWS 서비스와 같이 IP를 기반으로 통신한다. (정확히는 NAT Gateway에 연결된 네트워크 인터페이스의 IP를 통해 통신하는 것이다.)
그러므로 NAT Gateway에 Elastic IP를 할당해주고 생성을 마친다.
2. 이제 라우트 테이블에 방금 생성한 NAT Gateway를 경로에 추가해줘야한다.
외부와 소통할 private 서브넷의 라우트 테이블을 선택한 뒤 라우팅 편집을 클릭하여 Destination에 0.0.0.0/0(외부로 향하는 통신)을 Target에 NAT Gateway를 입력해준 뒤 저장하면 끝이 난다.
NAT Gateway 설정 전 (통신이 안되는 것을 볼 수 있음)
NAT Gateway 설정 후 (정상적으로 통신됨)