VPC: Amazon Virtual Private Cloud
2024๋ 11์ 7์ผ
VPC
-
์ฌ์ฉ์ ์ ์ฉ์ ๊ฐ์ ๋คํธ์ํฌ
-
๋ค๋ฅธ ์ฌ์ฉ์ ๋คํธ์ํฌ์ ๋ ผ๋ฆฌ์ ์ผ๋ก ์์ ํ ๋ถ๋ฆฌ๋จ
-
EC2์ ๊ฐ์ ๋ค์ํ AWS ๋ฆฌ์์ค๋ฅผ VPC ๋ด์์ ์คํํจ
-
VPC๋ฅผ ๋ ์์ ๋ฒ์์ subnet์ผ๋ก ๋๋ ์ ์์
EC2 classic
-
VPC๊ฐ ์๊ธฐ๊ธฐ์ ์ฌ์ฉํ๋ ๋จ์ผ ๋คํธ์ํฌ ๋ง
-
2013๋ 12์ 4์ผ ์ดํ์ ๋ง๋ ๊ณ์ ์์๋ ์ฌ์ฉํ ์ ์์
-
VPC์ ๋นํด ์ฑ๋ฅ / ๋ณด์์ ์ข์ง ์์ผ๋ฏ๋ก migration ๊ถ์ฅ
Default VPC
-
์ฌ์ฉ์๊ฐ ๋ฃจํธ ๊ณ์ ์ ์์ฑํ๋ฉด ์๋์ผ๋ก ๊ฐ ๋ฆฌ์ ๋น ํ๋์ฉ VPC๊ฐ ์๊น
-
EC2์ ๊ฒฝ์ฐ VPC๋ฅผ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ VPC์์ ์ธ์คํด์ค๊ฐ ์์๋จ
-
๊ธฐ๋ณธ VPC๋ ์ญ์ ๊ฐ๋ฅ
-
์ด์ ์๋ ์ฌ์ฉ์๊ฐ ์ง์ ์์ฑํ ์ ์์์ผ๋ ํ์ฌ๋ ๊ฐ๋ฅ
VPC์ ํน์ง
-
๋ฆฌ์ ๊ธฐ๋ฐ ์๋น์ค
- subnet, ec2, eni: AZ ๊ธฐ๋ฐ ์๋น์ค
-
์ต์ด ์์ฑ์ ์ธ๋ถ ํต์ ์ ์๋ฒฝํ ์ฐจ๋จ๋จ
-
์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด
-
VPC ํผ์ด๋ง
-
VPG ์ฐ๊ฒฐ
-
VPC Service Endpoint
-
-
VPC ๋ด๋ถ์ subnet์ ๊ฐ์ง ์ ์์
์ค๋์ ๋ชฉํ
VPC ๋ง๋ค๊ธฐ
-
๋ฆฌ์ ์ ํ: VPC๋ ๋ฆฌ์ ์๋น์ค
-
VPC ์์ฑ
-
CIDR ์ง์ : VPC์์ ์ฌ์ฉํ ์ฌ์ค IP ์ง์
-
VPC ์ด๋ฆ: ๊ตฌ๋ถํ๊ธฐ ์ข์ ๋ช ํํ ์ด๋ฆ
-
-
์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด ์์ฑ ๋ฐ VPC์ ์ฐ๊ฒฐ
CIDR (์ฌ์ด๋) ํ๊ธฐ๋ฒ
-
Classless Inter-Domain Routing
-
ํด๋์ค ๊ธฐ๋ฐ ์ฃผ์์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด ์ ์
-
IP๋ฅผ ์ง์ ๋ ๋ฒ์๋ก ๋๋๊ณ ๋ฌถ์ ์ ์์
xxx.xxx.xxx.xxx/n
xxx: IPv4 -
์์ n ๋นํธ: ๋คํธ์ํฌ ์ธ์
-
ํ์ n ๋นํธ: ํธ์คํธ ์ธ์
-
์์ n ๋นํธ๋ ๊ณ ์ , ํ์ ๋นํธ๋ ๊ฐ๋ณ์
-
ํ์ ๋นํธ์ ๊ฐ์ 0์ ๊ฐ์ ธ์ผ ํจ
-
https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing
-
http://docs.cloud.toast.com/ko/Infrastructure/Compute/CIDR%20Guide/
CIDR ์์
56.3.26.84/32 - IP 1 ๊ฐ
0.0.0.0/0 - any address
10.1.0.0/16 - 65536
10.1.1.0/24 - 256
10.1.16.0/20 - 2048
AWS CIDR ๊ท์น
-
vpc: 16 ~ 28 bit prefix
-
subnet: vpc์ ๋ถ๋ถ์งํฉ์ผ๋ก ์ง์ ๊ฐ๋ฅ
-
subnet ์ฌ์ฉ๊ฐ๋ฅ IP: ์ ์ฒด ๋ฒ์ - 5
-
aws์์ ์4, ๋ง์ง๋ง 1์ฃผ์๋ฅผ ์ฌ์ฉํจ
xxx.xxx.xxx.0: ๋คํธ์ํฌ ์ฃผ์
xxx.xxx.xxx.1: ๊ฒ์ดํธ์จ์ด ์ฃผ์
xxx.xxx.xxx.2: ์์ฝ
xxx.xxx.xxx.3: ์์ฝ
xxx.xxx.xxx.255: ๋ธ๋ก๋์บ์คํ
์ฉ๋
subnet
-
์๋ธ๋ท์ ๋ฐ๋์ ํ AZ์ ์ํด์ผ ํจ
-
์๋ธ๋ท์ ๋ฐ๋์ ํ๋์ Routing ํ ์ด๋ธ๊ณผ ์ฐ๊ฒฐ๋์ด์ผ ํจ
-
EC2 ๋ฑ์ ์๋น์ค๋ ์๋ธ๋ท์ ์ฐ๊ฒฐ๋จ
-
์๋ธ๋ท์ VPC CIDR์ ๋ถ๋ถ์งํฉ
-
๊ฐ์ VPC ๋ด์ ์๋ธ๋ท๋ผ๋ฆฌ CIDR ์ค์ฒฉ ๋ถ๊ฐ
-
์๋ธ๋ท๋ง๋ค ๊ณ ์ ํ NACL์ ๊ฐ์ง
Routing ํ ์ด๋ธ
-
์๋ธ๋ท์์ ํธ๋ํฝ ํ๋ก์ฐ์ ๋ํ ๊ท์น ์ง์
-
Destination ๋ฐ target ์ง์
-
VPC ์์ฑ์์๋ ๊ธฐ๋ณธ Route table์ด ์์ฑ๋จ
-
์ถ๊ฐ๋ก ๋ผ์ฐํ ํ ์ด๋ธ์ ์์ฑํด์ subnet์ ํ ๋น ๊ฐ๋ฅ
Routing ๋์
-
์ธํฐ๋ท ๊ฒ์ดํธ์จ์ด
-
VGW
-
NAT Gatewy
-
NAT Instance
-
VPC peering
| Destination | Target |
|---|---|
| 10.0.0.0/16 | local |
| 0.0.0.0/0 | IGW |
Routing ์ฐ์ ์์
- ๋ผ์ฐํ ํ ์ด๋ธ ๊ท์น ์คย ํธ๋ํฝ๊ณผ ์ผ์นํ๋ ๊ฐ์ฅ ๊ตฌ์ฒด์ ์ธ ๋ผ์ฐํ ์ ์ฌ์ฉํด ํธ๋ํฝ์ ๋ผ์ฐํ ๋ฐฉ๋ฒ์ ๊ฒฐ์
public subnet
-
์ธํฐ๋ท์ผ๋ก ์ฐ๊ฒฐ๋๋ ์๋ธ๋ท
-
subnet์ ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ๋ ๋ผ์ฐํ ํ ์ด๋ธ์ ์ํด ๊ธฐ๋ฅ์ด ๊ตฌ๋ถ๋จ

