4.1 Multiregion VPC 연결 구성 1

Update : 2020-02-28

MultiRegion VPC 소개와 다른 리전에서 VPC생성

앞서 Chapter 3 까지는 하나의 Region 내에서 Transit Gateway를 사용하는 방법에 대해서 알아보았습니다. 실제 많은 고객들은 보안과 빌링의 독립성 보장을 위해 서로 다른 Account(계정)과 서로 다른 Region에서 VPC를 생성하여 사용합니다.

4장에서는 서로 다른 계정과 서로 다른 Region, 같은 계정과 서로 다른 Region에서의 TGW 연동에 대해서 랩을 구성하여 그 기능을 확인해 봅니다.

"4.1 MultiRegion VPC 연결구성 1"에서는 동일한 계정의 환경에서 서로 다른 Region의 Transit Gateway Peering을 알아봅니다.

아래 [그림 4.1.1]은 "4.MultiRegion TGW 구성"에서 구성할 랩 구성입니다. 1번은 대부분의 OCTANK VPC가 포함되어 있는 Account A의 VPC 들 중에 다른 Region에 있는 VPC입니다. 2번은 Account C의 다른 Region에 있는 VPC입니다. 2번에 대한 구성은 "4.2 MultiRegion VPC 연결 구성에서 다룰 것입니다.

먼저 EU-Central-1 Region과 EU-West-1 Region에 F OCTANK VPC와 I OCTANK VPC를 Cloudformation을 통해서 생성합니다. 해당 Cloudformation Stack을 통해서 TGW, EC2, Subnet, Route Table, VPC Endpoint , SSM IAM Role, IGW, NAT G.W, EIP , Security Group 등이 자동으로 생됩니다.

1.EU-Central-1 Region을 선택하고 , Cloudformation을 통해서 Stack을 생성합니다.

[Cloudformation] - [Stacks] - [Create Stack]

2.Cloudformation을 통해 생성된 VPC 자원을 확인합니다.

[VPC] - [Subnet]

3.Cloudformation을 통해 생성된 Transit Gateway자원을 확인합니다.

[VPC] - [Transit Gateway]

4.F OCTANK VPC 생성과 동일하게 EU-WEST-1에서 I OCTANK VPC 자원들을 생성합니다.

(EU-WEST-1 리전에서 위의 1~3번을 동일하게 수행합니다.)

Region Transit Gateway 구성 및 EC2 확인

1.EU-CENTRAL-1 의 F OCTANK Transit Gateway Attachment와 EU-WEST-1의 I OCTANK Transit Gateway Attachment를 구성합니다.

[각 리전 선택] - [VPC] - [Transit Gateway] - [ Transit Gateway Attachment]

2.EU-CENTRAL-1 의 F OCTANK Transit Gateway Route Table와 EU-WEST-1의 I OCTANK Transit Gateway Route Table를 구성합니다.

[각 리전 선택] - [VPC] - [Transit Gateway] - [ Transit Gateway Route Table]

3.각 Region에서 정상적으로 Transit Gateway Route Table이 동작하는 지 확인합니다.

[각 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table]

4. 각 리전의 VPC EC2 인스턴스에서 네트워크 연결을 확인합니다.

aws ssm start-session --target i-022ddb1755721fd13

[ec2-user@ip-10-101-14-100 TGW_CF]$ ./pingshell.sh
Sun Mar  1 17:39:30 UTC 2020
SERVER www.aws.com is up
SERVER ITSVR-A is down
SERVER ITSVR-B is down
SERVER ASVR-A is down
SERVER ASVR-B is down
SERVER BSVR-A is down
SERVER BSVR-B is down
SERVER CSVR-A is down
SERVER CSVR-B is down
SERVER DSVR-A is down
SERVER DSVR-B is down
SERVER FSVR-A is up
SERVER FSVR-B is up
SERVER ISVR-A is down
SERVER ISVR-B is down

각 리전의 VPC EC2 인스턴스는 자신의 VPC가 소유한 IGW, NAT G.W를 통해서 외부망 네트워크에 연결이 되지만, 다른 Region으로는 연결이 불가능합니다.

같은 Account내 다른 Region Transit Gateway Peering 구성

같은 Account 라고 해도, 서로 다른 Region은 Transit Gateway 를 하나로 공유할 수 없습니다. 따라서 Region이 달라지면 각 Region별 Transit Gateway를 생성하고 Peering으로 연결해야합니다.

Transit Gateway의 자원은 같은 Region에서만 공유됩니다. 따라서 다른 Account라고 해도, RAM과 같은 자원 공유를 통해서 Transit Gateway를 공유할 수 있습니다.

