AWS Transit Gateway 관련 참고 링크
AWS 서비스 관련해서는 항상 최우선으로 'AWS 설명서' 를 읽어보는 것을 추천합니다.
한글 번역이 매끄럽지 못하면 언어를 영어로 변경 후 읽어보기 바랍니다.
1. AWS Transit Gateway 개요
AWS Transit Gateway 란?
AWS Transit Gateway 주요 기능
Non Transit Gateway vs Transit Gateway
AWS Transit Gateway 키워드
2. AWS Transit Gateway 실습 프리뷰
실습 토폴로지
[Caption] AWS Transit Gateway Lab Topology
① TGW Intra Region VPC Attachment
•
버지니아에 MAIN SITE 구축 (동일 리전 내 VPC와 TGW를 생성하여 연결)
② Multicast on TGW
•
버지니아 MAIN SITE에서 Multicast 통신 테스트
③ TGW Multi Account VPC Attachment
•
다른 계정의 버지니아에 SUB SITE 구축 후 Resource Access Manager를 통해 TGW를 공유하고 다른 계정의 VPC와 연결
④ TGW Inter Region Peering
•
아일랜드 에 BRANCH SITE 구축 후 TGW 간 피어링 연결
⑤ TGW VPN Attachment
•
서울에 OpenSwan VPN 서버를 설치 후 TGW와 연결
⑥ NATGW though TGW
•
Private Subnet 중 DEV 환경의 대상으로, TGW를 통해 버지니아 MAIN SITE의 Egress VPC에 존재하는 NAT GW로 인터넷 통신
⑦ TGW Network Manager
•
TGW 네트워크 매니저를 통해 글로벌 네트워크 시각화
AWS 기본 설정
•
실습에서 활용할 AWS 리전은 버지니아, 아일랜드, 서울 입니다.
◦
해당 리전에 대한 EC2-Key Pair를 생성 필요
•
TGW Multi Account VPC Attachment 테스트를 위해 본 계정 외에 서브 계정이 필요합니다.
•
모든 리전에 대한 기본적인 인프라는 CloudFormation에 의해 자동 구축합니다.
◦
모든 인프라가 구축되는 것은 아닙니다.
•
생성된 모든 EC2-Instance의 IP 주소는 X.X.X.10으로 고정하였습니다.
◦
예시: 10.1.1.10, 10.5.1.10 ...
CloudFormation Code
Virginia_TransitGW_Lab_CF.yaml
Ireland_TransitGW_Lab_CF.yaml
Seoul_TransitGW_Lab_CF.yaml
•
버지니아, 아일랜드, 서울에 배포할 Cloud Formation 템플릿입니다.
지금 바로 배포하지 않고, 실습 단계 별로 하나씩 배포할 것이니 일단 파일로 저장해 둡니다.
3. AWS Transit Gateway Intra Region VPC Attachment 테스트
•
이 번 단계의 실습은 동일 리전에 존재하는 VPC와 TGW 간의 연결을 테스트합니다. (Intra Region VPC Attachment)
•
실습 환경: Region - 버지니아 , Account - 본 AWS 계정
버지니아 CloudFormation 배포
1.
CloudForamtion 배포
•
앞서 정의한 Virginia_TransitGW_Lab_CF.yaml 파일을 배포합니다.
CloudFormation Condition에 의해 EnvType에 따라 생성되는 인프라가 다릅니다.
이번에는 파라미터 값을 Main으로 지정합니다.
[Caption] 버지니아 CF 템플릿 생성 중 EnvType 파라미터 값을 Main으로 지정
버지니아 CF 생성 인프라
MAIN-MGT EC2 인스턴스 접속
•
현재 접속 가능한 Public Subnet에 위치한 MAIN-MGT EC2에 SSH 접속합니다.
cat <<EOT >> list.txt
google.com
10.1.1.10
10.2.1.10
10.2.2.10
10.3.1.10
10.3.2.10
10.4.1.10
10.5.1.10
10.6.1.10
EOT
Shell
복사
•
list.txt 파일을 생성합니다.
vi pingall.sh
#!/bin/bash
cat list.txt | while read output
do
ping -c 1 -W 1 "$output" > /dev/null
if [ $? -eq 0 ]; then
echo "node $output is up"
else
echo "node $output is down"
fi
done
chmod +x pingall.sh
Shell
복사
•
vi pingall.sh 스크립트를 생성합니다.
•
chmod +x pingall.sh 로 스크립트 권한을 부여합니다.
./pingall.sh
--
node google.com is up
node 10.1.1.10 is up
node 10.2.1.10 is down
node 10.2.2.10 is down
node 10.3.1.10 is down
node 10.3.2.10 is down
node 10.4.1.10 is down
node 10.5.1.10 is down
node 10.6.1.10 is down
Shell
복사
•
./pingall.sh 로 전체 대상에 대한 Ping 테스트가 가능합니다.
•
현재 자기 자신과 외부 인터넷만 가능합니다.
Transit Gateway 생성 (관리 콘솔)
•
VPC → Transit Gateway → Create Transit Gateway
[Caption] Create Transit Gateway
작성 중…