본문 바로가기

Project

[AWS] VPC를 Transit Gateway에 연결해보자

반응형

안녕하세요. Naver Cloud, NHN Cloud 를 주로 사용하면서 AWS 에서 VPC 를 연결할때 어떻게 하는지에 대해서 자세히 알아보고 싶어 이렇게 글을 적어봅니다.

 

Transit Gateway 란

Transit Gateway는 VPC 와 온프레미스 네트워크를 상호 연결하는 데 사용할 수 있는 네트워크 전송 허브입니다. 

AWS Transit Gateway 는 여러 VPC 및 VPN 연결을 중앙에서 관리하는 서비스입니다. Transit Gateway를 사용하면 여러 VPC 간의 트래픽을 효율적으로 라우팅하고, 두 리전 간의 연결을 구성할 수 있습니다.

 

Transit Gateway 를 사용하면 VPC 와 VPN 연결을 연결하고 두 리전 간의 트래픽을 라우팅 할 수 있습니다.

Transit Gateway Connect 연결에 대한 Transit Gateway Connect 피어를 설정할 때 CIDR 블록에서 IP 주소를 지정합니다.

주의사항 :169.254.0.0/16 범위 내의 주소와 VPC 연결 및 온프레미스 네트워크의 주소와 겹치는 범위를 제외한 모든 퍼블릭 또는 프라이빗 IP 주소 범위를 연결 할 수 있습니다.  

 

Transit Gateway 로 작업하기

Transit Gateway는 다음 인터페이스 중 하나를 사용하여 생성하고, 액세스하고, 관리할 수 있습니다.

  • AWS Management Console : 웹 인터페이스
  • AWS CLI : Window, macOS, Linux 지원
  • AWS SDK : 언어별 API 작업을 제공하고 많은 요청, 연결 세부 정보를 관리
  • 쿼리 API : HTTPS 요청을 사용하여 호출하는 하위 수준의 API 작업을 제공

 

 

Transit Gateway  작동 원리

더보기

Transit Gateway를 통한 라우팅은 패킷이 대상 IP 주소를 기반으로 특정 다음 홉 연결로 전송되는 계층 3에서 작동합니다.

 

 

 

Transit Gateway Attachment는 패킷의 소스이자 대상입니다.

 

 

AWS Transit Gateway는 대부분의 연결에 Equal Cost Multipath(ECMP) 라우팅을 지원합니다. VPN 연결의 경우, Transit Gatewa를 생성하거나 수정할 때 콘솔을 사용해 ECMP 지원을 활성화하거나 비활성화 할 수 있습니다.

  • VPC-VPC는 CIDR 블록이 중첩될 수 없기 때문에 ECMP를 지원하지 않습니다. 예를 들어, CIDR 10.1.0.0/16을 포함한 VPC를 Transit Gateway 에 대하여 같은 CIDR 을 사용하는 두 번째 VPC와 연결하여 둘 사이의 트래픽을 로드 밸런싱할 라우팅은 설정 할 수 없습니다.

 

가용 영역 활성화 사용으로인한 가용성 확보

Transit Gateway에 VPC를 연결할 때는 Transit Gateway에서 하나 이상의 가용 영역을 사용하여 트래픽을 VPC 서브넷의 리소스로 라우팅해야 합니다. 각 가용 영역을 활성화하려면 정확히 하나의 서브넷을 지정해야 합니다. Transit Gateway 는 서브넷의 IP 주소 하나를 사용하여 해당 서브넷에 네트워크 인터페이스를 배치합니다. 가용 영역을 활성화하면 지정된 서브넷이나 가용 영역이 아닌 VPC 의 모든 서브넷으로 트래픽을 라우팅 할 수 있습니다. 

 

VPC 라우팅 테이블 예시

 

VPC 로컬 경로는 우선순위가 가장 높으며, 그 다음은 가장 구체적인 경로입니다. 정적 경로와 전파 경로의 대상이 같은 경우, 정적 경로 우선순위가 더 높습니다.

 

Transit Gateway 사용 사례

 

VPC 라우팅 테이블

 

 

Transit Gateway 라우팅 테이블

 

고객 게이트웨이 BGP 테이블

  • 10.1.0.0/16
  • 10.2.0.0/16
  • 10.3.0.0/16

 

 

대망의 마지막 시나리오를 말해보려 합니다.

 

Direct Connect 게이트웨이에 Transit Gateway 연결

전용 가상 인터페이스를 사용하여 Transit Gateway를 Direct Connect 게이트웨이에 연결합니다. 

  • 동일한 리전에 있는 여러 VPC 또는 VPN에 대한 단일 연결을 관리합니다.
  • 온프레미스에서 AWS 로, AWS에서 온프레미스로 접두사를 공급합니다.

Transit Gateway 시나리오

콘솔을 사용하여 피어링 연결 생성

1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

2. 탐색 창에서 Transit Gateway Attachments를 선택합니다.

