인터넷 게이트웨이와 라우팅 테이블을 이용해서 외부 인터넷과 통신하는 방법을 알아 보았다.
그렇다면 private한 리소스가 외부의 리소스(인터넷)으로 액세스 할수 있는 방법은 무엇일까???
그때 바로 nat 게이트웨이를 쓴다.
NAT 게이트웨이란?
- 프라이빗 서브넷의 리소스(예 : EC2 인스턴스) 가 공인 IP를 통해 인터넷에 나갈 수 있도록 허용합니다.
- 인터넷에서 프라이빗 서브넷으로 들어오는 트래픽은 차단됩니다.
- AWS에서 완전 관리형으로 제공되는 서비스로, 사용자가 직접 NAT 장치를 설정하지 않아도 됩니다.
- NAT를 이용하는 이유는 대게 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.
내가 생각하기에는 이 마지막 설명이 중요한것 같다.
예를 들어 내가 집에서 사용하는 IPv4 주소는 172.16.0.0 으로 할당 받았다고 가정한다.
그럼 나는 172.16.0.0 은 사설 ip이고 만약 다른 가정이나 카페, 회사에서 나랑 같은 ip가 존재할수 있다.
그럼 인터넷에 요청을 하고 받을때 어떻게 내 주소를 찾는 것일까?
그때 바로 NAT가 필요하다. NAT가 내 사설 ip를 기억하고 nat는 실제로 인터넷과 통신할때는 공인 ip로 변환해서 나가고 다시 데이터를 받을 떄 NAT가 가지고 있던 주소로 오는것이다
위와 같이 나는 private subnet을 두고 내부에서만 사용하고 싶다. 근데 RDS가 외부 인터넷을 통해 업데이트를 해야 할 일이 생긴다면 어떻게 해야 할까? 그때 공인 ip를 따로 만들어서 IGW를 연결해줘야 할까?
위의 경우에 NAT gateway 를 사용한다. 인터넷 접속이 가능한 public subnet에 NAT Gateway를 생성해두고 private subnet이 외부 인터넷으로 나갈 경우에만 라이팅을 추가한다. NAT Gateway는 내부에서 외부로의 접속만 가능하며 외부에서 NAT Gateway를 이용하여 접속하는 것은 불가능하다.
위의 nat 게이트웨이에 들어가서 생성을 한다
이렇게 되면 할당된 탄력적 IP(공인 IP)로 subnet에 있는 리소스 들이 나갈수 있게 됩니다.
위와 같이 설정하면 결국
private subnet -> nat gateway -> internet gateway -> 인터넷
으로 나가게 됩니다.
'AWS' 카테고리의 다른 글
VPC - 보안(네트워크 ACL & 보안 그룹) (0) | 2025.01.18 |
---|---|
왜 하나의 서버에 하나의 IP만 쓰지 않을까? (0) | 2025.01.16 |
Routing Table & Internet Gateway(라우팅테이블 & 인터넷게이트웨이) (0) | 2025.01.14 |
AWS에서 네트워크 트래픽과 접근을 제어하는 도구 (0) | 2025.01.13 |
AWS에서 네트워크 트래픽과 접근을 제어하는 도구 (0) | 2025.01.11 |