VPC: Amazon Virtual Private Cloud

2024๋…„ 11์›” 7์ผ


VPC

  • ์‚ฌ์šฉ์ž ์ „์šฉ์˜ ๊ฐ€์ƒ ๋„คํŠธ์›Œํฌ

  • ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž ๋„คํŠธ์›Œํฌ์™€ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์™„์ „ํžˆ ๋ถ„๋ฆฌ๋จ

  • EC2์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ AWS ๋ฆฌ์†Œ์Šค๋ฅผ VPC ๋‚ด์—์„œ ์‹คํ–‰ํ•จ

  • VPC๋ฅผ ๋” ์ž‘์€ ๋ฒ”์œ„์˜ subnet์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Œ

  • https://aws.amazon.com/ko/documentation/vpc/


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

DestinationTarget
10.0.0.0/16local
0.0.0.0/0IGW

Routing ์šฐ์„ ์ˆœ์œ„

  • ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๊ทœ์น™ ์ค‘ย ํŠธ๋ž˜ํ”ฝ๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฐ€์žฅ ๊ตฌ์ฒด์ ์ธ ๋ผ์šฐํŒ…์„ ์‚ฌ์šฉํ•ด ํŠธ๋ž˜ํ”ฝ์˜ ๋ผ์šฐํŒ… ๋ฐฉ๋ฒ•์„ ๊ฒฐ์ •

public subnet

  • ์ธํ„ฐ๋„ท์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ์„œ๋ธŒ๋„ท

  • subnet์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋™์ผํ•˜๋‚˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ์˜ํ•ด ๊ธฐ๋Šฅ์ด ๊ตฌ๋ถ„๋จ


private subnet

  • ์ธํ„ฐ๋„ท์œผ๋กœ๋ถ€ํ„ฐ์˜ ์ง์ ‘ ์•ก์„ธ์Šค๊ฐ€ ๋ถˆ๊ฐ€๋Šฅ

  • NAT ์ธ์Šคํ„ด์Šค ๋˜๋Š” NAT ๊ฒŒ์ดํŠธ์›จ์–ด๋ฅผ ํ†ตํ•ด ๊ฐ„์ ‘์ ์œผ๋กœ ์ธํ„ฐ๋„ท ๊ฐ€๋Šฅ


NAT ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•˜๊ธฐ


NAT ์ธ์Šคํ„ด์Šค ์‚ฌ์šฉํ•˜๊ธฐ

  • private ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๊ทœ์น™ ์ˆ˜์ •
DestinationTarget
10.0.0.0/16local
0.0.0.0/0NAT Instance


๋ณด์•ˆ ์„œ๋ธŒ๋„ท

  • VPN ์ „์šฉ ์„œ๋ธŒ๋„ท์ด๋ผ๊ณ ๋„ ํ•จ

  • ์ธํ„ฐ๋„ท ๋ง๊ณผ ์™„๋ฒฝํ•˜๊ฒŒ ๋ถ„๋ฆฌ๋จ

  • ์ฃผ๋กœ ๋ฏผ๊ฐ ์ •๋ณด ์ €์žฅ์šฉ์œผ๋กœ ์‚ฌ์šฉ

  • ์ธํ„ฐ๋„ท๋ง๊ณผ์˜ ํ†ต์‹ ์€ VPN์„ ์ด์šฉํ•ด์„œ ์—ฐ๊ฒฐ


VPC Peering

  • ๊ฐ™์€ ๋ฆฌ์ „์˜ VPC๋ผ๋ฆฌ ์ง์ ‘ ์—ฐ๊ฒฐ

  • ๋‹ค๋ฅธ ๊ณ„์ •์˜ VPC์™€๋„ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅ

  • ์‰ฝ๊ณ  ๊ฐ„๋‹จ

  1. peering ์—ฐ๊ฒฐ ์ƒ์„ฑ

  2. ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ์ˆ˜์ •

  3. ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ


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

https://www.youtube.com/watch?v=gmIsI1PhOK4