aws에서 vpc 구성 후 public subnet, private subnet을 생성한다. public subnet은 internet gateway를 통해 외부 인터넷과 통신을 할테고 private subnet은 public subnet에 nat gateway 또는 nat instance를 생성한 후에 연결해서 통신을 가능케 한다.
nat gateway 비용이 비싸서 nat instance 구축도 많이 하는 듯 하다. nat instance는 ec2 서버로 만든다. 비용 문제만 없다면 편의성은 nat gateway가 훨씬 높아 보인다.
웹상의 수많은 튜토리얼과 서적을 참고해 nat instance를 구성해 봤다. private subnet의 ec2에서 nat instance로 routing table을 설정하고 private subnet의 ec2에서 외부 인터넷으로 ping을 날려봤지만 되지 않는다.
뭐가 문제인가?
nat instance는 ec2로 만든다. ec2에 접근할 수 있는 보안 규칙을 설정해야 하는데 이때 private subnet의 ec2가 붙을 수 있는 인바운드 규칙을 설정해 줘야 한다. (기존에는 ssh 접속만 허용해 놨었다.) 그래야 받아서 외부 인터넷으로 보낼 수 있다. private subnet의 특정 ec2 ip만 허용해 줄 수도 있다.
이 내용은 ec2로 만드는 nat instance의 설정과 관련한 것이다. nat gateway는 다를 수 있다.