[AWS] VPC + NAT/인터넷 게이트웨이

이정연·2023년 6월 14일
1

AWS

목록 보기
3/3
post-thumbnail

VPC

Virtual Private Cloud(가상화 개인 클라우드)

일종의 "네트워크"라고 이해하면 된다.

여러 대의 컴퓨터 간 통신을 위하여 네트워크(LAN 혹은 WAN)가 필요하듯,

여러 개의 인스턴스 간 통신을 위하여 VPC가 필요하다.

그림과 같이 VPC 내에 복수의 서브넷을 생성할 수 있고 각 서브넷에는 인스턴스들이 속한다.

게이트웨이

aws에서 제공해주는 게이트웨이는 2가지가 있다. NAT 게이트웨이와 인터넷 게이트웨이.

게이트웨이란 간단히 말해서 [사설ip ↔️ 공인ip]의 통신이라고 보면 된다.

그렇다면 여기서 의문점이 들 수도 있다.

사설 ip는 도대체 왜 필요한거지?

이는 "공인ip 발급의 한계성" 때문이다.

예를 들어, 인터넷 사용자 수가 50억명이라고 가정해보자.

이들 모두가 네트워크를 이용한다고 하면 공인 ip를 10억개 발급해줘야 하는데

문제는 ip 주소 범위상 제한이 있다는 것이다.

IPv4는 0.0.0.0~255.255.255.255 까지 표현 가능하다.

다시 말해 2^32의 주소 개수만 발급 가능하다.

이를 십진수로 나타내면 4,294,967,296(약 42억)이다.

그럼 8억명은 ip 주소를 못 받는다.

따라서, 사설ip를 이용하여 같은 네트워크 안에서 좁은 통신만 하다가 인터넷과 통신해야할 일이 있을 때만 게이트웨이를 통해서 공인ip로 변환한다.

이것이 사설ip의 존재 이유다.

그리고 게이트웨이는 이 사설ip를 공인ip로 변환해주는 과정을 담당한다.

그렇다면 2개의 게이트웨이 차이는 뭘까?

결론부터 말하면 "방향의 차이"가 있다.

시뮬레이션

  1. 인터넷에서 인스턴스에 접속하려고 한다.
  2. 인스턴스의 탄력적 IP 198.51.100.2/로 접속을 시도한다.
  3. 인터넷 게이트웨이는 이를 인스턴스 사설 IP 10.0.0.6로 라우팅한다.
  4. 해당 인스턴스 사설 IP가 속한 서브넷을 확인한다.(그림에서는 서브넷 1에 소속되어 있으므로 해당 서브넷으로 스위칭)
  5. 서브넷1에서 10.0.0.6 인스턴스로 접속

NAT 게이트웨이

NAT 게이트웨이는 단방향이다. 즉, 인스턴스로부터 외부로 나가는(인스턴스 ➡️ 인터넷) 통신은 허용하지만 외부에서 인스턴스로 들어오는(인터넷 ➡️ 인스턴스) 통신은 불허한다.

단, 인스턴스로부터 요청된 신호(request)로부터 들어오는 응답(response)은 허용한다.

인바운드? 아웃바운드?

aws를 좀 다루다보면 인바운드와 아웃바운드 규칙이라는 용어를 들어봤을 것이다.

위에서 설명한 것과 같이 인스턴스로부터 외부로 나가는 과정을 아웃바운드라고 칭하고 외부에서 인스턴스로 들어오는 과정을 인바운드라고 한다.

인터넷 게이트웨이

반대로 인터넷 게이트웨이는 양방향이다. 아웃바운드[인스턴스 ➡️ 인터넷], 인바운드[인터넷 ➡️ 인스턴스] 모두를 허용한다.

레퍼런스

https://nyyang.tistory.com/63
https://velog.io/@wowtjdwo/NAT와-IGW

profile
0x68656C6C6F21

0개의 댓글