
NAT 게이트웨이는 쉽게 말해서 라우터를 인터넷에 연결해주는 선과 같은 것이다. 라우터에 연결돼있는 선을 뽑으면 당연히 인터넷이 안된다.
그래서 NAT는 Internet Gateway라는 녀석과 함께 쓰인다.
클라우드에서 모든 리소스에 public ip를 할당하면 좋겠지만, 그러기엔 비용도 많이 들고 관리도 힘들다.
그래서 대부분의 리소스는 private ip를 사용하게 되는데, 이 private ip를 가진 리소스들이 인터넷과 통신하려면 NAT 게이트웨이가 필요하다.
AWS를 처음 접한다면 Internet Gateway를 연결해본 경험이 있을 것이다. 그런데 중간에 Internet Gateway와 VPC를 연결해주는 NAT Gateway가 무슨 역할인지 제대로 감을 못잡을 수도 있다.
NAT Gateway는 Internet Gateway에 종속되어 있는 것이 맞다. egress는 챙기고 싶지만 ingress는 챙기고 싶지 않을 때 NAT Gateway를 사용한다.
동일한 역할을 수행하는 리소스가 더 있다.
Security Group이 위와 같은 역할을 동일하게 수행할 수 있다. (private subnet이 필요 없다.)
하지만 전통적(클라우드가 아닌)인 네트워크를 하는 사람들이 public subnet과 private subnet이 좀 더 친숙해서 동일한 환경을 AWS에 구축해 놓는 것이다.
이외에도 Security Group은 각 리소스에 독립적으로 적용될 수 있지만 NAT Gateway는 네트워크 레벨에서 적용될 수 있다는 점에서 차이가 있다.
참조
멋지십니다