1. AWS Transit Gateway란?
AWS Transit Gateway는 중앙 허브를 통해 Amazon Virtual Private Cloud(VPC)와 온프레미스 네트워크를 연결합니다. 복잡한 피어링 관계를 제거하여 네트워크를 간소화합니다. 클라우드 라우터 역할을 하므로 새로운 연결을 한 번만 추가하면 됩니다.
글로벌 확장 시 리전 간 피어링을 사용하면 AWS 글로벌 네트워크에서 AWS Transit Gateway를 하나로 연결할 수 있습니다. 데이터는 자동으로 암호화되고 퍼블릭 인터넷을 통하지 않습니다. 중앙 위치에 있으므로 AWS Transit Gateway Network Manager를 사용하여 전체 네트워크를 보고 SD-WAN(소프트웨어 정의 광역 네트워크) 디바이스에 연결할 수 있습니다.
2. Transit Gateway VPC 피어링 요금
요금 산정의 예를 들어 보면
서울 리전에 AWS Transit Gateway를 만들었고 여기에 Amazon VPC를 연결한다. Transit Gateway를 통해 다른 VPC로 트래픽을 전송하는 경로를 만들었다. 해당 VPC의 EC2 인스턴스에서 다른 VPC로 1GB의 데이터가 전송 되었다.
AWS Transit Gateway 시간당 요금
AWS Transit Gateway에 대한 요금은 시간당 부과된다. 이 리전의 경우 요금은 시간당 0.14 USD 달러이다. Transit Gateway가 여러 AWS 계정에 걸쳐 공유되는 경우 시간당 요금은 Transit Gateway에 연결된 VPC의 계정 소유자에게 부과된다.
Transit Gateway 데이터 처리 요금
1GB가 한 EC2 인스턴스에서 Transit Gateway에 연결된 VPC로 전송된다. 이 Trasit Gateway 데이터 처리에는 0.02 USD 요금이 부과된다. 이 처리 요금은 Trasit Gateway로 트래픽을 전송하는 VPC 소유자에게 부과된다.
피어링 연결에 대한 Transit Gateway 데이터 처리 요금
1GB가 Transit Gateway #1 (서울 리전)에 연결된 VPC의 EC2 인스턴스 #1에서 전송되어 Transit Gateway #2(버지니아 북부)에 대한 피어링 연결을 통해 VPC 내 EC2 인스턴스 #2에 도달한다. 총 트래픽 관련 요금은 0.04 USD이다.
이 요금은 Transit Gateway #1의 Transit Gateway 데이터 처리에 대한 0.02 USD와 아웃바운드 리전 간 데이터 전송 요금에 대한 0.02 USD로 구성된다. 여기에서 Transit Gateway로 전송된 데이터에 적용되지 않으므로 데이터 처리 비용이 발생하지 않는다. 인바운드 리전 간 데이터 전송 요금은 무료이므로 Transit Gateway #2는 추가 요금이 적용되지 않는다.
즉 1시간 동안 2개의 Transit Gateway의 연결 (서울과 버지니아 북부)을 유지하며 1GB의 데이터를 EC2간 보냈을 때 부과되는 금액은 0.18 USD 이다.
만약 한달동안 2개의 Transit Gateway의 연결 (서울, 버지니아 북부)을 유지하며 1TB의 데이터를 EC2간 보낸다고 한다면 부과되는 금액은 Transit Gateway 요금 102.2 USD, 데이터 처리 요금 40 USD 총 142.20 USD 요금이 부과된다.
3. 실습하기
1) 사전작업 및 Test
먼저 두 리전에 EC2를 띄워 놓는다.
오늘 할 작업은 서울 리전과 버지니아 북부 리전에 EC2를 각각 띄워놓은 다음 Transit Gateway를 연결하기 전 Ping Test 및 파일 전송 테스트를 진행 할 것이다.
서울 리전 EC2
버지니아 북부 리전 EC2
먼저 Transit Gateway를 연결하기 전 Ping Test를 진행 해 볼 것이다.
Ping Test를 진행해도 멈춘 화면만 나오고 진행이 되지 않는다.
서로간의 Ping을 주고받을 수 없다는 것을 알 수 있다.
2) Transit Gateway 생성하기
콘솔에 VPC를 입력한 후 메뉴를 밑으로 내려보면 Transit Gateway가 나온다.
여기서 Transit Gateway 생성을 누른다.
먼저 이름태그를 작성한 후 나머지는 기본값으로 유지했다.
ASN이란
동일한 라우팅 정책으로 하나의 관리자에 의하여 운영되는 네트워크(즉 한 회사나 단체에서 관리하는 라우터 집단)를 자율 시스템(AS, Autonomous System)이라고 한다. 이 때 자율 시스템을 식별하기 위한 인터넷 상의 고유한 숫자를 망 식별번호(AS 번호)라고 한다.
16비트 ASN의 경우 범위는 64512~65534입니다. 32비트 ASN의 경우 범위는 4200000000~4294967294입니다.
AWS에서는 기본적으로 64512를 설정하고 있습니다
- DNS 지원 : Transit Gateway에 연결된 VPC에 대해 도메인 이름 시스템 확인을 활성화합니다.
- VPN ECMP 지원 : 이 Transit Gateway에 연결된 VPN 연결을 위한 등가 다중 경로(ECMP) 라우팅입니다.
- 기본 라우팅 테이블 연결 : Transit Gateway Attachment를 이 Transit Gateway의 기본 라우팅 테이블과 자동으로 연결합니다.
- 기본 라우팅 테이블 전파 : 이 Transit Gateway의 기본 라우팅 테이블을 사용하여 Transit Gateway Attachment를 자동으로 전파합니다.
- 멀티캐스트 지원 : 이 Transit Gateway에서 멀티캐스트 도메인을 생성할 수 있는 기능을 활성화합니다. AWS측에서는 기본적으로 64512를 설정합니다.
공유 첨부 파일 자동 수락 : Transit Gateway에 연결된 교차 계정 연결을 자동으로 수락합니다.
그리고 나머지 값 역시 기본값으로 유지한 후 Transit Gateway 생성을 했다. 5분 정도 뒤 생성을 확인했다.
서울 리전에서 완료 했다면 버지니아 리전에서도 완료 해야한다.
각 리전끼리 연결하기 위해서는 각 리전마다 Transit Gateway를 만들고 각각의 Transit Gateway와 Peering을 해야 한다.
3) Transit Gateway 와 VPC 연결하기
Transit Gateway 연결에 들어간 후 Attachment 생성을 클릭한다.
이름을 작성하고 Transit Gateway를 선택한 후 연결 유형을 VPC로 지정한다.
그 후 VPC ID와 선택하려고 하는 서브넷을 입력한다.
그 후 버지니아 역시 똑같이 자신의 VPC와 Transit Gateway를 연결 해 준다.
4) Transit Gateway 와 각 리전간 Attachment
Transit Gateway 밑에 있는 Transit Gateway 연결을 클릭한 후 Attachment 생성을 클릭한다.
연결 이름을 선택한다.
그 후 Transit Gateway를 연결한다.
연결 유형은 다양하게 있지만 우리는 이번에 각 리전을 연결 시킬 것이다.
그러므로 Peering Connection을 선택하면 된다.
피어링 연결을 내 계정에서 할 것이기 때문에 내 계정을 클릭한다.
여기서 리전 선택을 한다. 리전은 내가 연결하려고 하는 Transit Gateway를 생성한 리전을 선택한다.
그리고 조인할 Transit Gateway를 선택한 후 Attachment를 생성한다.
그렇다면 이렇게 Transit Gateway끼리 연결을 준비중인 것을 확인할 수 있다.
하지만 이렇게 서울에서 -> 버지니아로 요청을 했다고 연결이 끝나는 것이 아니다.
버지니아에서 이 요청을 받아들이냐 거부하냐에 따라 연결이 생성되거나 끊긴다.
같은 계정 내에서의 작업이라도 이 작업을 수행해야 한다.
버지니아 북부의 Attachment로 들어온 후 작업을 누르고 수락을 해준다.
그 후 확인해보면 Available이라고 뜬 것을 확인 할 수 있다. 이렇게 되면 일단 연결은 완료가 되었다.
5) Transit Gateway 라우팅 테이블 경로 추가
서울 리전으로 돌아온 후 Transit Gateway 라우팅 테이블을 클릭한 후 정적 경로 생성을 클릭한다.
정적 경로를 통해서 우리가 연결할 버지니아 북부의 서브넷의 CIDR를 선택한 후 위에서 생성했던 Peering Transit Gateway 연결을 선택한 후 정적 경로를 생성한다.
버지니아 북부 리전에서 역시 연결할 서울 리전의 서브넷 CIDR을 선택한 후 위에서 생성했던 Peering Transit Gateway 연결을 선택한 후 정적 경로를 생성한다.
6) Subnet의 Routing Table 편집
정적 경로 선택이 완료되었다면 그 다음은 라우팅 테이블을 수정해 줘야 한다.
이것은 먼저 서울 리전의 해당 라우트 테이블이다.
여기서 내가 연결하려고 하는 버지니아 북부의 해당 서브넷의 CIDR를 작성한 후 대상을 Transit Gateway로 지정해 준다.
위 사진은 버지니아 북부의 라우트 테이블이다.
버지니아 북부 역시 내가 연결하려고 하는 서울 리전의 해당 서브넷의 CIDR를 작성한 후 대상을 Trans Gateway로 지정해 준다.
7. 마무리
이렇게 위 설정이 끝이 나면 Private IP로 핑 테스트를 진행 했다.
처음에는 먹통이었던 핑 테스트가 잘 되는 것을 확인할 수 있다.
참조 문서
AWS Transit Gateway란? (간단구축, 핸즈온) — 카디미 그라운드 (tistory.com)
'[AWS] > AWS 기타' 카테고리의 다른 글
[참고][AWS] 랜딩 존이란 무엇입니까? (110) | 2024.01.30 |
---|---|
[참고] AWS vs MS Azure vs GCP 장단점 비교! (95) | 2023.12.20 |
[참고] Top 3 클라우드 서비스 비교 분석 (AWS, Azure, GCP) (79) | 2023.12.20 |
[AWS] VPC Peering이란 무엇인가? (0) | 2022.11.10 |
[AWS] AWS Global Accelerator 추가로 확인 할 사항들 (0) | 2022.11.04 |
[AWS] RDS vs EC2 차이점, 간단히 파악하기!! (0) | 2022.10.17 |
[AWS] S3 게이트웨이 엔드포인트 생성 및 EC2 핑 테스트 (0) | 2022.10.13 |
[AWS] aws-cli 명령어 이용해서 Ubuntu 서버에서 S3로 파일 보내기 (0) | 2022.10.13 |
댓글