WiseN

[Reinvent2019] IGW/VGW에 라우팅을 정의 - VPC Ingress Routing 소개

Dec 19, 2019   |   AWS

작성자_강현석

페이스북 공유하기 트위터 공유하기
Blog thumbnail

들어가며



안녕하십니까. GS네오텍 강현석입니다.

AWS에서는 다양한 형태의 네트워크 서비스를 제공합니다. 그 범위를 VPC 서비스로 좁히면, 처음 2011년에 서비스가 출시되고(이전엔 EC2-Classic 체계 사용) 이후부터는 지속적인 업데이트를 통해 격리/연동/제어 관점에서 사용자에게 다양한 옵션을 제공해 왔습니다. 이번 리인벤트 2019 행사에서도 네트워크와 관련된 업데이트가 서너개 있었는데요.

이번 글에서는 그 중 VPC Ingress Routing 기능에 대하여 소개 드리고자 합니다.
 


VPC Ingress Routing 개요





AWS는 Cloud를 구성하는 가장 기본 단위인 VPC에서 네트워크를 구성하고 다양한 연결 옵션을 제공합니다. VPC에서 Subnet을 생성하여, Private과 Public Subnet을 구분하고 VPN을 연결 하는 등 다양한 환경을 구성할 수 있습니다. 다만, 이전까지는 트래픽을 전달하기 위해 각 Subnet과 연결된 Route Table을 통해 'Outbound Routing'에 대한 제어밖에 할 수가 없었는데요.
 
이번 업데이트를 통해 트래픽이 들어오는 Gateway 타입의 리소스에 Route Table을 연결하여 VPC 내부로 들어오는 트래픽을 특정 Target으로 전달할 수 있게 되었습니다.
 

관련하여 AWS 공식 문서는 다음 링크를 참조하시기 바랍니다.

 

AWS Documentation – Gateway Route Tables 

 

 

▨ 사용 방법
 

'VPC Ingress Routing'의 사용은 이전에 VPC Subnet에 Route Table을 설정하는 것과 동일한 방식입니다. 기존의 Route Table을 설정하는 것과 동일하지만 트래픽의 목적지가 VPC 외부가 아닌 내부라고 생각하면 이해가 쉽습니다.
 

먼저, 이번 기능이 업데이트 됨으로써 기존 Route Table이 다음과 같이 2가지로 개념을 정리 해보겠습니다. 

  • Outbound Route Table :​ 통신 대상이 'VPC 외부'인 경우, Outbound Routing을 위해 사용  
  • Inbound Route Table(Gateway Route Table) : 통신 대상이 'VPC 내부'인 경우, Inbound Routing을 위해 사용

AWS는 이러한 Inbound Route Table을 'Gateway Route Table'이라고 지칭합니다. 즉, VPC Ingress Routing을 위해 사용하는 Gateway Route Table은 Gateway 타입의 리소스에 연결하여 사용한다고 생각하시면 되겠습니다.

 

▨ 고려 사항
 

Gateway Route Table은 앞서 말씀드렸던 것처럼, Gateway 타입의 리소스에 대해 사용할 수 있습니다. (현재는 Internet G/W와 Virtual Private G/W만 지원) 설정 가능한 목적지(Destination)는 해당 VPC의 CIDR Block(IPv4/IPv6)을 포함하여, VPC CIDR 보다 더 구체적인 경로에 대해서 설정이 가능합니다. 또한, 목적지에 대한 Next Hop(Target)은 기존의 Local 경로 외에 ENI(Elastic Network Interface)로 설정이 가능합니다. 필요에 따라, ENI로 지정한 Target을 Local 경로로 수정도 가능합니다.

 

  

VPC Ingress Routing 데모



Gateway Route Table을 설정하는 방법은 다음과 같습니다.

먼저, Gateway Route Table로 설정한 Route Table을 생성합니다. (다음 그림 참조)

※ ​Route Table의 용도(In/Out)을 구분하기 위해, 명시하는 것을 권장합니다. 

 

그런 다음, 해당 Route Table에 연결할 Gateway를 지정합니다. (예제에서는 Internet G/W를 연결)

 

다음과 같이 해당 Route Table에 Gateway가 연결 된 것을 확인할 수 있습니다.

 

보시는 것처럼, 기존의 Route Table을 Gateway에 연결하여 사용하는 것과 목적지가 VPC 외부가 아닌 내부라는 점 외에는 크게 어려운 점이 없습니다. Gateway Route Table을 어떻게 적용할지 아직 감이 잡히지 않는 분들은 다음 예제를 참고하시기 바랍니다.

 

AWS Documentation - Routing For a Miiddlebox Appliance in VPC

 

  

마치며



이 기능도 다른 AWS 서비스와 마찬가지로 일부 제약사항이 있습니다.
 

다음의 경우, Route Table을 Gateway와 연결할 수 없기 때문에 주의가 필요합니다. 

  • Route Table에 Next Hop이 ENI 또는 Local 경로 외에 기존의 경로를 사용하는 다른 Target이 포함 된 경우
  • Route Table에 VPC CIDR Range를 벗어나는 기존의 경로가 포함 된 경우
  • Route Table에 Route Propagation이 활성화 된 경우 

※ Gateway Route Table을 사용하여 VPC로 들어오는 트래픽을 Intercept하고 동일한 VPC의 다른 Target으로만 Redirect 할 수 있음
 

정리하면, Gateway Route Table을 통해 보안 솔루션과의 통합을 보다 단순하게 구성할 수 있습니다. IGW(Internet Gateway)와 VGW(Virtual Private Gateway)에서 정의한 Routing 규칙에 따라 트래픽이 목적지에 도달하기 전에 VPC로 수신되는 트래픽을 타사 Appliance로 Redirection 할 수 있기 때문에, 필요한 보안&네트워킹 솔루션을 손쉽게 배포할 수 있습니다.
 

이상 마칩니다. 끝!