์์ฑ์ : ongja.cloudnet@
AWS Transit Gateway ์ฐธ๊ณ ๋งํฌ
AWS Transit Gateway ๊ณต์ ๋ฌธ์
AWS Transit Gateway ๊ฐ์
Multicast on AWS Transit Gateway
AWS Transit Gateway ๋ชจ๋ํฐ๋ง ์ค์ ์ง์คํ
AWS Transit Gateway ์๊ธ
๐ก AWS ์๋น์ค ๊ด๋ จํด์๋ ํญ์ ์ต์ฐ์ ์ผ๋ก โAWS ์ค๋ช ์โ ๋ฅผ ์ฝ์ด๋ณด๋ ๊ฒ์ ์ถ์ฒํ๋ค.
ํ๊ธ ๋ฒ์ญ์ด ๋งค๋๋ฝ์ง ๋ชปํ๋ฉด English ๋ก ๋ณ๊ฒฝ ํ ์ฝ์ด๋ณด๊ธธ ๋ฐ๋๋ค.
1. AWS Transit Gateway Theory
1.1 AWS Transit Gateway ๋?
- AWS Transit Gateway๋ VPC๋ On-Premise ๋ฑ์ ๋คํธ์ํฌ๋ฅผ ๋จ์ผ Gateway์ ์ฐ๊ฒฐํ ์ ์๋๋ก ์ง์ํด ์ฃผ๋ ์๋น์ค์ด๋ค.
- AWS Transit Gateway๋ฅผ ์ฌ์ฉํ๋ฉด ์ค์ ๊ฒ์ดํธ์จ์ด์ ๋คํธ์ํฌ ์ ๋ฐ์ ๋จ์ผ ์ฐ๊ฒฐ๋ง ์์ฑํ์ฌ ๊ด๋ฆฌํ๋ฉด ๋๋ค.
- Hub & Spoke ๋ชจ๋ธ๋ก ๊ตฌ์ฑ๋๋ฉฐ, ์ฐ๊ฒฐ ๋ ๋คํธ์ํฌ๋ค์ ๋ค๋ฅธ ๋คํธ์ํฌ์ ์ฐ๊ฒฐํ ํ์ ์์ด AWS Transit Gateway์๋ง ์ฐ๊ฒฐํ๋ฉด ๋๋ฏ๋ก ๊ด๋ฆฌ๋ฅผ ํฌ๊ฒ ๊ฐ์ํํ๊ณ ์ด์ ๋น์ฉ์ ํฌ๊ฒ ์ค์ฌ ์ค๋ค.
1.2 AWS Transit Gateway ์ฃผ์ ๊ธฐ๋ฅ
๋ผ์ฐํ
: ๋์ / ์ ์ ์ Layer 3 ๋ผ์ฐํ ์ ์ง์ํ๋ค.
์ฃ์ง ์ฐ๊ฒฐ
: VPN์ ์ฌ์ฉํ์ฌ AWS Transit Gateway์ ์จํ๋ ๋ฏธ์ค ๊ฒ์ดํธ์จ์ด ๊ฐ์ VPN ์ฐ๊ฒฐ์ ์์ฑํ ์ ์๋ค.
VPC ๊ธฐ๋ฅ ์ํธ ์ด์ฉ์ฑ
: VPC์ ์๋ ์ธ์คํด์ค๊ฐ AWS Transit Gateway์ ์ฐ๊ฒฐ๋ ๋ค๋ฅธ Amazon VPC์ ์๋ NAT ๊ฒ์ดํธ์จ์ด, Network Load Balancer, AWS PrivateLink ๋ฐ Amazon Elastic File System ๋ฑ์ ์ก์ธ์คํ ์ ์๋ค.
๋ชจ๋ํฐ๋ง
: AWS Transit Gateway๋ Amazon CloudWatch ๋ฐ Amazon VPC ํ๋ฆ ๋ก๊ทธ์ ๊ฐ์ ์๋น์ค์์ ์ฌ์ฉํ๋ ํต๊ณ์ ๋ก๊ทธ๋ฅผ ์ ๊ณตํ๋ค.
๋ฆฌ์ ๊ฐ VPC ํผ์ด๋ง
: AWS Transit Gateway ๋ฆฌ์ ๊ฐ VPC ํผ์ด๋ง์ AWS ๊ธ๋ก๋ฒ ๋คํธ์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ AWS ๋ฆฌ์ ์ ํตํด ํธ๋ํฝ์ ๋ผ์ฐํ ํ ์ ์๋๋ก ์ง์ํ๋ค.
๋ฉํฐ์บ์คํธ
: ๊ณ ๊ฐ์ด ํด๋ผ์ฐ๋์์ ๋ฉํฐ์บ์คํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๊ตฌ์ถํ๊ณ ์๋ฐฑ ๊ฐ์ ์์ ์๊น์ง ๋ฉํฐ์บ์คํธ ๊ตฌ์ฑ์ ์ฝ๊ฒ ๋ชจ๋ํฐ๋ง, ๊ด๋ฆฌ ๋ฐ ํ์ฅํ ์ ์๋๋ก ์ง์ํ๋ค.
๋ณด์
: AWS Transit Gateway๋ Identity and Access Management(IAM)์ ํตํฉ๋๋ฏ๋ก, AWS Transit Gateway์ ๋ํ ์ก์ธ์ค๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ค.
์งํ
: ์ฑ๋ฅ๊ณผ ์ก์์ ๋ ๋ฐ์ดํธ, ํจํท, ํ๊ธฐ๋ ํจํท์ ๋น๋กฏํ ํธ๋ํฝ ์งํ๋ฅผ ํตํด ๊ธ๋ก๋ฒ ๋คํธ์ํฌ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ค.
1.3 Non Transit Gateway vs Transit Gateway
๊ทธ๋ฆผ 1.1 Transit Gateway ๋ฏธ์ฌ์ฉ / ์ฌ์ฉ ๋น๊ต Diagram
๋ค์์ VPC ํ๊ฒฝ์ด๋ On-Premise ํ๊ฒฝ์ ๋ํด Transit Gateway๋ฅผ ์ฌ์ฉํ์ง ์๊ณ , VPC Peering๊ณผ VPN, Direct Connect๋ฅผ ํตํ ๊ฐ๋ณ ์ฐ๊ฒฐ์ด ์ด๋ฃจ์ด์ ธ ๋ณต์กํ ์์ ํ๊ฒฝ
Transit Gateway๋ฅผ ์ค์ฌ์ผ๋ก ์ฐ๊ฒฐ๋ง ํ๋ฉด ๋์ด, ์ค์ ์ง์คํ ๊ฐ๋ตํ ์์ ํ๊ฒฝ
๐ก Transit Gateway๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณต์กํ AWS ๋คํธ์ํฌ ์ํคํ ์ฒ๋ฅผ ๊ฐ์ํ ๊ฐ๋ฅํ์ฌ ๊ด๋ฆฌ ๋ฐ ์ด์ฉ ํจ์จ์ด ๋ณด์ฅ๋๋ฉฐ, ํฅ์๋ ๋ณด์๊ณผ ๋ฉํฐ์บ์คํธ๋ฅผ ํ์ฉํ์ฌ ์ ์ฉํ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
1.4 AWS Transit Gateway Key Words
Transit Gateway - VPC๋ค์ ์ ์ ์ด ๋๋ ์ค์ ์ง์คํ ๋จ์ผ Gateway๋ก Hub & Spoke ํ๊ฒฝ์์ Hub ์ญํ
Transit Gateway Attachment - VPC๋ฅผ ์ฐ๊ฒฐํ๋ ๋ฐฉ์ (ํ์ฌ ๋ฒ์ ์ผ๋ก 3๊ฐ์ง ๋ฐฉ์ ์ง์)
VPC Attachment : TGW์ ๋์ผ Region ๋ด VPC๋ฅผ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ (๋ค๋ฅธ ๊ณ์ ์ ์์ฑํ VPC๋ ์ฐ๊ฒฐ ๊ฐ๋ฅ)
VPN Attachment : TGW์ VPN๋ฅผ ์ฐ๊ฒฐ (Site to Site VPN)
TGW Peering : TGW์ ๋ค๋ฅธ Region์ TGW ๊ฐ ์ฐ๊ฒฐ (Inter Region TGW Peering)
Transit Gateway Routing Table - TGW์์ ๊ด๋ฆฌํ๋ ๋ผ์ฐํ ํ ์ด๋ธ
Transit Gateway Sharing - TGW๋ฅผ ๊ณต์ ํ์ฌ ๋ค๋ฅธ AWS ๊ณ์ ์๊ฒ ์ ๋ฌํ์ฌ ์ฐ๊ฒฐ ๊ฐ๋ฅ (Resource Access Manager ํ์ฉ)
Transit Gateway Multicast - TGW๋ฅผ ํตํด Multicast ํธ๋ํฝ์ ์ ๋ฌ
Multicast Domain : Multicast ํธ๋ํฝ์ ์ฒ๋ฆฌํ TGW ์ง์
Multicast Associate : Multicast ํธ๋ํฝ์ ์ฒ๋ฆฌํ TGW Attachment ์ง์
Multicast Group Source : Multicast Sender ๋์ ์ง์
Multicast Group Member : Multicast Reciever ๋์ ์ง์
Transit Gateway Network Manager - ๋ ผ๋ฆฌ์ ๋ค์ด์ด๊ทธ๋จ ๋๋ ์ง๋ฆฌ์ ๋งต์ผ๋ก ์ค์ ๋์ ๋ณด๋์์ ๊ธ๋ก๋ฒ ๋คํธ์ํฌ๋ฅผ ์๊ฐํ
2. AWS Transit Gateway Lab Preview
2.1 Lab Topology
๊ทธ๋ฆผ 2.1 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 ๋คํธ์ํฌ ๋งค๋์ ๋ฅผ ํตํด ๊ธ๋ก๋ฒ ๋คํธ์ํฌ ์๊ฐํ
2.2 AWS ๊ธฐ๋ณธ ์ค์
- ๋ณธ ์ค์ต์์ ํ์ฉํ AWS Region์
๋ฒ์ง๋์, ์์ผ๋๋, ์์ธ
์ด๋ค. ํด๋น Region์ ๋ํ EC2-Key Pair๋ฅผ ์์ฑ - TGW Multi Account VPC Attachment ํ ์คํธ๋ฅผ ์ํด ๋ณธ ๊ณ์ ์ธ์ ์๋ธ ๊ณ์ ์ด ํ์
- ๋ชจ๋ Region์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ธํ๋ผ๋ CloudFormation์ ์ํด ์๋ ๊ตฌ์ถ (๋ชจ๋ ์ธํ๋ผ๊ฐ ๊ตฌ์ถ๋๋ ๊ฒ์ ์๋๋ค.)
- ์์ฑ๋ ๋ชจ๋ EC2-Instance์ IP ์ฃผ์๋ X.X.X.10์ผ๋ก ๊ณ ์ ํ์๋ค. (์์: 10.1.1.10, 10.5.1.10 โฆ)
2.3 CloudFormation (Infrastructure as Code)
โคต Download Virginia_TransitGW_Lab_CF.yaml
โคต Download Ireland_TransitGW_Lab_CF.yaml
โคต Download Seoul_TransitGW_Lab_CF.yaml
๋ฒ์ง๋์, ์์ผ๋๋, ์์ธ
์ ๋ฐฐํฌํ Cloud Formation ํ ํ๋ฆฟ์ด๋ค.- ์ง๊ธ ๋ฐ๋ก ๋ฐฐํฌํ์ง ์๊ณ , ์ค์ต ๋จ๊ณ ๋ณ๋ก ํ๋์ฉ ๋ฐฐํฌํ ๊ฒ์ด๋ ์ผ๋จ ๋ค์ด๋ก๋๋ง ๋ฐ์ ๋์.
๐ก ๋ณธ๊ฒฉ์ ์ธ ์ค์ต์ ์์, ๋ฆฌ์์ค ๋น ์๋์ ๊ณผ๊ธ์ด ๋ถ๊ฐํผ ํ๋ค.
์์ธํ ์ฌํญ์ Transit Gateway ์๊ธ ๋งํฌ๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋ค.
3. AWS Transit Gateway Intra Region VPC Attachment Test
- ์ด ๋ฒ ๋จ๊ณ์ ์ค์ต์ ๋์ผ ๋ฆฌ์ ์ ์กด์ฌํ๋ VPC์ TGW ๊ฐ์ ์ฐ๊ฒฐ์ ํ ์คํธํ๋ค. (Intra Region VPC Attachment)
- ์ค์ต ํ๊ฒฝ: Region -
๋ฒ์ง๋์
, Account - ๋ณธ AWS ๊ณ์
3.1 ๋ฒ์ง๋์ CloufFormation ๋ฐฐํฌ
3.1.1) CloudFormation ๋ฐฐํฌ
- 2.3ํญ์์ ์ ๊ณตํ Virginia_TransitGW_Lab_CF.yaml ํ์ผ์ ๋ฐฐํฌํ์.
๐ก ์ฃผ์: CF Condition์ ์ํด Main Site์ Sub Site์ ์์ฑ ์ธํ๋ผ๊ฐ ๋ค๋ฅด๋ค. ํ๋ผ๋ฏธํฐ ๊ฐ์ Main์ผ๋ก ์ง์ ํ์!
๊ทธ๋ฆผ 3.1 ๋ฒ์ง๋์ CF ํ ํ๋ฆฟ ์์ฑ ์ค EnvType ํ๋ผ๋ฏธํฐ ๊ฐ์ Main์ผ๋ก ์ง์
๋ฒ์ง๋์ CF ์์ฑ ์ธํ๋ผ
- EC2-Instance 3๊ฐ
- VPC 2๊ฐ, Public Subnet 1๊ฐ, Private Subnet 2๊ฐ, Routing Table 3๊ฐ, IGW 1๊ฐ
- Security Group 2๊ฐ
- ์ ์์ฑ๋ ์ธํ๋ผ๊ฐ ์ ์์ ์ผ๋ก ์ฌ๋ผ์๋ ์ง ํ์ธํ์.
3.1.2) MAIN-MGT EC2 ์ ์
- ํ์ฌ ์ ์ ๊ฐ๋ฅํ Public Subnet์ ์์นํ MAIN-MGT EC2์ SSH ์ ์
1 | cat <<EOT >> list.txt |
- list.txt ํ์ผ์ ์์ฑ์ ์ํด ์ ๊ฐ์ ๋ถ์ฌ๋ฃ์ (๋ณธ ์ค์ต์์ ์์ฑ๋ ๋ชจ๋ EC2 IP์ ๊ตฌ๊ธ์ฃผ์)
1 | [root@MAIN-MGT ec2-user]# vi pingall.sh |
vi pingall.sh
๋ก ์ง์ ํ์ฌ ์์ ๊ฐ์ด ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๋ค.chmod +x pingall.sh
๋ก ์คํฌ๋ฆฝํธ ๊ถํ์ ๋ถ์ฌํ๋ค.
1 | [root@MAIN-MGT ec2-user]# ./pingall.sh |
./pingall.sh
๋ก ์ ์ฒด ํ๊ฒ์ ๋ํ Ping ํ ์คํธ๊ฐ ๊ฐ๋ฅํ๋ค.- ํ์ฌ ์๊ธฐ ์์ ๊ณผ ์ธ๋ถ ์ธํฐ๋ท๋ง ๊ฐ๋ฅํ๋ค.
3.2 Transit Gatewaay ์์ฑ
- VPC โ> Transit Gateway โ> Create Transit Gateway
๊ทธ๋ฆผ 3.2 Create Transit Gateway
- Name Tag ๊ธฐ์ ํ๊ณ , Multicast support enable์ ๋ฐ๋์ ์ฒดํฌ ํ์! (4์ฅ Multicast on TGW ์ค์ต ๋ ํ์ํ๋ค. ์ถํ ์์ ์ด ๋์ง ์์ ๋ฏธ๋ฆฌ ํ์ฑํ)
- 1~2๋ถ ์ ๋ ๋๊ธฐํ๋ฉด, ์ํ๊ฐ available ๋ก ๋ณ๊ฒฝ ๋๋ค.
3.3 Transit Gateway Attachment ์์ฑ
VPC โ> Transit Gateway Attachment โ> Create Transit Gateway Attachment (๐ ๊ตณ์ด ํ๊ธ ๋ฒ์ญ์ ํด๋์ Attachment๋ฅผ ์ฒจ๋ถํ์ผ๋ก ํํํจ;)
Transit Gateway ID ์ง์
Attachment Type : VPC
Attachment Name Tag : MAIN-VPC01-ATT
VPC ID : VPC01 โ> AZ & Subnet ์ง์
์๋
Attachment Name Tag : MAIN-VPC02-ATT
VPC ID : VPC02 โ> AZ & Subnet ์ง์
Transit Gateway Attachment ๋ฅผ 2๊ฐ ์์ฑ ํ๋ค. (1~2๋ถ ์ ๋ ๋๊ธฐ)
๊ทธ๋ฆผ 3.3 TGW Attachment ์ ๋ณด ํ์ธ
- ์์ฑ๋ 2๊ฐ์ TGW Attachment๋ฅผ ํ์ธํ ์ ์๋ค. (Resource Type: VPC, State: available)
3.4 Routing Table ์ค์
CloudFormation์ ์ํด ์์ฑ๋ 3๊ฐ์ ๋ผ์ฐํ ํ ์ด๋ธ์ ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ๋ค.
- ๋ผ์ฐํ ํธ์ง โ> ๋ผ์ฐํ ์ถ๊ฐ โ> 10.0.0.0/8 ๋์ญ, tgw-xxxx ํ๊ฒ
๊ทธ๋ฆผ 3.4 ๋ผ์ฐํ ํ ์ด๋ธ ํธ์ง (10.0.0.0/8 ๋์ญ์ TGW๋ก ์ ๋ฌํ๋ ๊ฒฝ๋ก ์ถ๊ฐ)
- ๋ผ์ฐํ ํ ์ด๋ธ 3๊ฐ ๋ชจ๋ ๋ผ์ฐํ ์ ์ฑ ์ถ๊ฐ
3.5 Verify
1 | [root@MAIN-MGT ec2-user]# ./pingall.sh |
- MAIN-MGT EC2์ ์ ์ํ์ฌ
pingall.sh
์คํฌ๋ฆฝํธ๋ฅผ ์ํํ๋ค. ๋ฒ์ง๋์
MAIN์ ์กด์ฌํ๋ EC2 ๋ผ๋ฆฌ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
3์ฅ ํ์ฌ๊น์ง ์๋ฃ๋ ๊ตฌ์ฑ๋ ํ์ธ
4. Multicast on Transit Gateway Test
- ์ด ๋ฒ ๋จ๊ณ์ ์ค์ต์ TGW์ ํตํด Multicast ํต์ ์ ํ ์คํธํ๋ค. (Multicast on Transit Gateway)
- MAIN-MGT ์ธ์คํด์ค๋ฅผ Multicast Sender๋ก ํ๊ณ , MAIN-TEST์ MAIN-DEV ์ธ์คํด์ค๋ฅผ Multicast Receiver๋ก ํ๋ค.
- Multicast ํธ๋ํฝ์ UDP ํฌํธ ๋ฒํธ์ ๋ํด Security Group์์ ํ์ฉํด์ผ ํ๋ค. (CF๋ก ๋ฏธ๋ฆฌ ์ค์ ํด ๋)
- ์ค์ต ํ๊ฒฝ: Region -
๋ฒ์ง๋์
, Account - ๋ณธ AWS ๊ณ์
Multicast on transit gateways
์ฐธ๊ณ ๋งํฌ : Multicast on transit gateway
Multicast ์ค์ต์ ์์ ๊ณ ๋ ค ์ฌํญ
- ํ์ฌ Multicast ๋ผ์ฐํ
๊ธฐ๋ฅ์
๋ฒ์ง๋์
๋ฆฌ์ ์์๋ง ์ง์ํ๊ณ ์๋ค. - ํด๋น ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ ค๋ฉด TGW๋ฅผ ์์ฑํ ๋ Multicast Support๋ฅผ ํ์ฑํด์ผ ํ๋ค. (์ด๋ฏธ ํ์ฑํ ํจ)
- IGMP๋ ๋ฏธ์ง์์ผ๋ก TGW์์ Multicast Domain๊ณผ Sender / Receiver๋ฅผ ๊ด๋ฆฌํ์ฌ ๋ผ์ฐํ ๋๋ค.
- EC2 ์ธ์คํด์ค ํ์ ์ด Nitro ์ฌ์ผ Sender๊ฐ ๋ ์ ์๊ณ , Non Nitro๊ฐ Receicer๊ฐ ๋ ์ ์์ง๋ง Source/Destination Check๋ฅผ ๋นํ์ฑํํด์ผ ๋์ํ๋ค.
- ๋ณธ ์ค์ต์์ CloudFormation์ผ๋ก ์์ฑํ EC2 ์ธ์คํด์ค ํ์ ์ Nitro ํ์ ์ผ๋ก ์ง์ ํ์๋ค.
4.1 Multicast ๋ผ์ฐํ ์ค์ ์ ์ ํ ์คํธ
4.1.1) MAIN-MGT ์ธ์คํด์ค์ ์ ์ (Sender)
1 | [root@MAIN-MGT ec2-user]# omping -m 239.1.1.1 -p 10000 10.1.1.10 |
omping -m 239.1.1.1 -p 10000 10.1.1.10
๋ช ๋ น์ด๋ก Multicast ํธ๋ํฝ์ ๋ฐ์ ์ํจ๋ค.- Multicast IP ๋์ญ : 239.1.1.1 , Port ๋ฒํธ : UDP 10000
4.1.2) MAIN-TEST, MAIN-DEV ์ธ์คํด์ค์ ์ ์ (Receiver)
- MAIN-TEST, MAIN-DEV์ Private Subnet์ ์์นํ์ฌ ๋ค์ด๋ ํธ๋ก SSH ์ ๊ทผ์ด ๋ถ๊ฐํ๋ค.
- MAIN-MGT์ ์ ๊ทผ ํ
ssh root@10.2.1.10
๊ณผssh root@10.2.2.10
๋ช ๋ น์ด๋ก ๊ฑฐ์ณ์ ์ ๊ทผํ๋ค. - Key-Pair ์์ด Root ๊ณ์ ์ผ๋ก ์ ๊ทผํ๋ฉฐ, ํจ์ค์๋๋ qwe123 ์ด๋ค.
1 | [ec2-user@MAIN-MGT ~]$ ssh root@10.2.1.10 |
tcpdump ip dst 239.1.1.1 -nn
๋ช ๋ น์ด๋ก ๋ชฉ์ ์ง IP๊ฐ 239.1.1.1์ธ ํจํท์ ์ก์ ์ถ๋ ฅํ๋ค.
๊ทธ๋ฆผ 4.1 Multicast ๋ผ์ฐํ ์ค์ ์ ํ ์คํธ
- ์ข์ธก Multicast Sender์์ 239.1.1.1 ํธ๋ํฝ์ ๋ฐ์ํ๊ณ ์์ง๋ง, ์ฐ์ธก Multicast Receiver๋ค๋ก ์ธ์ ๋์ง ์๋๋ค.
4.2 Transit Gateway Multicast ์ค์
4.2.1) Create Transit Gateway Multicast Domain
VPC โ> Transit Gateway Multicast โ> Create Transit Gateway Multicast Domain
- Transit Gateway ID ์ง์
๊ทธ๋ฆผ 4.2 Transit Gateway Multicast Domain ํ์ธ
4.2.2) Create Association
VPC โ> Transit Gateway Multicast โ> ์์ โ> Create Association
Choose attachment to associate : MAIN-VPC01-ATT
Choose Subnets to associate : Subnet ์ ํ
Choose attachment to associate : MAIN-VPC02-ATT
Choose Subnets to associate : Subnet ์ ํ
3์ฅ์์ ์์ฑํ 2๊ฐ์ TGW Attachment๋ฅผ ์ ํํ ํ Subnet์ ์ง์ ํ๋ค. (TGW-VPC01-ATT, TGW-VPC02-ATT)
๊ทธ๋ฆผ 4.3 TGW Multicast Domain์ Assoiciate ์ ๋ณด & ์ง์ ๋ Subnet ํ์ธ
4.2.3) Add group sources
VPC โ> Transit Gateway Multicast โ> ์์ โ> Add group sources
Group IP Address : 239.1.1.1
Choose network interfaces : MAIN-MGT ์ง์
EC2 ์ธ์คํด์ค MAIN-MGT ์ง์ ์ ํ ๋ ๊ตฌ๋ถ์ด ํ๋ค๋ค. (์ค์ ์ ์ MAIN-MGT์ ๋ํ ์ ๋ณด๋ฅผ ํ์ธ ํ ์ง์ ํ์)
๊ทธ๋ฆผ 4.4 Group Source ํ์ธ
- Groups ํญ์ ์ง์ ํ๋ฉด ๋์ ๋ณ Source์ Member ํ์ธ์ด ๊ฐ๋ฅํ๋ค. (MAIN-MGT๋ฅผ source ๋ก ์ง์ )
4.2.4) Add group members
VPC โ> Transit Gateway Multicast โ> ์์ โ> Add group members
Group IP Address : 239.1.1.1
Choose network interfaces : MAIN-TEST์ MAIN-DEV ์ง์
๋ง์ฐฌ๊ฐ์ง๋ก ๋์ ๊ตฌ๋ถ์ด ํ๋ค์ด ๋ฏธ๋ฆฌ ํ์ธ ํ 2๊ฐ์ ๋์ ์ง์ ํ๋ค.
๊ทธ๋ฆผ 4.5 Group Member ํ์ธ
- MAIN-TEST์ MAIN-DEV๋ฅผ member ๋ก ์ง์
4.3 Verify
- 4.1.2ํญ๊ณผ ๊ฐ์ด ํ ์คํธ๋ฅผ ํด๋ณธ๋ค.
๊ทธ๋ฆผ 4.6 Multicast on Transit Gateway ํ ์คํธ ๊ฒฐ๊ณผ
- MAIN-MGT (Multicast Sender)์์ ๋ฐ์ํ๋ 239.1.1.1 Multicast ํธ๋ํฝ์ MAIN-TEST์ MAIN-DEV (Multicast Receiver)๋ก ์ธ์ ๋๋ค.
- ์ฆ, TGW๊ฐ Multicast Group์ ๊ด๋ฆฌํ์ฌ ๋ผ์ฐํ ํ์ฌ Source ์ ๋ณด๋ฅผ Member์๊ฒ ์ ๋ฌํด ์ค๋ค.
- TGW์์ Multicast ์ค์ ์ ํ๋ฉด ๋ฐ๋ก ์ ์ฉ๋์ง ์๊ณ 1~2๋ถ์ ๋ ๋๊ธฐ ์๊ฐ์ด ํ์ํ๋ค.
๐ก ํ์ฌ Transit Gateway ์์์ ๋์ํ๋ Multicast๋ ๋ฏธ์์ฑ ์๋น์ค์ด๋ฉฐ, ๋ฒ์ง๋์ ๋ฆฌ์ ์๋ง ๋์ํ๋ ์ ์ฝ์ด ์๋ค. ํฅํ ๋ค๋ฅธ ๋ฆฌ์ ๊น์ง ์๋น์ค๊ฐ ๋์ํ๊ฑฐ๋ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋๋ฉด, ์ถ๊ฐ์ ์ธ ์ค์ต์ ์งํํ ์์ ์ด๋ค.
๊ทธ๋ฆฌ๊ณ , ํ์ฌ ์ค์ต ์ Multicast ๋์์ ๊ฐ์ ๋ก ํธ๋ํฝ์ ์ธ์ ํ๋ ํํ์ ์ค์ต์ด๋ผ ์ถํ ๊ธฐํ๊ฐ ๋๋ฉด ์ค์ Multicast Stram์ ํตํด ์ค์ต์ ์งํํด ๋ณด๋๋ก ํ๊ฒ ๋ค.
5. AWS Transit Gateway Multi Account VPC Attachment Test
- ์ด ๋ฒ ๋จ๊ณ์ ์ค์ต์ TGW์ ์ ๋ณด๋ฅผ ๋ค๋ฅธ ๊ณ์ ์ผ๋ก ๊ณต์ ํ์ฌ VPC ์ฐ๊ฒฐ์ ํ ์คํธํ๋ค. (Multi Account VPC Attachment)
- ์ด ๋ฒ ๋จ๊ณ์์๋ ์๋ธ AWS ๊ณ์ ์ด ํ์ํ๋ค. (
๋ฒ์ง๋์
๋ฆฌ์ ์์ ํ ์คํธํ๋ฉฐ, CF ๋ฐฐํฌ ์ ์ Key-Pair๋ฅผ ๋ฏธ๋ฆฌ ์์ฑํด ๋์) - ๋์ผํ ๋ธ๋ผ์ฐ์ ์์ ๋ก๊ทธ์ธ ์ ๊ธฐ์กด ๊ณ์ ์ ๋ก๊ทธ์์์ด ๋๋ค. ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ถ๊ฐํ์ฌ ์ค์ตํ๋ฉด ๋ณธ ๊ณ์ ๊ณผ ์๋ธ ๊ณ์ ์ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค.
- ์ค์ต ํ๊ฒฝ: Region -
๋ฒ์ง๋์
, Account - ๋ณธ AWS ๊ณ์ + ์๋ธ AWS ๊ณ์
AWS Transit Gateway ์ถ์ - VPC ๋คํธ์ํฌ ์ํคํ ์ฒ ๋จ์ํ ๊ฐ๋ฅ (์์ธ ๋ฆฌ์ ํฌํจ) | Amazon Web Services
์ฐธ๊ณ ๋งํฌ : Resource Access Manager๋ฅผ ํ์ฉํ์ฌ Multi Account VPC Attachment
5.1 ๋ฒ์ง๋์ CloufFormation ๋ฐฐํฌ (์๋ธ ๊ณ์ )
5.1.1) CloudFormation ๋ฐฐํฌ
- 2.3ํญ์์ ์ ๊ณตํ Virginia_TransitGW_Lab_CF.yaml ํ์ผ์ ๋ฐฐํฌํ์.
๐ก ์ฃผ์: CF Condition์ ์ํด Main Site์ Sub Site์ ์์ฑ ์ธํ๋ผ๊ฐ ๋ค๋ฅด๋ค. ํ๋ผ๋ฏธํฐ ๊ฐ์ Sub๋ก ์ง์ ํ์!
๊ทธ๋ฆผ 5.1 ์๋ธ ๊ณ์ ์์ ๋ฒ์ง๋์ CF ํ ํ๋ฆฟ ์์ฑ ์ค EnvType ํ๋ผ๋ฏธํฐ ๊ฐ์ Sub๋ก ์ง์
- ์๋ธ ๊ณ์ ์ผ๋ก ๋ก๊ทธ์ธ ํ
๋ฒ์ง๋์
์์ CloudFormation ํ ํ๋ฆฟ์ ์คํํ๋ค. - EnvType์ Sub๋ก ์ง์ ํ์!!
๋ฒ์ง๋์ CF ์์ฑ ์ธํ๋ผ (์๋ธ ๊ณ์ )
- EC2-Instance 2๊ฐ
- VPC 1๊ฐ, Private Subnet 2๊ฐ, Routing Table 2๊ฐ
- Security Group 1๊ฐ
- ์ ์์ฑ๋ ์ธํ๋ผ๊ฐ ์ ์์ ์ผ๋ก ์ฌ๋ผ์๋ ์ง ํ์ธํ์
5.2 Resource Access Manager๋ฅผ ํ์ฉํ์ฌ TGW ๊ณต์ (๋ณธ ๊ณ์ & ์๋ธ ๊ณ์ )
5.2.1) Resource Access Manager ๋ฆฌ์์ค ๊ณต์ ์์ฑ (๋ณธ ๊ณ์ )
๊ทธ๋ฆผ 5.2 ๋ณธ ๊ณ์ ์์ Resource Access Manager ์ง์
Resource Access Manager โ> ๋ฆฌ์์ค ๊ณต์ ์์ฑ
์ด๋ฆ : CloudNeta-TGW-Sharing
๋ฆฌ์์ค ์ ํ ์ ํ : ์ ์ก ๊ฒ์ดํธ์จ์ด โ> MAIN SITE์ ์์ฑํ TGW ์ง์
ํ๋ฆฐ์ํ AWS ๊ณ์ ๋ฒํธ โ> ์๋ธ AWS ๊ณ์ ๋ฒํธ ์ ๋ ฅ
๊ทธ๋ฆผ 5.3 ์๋ธ ๊ณ์ ์์ ๋ด ๋ณด์ ์๊ฒฉ ์ฆ๋ช ์ ์ง์ ํ์ฌ AWS ๊ณ์ ID ํ์ธ
๊ทธ๋ฆผ 5.4 ๋ฆฌ์์ค ๊ณต์ ์ค์ ํ๋ฉด
5.2.2) Resource Access Manager ๋ฆฌ์์ค ๊ณต์ ์๋ฝ (์๋ธ ๊ณ์ )
๊ทธ๋ฆผ 5.5 ์๋ธ ๊ณ์ ์์ RAM์ ์ง์ ํ์ฌ ๋ฆฌ์์ค ๊ณต์ ์ด๋ ํ์ธ
- ๋ณธ ๊ณ์ ์์ ๊ณต์ ํ TGW๋ฅผ ์ ํ ํ ๋ฆฌ์์ค ๊ณต์ ์๋ฝ
๊ทธ๋ฆผ 5.6 ์๋ธ ๊ณ์ ์์ ๊ณต์ ๋ฆฌ์์ค ํ์ธ
- ๊ณต์ ๋ฆฌ์์ค ๋ฉ๋ด๋ก ์ ๊ทผํ์ฌ ๊ณต์ ๋ TGW ์ ๋ณด ํ์ธ
5.2.3) Multi Account VPC Attachment (๋ณธ ๊ณ์ / ์๋ธ ๊ณ์ )
VPC โ> Transit Gateway๋ก ์ง์ ํ๋ฉด ๊ณต์ ๋ฐ์ TGW ์ ๋ณด ํ์ธ (์๋ธ ๊ณ์ )
VPC โ> Transit Gateway Attachment (์๋ธ ๊ณ์ )
Transit Gateway ID : ์ง์
Attachment Type : VPC
Attachment Name Tag : SUB-VPC03-ATT
VPC ID : MAIN-A โ> AZ & Subnet ์ง์
VPC โ> Transit Gateway Attachment โ> ์์ โ> Accept (๋ณธ ๊ณ์ )
๊ทธ๋ฆผ 5.7 ์๋ธ ๊ณ์ ์์ TGW Attachment ์ํ ํ์ธ
- ์๋ธ ๊ณ์ ์์ TGW VPC Attachment๋ฅผ ์ํํด๋ ๋ฐ๋ก ์ฐ๊ฒฐ์ด ๋์ง ์๊ณ pending acceptance ์ํ์ด๋ค.
- ๋ณธ ๊ณ์ ์ ์ง์ ํ์ฌ Accept ํด์ค๋ค. (1~2๋ถ ํ ์ฑ๊ณต)
5.3 Routing Table ์ค์ (์๋ธ ๊ณ์ )
CloudFormation์ ์ํด ์์ฑ๋ 2๊ฐ์ ๋ผ์ฐํ ํ ์ด๋ธ์ ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ๋ค.
- ๋ผ์ฐํ ํธ์ง โ> ๋ผ์ฐํ ์ถ๊ฐ โ> 10.0.0.0/8 ๋์ญ, tgw-xxxx ํ๊ฒ
5.4 Verify
1 | [root@MAIN-MGT ec2-user]# ./pingall.sh |
- MAIN-MGT EC2์ ์ ์ํ์ฌ
pingall.sh
์คํฌ๋ฆฝํธ๋ฅผ ์ํํ๋ค. ๋ฒ์ง๋์
MAIN๊ณผ SUB SITE์ ์กด์ฌํ๋ EC2 ๋ผ๋ฆฌ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
5์ฅ ํ์ฌ๊น์ง ์๋ฃ๋ ๊ตฌ์ฑ๋ ํ์ธ
6. AWS Transit Gateway Inter Region Peering Test
- ์ด ๋ฒ ๋จ๊ณ์ ์ค์ต์ MAIN SITE TGW์ ๋ค๋ฅธ ๋ฆฌ์ ์ ์๋ BRANCH SITE TGW๋ฅผ ์ฐ๊ฒฐํ์ฌ ํ ์คํธํ๋ค. (Inter Region Peering TGW Attachment)
- ์ฐธ๊ณ ๋ก Inter-Regional-Peering์
๋ฒ์ง๋์, ์คํ์ด์ค, ์ค๋ ๊ณค, ์์ผ๋๋, ํ๋ํฌํธ๋ฅดํธ
๋ฆฌ์ ์์๋ง ์ง์ํ๋ค. - ์ค์ต ํ๊ฒฝ: Region -
์์ผ๋๋
, Account - ๋ณธ AWS ๊ณ์
AWS Transit Gateway Adds Multicast and Inter-Regional Peering | Amazon Web Services
์ฐธ๊ณ ๋งํฌ : AWS Transit Gateway Adds Multicast & Inter Regional Peering
6.1 ์์ผ๋๋ CloufFormation ๋ฐฐํฌ
6.1.1) CloudFormation ๋ฐฐํฌ
- 2.3ํญ์์ ์ ๊ณตํ Ireland_TransitGW_Lab_CF.yaml ํ์ผ์ ๋ฐฐํฌํ์.
์์ผ๋๋ CF ์์ฑ ์ธํ๋ผ
- EC2-Instance 2๊ฐ
- VPC 2๊ฐ, Public Subnet 1๊ฐ, Private Subnet 1๊ฐ, Routing Table 2๊ฐ, IGW 1๊ฐ
- Security Group 2๊ฐ
- Transit Gateway 1๊ฐ, Transit Gateway Attachment 2๊ฐ
- ์ ์์ฑ๋ ์ธํ๋ผ๊ฐ ์ ์์ ์ผ๋ก ์ฌ๋ผ์๋ ์ง ํ์ธํ์
- ์์ผ๋๋์์ ์ฌ์ฉํ ์ธํ๋ผ๋ฅผ CloudFormation์์ ๋ชจ๋ ์ ์ํ์๋ค. (TGW๊น์ง ํฌํจ)
- Routing Table ์ถ๊ฐ๋ ์ ์ํ์ง ์์ ์๋์ผ๋ก ์์ (๐คขTGW ์์ฑ ๋ฐ Attachment ๋๋ ๋๋ ์ด๊ฐ ๋ฐ์ํ์ฌ ๊ฒฝ๋ก ์ค์ ์ ๋ชปํ๊ณ ํ์ ์์)
6.2 Inter Region Peering ์ค์
6.2.1) TGW Attachment - Inter Region Peering
VPC โ> Transit Gateway Attachment โ> Create Transit Gateway Attachment (
์์ผ๋๋
)Transit Gateway ID : BRC-TGW ๋์ ์ง์
Attachment Type : Peering
Attachment Name Tag : MAIN-TGW-ATT
Region : N. Virginia
Transit Gateway (accepter) : MAIN-TGW ๋์ ์ง์ (
๋ฒ์ง๋์
์ ์ง์ ํ์ฌ TGW ID๋ฅผ ํ์ธ ํ ์ง์ ์ ๋ ฅํด์ผ ํ๋ค)
๊ทธ๋ฆผ 6.1 ์์ผ๋๋ ๋ฆฌ์ ์์ Inter Region Peering ์ค์
๊ทธ๋ฆผ 6.2 Transit Gateway Attachment Inter Region Peering ์ ๋ฐ๋ก ์ ์ฉ์ด ๋์ง ์์ (๋ฒ์ง๋์์์ ์๋ฝ)
- VPC โ> Transit Gateway Attachment โ> ๋์ ์ง์ โ> ์์
โ> Accept (
๋ฒ์ง๋์
)
๊ทธ๋ฆผ 6.3 Transit Gateway Attachment Inter Region Peering ํ์ธ
- Inter Region Peering Attachment ๋ ๊ฒ์ ํ์ธ ํ ์ ์๋ค. (๊ตฌ๋ถ์ ์ํด BRC-TGW-ATT๋ก Tagํจ)
6.3 Routing Table ์ค์
6.3.1) BRANCH SITE VPC์ Routing Table ์ค์
CloudFormation์ ์ํด ์์ฑ๋ 2๊ฐ์ ๋ผ์ฐํ ํ ์ด๋ธ์ ๊ฒฝ๋ก๋ฅผ ์ถ๊ฐํ๋ค.
- ๋ผ์ฐํ ํธ์ง โ> ๋ผ์ฐํ ์ถ๊ฐ โ> 10.0.0.0/8 ๋์ญ, tgw-xxxx ํ๊ฒ
6.3.2) MAIN-TGW์ Routing Table ์ค์
VPC โ> Transit Gateway Routing Table โ> ๋์ ์ ํ โ> Route ํญ โ> Create Route
- 10.0.0.0/8 ๋์ญ, BRANCH-TGW ํ๊ฒ (tgw-xxxx)
6.3.3) BRANCH-TGW์ Routing Table ์ค์
VPC โ> Transit Gateway Routing Table โ> ๋์ ์ ํ โ> Route ํญ โ> Create Route
- 10.0.0.0/8 ๋์ญ, MAIN-TGW ํ๊ฒ (tgw-xxxx)
6.4 Verify
1 | [ec2-user@MAIN-MGT ~]$ ./pingall.sh |
- MAIN-MGT EC2์ ์ ์ํ์ฌ
pingall.sh
์คํฌ๋ฆฝํธ๋ฅผ ์ํํ๋ค. ๋ฒ์ง๋์
MAIN / SUB / BRANCH SITE์ ์กด์ฌํ๋ EC2 ๋ผ๋ฆฌ ํต์ ์ด ๊ฐ๋ฅํ๋ค.
6์ฅ ํ์ฌ๊น์ง ์๋ฃ๋ ๊ตฌ์ฑ๋ ํ์ธ
7. AWS Transit Gateway VPN Attachment
- ์ด ๋ฒ ๋จ๊ณ์ ์ค์ต์ MAIN SITE TGW์ ๋ค๋ฅธ ๋ฆฌ์ ์ ์๋ Site-to-Site VPN์ ์ฐ๊ฒฐํ๋ ํ ์คํธ๋ฅผ ํ๋ค. (AWS Transit Gateway VPN Attachment)
- ์์ธ ๋ฆฌ์ ์ VPC๋ฅผ ์์ฑํ์ฌ VPN ์๋ฒ๋ฅผ ๋ฐฐ์นํ๋๋ฐ, ๊ฐ์์ผ๋ก On-Premise ํ๊ฒฝ์ด๋ผ ๊ฐ์ ํ์ฌ ํ ์คํธ ํ๋ค.
- ์ค์ต ํ๊ฒฝ: Region -
๋ฒ์ง๋์, ์์ธ
, Account - ๋ณธ AWS ๊ณ์
7.1 ์์ธ CloufFormation ๋ฐฐํฌ
7.1.1) CloudFormation ๋ฐฐํฌ
2.3ํญ์์ ์ ๊ณตํ Seoul_TransitGW_Lab_CF.yaml ํ์ผ์ ๋ฐฐํฌํ์.
์์ธ CF ์์ฑ ์ธํ๋ผ
EC2-Instance 1๊ฐ
VPC 1๊ฐ, Public Subnet 1๊ฐ, Routing Table 1๊ฐ, IGW 1๊ฐ
Security Group 1๊ฐ
์ ์์ฑ๋ ์ธํ๋ผ๊ฐ ์ ์์ ์ผ๋ก ์ฌ๋ผ์๋ ์ง ํ์ธํ์.
7.2 AWS Site to Site VPN ์ค์
7.2.1) Custom Gateway ์์ฑ
VPC โ> VPN โ> ๊ณ ๊ฐ ๊ฒ์ดํธ์จ์ด โ> ๊ณ ๊ฐ ๊ฒ์ดํธ์จ์ด ์์ฑ (
๋ฒ์ง๋์
)์ด๋ฆ : CloudNeta-CGW
๋ผ์ฐํ : ์ ์
IP ์ฃผ์ :
์์ธ
์ ์์นํ EC2 Public IP ์ฃผ์
7.2.2) TGW VPN Attachment
VPC โ> Transit Gateway Attachment โ> ์ฌ์ดํธ ๊ฐ VPN ์ฐ๊ฒฐ โ> VPN ์ฐ๊ฒฐ ์์ฑ (
๋ฒ์ง๋์
)Transit Gateway ID : MAIN-TGW ์ ํ
Attachment Type : VPN
๊ณ ๊ฐ ๊ฒ์ดํธ์จ์ด : Existing
Customer Gateway ID : ์์ฑํ CGW ์ ํ
- ๋ผ์ฐํ ์ต์ : ์ ์
7.2.3) VPN ๊ตฌ์ฑ ๋ค์ด๋ก๋
- VPC โ> VPN โ> ์ฌ์ดํธ ๊ฐ VPN์ ์ ๊ทผํ๋ค
- ์ผ์ ์๊ฐ์ด ์ง๋๋ฉด Site to Site VPN ์ฐ๊ฒฐ ์ํ๋ ์ฌ์ฉ ๊ฐ๋ฅ ์ํ๋ก ์ ํ๋๋ค.
- AWS์์๋ ์ฐ๊ฒฐ ํ ์๋๋ฐฉ VPN ์๋ฒ์ ๋ํ ๊ตฌ์ฑ ์ ๋ณด๋ฅผ ์น์ ํ ์ ๊ณตํ๊ณ ์๋ค.
- ๊ตฌ์ฑ ๋ค์ด๋ก๋ โ> ๊ณต๊ธ์ ์ฒด : Openswan ์ ํ
7.3 OpenSwan VPN ์๋ฒ ์ค์
์์ธ
์ ์์ฑํ EC2-Instance์ SSH ์ ์์ ํ๋ค.
7.3.1) aws-vpn.conf ์์ฑ ๋ฐ ์ ๋ ฅ
1 | [ec2-user@OPM-VPN ~]$ sudo su |
- vi ํธ์ง๊ธฐ ๋ชจ๋๋ก
/etc/ipsec.d/aws-vpn.conf
ํ์ผ์ ์์ฑํ์ฌ ์ ๊ทผํ๋ค.
1 | vi /etc/ipsec.d/aws-vpn.conf |
ํด๋น ์ฝ๋ ์ ๋ณด๋ 7.2.3ํญ์์ ๋ค์ด ๋ฐ์ TXT ํ์ผ์์ 4ํญ์ ๋ด์ฉ์ ์ฌ์ฉํ๋ค. (โข ์ ์ฝ๋ ๊ฐ์ ๋ฃ์ผ๋ผ๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ ๋ค์ด๋ฐ์ TXT ํ์ผ์ ์ฐธ์กฐํด์ ์ค์ )
์ฝ๋ ๋ด์ฉ ์ค ์์ ์ด ํ์ํ ์ฌํญ
LOCAL NETWORK๋ VPC-OPM์ ๋์ญ์ผ๋ก 10.6.0.0/16 ์ ๋ ฅํ๋ค.
REMOTE NETWORK๋ AWS ๋์ญ์ผ๋ก 10.0.0.0/8 ์ ๋ ฅํ๋ค.
auto=esp ์ญ์
๋๋จธ์ง๋ ์๋ ๊ทธ๋๋ก ์ฌ์ฉ
7.3.2) aws-vpn.secrets ์์ฑ
1 | [root@OPM-VPN ec2-user]# vi /etc/ipsec.d/aws-vpn.secrets |
- vi ํธ์ง๊ธฐ ๋ชจ๋๋ก
/etc/ipsec.d/aws-vpn.secrets
ํ์ผ์ ์์ฑํ์ฌ ์ ๊ทผํ๋ค.
1 | vi /etc/ipsec.d/aws-vpn.conf |
- ํด๋น ์ฝ๋ ์ ๋ณด๋ 7.2.3ํญ์์ ๋ค์ด ๋ฐ์ TXT ํ์ผ์์ 5ํญ์ ๋ด์ฉ์ ์ฌ์ฉํ๋ค. (โข ์ ์ฝ๋ ๊ฐ์ ๋ฃ์ผ๋ผ๋ ๊ฒ์ด ์๋๋ผ ๊ฐ์ ๋ค์ด๋ฐ์ TXT ํ์ผ์ ์ฐธ์กฐํด์ ์ค์ )
7.3.3) OpenSwan VPN ์๋ฒ ์์
1 | [root@OPM-VPN ec2-user]# chkconfig ipsec on |
- OpenSwan์ ์ํ๊ฐ Active ์์ ํ์ธ ํ๋ค.
- ๋ฒ์ง๋์ Site to Site VPN ์ํ๋ฅผ ๋ณด๋ฉด Tunnel 1์ด ์๋ ์ํ๋ก ์ฌ๋ผ์๋ค.
7.4 TGW ๋ผ์ฐํ ํ ์ด๋ธ ์ค์
Transit Gateway ๋ผ์ฐํ ํ ์ด๋ธ์์ On-Premise ๋์ญ์ ๋ํ ๋ผ์ฐํ ์ ์ก์์ผ ํ๋ค.
VPC โ> Transit Gateway ๋ผ์ฐํ ํ ์ด๋ธ โ> TGW ๋์ ์ง์ โ> Route ํญ โ> Create Route
CIDR : 10.6.0.0/16
Choose Attachment : ์์ ์์ฑํ VPN Attachment ์ง์
7.5 Verify
1 | [root@MAIN-MGT ec2-user]# ./pingall.sh |
- MAIN-MGT EC2์ ์ ์ํ์ฌ
pingall.sh
์คํฌ๋ฆฝํธ๋ฅผ ์ํํ๋ค. - ๋๋์ด ๋ชจ๋ ๊ตฌ๊ฐ์ผ๋ก ํต์ ์ด ๊ฐ๋ฅํ๋ค.
7์ฅ ํ์ฌ๊น์ง ์๋ฃ๋ ๊ตฌ์ฑ๋ ํ์ธ
8. NAT Gateway through AWS Transit Gateway
- ์ด ๋ฒ ๋จ๊ณ์ ์ค์ต์ Private Subnet์ ์กด์ฌํ๋ ์ธ์คํด์ค๋ฅผ TGW๋ฅผ ํตํด MAIN SITE์ Egress VPC์ ์กด์ฌํ๋ NAT GW๋ฅผ ํตํด ์ธ๋ถ ์ธํฐ๋ท ํต์ ์ ํ ์คํธํ๋ค.
- ๋ณธ ์ค์ต์์ Private Subnet์ ํฌ๊ฒ TEST ํ๊ฒฝ๊ณผ DEV ํ๊ฒฝ์ผ๋ก ๊ตฌ๋ถํ ์ ์๋ค. ์ด ์ค์ DEV ํ๊ฒฝ๋ง NAT GW๋ฅผ ํตํด ์ธ๋ถ ์ธํฐ๋ท ํต์ ์ํ๊ณ , TEST ํ๊ฒฝ์ ํ์๋ง ์ฑ๊ฒฉ์ผ๋ก ์ธ๋ถ ์ธํฐ๋ท ํต์ ์ ํ์ง ์๋๋ก ํ๋ ์ปจ์ ์ด๋ค.
- ์ค์ต ํ๊ฒฝ: Region -
๋ฒ์ง๋์
, Account - ๋ณธ AWS ๊ณ์ + ์๋ธ AWS ๊ณ์
8.1 ๋ฒ์ง๋์ CloufFormation ๋ฐฐํฌ
8.1.1) CloudFormation ๋ฐฐํฌ
- 2.3ํญ์์ ์ ๊ณตํ Virginia_TransitGW_Lab_CF.yaml ํ์ผ์ ๋ฐฐํฌํ์.
๐ก ์ฃผ์: CF Condition์ ์ํด ํ๋ผ๋ฏธํฐ ๊ฐ์ Nat๋ก ์ง์ ํ์!
๊ทธ๋ฆผ 8.1 NAT ์ฉ๋์ CloudFormation ์์ฑ (EnvType์ Nat๋ก ์ง์ )
๋ฒ์ง๋์ CF ์์ฑ ์ธํ๋ผ (NAT)
- NAT Gateway 1๊ฐ
- VPC 1๊ฐ, Public Subnet 1๊ฐ, Private Subnet 1๊ฐ, Routing Table 2๊ฐ, IGW 1๊ฐ
- ์ ์์ฑ๋ ์ธํ๋ผ๊ฐ ์ ์์ ์ผ๋ก ์ฌ๋ผ์๋ ์ง ํ์ธํ์.
8.2 TGW Attachment
VPC โ> Transit Gateway Attachment โ> Create Transit Gateway Attachment
Transit Gateway ID ์ง์
Attachment Type : VPC
Attachment Name Tag : MAIN-VPCEG-ATT
VPC ID : VPC01 โ> AZ & Subnet ์ง์
8.3 Routing Table ์ค์
8.3.1) DEV ํ๊ฒฝ์ ๋ผ์ฐํ ์ค์
DEV ํ๊ฒฝ์ MAIN-DEV์ SUB-DEV 2๊ตฐ๋ฐ๋ง ์ค์ ์ด๋ค.
VPC โ> ๋ผ์ฐํ ํ ์ด๋ธ โ> ๋์ ์ง์ (๋ณธ ๊ณ์ , ์๋ธ๊ณ์ ๋ชจ๋ ์ค์ )
- ๋ผ์ฐํ ํธ์ง โ> ๋ผ์ฐํ ์ถ๊ฐ โ> 0.0.0.0/0 ๋์ญ, TGW ํ๊ฒ(tgw-xxxx)
8.3.2) TGW์ ๋ผ์ฐํ ์ค์
VPC โ> Transit Gateway ๋ผ์ฐํ ํ ์ด๋ธ โ> ๋์ ์ง์ โ> Route ํญ โ> Create Route
- 0.0.0.0/0 ๋์ญ, MAIN-VPCEG-ATT ๋์ ์ง์
8.3.3) VPCEG์ Private์ Public ๋ผ์ฐํ ์ค์ (2 ๊ตฐ๋ฐ ์ค์ )
VPC โ> ๋ผ์ฐํ ํ ์ด๋ธ โ> ๋์ ์ง์
- ๋ผ์ฐํ ํธ์ง โ> ๋ผ์ฐํ ์ถ๊ฐ โ> 10.0.0.0/8 ๋์ญ, TGW ํ๊ฒ(tgw-xxxx)
8.3 Verify
- MAIN-TEST, MAIN-DEV, SUB-TEST, SUB-DEV์ SSH๋ก ์ ๊ทผํ์ฌ pingall.sh ์ํ (root๊ณ์ ์ํธ: qwe123)
8.3.1) MAIN-TEST ํ ์คํธ
View Result
1
2
3
4
5
6
7
8
9
10
11[root@MAIN-TEST ~]# ./pingall.sh
node google.com is down
node 10.1.1.10 is up
node 10.2.1.10 is up
node 10.2.2.10 is up
node 10.3.1.10 is up
node 10.3.2.10 is up
node 10.4.1.10 is up
node 10.5.1.10 is up
node 10.6.1.10 is up
[root@MAIN-TEST ~]#- ๋ด๋ถ ์ธํ๋ผ์๋ํต์ ๋์ง๋ง ์ธ๋ถ ์ธํฐ๋ท ํต์ ์ ๋ถ๊ฐํ๋ค.
8.3.2) MAIN-DEV ํ ์คํธ
View Result
1
2
3
4
5
6
7
8
9
10
11[root@MAIN-DEV ~]# ./pingall.sh
node google.com is up
node 10.1.1.10 is up
node 10.2.1.10 is up
node 10.2.2.10 is up
node 10.3.1.10 is up
node 10.3.2.10 is up
node 10.4.1.10 is up
node 10.5.1.10 is up
node 10.6.1.10 is up
[root@MAIN-DEV ~]#- ๋ชจ๋ ์์ญ์ผ๋ก ํต์ ์ด ๊ฐ๋ฅํ๋ค.
8.3.3) SUB-TEST ํ ์คํธ
View Result
1
2
3
4
5
6
7
8
9
10
11[root@SUB-TEST ~]# ./pingall.sh
node google.com is down
node 10.1.1.10 is up
node 10.2.1.10 is up
node 10.2.2.10 is up
node 10.3.1.10 is up
node 10.3.2.10 is up
node 10.4.1.10 is up
node 10.5.1.10 is up
node 10.6.1.10 is up
[root@SUB-TEST ~]#- ๋ด๋ถ ์ธํ๋ผ์๋ํต์ ๋์ง๋ง ์ธ๋ถ ์ธํฐ๋ท ํต์ ์ ๋ถ๊ฐํ๋ค.
8.3.4) SUB-DEV ํ ์คํธ
View Result
1
2
3
4
5
6
7
8
9
10
11[root@SUB-DEV ~]# ./pingall.sh
node google.com is up
node 10.1.1.10 is up
node 10.2.1.10 is up
node 10.2.2.10 is up
node 10.3.1.10 is up
node 10.3.2.10 is up
node 10.4.1.10 is up
node 10.5.1.10 is up
node 10.6.1.10 is up
[root@SUB-DEV ~]#- ๋ชจ๋ ์์ญ์ผ๋ก ํต์ ์ด ๊ฐ๋ฅํ๋ค.
8์ฅ ํ์ฌ๊น์ง ์๋ฃ๋ ๊ตฌ์ฑ๋ ํ์ธ
9. AWS Transit Gateway Network Manager
- ์ด ๋ฒ ๋จ๊ณ์ ์ค์ต์ TGW Network Manager ๊ธฐ๋ฅ์ ํตํด ๊ฐ์์ฑ ์๊ฒ Global Network๋ฅผ ๋ชจ๋ํฐ๋งํ๋ค.
9.1 Create Global Network
VPC โ> Transit Gateway โ> ๋คํธ์ํฌ ๊ด๋ฆฌ์ โ> Create a Global Network
- ์ด๋ฆ : CloudNeta-GN
9.2 Transit Gateway ๋ฑ๋ก
๋คํธ์ํฌ ๊ด๋ฆฌ์ ๋ฐ์๋ณด๋์์ ์ ์ก ๊ฒ์ดํธ์จ์ด ์ถ๊ฐํ๋ค.
CloudNeta-MAIN-TGW
BRC-TGW
๊ทธ๋ฆผ 9.1 TGW Global Network ๋คํธ์ํฌ ๊ด๋ฆฌ์์์ Transit Gateway ๋ฑ๋ก
9.3 Verify
9.3.1) ์ง๋ฆฌ์ ์ ๋ณด
๊ทธ๋ฆผ 9.2 TGW์ ์ง๋ฆฌ์ ์์น ํํ
9.3.2) ํ ํด๋ก์ง
๊ทธ๋ฆผ 9.3 Global Network ์ฐ๊ฒฐ ํ ํด๋ก์ง ํ์ธ
9.3.4) ๋ชจ๋ํฐ๋ง
๊ทธ๋ฆผ 9.4 Global Network ๋ชจ๋ํฐ๋ง ์ ๋ณด
9.3.5) Route Analyzer
๊ทธ๋ฆผ 9.5 ๊ฒฝ๋ก ๋ถ์๊ธฐ (Route Analyzer) ์ ๋ณด ์ ๋ ฅ
๊ทธ๋ฆผ 9.6 ๊ฒฝ๋ก ๋ถ์๊ธฐ ๊ฒฐ๊ณผ ํ์ธ
AWS Transit Gateway ๋คํธ์ํฌ ๊ด๋ฆฌ์ Route Analyzer ๋ฐํ
์ฐธ๊ณ ๋งํฌ : AWS TGW ๋คํธ์ํฌ ๊ด๋ฆฌ Route Analyzer ๋ฐํ
10. Delete Resources
01) TGW ๋คํธ์ํฌ ๋งค๋์ ์ ์ก ๊ฒ์ดํธ์จ์ด ๋ฑ๋ก ์ทจ์
02) ๊ธ๋ก๋ฒ ๋คํธ์ํฌ ์ญ์
03) ์์ธ
CloudFormation ์คํ ์ญ์
04) ์์ด๋๋
TGW Attachment์์ TGW Peering ๋์ ์ญ์
05) ์์ผ๋๋
CloudFormation ์คํ ์ญ์
06) ์๋ธ ๊ณ์ Resource Access Manager์์ ๋ฆฌ์์ค ๊ณต์ ๋๊ฐ๊ธฐ
07) ๋ฉ์ธ ๊ณ์ Resource Access Manager์์ ๋ฆฌ์์ค ์ญ์
08) ์๋ธ ๊ณ์ TGW Attachment์์ VPC Attachment ๋์ ์ญ์
09) ์๋ธ ๊ณ์ ๋ฒ์ง๋์
CloudFormation ์คํ ์ญ์
10) ๋ฒ์ง๋์
์ฌ์ดํธ ๊ฐ VPN ์ฐ๊ฒฐ ์ญ์ ํ ๊ณ ๊ฐ ๊ฒ์ดํธ์จ์ด ์ญ์
11) ๋ฒ์ง๋์
TGW Multicast Domain ์ญ์ (์ฐ์ Delete Association ํ ์ญ์ )
12) ๋ฒ์ง๋์
TGW Attachment ๋์ ๋ชจ๋ ์ญ์
13) ๋ฒ์ง๋์
Trasit Gateway ์ญ์
14) ๋ฒ์ง๋์
NAT CloudFormation ์คํ ์ญ์
15) ๋ฒ์ง๋์
MAIN CloudFormation ์คํ ์ญ์
๐ CloudFormation ์คํ์ ์ญ์ ์ ์ผ์ ์๊ฐ์ด ์์๋๋๋ฐ, ๋๋ฌด ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฐ๋ค๋ฉด ์๋์ผ๋ก ๊ด๋ จ ์ธํ๋ผ๋ฅผ ์ญ์ ํด์ผ ํ๋ค.
๋ฐ๋์, ์ค์ต์ ์ํด ์์ฑํ ๋ฆฌ์์ค๋ ์ญ์ ํ๋ค.