본문 바로가기

AWS

[AWS] Transit Gateway 구성 가이드

반응형

 

1. 개요

  • Transit Gateway는 VPC간 네트워크 연결을 가능하게 하는 서비스이며, VPC간 연결 정책을 중앙에서 관리 해주는 서비스 입니다.
  • 다수의 VPC를 일일이 peering하게되면 구조적으로 복잡해져 관리하기가 까다로워지는 단점을 보완할뿐아니라 Amazon VPN을 거치지 않고 On-premise와의 VPN연결도 가능하기 때문에 On-premise와의 VPN연결까지 관리해야할 때나 연결해야되는 VPC의 수가 많을 때 관리적인 측면에서 유리합니다.
  • 구성도에 따라 Transit Gateway를 구성해 보도록 하겠습니다.

 

2. 구성도

  • 이 매뉴얼에서 Transit Gateway를 이용하여 서로 다른 VPC를 연결하고자 합니다.

 

2.1 기본구성

  • Transit Gateway를 구성하기 전 설정되어야 하는 사항은 다음과 같으며 본 가이드에서는 기본적인 VPC, EC2 구성은 완료된 상태라고 가정하고 진행하겠습니다.
    1. VPC
    2. NAT Gateway
    3. Internet Gateway
    4. Subnet
    5. EC2 (Pritunl, Web)
  • 3개의 VPC가 구성되어있으며 각 VPC에 대한 서브넷은 Public Subnet, Private Subnet, TGW Subnet으로 구성되어있다고 가정하겠습니다.
  • Sec VPC의 Public Subnet에는 pritunl VPN서버가 구성되어있습니다.
  • Prd VPC, Dev VPC의 Private Subnet에는 test용 web서버가 될 인스턴스가 1대 존재합니다.

 

2.2 기본 흐름

 

 

  • 기본적인 흐름은 다음과 같습니다.
  • 3개의 VPC를 Transit Gateway를 통해 아래와 같이 연결할 것 입니다.
    • Sec VPC 에서는 Transit Gateway를 통해 Prd VPC, Dev VPC와 연결이 가능하게 되며 Prd VPC, Dev VPC 또한 Sec VPC와 연결이 됩니다.
    • Dev VPC와 Prd VPC는 따로 연결하지 않을 예정이므로 Dev VPC에서는 Prd VPC의 Web에 접속이 불가하고 Prd VPC에서는 Dev VPC의 Web에 접속이 불가합니다.
  • 최종적으로 Sec VPC의 Pritunl을 통해 Prd VPC와 Dev VPC의 Private 서브넷에 존재하는 웹서버에 접속해봄으로써 구성결과를 확인해보겠습니다.

 

3. Transit Gateway 구성

3.1 Transit Gateway 생성

  • VPC > Transit Gateway > Transit Gateway 생성을 선택합니다.

 

 

  • “Amazon 측 ASN” 항목에 ASN 값을 설정해줍니다.
  • 그 외 선택사항을 설정 후 Transit Gateway를 생성합니다.

 

 

 

Transit Gateway가 생성 되었다면 Transit Gateway를 선택했을 때 아래와 같이 확인이 됩니다.

 

 

3.2 VPC와 Transit Gateway 연결

  • 각각의 VPC에 대해서 Transit Gateway 연결을 해줍니다.
  • VPC > Transit Gateway > Transit Gateway 연결을 선택합니다.

 

 

  • 이름 태그는 임의로 지정합니다.
  • Transit Gateway ID는 연결에 사용할 Transit Gateway를 선택합니다.
  • (작성자는 전 단계에서 생성한 Transit Gateway 선택하였습니다.)
  • 연결 유형은 VPC로 연결할 것이기 때문에 VPC로 선택합니다.
  • VPC ID는 Transit Gateway에 연결할 VPC를 선택합니다.
  • 서브넷 ID는 VPC ID에서 선택한 VPC의 서브넷 중 트래픽을 라우팅하기 위해 Transit Gateway에서 사용할 서브넷을 선택합니다.
  • (가용영역 2a와 2c에 TGW 서브넷을 별도로 만들어 두었기에 TGW 서브넷을 선택하였습니다. )
  • Transit Gateway Attachment생성 을 누릅니다.

 

 

각각의 VPC에 대해서 Transit Gateway 연결을 해주었으며 VPC를 대상으로 ATC를 생성했기 때문에 대상 VPC에 Transit Gateway Attachment용으로 ENI가 생성됩니다.

 

3.3 Transit Gateway 라우팅 테이블 생성

 

  • Transit Gateway는 하나의 라우터라고 볼 수 있습니다. 트래픽을 전파하기 위해서는 라우팅 테이블을 설정해 주어야합니다.
  • VPC > Transit Gateway > Transit Gateway 라우팅 테이블을 선택합니다.

 

 

Transit Gateway ID는 기존에 생성한 Transit Gateway ID선택 후 Transit Gateway 라우팅 테이블 생성을 누릅니다.

 

 

 

 

위에서 생성한 Transit Gateway 라우팅 테이블에 대하여 연결해줄 Transit Gateway Attachment를 선택합니다.

<security-prd-dev-rt>

 

 

<prd-security-rt>

 

 

 

<dev-security-rt>

 

 

 

 

Transit Gateway 라우팅 테이블에 대하여 연결해준 Transit Gateway Attachment로 부터 전파할 경로를 지정해줍니다.

 

<security-prd-dev-rt>

Sec VPC TGW서브넷 가용영역 2a, 2c → Prd VPC TGW서브넷 가용영역 2a, 2c 와 Dev VPC TGW서브넷 가용영역 2a, 2c로 전파를 설정합니다.

 

 

<prd-security-rt>

Prd VPC TGW서브넷 가용영역 2a, 2c → Sec VPC TGW서브넷 가용영역 2a, 2c로 전파를 설정합니다.

 

 

<dev-security-rt>

Dev VPC TGW서브넷 가용영역 2a, 2c → Sec VPC TGW서브넷 가용영역 2a, 2c로 전파를 설정합니다.

 

 

3.4 각 Subnet 라우팅 테이블에 Transit Gateway 추가

  • Transit Gateway 라우팅 테이블뿐 아니라 각각의 VPC 서브넷에 대해서도 라우팅 테이블 설정이 필요합니다.
  • Transit Gateway 라우팅 테이블 기반으로 VPC Subnet 라우팅 테이블을 설정합니다.
  • 하나의 VPC 내 각각의 서브넷에대해서도 Transit Gateway에 대한 라우팅을 설정합니다.

 

<Sec VPC>

Sec VPC는 Dev tgw, Prd tgw을 라우팅 테이블에 설정합니다.

 

 

<Dev VPC>

Dev VPC는 Sec tgw을 라우팅 테이블에 설정합니다.

 

 

<Prd VPC>

Prd VPC는 Sec tgw을 라우팅 테이블에 올려주었습니다.

 

 

 

4. Transit Gateway 설정 확인

4.1 구성 정보 확인

 

Sec VPC Pritunl 정보

 

 

Prd VPC Web Server 정보 확인

 

Dev VPC Web Server 정보 확인

 

 

 

4.2 접속 확인

트래픽이 정상적으로 흐르는지 확인하기 위해 pritunl을 연결 하여 prd web서버와 dev web서버에 정상적으로 접속이 되는지 확인합니다.

 

 

반응형