์์ฑ์ : gasida.cloudnet@
AWS Document Link
- Site-to-Site VPN User Guide
- Site-to-Site VPN Network Administrator Guide
- VYOS User Guide
1. AWS VPN Site to Site with Dynamic Route (BGP)
VPN ์ ํตํ ๋ด๋ถ ๋คํธ์ํฌ ๋์ญ์ ๋ํ ๋ผ์ฐํ ๊ด๋ก๋ฅผ BGP ๋ฅผ ํตํ์ฌ ๋์ ์ผ๋ก ์ ๋ฐ์ดํธ ํ๋ค
BGP AS ๋ 2- or 4-byte ASN ๋ฅผ ์ฌ์ฉ
AWS VGW๋ BGP๋ก Amazon VPC ๋์ญ์ ๊ด๊ณ ํ๋ค
โ ์ฆ, IDC(๊ณ ๊ฐ์ธก)์๋ AWS VPC๋์ญ์ ๋คํธ์ํฌ ์ ๋ณด๋ฅผ ์๊ฒ ๋๋ค
AWS VGW๋ BGP๋ก VPC๋์ญ ๊ด๊ณ ์ BGP MED 100 ๊ณผ 200 ์ ๊ฐ๊ฐ Tunnel ๋ก ๊ด๊ณ ํ๋ค
โ ์ฆ, IDC(๊ณ ๊ฐ์ธก)์์๋ BGP MED 100์ด ์ฐ์ ํจ์ผ๋ก 1๊ฐ์ Tunnel ์ด ์ ์ ๋๊ณ ์ค์ ํธ๋ํฝ์ด ํด๋น Tunnel ๋ก ํต์ ํ๋ค
IPsec tunnels ๊ณผ BGP sessions ๋ ํญ์ ๊ณ ๊ฐ์ธก(CGW)์์ ์์ํ๋ค
2. AWS VPN Site to Site with Dynamic Route (BGP) Lab Preview
2.1 Lab Topology
์์ธ, ์ฑ๊ฐํด
Region์ ๊ฐ๊ฐ AWS ํ๊ฒฝ๊ณผ, IDC ํ๊ฒฝ(๊ฐ์ )์ผ๋ก ๊ตฌ์ฑ- IDC ํ๊ฒฝ์ ์ค์ AWS ์์ญ์ด ์๋๋ผ ์ผ๋ฐ ๊ธฐ์ ๋ฌผ๋ฆฌ๋ง์ด์ง๋ง ์ค์ต์ ํธ๋ฆฌ์ฑ์ ์ํด์ AWS ํ๊ฒฝ์์ ๊ตฌ์ฑํจ
์์ธ
Region ์ AWS VGW๋ฅผ ๋ฐฐ์นํ๊ณ Public Subnet ์ ํ ์คํธ ์ฉ๋์ EC2๋ฅผ ๋ฐฐ์นํจ์ฑ๊ฐํด
Region (IDCํ๊ฒฝ)์ VPN ์ญํ ์ VYOS(์ปค๋ฎค๋ํฐAMI)๋ก ํ๋ฉฐ Private Subnet์ ํ ์คํธ ์ฉ๋์ EC2๋ฅผ ๋ฐฐ์นํจ
๐ก VYOS๋ ๋ฆฌ๋ ์ค(Debina) ๊ธฐ๋ฐ์ ๋ผ์ฐํ , ๋ฐฉํ๋ฒฝ, VPN ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ VPN ์ญํ ๋ก ์ ํํจ. ์ฐธ๊ณ ๋งํฌ
2.2 ๊ธฐ๋ณธ ์ค์
- ๋ณธ ์ค์ต์์ ํ์ฉํ AWS Region์
์์ธ, ์ฑ๊ฐํด
์ ๋๋ค. ํด๋น Region์ ๋ํ EC2-Key Pair๋ฅผ ์์ฑ ์๋๋, ์ํ์ธ๋ฃจ
Region ์ ๋ฆฌ์์ค๋ CloudFormation์ ์ํด 2.1 ๊ทธ๋ฆผ์ ์ธํ๋ผ๋ฅผ ์๋ ๊ตฌ์ถ (2.3ํญ์์ ์งํ)
2.3 CloudFormation (Infrastructure as Code)
์ฑ๊ฐํด Region์์ CloudFormation ์คํ์ ์์ฑํ๋ค.
- 1๋จ๊ณ ํ
ํ๋ฆฟ ์ง์
- ํ ํ๋ฆฟ ์ค๋น : ์ค๋น๋ ํ ํ๋ฆฟ
- ํ ํ๋ฆฟ ์์ค : Amazon S3 URL
- Amazon S3 URL : https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/VPN/gasida_vpn_idc1.yaml
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 2๋จ๊ณ ์คํ ์ธ๋ถ ์ ๋ณด ์ง์
- ์คํ ์ด๋ฆ : VPN-IDC
- KeyName : ์์ ์ EC2-Key Pair ๋ฅผ ์ง์
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 3๋จ๊ณ ์คํ ์ต์
๊ตฌ์ฑ
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 4๋จ๊ณ ๊ฒํ
- ์ฐ์ธก ํ๋จ
์คํ ์์ฑ
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
์ฑ๊ฐํด Region์์ CloudFormation ์คํ ์์ฑ ์๋ฃ ํ (5๋ถ ์ ๋ ์์) ์ถ๋ ฅ์์ VYOSInstancePublicIP ์ ๊ฐ(IP)๋ฅผ ํ์ธํ๋ค.
์์ธ Region์์ CloudFormation ์คํ์ ์์ฑํ๋ค.
- 1๋จ๊ณ ํ
ํ๋ฆฟ ์ง์
- ํ ํ๋ฆฟ ์ค๋น : ์ค๋น๋ ํ ํ๋ฆฟ
- ํ ํ๋ฆฟ ์์ค : Amazon S3 URL
- Amazon S3 URL : https://s3.ap-northeast-2.amazonaws.com/cloudformation.cloudneta.net/VPN/gasida_vpn_aws.yaml
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 2๋จ๊ณ ์คํ ์ธ๋ถ ์ ๋ณด ์ง์
- ์คํ ์ด๋ฆ : VPN-AWS
- KeyName : ์์ ์ EC2-Key Pair ๋ฅผ ์ง์
- StaticRoutesOnlyForVPN : false โ AWS VPN ์ IDC VPN ๊ฐ Dynamic Route(BGP) ์ค์ ์ ํ ์์ ์ด๋ฏ๋ก
- VPCAWSCustomerGatewayIP : 52.76.100.41 โ ์ ์ฑ๊ฐํด์์ ์คํ ์ถ๋ ฅ์์ VYOSInstancePublicIP ๊ฐ
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 3๋จ๊ณ ์คํ ์ต์
๊ตฌ์ฑ
- ์ฐ์ธก ํ๋จ
๋ค์
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- 4๋จ๊ณ ๊ฒํ
- ์ฐ์ธก ํ๋จ
์คํ ์์ฑ
ํด๋ฆญ
- ์ฐ์ธก ํ๋จ
- CloudFormation์ ์ํด ์์ฑ๋๋ ๋ฆฌ์์ค๋ ์๋์ ๊ฐ์ผ๋ฉฐ, ๊ฐ Region ๋ณ ์ ์์ ์ผ๋ก ์์ฑ๋์๋์ง ํ์ธํ๋ค.
์ฑ๊ฐํด CloudFormation ์์ฑ ์ธํ๋ผ
- VPC, 2 Subnet, IGW, 2 Route table
- EIP, VYOS EC2 Instance (eth0, eth1)
- Amazon Linux 2 EC2 Instance (Test์ฉ)
์์ธ CloudFormation ์์ฑ ์ธํ๋ผ
- VPC, 2 Subnet, IGW, 2 Route table
- VGW, CGW, VPN Connection
- EIP, Amazon Linux 2 EC2 Instance (Test์ฉ)
๐ก ์ค๋ฌด์์์ AWS VGW ์ ์ฐ๊ฒฐ ์ IDC ์์นํ VPN(์. VYOS)์ค์ ์ ๋ณดํต โIDC ๋คํธ์ํฌ(ํน์ ๋ณด์) ์์ง๋์ดโ ๊ฐ ์ค์ ์ ํ๊ฒ ๋์ด์ ๊ฐ๋ฐ์ ๋ถ๋ค์ ๊ฒฝ์ฐ ์๋ Lab ๋ฐ๋ผํ๊ธฐ๊ฐ ์ด๋ ค์ด ๋ถ๋ถ์ด ์๋ค. ๊ทธ๋์ VYOS ๊ด๋ จ ์ค์ ๊ณผ IDC1์ ๊ด๋ จ ์ค์ ์ toggle โโถ๏ธโ ์ ์ด ๋์๋ค. ํ์ ์ toggle ํด๋ฆญํ์ฌ ์์ธํ ๋ด์ฉ์ ๋ณด์๊ธฐ ๋ฐ๋๋ค. VYOS ๋ด์ฉ์ ์ ์ธํ AWS VPN ๊ด๋ จ ์ค์ ๋ด์ฉ์ ์์ฃผ๋ก ๋ณด์๋ฉด ๋๋ค.
2.4 ๊ฒ์ฆ
์ฌ์ฉ์ PC์์
์ฑ๊ฐํด
VYOS Public IP ์ฃผ์๋ก SSH ์ ๊ทผํ๋ค. ์ถ๊ฐ๋ก VYOS ์ธํฐํ์ด์ค ์ค์ ์ ํ๋ค.VYOS ์ค์ ๋ชจ๋(conf) ๋ก ์ง์ ํด์ VYOS eth1 IP(์คํ ์ถ๋ ฅ VYOSInstanceINTERNALPrivateIP ํ์ธ)๋ ์ค์ ํ ์ ์ฉํ๋ค.
Private Subnet ์ ์๋ Test EC2 IP ๋ก ping ๋ฐ SSH ์ ๊ทผํ๋ค. ์ ์ ๊ณ์ root / qwe123
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27# ์์ ์ VYOSInstanceINTERNALPrivateIP ๋ก SSH ์ ์
ssh -i '*EC2-Key Pair'* vyos@52.76.100.41
..
# ํด๋น AMI ์ด๋ฏธ์ง๋ ๊ธฐ๋ณธ์ ์ผ๋ก eth1 IP ๊ฐ ๋ฏธ์ค์ ๋์ด ์๋ค
vyos@ip-10-100-1-198:~$ show interfaces
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
eth0 10.100.1.198/24 u/u
eth1 - u/u
..
# VYOS ์ค์ ๋ชจ๋(conf)๋ก ์ง์ ํ์ฌ eth1์ IP๋ฅผ ์ค์ ํ ์ ์ฉ๊ณผ ์ ์ฅ์ ํ๋ค
vyos@ip-10-100-1-198$ conf
vyos@ip-10-100-1-198# set interfaces ethernet eth1 address 10.100.100.56/24
vyos@ip-10-100-1-198# commit
vyos@ip-10-100-1-198# exit
# VYOS์์ ๋ด๋ถ์ ์๋ EC2 ์ธ์คํด์ค๋ก ping ํ ์คํธ๋ฅผ ํ๋ค
vyos@ip-10-100-1-198:~$ ping 10.100.100.192
PING 10.100.100.192 (10.100.100.192) 56(84) bytes of data.
64 bytes from 10.100.100.192: icmp_seq=1 ttl=255 time=0.732 ms
..
# VYOS์์ ๋ด๋ถ์ ์๋ EC2 ์ธ์คํด์ค๋ก SSH ์ ์ ํ์ธ์ ํ๋ค.
vyos@ip-10-100-1-198:~$ ssh root@10.100.100.192
์ฌ์ฉ์ PC์์
์์ธ
EC2 Instance EIP ์ฃผ์๋ก SSH ์ ๊ทผํ๋ค. ์ ์ ๊ณ์ root / qwe1231
ssh root@52.78.176.204
์ฐธ๊ณ ๋ก CloudFormation์ ์ํด ๋ฆฌ์์ค๊ฐ ์ ์์ ์ผ๋ก ์ฌ๋ผ์ค๊ธฐ ๊น์ง ์ฝ๊ฐ์ ์๊ฐ์ด ํ์ํ๋ ์ผ์ ์๊ฐ ๋๊ธฐ๊ฐ ํ์ํ๋ค.
๐ก ๋ณธ๊ฒฉ์ ์ธ ์ค์ต์ ์์, Site to Site VPN ๋ฆฌ์์ค๋ ์๋์ ๊ณผ๊ธ์ด ๋ถ๊ฐํผ ํ๋ค. (VPN ์ฐ๊ฒฐ ์๊ฐ ๋จ์ ์๊ธ ๋ถ๊ณผ - ์๊ฐ ๋น $0.05 ๋ฑ)
์์ธํ ์ฌํญ์ ์๊ธ ๋งํฌ๋ฅผ ์ฐธ๊ณ ๋ฐ๋๋ค.
3. Configuration Site to Site VPN
3.1 ์์ธ
Region ์ VPN ์ ๋ณด ํ์ธ
VPN Tunnel 1 ๊ณผ Tunnel 2 ์ ์ธ๋ถIP์ ๋ด๋ถIP CIDR์ ํ์ธ ํ๋ค.
3.2 ์์ธ
Region ์ ๊ณ ๊ฐ VPN ์ฅ๋น ์ค์ ์ ์ํ ๊ตฌ์ฑ ๋ค์ด๋ก๋ ํ ์ฑ๊ฐํด
Region ์ VYOS ์ VPN Config ์ค์
๐๐ปโโ๏ธ VPN ๊ตฌ์ฑ ๋ค์ด๋ก๋? AWS VGW ์ ์ฐ๊ฒฐ๋๋ ๊ณ ๊ฐVPN ์ฅ๋น(๊ณต๊ธ์ ์ฒด ๋ณ)์ VPN ๊ด๋ จ ์ค์ ์ AWS ์์ ์ ๊ณต
[AWS VPN ์ฌ์ดํธ ๊ฐ VPN ์ฐ๊ฒฐ - ๊ตฌ์ฑ ๋ค์ด๋ก๋] ์ ํ ํ Vyatta ์ ํ ํ
๋ค์ด๋ก๋
๋ค์ด๋ก๋ ํ์ผ ์์
๋ค์ด ๋ฐ์ config ํ์ผ ๋ด์ฉ์ ์ผ๋ถ ๋ณ๊ฒฝ ํ VYOS ์ ์ ์ฉํ๋ค
์ผ๋ถ ๋ด์ฉ ๋ณ๊ฒฝ : ์ฐพ๊ธฐ ์ฌ์ฉ์ ๊ถ์ฅ
1 | 41์ค, 132์ค) VYOS eth0(EIP)๋ฅผ etho(private ip)๋ก ๋ณ๊ฒฝ |
๋ณ๊ฒฝ ์ ์ฉ ํ VYOS VPN Config โ VYOS conf ๋ชจ๋์ ๋ณต์ฌ ๋ถ์ฌ๋ฃ๊ธฐ๋ฅผ ํ๋ค
1 | conf |
VPN ๊ด๋ จ Tunnel, Interface, IP ๋ฅผ ํํ
4. Verify Site to Site VPN
4.1 ์์ธ
Region ์ VPN ์ ๋ณด ํ์ธ
VPN Tunnel 2๊ฐ์ ์ํ๊ฐ ์ ์ ์๋์ ํ์ธ , ์ธ๋ถ์ ๋ณด์์ VYOS ์์ BGP๋ก 1๊ฐ์ ๋คํธ์ํฌ ๋์ญ์ ๊ด๊ณ ํด์ ์์์์์ ํ์ธ
4.2 ์ฑ๊ฐํด
Region ์ VYOS ์์ VPN ์ ๋ณด ํ์ธ
Tunnel ์ธํฐํ์ด์ค(= vti0, vti1) ์ ๋ณด ํ์ธ ๋ฐ VPN ์ํ ํ์ธ ๋ฐ ๋ผ์ฐํ ํ ์ด๋ธ ํ์ธ, VPN Tunnel IP ๋ก ping ํ ์คํธ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43# VYOS ์ ๊ฐ์์ ํฐ๋ ์ธํฐํ์ด์ค ์ ๋ณด๋ฅผ ํ
$ show interfaces vti
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface IP Address S/L Description
--------- ---------- --- -----------
vti0 169.254.70.182/30 u/u VPC tunnel 1
vti1 169.254.50.254/30 u/u VPC tunnel 2
# AWS ๋ด๋ถIP(ํฐ๋IP)์ ping ํต์ ํ์ธ
$ ping 169.254.70.181
64 bytes from 169.254.70.181: icmp_seq=1 ttl=254 time=103 ms
$ ping 169.254.50.253
64 bytes from 169.254.50.253: icmp_seq=1 ttl=254 time=103 ms
# VYOS ์ VPN IPsec ์ํ ์ ๋ณด ํ์ธ ๋ฐ ํด๋น ํฐ๋์ ํตํ ํธ๋ํฝ ํต๊ณ ํ์ธ
$ show vpn ipsec sa
Connection State Uptime Bytes In/Out Packets In/Out Remote address Remote ID Proposal
----------------------------- ------- -------- -------------- ---------------- ---------------- ----------- ----------------------------------
peer-52.78.188.212-tunnel-vti up 8m23s 4K/6K 62/112 52.78.188.212 N/A AES_CBC_128/HMAC_SHA1_96/MODP_1024
peer-15.164.80.217-tunnel-vti up 8m23s 5K/6K 84/110 15.164.80.217 N/A AES_CBC_128/HMAC_SHA1_96/MODP_1024
# VYOS ์ฅ๋น์ ๋ผ์ฐํ ํ ์ด๋ธ์ ํ์ธ, AWS VGW์ ์ฐ๊ฒฐ๋ VPC๋์ญ์ ๋ํ ๋ผ์ฐํ ์ ๋ณด ํ์ธ
$ show ip route
..
S>* 0.0.0.0/0 [210/0] via 10.100.1.1, eth0, 00:52:07
B>* 10.50.0.0/16 [20/100] via 169.254.50.253, vti1, 00:08:31
C>* 10.100.1.0/24 is directly connected, eth0, 00:52:08
C>* 10.100.100.0/24 is directly connected, eth1, 00:47:21
C>* 169.254.50.252/30 is directly connected, vti1, 00:08:33
C>* 169.254.70.180/30 is directly connected, vti0, 00:08:33
# VYOS์ VGW ๊ฐ BGP ์ ๋ณด ํ์ธ, AWS Tunnel1๊ณผ2์์ ๊ฐ๊ฐ Metric(=MED) 100๊ณผ 200์ผ๋ก ์ธ์
$ show ip bgp
..
Network Next Hop Metric LocPrf Weight Path
*> 10.50.0.0/16 169.254.50.253 100 0 64512 i
* 169.254.70.181 200 0 64512 i
*> 10.100.0.0/16 0.0.0.0 0 32768 i
sh ip bgp summary
sh ip bgp neighbors 169.254.X.Y advertised-routes
sh ip bgp neighbors 169.254.X.Y received-routes
sh ip bgp neighbors 169.254.X.Y routes
4.3 ์ฑ๊ฐํด
๋ด๋ถ ๋์ญ์ Route Table ์ค์
[VPC - Route Tables] VPCIDC1 VYOS Internal Subnet Route Table ์ ํ ํ [๋ผ์ฐํ ํธ์ง]์ผ๋ก ์ถ๊ฐ
10.50.0.0/16 , Network Interface โ VYOS Eth1 ํ
๋ผ์ฐํ ์ ์ฅ
4.4 ์์ธ
Subnet์ Route Table ์ค์
[VPC - Route Tables] VPCAWS Subnet Route Table ์ ํ ํ [๋ผ์ฐํ ์ ํ ํธ์ง]์ผ๋ก ์ถ๊ฐ
์ ํ ์ ํ ํ
์ ์ฅ
๋ผ์ฐํ ํ ์ด๋ธ์ ํ์ธํ๋ฉด ์๋์ผ๋ก ์ถ๊ฐ๋์ด ์๋ค
4.5 ์ ์ฒด ๋ผ์ฐํ ์ํ ํ์ธ
์์ธ
Region ๊ฒฝ์ฐ ์ฑ๊ฐํด VPC๋์ญ์ธ 10.100.0.0/16 ์VGW ๋ก ๋ณด๋โ ์ดํ VGW ๋ VPN Tunnel ์ ํตํด VYOS eth0 ์ผ๋ก ๋ณด๋
์ฑ๊ฐํด
Region ๊ฒฝ์ฐ ๋ด๋ถ๋์ญ(10.100.100.0/24)์์ ์์ธ VPC๋์ญ์ธ 10.50.0.0/16 ์ VYOS eth1 ์ผ๋ก ๋ณด๋โ ์ดํ VYOS๋ 10.50.0.0/16 ์ vti0, vti1 ์ฆ VPN Tunnel ์ ํตํด VGW ๋ก ๋ณด๋
4.6 ํต์ ํ์ธ
์์ธ EC2 ์์ ์ฑ๊ฐํด EC2 ๋ก ping ํต์ , ssh ์ ์์ ํ์ธ
1
2
3
4
5
6
7
8[root@ip-10-50-1-175 ~]$ ping -c 1 10.100.100.192
PING 10.100.100.192 (10.100.100.192) 56(84) bytes of data.
64 bytes from 10.100.100.192: icmp_seq=1 ttl=254 time=103 ms
$ ssh root@10.100.100.192
root@10.100.100.192's password:
..
[root@ip-10-100-100-192 ~]#์ ping ํต์ ์๋ ์, VYOS ์์ icmp ํจํท ํ์ธ
1
2
3
4
5vyos@ip-10-100-1-198:~$ sudo tcpdump -i any -nn icmp
..
02:08:35.528632 IP 10.100.100.192 > 10.50.1.175: ICMP echo reply, id 32455, seq 14, length 64
02:08:36.529260 IP 10.50.1.175 > 10.100.100.192: ICMP echo request, id 32455, seq 15, length 64
..
4.7 CloudWatch ๋ชจ๋ํฐ๋ง ์ค์
์์ธ
Region [CloudWatch - ๋์๋ณด๋ ์์ฑ] : ์ด๋ฆ(VPN)์์ ฏ ์ถ๊ฐ
์ ํ : ํ
- ์งํ : VPN ํฐ๋ ์งํ โ (VPN Tunnel 1 IP ์
๋ ฅ ํ ๊ฒ์ ํ) TunnelState ์ ํ
- ๊ทธ๋ํ๋ก ํ์๋ ์งํ : ๋ ์ด๋ธ(VPN Tunnel 1 State), ํต๊ณ(์ต์), ๊ธฐ๊ฐ(1๋ถ)
- ๊ทธ๋ํ์ต์
: ์์ ฏ ์ ํ(๋์ ๋ฉด์ )
- ์๋จ(์ฌ์ฉ์์ง์ - 30๋ถ, ํ์ง์๊ฐ๋)
- ์ฐ์ธก ํ๋จ
์์ ฏ ์์ฑ
- ๊ทธ๋ํ์ต์
: ์์ ฏ ์ ํ(๋์ ๋ฉด์ )
- ๊ทธ๋ํ๋ก ํ์๋ ์งํ : ๋ ์ด๋ธ(VPN Tunnel 1 State), ํต๊ณ(์ต์), ๊ธฐ๊ฐ(1๋ถ)
- ์งํ : VPN ํฐ๋ ์งํ โ (VPN Tunnel 1 IP ์
๋ ฅ ํ ๊ฒ์ ํ) TunnelState ์ ํ
์ ํ : ํ
- ์งํ : VPN ํฐ๋ ์งํ โ (VPN Tunnel 2 IP ์
๋ ฅ ํ ๊ฒ์ ํ) TunnelState ์ ํ
- ๊ทธ๋ํ๋ก ํ์๋ ์งํ : ์์(๋ณ๊ฒฝ), ๋ ์ด๋ธ(VPN Tunnel 2 State), ํต๊ณ(์ต์), ๊ธฐ๊ฐ(1๋ถ)
- ๊ทธ๋ํ์ต์
: ์์ ฏ ์ ํ(๋์ ๋ฉด์ )
- ์๋จ(์ฌ์ฉ์์ง์ - 30๋ถ, ํ์ง์๊ฐ๋)
- ์ฐ์ธก ํ๋จ
์์ ฏ ์์ฑ
- ๊ทธ๋ํ์ต์
: ์์ ฏ ์ ํ(๋์ ๋ฉด์ )
- ๊ทธ๋ํ๋ก ํ์๋ ์งํ : ์์(๋ณ๊ฒฝ), ๋ ์ด๋ธ(VPN Tunnel 2 State), ํต๊ณ(์ต์), ๊ธฐ๊ฐ(1๋ถ)
- ์งํ : VPN ํฐ๋ ์งํ โ (VPN Tunnel 2 IP ์
๋ ฅ ํ ๊ฒ์ ํ) TunnelState ์ ํ
์ ํ : ํ
- ์งํ : VPN ํฐ๋ ์งํ โ (VPN Tunnel 1 IP ์
๋ ฅ ํ ๊ฒ์ ํ) TunnelDataIn, TunnelDataOut ์ ํ
- ๊ทธ๋ํ๋ก ํ์๋ ์งํ : ์๋จ(VPN Tunnel 1 Data In/Out), ํต๊ณ(ํฉ๊ณ), ๊ธฐ๊ฐ(1๋ถ)
- ๊ทธ๋ํ์ต์
: ์์ ฏ ์ ํ(๋์ ๋ฉด์ )
- ์๋จ(์ฌ์ฉ์์ง์ - 30๋ถ, ํ์ง์๊ฐ๋)
- ์ฐ์ธก ํ๋จ
์์ ฏ ์์ฑ
- ๊ทธ๋ํ์ต์
: ์์ ฏ ์ ํ(๋์ ๋ฉด์ )
- ๊ทธ๋ํ๋ก ํ์๋ ์งํ : ์๋จ(VPN Tunnel 1 Data In/Out), ํต๊ณ(ํฉ๊ณ), ๊ธฐ๊ฐ(1๋ถ)
- ์งํ : VPN ํฐ๋ ์งํ โ (VPN Tunnel 1 IP ์
๋ ฅ ํ ๊ฒ์ ํ) TunnelDataIn, TunnelDataOut ์ ํ
์ ํ : ํ
- ์งํ : VPN ํฐ๋ ์งํ โ (VPN Tunnel 2 IP ์
๋ ฅ ํ ๊ฒ์ ํ) TunnelDataIn, TunnelDataOut ์ ํ
- ๊ทธ๋ํ๋ก ํ์๋ ์งํ : ์๋จ(VPN Tunnel 2 Data In/Out), ํต๊ณ(ํฉ๊ณ), ๊ธฐ๊ฐ(1๋ถ)
- ๊ทธ๋ํ์ต์
: ์์ ฏ ์ ํ(๋์ ๋ฉด์ )
- ์๋จ(์ฌ์ฉ์์ง์ - 30๋ถ, ํ์ง์๊ฐ๋)
- ์ฐ์ธก ํ๋จ
์์ ฏ ์์ฑ
- ๊ทธ๋ํ์ต์
: ์์ ฏ ์ ํ(๋์ ๋ฉด์ )
- ๊ทธ๋ํ๋ก ํ์๋ ์งํ : ์๋จ(VPN Tunnel 2 Data In/Out), ํต๊ณ(ํฉ๊ณ), ๊ธฐ๊ฐ(1๋ถ)
- ์งํ : VPN ํฐ๋ ์งํ โ (VPN Tunnel 2 IP ์
๋ ฅ ํ ๊ฒ์ ํ) TunnelDataIn, TunnelDataOut ์ ํ
์๋จ -
๋์๋ณด๋ ์ ์ฅ
5. VPN Failover Test
5.1 ์ฑ๊ฐํด
Region ์ VYOS ์ฌ๋ถํ
ํ ํ์ธ
์์ธ
Region ์ ๋ด๋ถ EC2 ์์ ping ์คํ1
$ ping -i 1 -W 1 10.100.100.192
VYOS ์ธ์คํด์ค ์ฌ๋ถํ
1
vyos@ip-10-100-1-198:~$ reboot now
์์ธ
Region ์ ๋ด๋ถ EC2 ์์ ping ๊ฒฐ๊ณผ ํ์ธ82 - 23 = 59๊ฐ๋ก ๋๋ต 59์ด(=๋๋ต 1๋ถ) ์ ๋์ ์ ์ฒด์๊ฐ์ด ์์๋ค.
1
2
3
4
5
6
7
8$ ping -i 1 -W 1 10.100.100.192
PING 10.100.100.192 (10.100.100.192) 56(84) bytes of data.
64 bytes from 10.100.100.192: icmp_seq=1 ttl=254 time=104 ms
..
^C
--- 10.100.100.192 ping statistics ---
82 packets transmitted, 23 received, 71% packet loss, time 82429ms
rtt min/avg/max/mdev = 103.895/104.418/105.911/0.503 ms
CloudWatch ๋ชจ๋ํฐ๋ง์ ํ์ธ : 2๊ฐ Tunnel State ๊ฐ 0 ์ผ๋ก ๋ค์ด๋๊ณ ์ ์์ด ๋์๋ค, ํธ๋ํฝ์ ์ฌ์ ํ Tunnel 2 ๋ฅผ ์ฌ์ฉ ์ค์ด๋ค
5.2 ํ์ฌ Active VPN Tunnel ์ Down ํ ํ์ธ
ํ์ฌ ํต์ ์ ์ฌ์ฉ๋๋ VPN Tunnel ์ ๊ฐ์ ๋ก Down ํ์ฌ ๋ค๋ฅธ VPN Tunnel ์ฌ์ฉ ์๋ฅผ ํ ์คํธ ํด๋ณธ๋ค
์์ธ
Region ์ ๋ด๋ถ EC2 ์์ ping ์คํ1
$ ping -i 1 -W 1 10.100.100.192
VYOS ์์ ํฐ๋ ์ ๋ณด๋ฅผ ํ์ธ ํ ํด๋น ํฐ๋๋ก ๋งบํ์๋ BGP ๋ค์ด๋ฒ๋ฅผ ๊ฐ์ ๋ก Shutdown ํ๋ค
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18$ show ip route
B>* 10.50.0.0/16 [20/100] via 169.254.50.253, vti1, 00:00:12
$ show vpn ipsec sa
Connection State Uptime Bytes In/Out Packets In/Out Remote address Remote ID Proposal
----------------------------- ------- -------- -------------- ---------------- ---------------- ----------- ----------------------------------
peer-52.78.188.212-tunnel-vti up 15m29s 75K/84K 943/1K 52.78.188.212 N/A AES_CBC_128/HMAC_SHA1_96/MODP_1024
peer-15.164.80.217-tunnel-vti up 15m29s 13K/11K 190/194 15.164.80.217 N/A AES_CBC_128/HMAC_SHA1_96/MODP_1024
conf
set protocols bgp 65000 neighbor 169.254.50.253 shutdown
commit
save
exit
$ show ip route
..
B>* 10.50.0.0/16 [20/100] via 169.254.70.181, vti0, 00:04:37์์ธ
Region ์ ๋ด๋ถ EC2 ์์ ping ๊ฒฐ๊ณผ ํ์ธ22 - 21 = 1๊ฐ๋ก ๋๋ต 1์ด ์ด๋ด์ ์ ์ฒด์๊ฐ์ด ์์๋ค.
1
2
3
4
5
6
7
8$ ping -i 1 -W 1 10.100.100.192
PING 10.100.100.192 (10.100.100.192) 56(84) bytes of data.
64 bytes from 10.100.100.192: icmp_seq=1 ttl=254 time=104 ms
..
^C
--- 10.100.100.192 ping statistics ---
22 packets transmitted, 21 received, 4% packet loss, time 21029ms
rtt min/avg/max/mdev = 104.003/104.743/105.439/0.621 ms
CloudWatch ๋ชจ๋ํฐ๋ง์ ํ์ธ : Tunnel 2 ๊ฐ Down ๋์๋ง์ ๋ฐ๋ก Tunnel 1 ๋ก ๋ฐ์ดํฐ ํธ๋ํฝ ํต์ ์ ์ฌ์ฉํ๋ค.
6. Delete Infrastructure
์ฑ๊ฐํด
Region ์ CloudFormation Stack ์ญ์ ์์ธ
Region ์ CloudFormation Stack ์ญ์ ์์ธ
Region ์ CloudWatch ๋์๋ณด๋ ์ญ์