하지만 같은 Account라고 해도 , 다른 Region에 있으면 Transit Gateway를 공유할 수 없고, Transit Gateway간에 Peering을 통해 접속해야 합니다. 하지만 이런 구성을 하더라도 Transit Gateway가 제공하는 완전관리형 서비스를 통해 고성능과 뛰어난 가용성 기반의 서로 다른 리전간의 연결성을 제공합니다.

IT OCTANK VPC 자원을 공유하는 정책을 수행하기 위해, IT OCTANK VPC가 위치한 US-EAST-1 리전에서 Transit Gateway 연결을 요청합니다. US-EAST-1 리전에서는 다른 리전의 Transit Gateway연결을 위해 Attachments를 생성합니다.

1.아래 [그림 4.1.14], [그림 4.1.15]에서 처럼 각 리전 연결을 위해 Attachments를 각각 생성합니다.

[US-EAST-1 리전] - [VPC] - [Transit Gateway] - [Transit Gateway Attachment]

2.구성을 완료하면 [그림 4.1.16]에서 처럼 "initiating request" 상태로 변경되며, 상대 Region에서 수락할 때 까지 대기합니다.

[US-EAST-1 리전] - [VPC] - [Transit Gateway] - [Transit Gateway Attachment]

3.EU-CENTRAL-1/EU-WEST-1 리전에서는 US-EAST-1이 요청한 정보가 Pending Acceptance 상태로 대기하며, Region을 관리하는 User가 Accept할 때까지 대기합니다.

[EU-CENTRAL-1 리전] - [VPC] - [Transit Gateway] - [Transit Gateway Attachment]

4.[그림 4.1.17] "Action" 메뉴에서 "Accept" 하게 되면 아래와 같이 정상적으로 모든 리전에서 Peering 됩니다. (EU-WEST-1에서도 동일하게 수행합니다.)

이제 Routing Table들을 추가해서, EU-CETNRAL-1, EU-WEST-1 리전에서 US-EAST-1의 IT OCTANK VPC, Z OCTANK VPC, D OCTANK VPC와 네트워크 연결이 가능하도록 합니다.

5. US-EAST-1 리전에서 Transit Gateway Route Table - Green Route Table에 F OCTANK Attach를 Associate 시킵니다. (F OCTANK는 EU-CENTRAL 리전의 VPC Transit Gateway 입니다.)

[US-EAST-1 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table] - [Green Route Table] -[Create association]

6. US-EAST-1 리전에서 Transit Gateway Route Table - Green Route Table에 F OCTANK Attach를 Associate 이 정상적으로 수행되었는지 확인합니다.

[US-EAST-1 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table] - [Green Route Table] - [Association]

7. US-EAST-1 리전에서 Transit Gateway Route Table - Green Route Table에 F OCTANK CIDR 주소로 라우팅 될 수 있도록 Static 라우팅 테이블을 추가합니다. (EU-CENTRAL-1 CIDR 주소는 10.101.0.0/16 입니다.)

[US-EAST-1 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table] - [Green Route Table] - [Create Route]

8. US-EAST-1 리전에서 Transit Gateway Route Table - Green Route Table에 F OCTANK CIDR 주소에 대한 Static Routing 이 정상적으로 추가 되었는지 확인합니다.

[US-EAST-1 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table] - [Green Route Table] - [Routes]

이제 "US-EAST-1" Region과 연동하는 "EU-CENTRAL-1", "EU-WEST-1"에서 Assocication과 Routing을 추가합니다.

9. EU-CENTRAL-1에서 Transit Gateway Route Table - Frankfurt Route Table에 F OCTANK Attach, US-EAST-1-OCTANK Associate 시킵니다. (US-EAST-1-OCTANK는 US-EAST-1 리전의 VPC Transit Gateway 입니다.)

[EU-CENTRAL-1 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table] - [Green Route Table] -[Create association]

10. EU-CENTRAL-1 리전에서 Transit Gateway Route Table - Frankfurt Route Table에 F OCTANK Attach, US-EAST-1-OCTANK가 정상적으로 Association 되었는지 확인합니다.

[EU-CENTRAL-1 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table] - [Furankfurt Route Table] - [Association]

11. EU-CENTRAL-1 리전에서 Transit Gateway Route Table - Frankfurt Route Table에 F OCTANK CIDR Routing Table을 전파합니다.

이 랩에서는 EU-CENTRAL-1 리전에 F OCTANK VPC 1개만 연결되므로, 생략해도 진행하는데 문제는 없습니다. 다만 Transit Gateway가 연결될 경우에는 이 단계를 진행하는 것이 좋습니다.

[EU-CENTRAL-1 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table] - [Furankfurt Route Table] - [Create Propagation]

12. EU-CENTRAL-1 리전에서 Transit Gateway Route Table - Frankfurt Route Table에 Routing Table에서 F OCTANK VPC 라우팅 전파를 확인합니다.

