AWS/AWS 서비스
[VPC] NAT(Network Address Translate) 개념잡기
[앙금빵]
2021. 11. 22. 01:44
NAT (Network Address Translate)
- NAT는 Network Address Translation의 약자로, 외부 네트워크에 알려진 것과 다른 IP 주소를 사용하는 내부 네트워크에서, 내부 IP 주소를 외부 IP주소로 변환하는 작업을 수행하는 서비스이다.
- IP 패킷의 TCP/UDP 포트 숫자와 소스 및 목적지의 IP 주소 등을 재기록하면서 라우터를 통해 네트워크 트래픽을 주고 받는 기술을 말한다.
- 패킷에 변화가 생기기 때문에 IP나 TCP/UDP의 체크섬(checksum)도 다시 계산되어 재기록해야 한다.
- NAT를 이용하는 이유는 대개 사설 네트워크에 속한 여러 개의 호스트가 하나의 공인 IP 주소를 사용하여 인터넷에 접속하기 위함이다.
NAT를 사용하는 목적
[인터넷의 공인 IP 주소를 절약]
- 인터넷의 공인 IP주소는 한정되어 있기 때문에 가급적 이를 공유할 수 있도록 하는 것이 필요
- NAT를 이용하면 사설 IP주소를 사용하면서 이를 공인 IP주소와 상호변환할 수 있도록 함
- 공인 IP주소를 다수가 함께 사용할 수 있도록 함으로써 이를 절약할 수 있다.
[고유한 사설망을 침입자들로부터 보호]
- 공개된 인터넷과 사설망 사이에 방화벽(Firewall)을 설치하여 외부 공격으로부터 사용자의 통신망을 보호하는 기본적인 수단으로 활용할 수 있다.
- 외부 통신망 즉 인터넷망과 연결하는 장비인 라우터에 NAT를 설정할 경우 라우터는 자신에게 할당된 공인 IP주소만 외부로 알려지게 하고, 내부에서는 사설 IP주소만 사용하도록 하여 필요시에 이를 서로 변환시켜 준다.
- 외부 침입자가 공격하기 위해서는 사설망의 내부 사설 IP주소를 알아야 하기 때문에 공격이 불가능해지므로 내부 네트워크를 보호할 수 있게 된다.
NAT(Network Address Translation) 역할
- Private Subnet에서 인터넷 통신을 하기 위해서는 NAT(Network Address Translation) 역할이 필요하다.
- NAT는 Private IP를 Public IP로 변환하여 통신을 돕는다.
- 이러한 기능을 제공하기 위해 AWS에서는 NAT Gateway와 NAT Instance의 서비스를 제공한다.
NAT Gateway vs NAT Instance
요즘은 NAT Instance는 거의 이용하지 않으며, NAT Gateway를 이용한다고 한다.
NAT Gateway | NAT Instance |
|
|
💡 NAT Gateway는 내부적으로 이중화 구성이 되어 있다.
다시말하자면, NAT Gateway를 구현하기 위해 AWS 데이터센터에 구성되어 있는 네트워크 장비들 및 회선이 이중화가 되어있다. 이에 Client는 NAT Gateway가 이중화로 구성되어 있는지는 알 수 없다.