private subnet
-
์ธํฐ๋ท์ผ๋ก๋ถํฐ์ ์ง์ ์ก์ธ์ค๊ฐ ๋ถ๊ฐ๋ฅ
-
NAT ์ธ์คํด์ค ๋๋ NAT ๊ฒ์ดํธ์จ์ด๋ฅผ ํตํด ๊ฐ์ ์ ์ผ๋ก ์ธํฐ๋ท ๊ฐ๋ฅ
NAT ์ธ์คํด์ค ์์ฑํ๊ธฐ
-
https://docs.aws.amazon.com/ko_kr/vpc/latest/userguide/VPC_NAT_Instance.html
-
๋ณด์๊ทธ๋ฃน ์ค์ ํ์ธ
-
๋ด๋ถ ๋ฐฉํ๋ฒฝ ๊ท์น ๋ณ๊ฒฝ (IP masquarade)
-
EC2 ์ธ์คํด์ค SrcDestCheck ๋นํ์ฑํ
NAT ์ธ์คํด์ค ์ฌ์ฉํ๊ธฐ
- private ๋ผ์ฐํ ํ ์ด๋ธ ๊ท์น ์์
| Destination | Target |
|---|---|
| 10.0.0.0/16 | local |
| 0.0.0.0/0 | NAT Instance |

