๐ $1M ํตํฉ ์ ๊ฐ: ์ฐ๋ฆฌ๊ฐ AWS Transit Gateway๋ก ์ ํํ ์ด์
Source: Dev.to

The Stakes: 48 Hours to โThe Swapโ
์ฐ๋ฆฌ๋ ๋๊ท๋ชจ ํตํฉ์ ์ํ ํ๋ก๋์ ์ ํ์ผ์ด ์ดํ ๋จ์ ์ํฉ์ด์์ต๋๋ค. ์ด ํตํฉ์ ์ฐ๋ฆฌ SaaS ํ๋ซํผ๊ณผ ํฌ์ถโฏ500๋ ์ ํธ๋ฆฌํฐ ์ ๊ณต์ ์ฒด ๊ฐ์ ๊ฒ์ด์์ผ๋ฉฐ, ๋ชฉํ๋ ๊ทธ๋ค์ ๋ ๊ฑฐ์ ์ฝ์ผํฐ๋ฅผ ํ๋ผ์ด๋น ํด๋ผ์ฐ๋ ํ๊ฒฝ์ผ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๊ฒ์ด์์ต๋๋ค.
ํตํฉ์๋ ๊ธ๋ก๋ฒ ์ปค๋ฎค๋์ผ์ด์ ํํธ๋์ ๊ณ ๊ท์ ์ ํธ๋ฆฌํฐ ํ๊ฒฝ์ด ํฌํจ๋์ด ์์์ผ๋ฉฐ, AWS ํ๊ฒฝ๊ณผ ๋๊ท๋ชจ ํ๋ผ์ด๋น ํด๋ผ์ฐ๋ ๊ฐ์ ๋ธ๋ฆฌ์ง๋ฅผ ๊ตฌ์ถํด์ผ ํ์ต๋๋ค.
์ถฉ๋: 10.0.0.0/8 ํจ์
์ฐ๋ฆฌ ๋ด๋ถ ํ๊ฒฝ์ ํ์ค 10.0.0.0/16์ ์ฌ์ฉํ์ต๋๋ค. ์ด๋ ์๋ฒฝํ๊ฒ ์๋ํ์ง๋ง, ํด๋ผ์ด์ธํธ์ ํต์ ์ ์๋ํ์ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค.
ํํธ๋์ ๋ด๋ถ ๋คํธ์ํฌ๋ ์ ์ฒด 10.0.0.0/8 ์ฌ์ค ์ฃผ์ ๋ฒ์๋ฅผ ๋ณด์ ํ๊ณ ์์์ต๋๋ค. /16(์ฐ๋ฆฌ VPC)์ด /8(๊ทธ๋ค์ ๋ฐฑ๋ณธ)๋ณด๋ค ๋ ๊ตฌ์ฒด์ ์ด๊ธฐ ๋๋ฌธ์, BGP๋ ํด๋น ๋ฒ์์ ์ผ์นํ๋ ํธ๋ํฝ์ ๋ํด ์ฐ๋ฆฌ VPC๋ฅผ ์ฐ์ ์ํ์ ๊ฒ์
๋๋ค.
์ฌ์ ์๋๋ฆฌ์ค: ์ฐ๋ฆฌ 10.0.0.0/16์ ๊ด๊ณ ํ๋ฉด ํํธ๋์ ์ ์ธ๊ณ ๋ด๋ถ ํธ๋ํฝ์ ํ์ทจํ๊ฒ ๋์ด, ์ ์ธ๊ณ ์ฌ๋ฌด์ค์ ๋์์ผ๋ก ํ๋ ํจํท์ด ๋ธ๋ํ์ ๋น ์ง๊ฒ ๋๊ณ , ์ ํ 48์๊ฐ ์ ์ ์ธ๊ณ์ ์ธ ์ฅ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค.
์ ๋ต: ๋ณด์กฐ CIDR โ๋ธ๋ฆฌ์งโ
- ๊ธฐ์กด VPC์ ๋ณด์กฐ CIDR ๋ธ๋ก์ผ๋ก
172.16.0.0/16์ ์ถ๊ฐํ์ต๋๋ค. - ๋ด๋ถ ์๋น์ค๋ ๊ธฐ์กด
10.0.0.0/16์์ ๊ณ์ ์คํํ์ต๋๋ค. - ํตํฉ์ ์ํด ์ ์๋ธ๋ท
172.16.1.0/24๋ฅผ ํ๋ก๋น์ ๋ํ์ต๋๋ค. - ์๋ฒ๊ฐ ํํธ๋์ ํต์ ํ ๋
172.16.x.x์ฃผ์๋ฅผ ์ฌ์ฉํ์ผ๋ฉฐ, ์ด ๋ฒ์๋ ํํธ๋์ ๊ธ๋ก๋ฒ ๋ฐฑ๋ณธ๊ณผ ์ถฉ๋ํ์ง ์์์ต๋๋ค.
ํผ๋ฒ: โํฐ๋โ์์ โ๊ฑฐ๋ฒ๋์คโ๋ก
๋ธ๋ฆฌ์ง๋ฅผ ์๋์ํค๊ธฐ ์ํด ์ฐ๋ฆฌ๋ ํ์ค Virtual Private Gateway (VGW) ์์ AWS Transit Gateway (TGW) ๋ก ์ ํํ์ต๋๋ค.
- VGW โ ์๋ ํ์ดํ.
- Transit Gateway โ ์ธ๋ถํ๋ ์ ์ด๋ฅผ ์ ๊ณตํ๋ ์ง๋ฅํ ํด๋ผ์ฐ๋ ๋ผ์ฐํฐ.
TGW๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๋ฆฌ๋:
10.0.0.0/16์ต์ โ ๋ด๋ถ ๋ฒ์๊ฐ VPN์ ํตํด ์ ๋ ๊ด๊ณ ๋์ง ์๋๋ก ํ์ต๋๋ค.172.16.1.0/24์ฝ์ โ ํํธ๋์๊ฒ ์๋ก์ด โ๋ธ๋ฆฌ์งโ ๋ฒ์๋ง ๊ด๊ณ ํ์ต๋๋ค.
๊ธฐ์ ์คํ
| ๋จ๊ณ | ์์ | ๋ชฉ์ |
|---|---|---|
| ์ถฉ๋ ์๋ณ | ์ฐ๋ฆฌ(10.0/16) vs. ํํธ๋(10.0/8) | ์ ์ญ ๋ผ์ฐํ ๋ฃจํ/์ค๋จ์ ๋ฐฉ์งํฉ๋๋ค. |
| ๋ณด์กฐ CIDR | 172.16.0.0/16 ์ถ๊ฐ | ์ถฉ๋ ์๋ ํต์ ๋ธ๋ฆฌ์ง ์์ฑ. |
| BGP ์ฃผ์ | TGW์ ๋ํ ์ ์ ๋ผ์ฐํธ | ํํธ๋์๊ฒ โSafe Zoneโ๋ง ๊ด๊ณ ํฉ๋๋ค. |
| ๊ฒ์ฆ | nc -zv ๋ฐ SG ์
๋ฐ์ดํธ | 172.16.x.x๊ฐ ํํธ๋ 10.201.x.x์ ๋๋ฌํ ์ ์๋์ง ํ์ธํฉ๋๋ค. |
# Example verification command
nc -zv 10.201.12.34 443 # test connectivity from 172.16.x.x to partner host
ํด๋ผ์ฐ๋ ์ํคํ ํธ๋ฅผ ์ํ ๊ตํ
- Scale dictates architecture โ ๊ฐ๋จํ siteโtoโsite ์ฐ๊ฒฐ์๋ VGW๋ง์ผ๋ก ์ถฉ๋ถํ์ง๋ง, ๋๊ท๋ชจ ๋ ๊ฑฐ์ ์ธํ๋ผ๋ฅผ ๊ฐ์ง ํํธ๋์ ์ฐ๊ฒฐํ ๋๋ Transit Gateway๊ฐ ๋ผ์ฐํธ ํํฐ๋ง์ ํ์์ ์ด๋ค.
- Donโt rebuild, extend โ IP ์ถฉ๋์ด ๋ฐ์ํ ๊ฒฝ์ฐ ์ ์ฒด VPC ๋ง์ด๊ทธ๋ ์ด์ ๋ณด๋ค Secondary CIDR์ ์ถ๊ฐํ๋ ๊ฒ์ด ๋ ๋น ๋ฅด๊ณ ์์ ํ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- Specific beats general โ BGP์์๋ ๊ฐ์ฅ ๊ตฌ์ฒด์ ์ธ ๊ฒฝ๋ก๊ฐ ํญ์ ์ฐ์ ํ๋ค. ๊ด๊ณ ๋ฅผ ์ ์ดํ์ง ์์ผ๋ฉด ์์ VPC๊ฐ ์ ์ธ๊ณ ๋ฐ์ดํฐ ์ผํฐ์ฉ ํธ๋ํฝ์ ์๋์น ์๊ฒ ์ฐจ์งํ ์ ์๋ค.
Final Thoughts
์ฐ๋ฆฌ๋ โThe Swapโ์ ์ผ์ ์ ๋ง์ถฐ ์คํํ์ต๋๋ค. Secondary CIDR๋ก ์ ํํ๊ณ ๋ผ์ฐํ ๊ด๋ฆฌ๋ฅผ ์ํด Transit Gateway๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ํํธ๋์ ์ ์ธ๊ณ์ ์ธ ์์ ์ฑ์ ์ํ์ ๋น ๋จ๋ฆฌ์ง ์๊ณ ํ๋ก์ ํธ๋ฅผ ์งํํ ์ ์์์ต๋๋ค.
๊ฐ์ฅ ํ๋ฅญํ DevSecOps ์ ์ ์ด์ผ๊ธฐ๋ ์ ํ์ด๋ฐ์ ๋ง์ถ ์ํคํ ์ฒ ์ ํ ๋๋ถ์ ์ฌํด ์์ฒด๊ฐ ๋ฐ์ํ์ง ์๋ ๊ฒฝ์ฐ์ ๋๋ค.