3. Transit Gateway Attachment 생성(Create transit gateway attachment)을 선택합니다.

4. Transit gateway ID에서 연결에 사용할 Transit Gateway를 선택합니다. 소유한 Transit Gateway나 공유 하는 Transit Gateway를 선택하면 됩니다.

5. 연결 유형(Attachment type)에서 피어링 연결(Peering Connection)을 선택합니다.

6. 선택적으로 연결에 대한 이름 태그를 입력합니다.

7. 계정(Account)에서 다음 중 하나를 수행합니다. • Transit Gateway가 계정에 있는 경우 내 계정(My account)을 선택합니다. • Transit Gateway가 다른 AWS 계정에 있는 경우 기타 계정(Other account)을 선택합니다. [계정 ID(Account ID)]에 AWS 계정 ID를 입력합니다.

8. 리전(Region에서 Transit Gateway가 위치한 리전을 선택합니다.

9. Transit Gateway(수락자)(Transit gateway (accepter))에 연결할 Transit Gateway의 ID를 입력합니다.

10. Transit Gateway Attachment 생성(Create Transit Gateway attachment)을 선택합니다.

 

Transit Gateway 라우팅 테이블에 경로 추가

피어링된 Transit Gateway 간에 트래픽을 라우팅하려면 Transit Gateway 피어링 연결을 가리키는 Transit Gateway 라우팅 테이블에 정적 경로를 추가해야 합니다. 수락자 Transit Gateway의 소유자는 Transit Gateway의 라우팅 테이블에 정적 경로도 추가해야 합니다.

콘솔을 사용하여 정적 경로 생성

1. https://console.aws.amazon.com/vpc/에서 Amazon VPC 콘솔을 엽니다.

2. 탐색 창에서 Transit Gateway Route Tables(전송 게이트웨이 라우팅 테이블)를 선택합니다.

3. 경로를 생성할 라우팅 테이블을 선택합니다.

4. Actions(작업), 정적 경로 생성(Create static route)을 선택합니다.

5. 정적 경로 생성(Create static route) 페이지에 경로를 생성할 CIDR 블록을 입력합니다. 예를 들어 피어 Transit Gateway에 연결된 VPC의 CIDR 블록을 지정합니다.

6. 해당 경로에 대한 피어링 연결을 선택합니다.

7. 정적 경로 생성(Create static route)을 선택합니다.

 

 

 

Transit Gateway Connect 연결 및 Transit Gateway Connect 피어

Connect 연결을 생성한 후 Connect 연결에 하나 이상의 GRE 터널(Transit Gateway Connect 피어라고도 함) 을 생성하여 Transit Gateway 및 서드 파티 어플라이언스를 연결할 수 있습니다. GRE 터널을 통해 두 BGP 세션을 설정하여 라우팅 정보를 교환합니다.

 

더보기

Transit Gateway Connect 피어는 AWS-관리형 인프라에서 종료되는 두 개의 BGP 피어링 세션으 로 구성됩니다. 두 개의 BGP 피어링 세션은 라우팅 플레인 중복성을 제공하여 하나의 BGP 피어링 세션이 손실되어도 라우팅 작업에 영향을 미치지 않도록 합니다. 두 BGP 세션에서 수신된 라우팅 정보는 지정된 Connect 피어에 대해 누적됩니다. 2개의 BGP 피어링 세션은 또한 일상적인 유지 관 리, 패치 적용, 하드웨어 업그레이드 및 교체와 같은 모든 AWS 인프라 작업으로부터 보호합니다. Connect 피어가 이중화에 대해 구성된 권장 이중 BGP 피어링 세션 없이 작동하는 경우 AWS 인프라 작업 중에 연결이 일시적으로 끊길 수 있습니다.. Connect 피어에서 두 BGP 피어링 세션을 모두 구성하는 것이 좋습니다. 어플라이언스 측에서 고가용성을 지원하도록 여러 Connect 피어를 구성 한 경우 각 Connect 피어에서 두 BGP 피어링 세션을 모두 구성하는 것이 좋습니다.

 

 

 

Connect 피어

내부 CIDR 블록(BGP 주소)

더보기

BGP 피어링에 사용되는 내부 IP 주소입니다. IPv4의 169.254.0.0/16 범위에서 /29 CIDR 블록을 지 정해야 합니다. 선택적으로 IPv6의 fd00::/8 범위에서 /125 CIDR 블록을 지정할 수 있습니다. 다음 CIDR 블록은 예약되어 사용할 수 없습니다. • 169.254.0.0/29 • 169.254.1.0/29 • 169.254.2.0/29 • 169.254.3.0/29 • 169.254.4.0/29 • 169.254.5.0/29 • 169.254.169.248/29

 

 

 

 

 

 

출처 : https://docs.aws.amazon.com/ko_kr/vpc/latest/tgw/vpc-tgw.pdf#tgw-connect