๋ณด์ ์๋ธ๋ท
-
VPN ์ ์ฉ ์๋ธ๋ท์ด๋ผ๊ณ ๋ ํจ
-
์ธํฐ๋ท ๋ง๊ณผ ์๋ฒฝํ๊ฒ ๋ถ๋ฆฌ๋จ
-
์ฃผ๋ก ๋ฏผ๊ฐ ์ ๋ณด ์ ์ฅ์ฉ์ผ๋ก ์ฌ์ฉ
-
์ธํฐ๋ท๋ง๊ณผ์ ํต์ ์ VPN์ ์ด์ฉํด์ ์ฐ๊ฒฐ
VPC Peering
-
๊ฐ์ ๋ฆฌ์ ์ VPC๋ผ๋ฆฌ ์ง์ ์ฐ๊ฒฐ
-
๋ค๋ฅธ ๊ณ์ ์ VPC์๋ ์ฐ๊ฒฐ ๊ฐ๋ฅ
-
์ฝ๊ณ ๊ฐ๋จ

-
peering ์ฐ๊ฒฐ ์์ฑ
-
๋ผ์ฐํ ํ ์ด๋ธ ์์
-
์ฐ๊ฒฐ ํ ์คํธ
VPC Peering ์ฃผ์์ฌํญ
A - peering - B
B - peering - C
์ด ์ํ์์ A - C๋ ์๋ก๊ฐ์ ํต์ ๋ถ๊ฐ
์ง์ A - peering - C ์ฐ๊ฒฐ ํ์
AWS VPN ๊ตฌ์ฑ
-
AWS hardware VPN
-
AWS Direct Connect
-
AWS VPN CloudHub
-
์ํํธ์จ์ด VPN
-
๊ธฐํ

VPC ๋ณด์
- Best Practice: ๋ผ์ฐํ ํ ์ด๋ธ, NACL, ๋ณด์๊ทธ๋ฃน ๋ชจ๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข๋ค.
NACL
-
์๋ธ๋ท์ ํธ๋ํฝ์ allow / deny ํ ์ ์์
-
๊ฐ๋จํ ๊ท์น์ NACL์ ํตํด
๋ณด์๊ทธ๋ฃน
-
์ธ์คํด์ค์ inbound/outbound ํธ๋ํฝ ์ ์ด์ ์ฌ์ฉ
-
๊ธฐ์กด ๋ฐฉํ๋ฒฝ๊ณผ ์ ์ฌํ ์ฉ๋
| NACL | ๋ณด์๊ทธ๋ฃน |
|---|---|
| - ์ํ ๋น์ ์ฅ | - ์ํ ์ ์ฅ |
| - ์์๋๋ก ํ๊ฐ | - ํ๊บผ๋ฒ์ ํ๊ฐ |
| - ๊ฐ๋จํ ๊ท์น | - ์ธ๋ถ์ ๊ท์น |
| - ์๋ธ๋ท์ ์ ์ฉ | - EC2(๊ทธ๋ฃน)์ ์ ์ฉ |
VPC S3 endpoint
- ์ ์ฌ์ฉํ ๊น?

VPC ์ด์
-
์๋น์ค๋ณ๋ก ๋ฐ๋ก ์ด์
-
ํ ์คํธ ํ๊ฒฝ๋ณ๋ก ๋ฐ๋ก ์ด์
-
๊ธฐ๋ฅ๋ณ๋ก VPC๋ฅผ ๋๋๋ค๋ฉด? ์น์๋ฒ VPC, ๋๋น VPC, โฆ
์ฐธ๊ณ ์๋ฃ
http://www.e-infomax.com/ipmasq/howto-trans/kr/IP-Masquerade-HOWTO-2.html