[EU-CENTRAL-1 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table] - [Furankfurt Route Table] - [Propagation]

13. EU-CENTRAL-1 리전에서 Transit Gateway Route Table - Frankfurt Route Table에 US-EAST-1의 VPC들의 CIDR 주소로 라우팅 될 수 있도록 Static 라우팅 테이블을 추가합니다.

10.0.0.0/8 로 라우팅을 Supernetting으로 처리하는 이유는 US-EAST-1 Green Route Table에 속한 IT OCTANK CIDR, D OCTANK CIDR, Z OCTANK CIDR 등을 모두 정의하지 않아도 되기 때문입니다. 이렇게 Supernetting을 처리하더라도, US-EAST-1 Red , Blue Route Table에는 EU-CENTRAL-1 리전의 CIDR 라우팅 테이블이 정의되어 있지 않기 때문에 서로간의 통신은 이뤄지지 않습니다.

[US-EAST-1 Region] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table] - [Green Route Table] - [Create Route]

14. EU-CENTRAL-1 리전에서 Transit Gateway Route Table 에 US-EAST-1 CIDR 주소가 정상적으로 추가되었는지 확인합니다.

[EU-CENTRAL-1] - [VPC] - [Transit Gateway] - [Transit Gateway Route Table]

15. EU-CENTRAL-1 리전 Private Route Table에서 10.0.0.0/8의 목적지를 Transit Gateway로 라우팅을 추가합니다.

앞서 Transit Gateway에 대한 Route Table은 업데이트 되었지만, 실제 VPC Private Route Table에서는 10.0.0.0/8의 목적지에 대한 경로가 없습니다. 따라서 반드시 추가해 주어야 정상적으로 US-EAST-1 CIDR주소들과 네트워크 통신이 가능합니다.

[EU-CENTRAL-1 리전] - [ VPC ] - [Route Table] - [Edit Routes]

16. 정상적으로 EU-CETNRAL-1 리전에서 10.0.0.0/8 라우팅 경로가 Transit Gateway로 추가되었는지 확인합니다.

17. 이제 위에서 수행했던 작업들을 동일하게 EU-WEST-1리전에서도 수행하고, Green Route Table에서 정상적으로 Peering Connection이 이뤄지는지 확인합니다. (EU-WEST-1 리전에서 5~16번 단계를 동일하게 수행합니다.)

[US-EAST-1 리전] - [VPC] - [ Transit Gateway] -[ Transit Gateway Route Table] - [Associations]

18. US-EAST-1 리전에서 Green Route Table에 EU-WEST-1의 Attachments (I OCTANK Attach)가 정상적으로 이뤄졌으면, Route Table에 EU-CENTRAL-1 F OCTANK Static Route, EU-WEST-1 I OCTANK Static Route가 정상적으로 Active 상태인지 확인합니다.

[US-EAST-1 리전] - [VPC] - [ Transit Gateway] -[ Transit Gateway Route Table] - [Routes]

19. 이제 EU-CENTRAL-1 EC2, EU-WEST-1 EC2 인스턴스에서 다른 VPC와의 네트워크 연결을 다시 확인합니다.

aws ssm start-session --target i-06a0eb748c8ab65d7

[ec2-user@ip-10-101-22-100 TGW_CF]$ ./pingshell.sh
Mon Mar  2 00:31:28 UTC 2020
SERVER www.aws.com is up
SERVER ITSVR-A is up
SERVER ITSVR-B is up
SERVER ASVR-A is down
SERVER ASVR-B is down
SERVER BSVR-A is down
SERVER BSVR-B is down
SERVER CSVR-A is down
SERVER CSVR-B is down
SERVER DSVR-A is up
SERVER DSVR-B is up
SERVER FSVR-A is up
SERVER FSVR-B is up
SERVER ISVR-A is down
SERVER ISVR-B is down
SERVER OSVR-A is down
SERVER OSVR-B is down
SERVER ZSVR-A is up
SERVER ZSVR-B is up

# Green Route Table은 모두 네트워크 통신이 가능합니다.

F OCTANK VPC에 속한 EC2, I OCTANK VPC에 속한 EC2가 A,B OCTANK EC2, C OCTANK EC2등과 네트워크 통신이 되려면 어떻게 해야 할까요?

US-EAST-1 Transit Gateway Route Table의 Red, Blue Route Table에서 10.101.0.0/16, 10.102.0.0/16 의 Static Route Table을 추가하게 되면 모두 정상적으로 통신이 이뤄집니다.

다음 "4.2.2 MultiRegion VPC 연결구성" 에서는 서로 다른 Account 의 환경에서 서로 다른 Region의 Peering 방법을 알아봅니다.

Last updated