Cloud./aws

[AWS] 인터넷 게이트웨이

인쥭 2021. 4. 12. 13:44
반응형

참고 : 링크

인스턴스의 트래픽이 외부로 나가기 위해 라우팅 테이블을 참조하고, IGW로 트래픽이 흐른다.
VPC 내부의 통신은 사설 IP만을 사용하므로, IGW와 인스턴스의 통신은(인스턴스에 공인IP가 있음에도) 출발지 필드에 사설 IP를 사용한다.
IGW는 해당 트래픽을 외부로 포워딩하며 출발지 필드를 인스턴스의 공인 IP로 변경해준다. (때문에 인스턴스에 공인IP가 없다면 외부와 통신이 불가능하다)

즉, IGW의 역할은 1. 라우팅 테이블에 라우팅 대상을 제공 / 2. NAT 역할을 수행
이 된다.

 

상세

  1. 인스턴스에서 ping 8.8.8.8 등을 통해 외부로 접근을 시도한다.
  2. 라우팅 테이블의 0.0.0.0/0에 의해 VPC 네트워크 대역 이외의 트래픽은 모두 IGW로 포워딩된다.
    • 이 때, IGW와 인스턴스 사이의 통신은 사설 IP를 사용한다.
    • 원인 : AWS Docs에서... - 사용자의 인스턴스는 VPC 및 서브넷 내부에서 정의된 프라이빗(내부) IP 주소 공간만 인식합니다.
  3. IGW는 받아들인 트래픽을 확인하고, 트래픽의 출발지 필드를 인스턴스의 공인 IP로 변경하여 목적지 필드에 적힌 목적지로 보낸다.
    • 때문에 IGW는 NAT의 역할 또한 수행한다.
  4. 돌아오는 트래픽은 역순으로 수행한다.
    • 이러한 이유에서, 인스턴스에 공인 IP(탄력적 IP를 포함)가 없다면 외부 통신을 수행할 수 없다.
    • 인스턴스에 공인 IP를 두지 않고 외부 통신을 수행하려면 인스턴스 > NGW > IGW의 흐름을 따라야만 한다.