๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ‘จ‍๐Ÿ’ปDevOps/AWS

AWS VPC ํ”ผ์–ด๋ง ํ•˜๊ธฐ

by YangsDev 2020. 1. 6.

ํšŒ์‚ฌ์—์„œ ์šด์˜์ค‘์ธ, AWS ์„œ๋น„์Šค๊ฐ€ ๊ณ„์† ์ปค์ง€๋‹ค๋ณด๋‹ˆ, VPC๋„ ๋‚˜๋ˆ ์ง€๊ณ  VPC ํ”ผ์–ด๋ง๋„ ํ•„์š”ํ•œ ์ƒํ™ฉ์ด ๋˜์—ˆ๋‹ค.

๊ทธ๋ž˜์„œ ์ด๋ฒˆ์— VPC ํ”ผ์–ด๋ง์„ ํ•˜๋Š” ๊ณผ์ •์„ ๋ธ”๋กœ๊ทธ์— ์ ์–ด๋ณด๋„๋ก ํ•˜๊ฒ ๋‹ค.

AWS VPC ํ”ผ์–ด๋ง์ด๋ž€?

์ถœ์ฒ˜ : https://docs.aws.amazon.com/ko_kr/vpc/latest/peering/what-is-vpc-peering.html

VPC ํ”ผ์–ด๋ง ์—ฐ๊ฒฐ์€ ํ”„๋ผ์ด๋น— IPv4 ์ฃผ์†Œ ๋˜๋Š” IPv6 ์ฃผ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ VPC ๊ฐ„์— ํŠธ๋ž˜ํ”ฝ์„ ๋ผ์šฐํŒ…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ ๋‘ VPC ์‚ฌ์ด์˜ ๋„คํŠธ์›Œํ‚น ์—ฐ๊ฒฐ ํ•˜๋Š”๊ฒƒ์„ VPC ํ”ผ์–ด๋ง ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

ํ•œ์ค„ ์ •๋ฆฌ ํ•˜๋ฉด A๊ณต์œ ๊ธฐ์™€ B๊ณต์œ ๊ธฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ์ž‘์—…์ด๋ผ๊ณ  ๋ณผ์ˆ˜์žˆ๋‹ค.

AWS VPC ํ”ผ์–ด๋ง์„์‹œ์ž‘์„ ํ•˜๊ธฐ ์ „์—

์ด ๊ธ€์—์„œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์กฐ๊ธˆ์ด๋ผ๋„ ๋” ๋น ๋ฅด๊ณ  ๊น”๋”ํ•˜๊ฒŒ ์ดํ•ด ํ•˜์‹œ๋ผ๊ณ  ์šฉ์–ด ์ •๋ฆฌ๋ฅผ ํ•œ๋ฒˆ ํ•˜๊ณ  ๊ฐ€๊ฒ ๋‹ค.

  • VPC_A : 172.20.0.0/16 (์š”์ฒญ์ž),
  • VPC_B : 172.30.0.0/18 (์ˆ˜๋ฝ์ž)

AWS VPC ์š”์ฒญํ•˜๊ธฐ

๋จผ์ €, VPC ๋Œ€์‹œ๋ณด๋“œ๋กœ ์ด๋™ํ•œ๋‹ค.

  1. ํ”ผ์–ด๋ง ์—ฐ๊ฒฐ ์„ ํƒ
  2. ํ”ผ์–ด๋ง ์—ฐ๊ฒฐ ์ƒ์„ฑ ํด๋ฆญ

4. ์š”์ฒญ์ž VPC์™€ ์ˆ˜๋ฝ์ž VPC๋ฅผ ์„ ํƒํ•œ๋‹ค

4–1. ๋งŒ์•ฝ ๋‹ค๋ฅธ ๋ฆฌ์ „์— ์žˆ๋Š” VPC์™€ ์—ฐ๊ฒฐ ํ•˜๋ ค๋ฉด, ํ•˜๋‹จ์— ๋ฆฌ์ „์— ์žˆ๋Š” ๋‹ค๋ฅธ ๋ฆฌ์ „์„ ์„ ํƒํ•ด์„œ ํ”ผ์–ด๋ง์„ ํ•  VPC ID๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

4–2. ๋‹ค๋ฅธ ๊ณ„์ •์— ์žˆ๋Š” ๊ณ„์ •์— ์—ฐ๊ฒฐ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ณ„์ •ID (billing -> ๊ณ„์ • ์„ค์ • -> ๊ณ„์ •ID์— ์žˆ๋Š” ์ˆซ์ž)์„ ์ž…๋ ฅํ•˜๊ณ , VPC ID๋ฅผ ์ง์ ‘ ์ž…๋ ฅํ•˜๋ฉด ๋œ๋‹ค.

๋‚˜์˜ ๊ฒฝ์šฐ๋Š” ๋‚ด ๊ณ„์ •์˜ ๊ฐ™์€ ๋ฆฌ์ „์— ์žˆ๋Š” VPC_B๋กœ ์—ฐ๊ฒฐํ•ด๋ณด๊ฒ ๋‹ค.

5. ๋ฌธ์ œ๊ฐ€ ์—†์ด ์ž˜ ์ง„ํ–‰ ๋˜์—ˆ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์š”์ฒญ์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋Š” ๋ฉ”์„ธ์ง€๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ๋‹ค.

<๊ทธ๋ฆผ2 VPC_A -> VPC_B๋กœ ์š”์ฒญ์ด ์™„๋ฃŒ๋œ ์ƒํƒœ>

<๊ทธ๋ฆผ3. VPC_A -> VPC_B๋กœ ์š”์ฒญ์„ ๋ณด๋‚ธ ์ƒํƒœ>

์ž ๊ทธ๋Ÿผ, ๋‚ด๊ฐ€ VPC_A -> VPC_B๋กœ ์š”์ฒญ์„ ๋ณด๋ƒˆ์œผ๋‹ˆ ์ˆ˜๋ฝ์„ ํ•˜์ž.

์š”์ฒญ ์ˆ˜๋ฝ์ด ํ•„์š”ํ•œ VPC์— ์˜ค๋ฅธ์ชฝ ๋งˆ์šฐ์Šค๋ฅผ ํด๋ฆญ ํ•˜๊ณ  “์š”์ฒญ ์ˆ˜๋ฝ”์„ ๋ˆ„๋ฅด๋ฉด VPC_A์™€ VPC_B์˜ ์—ฐ๊ฒฐ์ด ํ—ˆ์šฉ ๋œ๋‹ค.

์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ ์—†์ด ์ž˜ ์ง„ํ–‰ ๋˜์—ˆ๋‹ค๋ฉด ์œ„์™€ ๊ฐ™์€ ๋‚ด์šฉ์œผ๋กœ ์š”์ฒญ์„ ์ˆ˜๋ฝ ํ–ˆ๋‹ค๋Š” ์•ˆ๋‚ด๋ฅผ ๋ฐ›๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

ํ”ผ์–ด๋ง ํ•œ VPC๊ฐ„์˜ ํ†ต์‹ ์„ ์œ„ํ•ด ๋ผ์šฐํŒ… ์ถ”๊ฐ€

<์”จ์ต>

์•„๋‹ˆ ํ”ผ์–ด๋ง์ด ๋ฒŒ์จ ๋๋‚ฌ๋‹ค๊ณ ? ๋ผ๋Š” ์ƒ๊ฐ๊ณผ ํ•จ๊ป˜, ๋†€์•„์•ผ์ง€! ๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํฐ ์˜ค์‚ฐ์ด๋‹ค.

ํ”ผ์–ด๋ง๋œ VPC๊ฐ„์— ์†ก/์ˆ˜์‹ ์ด ๋ ๋ ค๋ฉด VPC_A์™€ VPC_B์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ํ”ผ์–ด๋งํ•œ VPC์˜ ๋ผ์šฐํŒ…์„ ๋“ฑ๋ก ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

(์ด ์ •๋„๋Š” ์ž๋™์œผ๋กœ ๋„ฃ์–ด์คฌ์œผ๋ฉด ํ•˜๋Š”๋ฐ ์ข€ ์•„์‰ฝ๋‹ค)

๋จผ์ €, VPC_A์—์„œ VPC_B์˜ ๋ผ์šฐํŒ…์„ ๋„ฃ์–ด๋ณด์ž.

Parring Connection์„ ํด๋ฆญ ํ•˜๋ฉด (pcx-)๋ผ๋Š” ์ ‘๋‘์‚ฌ๊ฐ€ ๋ถ™๊ฒŒ๋œ๋‹ค.

์ž๋™์™„์„ฑ์„ ํ†ตํ•ด ๋‚˜์˜ค๋Š” ํ”ผ์–ด๋ง ์•„์ด๋””๋ฅผ ์„ ํƒ ํ•ด์ฃผ๊ณ  Save routes๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋งŒ์•ฝ, ์ž๋™์™„์„ฑ์ด ๋‚˜์˜ค์ง€ ์•Š๋Š”๋‹ค๋ฉด, ํ•ด๋‹น ๋ผ์šฐํŒ…์— ์ถ”๊ฐ€ ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋‹ค.

์œ„์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ VPC_B์—์„œ๋„ ๋˜‘๊ฐ™์ด VPC_A์— ๋Œ€ํ•œ ๋ผ์šฐํŒ…์„ ๋“ฑ๋ก ํ•ด์ค€๋‹ค.

๋ฌธ์ œ๊ฐ€ ์—†์—ˆ๋‹ค๋ฉด ๋ผ์šฐํŒ… ๋“ฑ๋ก์— ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ๋ฉ”์„ธ์ง€๊ฐ€ ๋œฐ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿผ, ์ด์ œ 80%์ •๋„๋Š” ํ•œ๊ฑฐ๋‹ค

Security Group ์ถ”๊ฐ€

์—ฌ๊ธฐ์„œ ์กฐ๊ธˆ ๋‹นํ™ฉ ํ–ˆ๋˜๊ฑด ์‹œํ๋ฆฌํ‹ฐ ๊ทธ๋ฃน ์„ค์ •์‹œ Source์— ๋Œ€ํ•œ ์ž๋™์™„์„ฑ์ด ์•ˆ๋œ๋‹ค.

<ํ”ผ์–ด๋ง๊ฐ„์˜ ์„ค์ •์€ ์„ ํƒ์ด ์•ˆ๋จ>

์—ฌ๊ธฐ์„œ ์กฐ๊ธˆ ๋งŽ์ด ๋‹นํ™ฉ์„ ํ–ˆ๋‹ค. ๋งค์šฐ ์ž˜ ์‚ฌ์šฉํ•˜๋˜ ์ž๋™์™„์„ฑ์ด ์•ˆ๋˜์„œ ๋‚ด๊ฐ€ ๋ฉ€ ์ž˜๋ชปํ•œ๊ฑด๊ฐ€ ํ•˜๊ณ  ๋ฌธ์„œ๋ฅผ ์—„์ฒญ ์ฐพ์•„๋ดค์—ˆ๋‹ค.

์—„์ฒญ๋‚œ ๊ตฌ๊ธ€ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์•Œ๊ฒŒ ๋œ ๊ฒƒ์€ ์ž๋™ ์™„์„ฑ์œผ๋กœ๋Š” ํ•ด๋‹น VPC์•ˆ์—์„œ์˜ Security Group๋งŒ ๋‚˜์˜จ๋‹ค๋Š” ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

๊ทธ๋Ÿผ ์–ด๋–ป๊ฒŒ Policy๋ฅผ ๋„ฃ๋Š”๋ƒ? ๋ผ๊ณ  ํ•˜๋ฉด ํ•ด๋‹น ์‹œํ๋ฆฌํ‹ฐ ๊ทธ๋ฃน์˜ ์‹ค์ œ ID๋ฅผ ์ง์ ‘ ์ž…๋ ฅ ํ•˜๋ฉด ๋œ๋‹ค.

VPC_B_SG(sg-010ee05f791a9fec0)์—์„œ VPC_A_SG(sg-081d0f4ba0f73d188)์˜ ICMP๋ฅผ ์˜คํ”ˆํ•˜์—ฌ VPC_A์—์„œ VPC_B๋กœ ํ†ต์‹  ํ•˜๋„๋ก ํ•ด๋ณด๊ฒ ๋‹ค.

์ด๋ ‡๊ฒŒ ์ž๋™์™„์„ฑ์€ ๋˜์ง€ ์•Š์ง€๋งŒ Security Group ID๋ฅผ ์ง์ ‘ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค

<์ž˜๋ชป๋œ Security Group ID๋ฅผ ์ž…๋ ฅํ•˜๋ฉด, ์ด๋ ‡๊ฒŒ ํ™”๋ฉด์ด ๊นจ์ง„๋‹ค..?>

`๋ณด์•ˆ ๊ทธ๋ฃน ๊ทœ์น™์„ ์—…๋ฐ์ดํŠธ ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค(๋ณ€๊ฒฝ ์‚ฌํ•ญ ์—†์Œ).: The security group ‘~~’ does not exist`

๋ธ”๋กœ๊ทธ ๊ธ€์„ ์ ๋Š” ์ด ์ƒํ™ฉ์— ์•„๋งˆ์กด์˜ ์ด์Šˆ๊ฐ€ ์žˆ๋Š”์ง€ ํ™”๋ฉด์ด ๊นจ์ง„๋‹ค.

ํ• ํŠผ ์กด์žฌ ํ•˜์ง€ ์•Š๋Š” Security Group ID๋ผ๋ฉด ์—…๋ฐ์ดํŠธ๋ฅผ ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๋‚ด์šฉ๊ณผ ํ•จ๊ป˜ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ฒŒ ๋œ๋‹ค.

<์ •์ƒ์ ์œผ๋กœ PING์ด ๋“ค์–ด๊ฐ€๋Š” ๋ชจ์Šต>

์ด๋ ‡๊ฒŒ ๋˜๋ฉด ๋‹น์‹ ์˜ VPC ํ”ผ์–ด๋ง์€ ์™„๋ฃŒ ๋˜์—ˆ๋‹ค.

VPC ํ”ผ์–ด๋ง ํ•˜๊ณ  ๋‚˜๋ฉด, ๋‚ด๋ถ€ DNS ์‚ฌ์šฉ ๋ชปํ•˜๋‚˜์š”?

์‹ ๋‚˜๊ฒŒ VPC ํ”ผ์–ด๋ง์ด ์™„๋ฃŒ๋˜๊ณ  ํ†ต์‹ ์ด ๋˜๋Š”๊ฒƒ๊นŒ์ง€ ํ™•์ธ์„ ํ–ˆ๋Š”๋ฐ, VPC_A์™€ VPC_B ๊ตฌ๊ฐ„์— ํ†ต์‹ ์ด ์•ˆ๋˜๋Š”๊ฒŒ ๋ณด์ธ๋‹ค.

<ํ”ผ์–ด๋ง ํ•œ๊ฑฐ๋ฉด DNS๋„ ์‚ฌ์„ค์œผ๋กœ ๋ฐ”๋€Œ์–ด์•ผ ํ•˜๋Š”๊ฑฐ ์•„๋‹Œ๊ฐ€.>

ํ”ผ์–ด๋ง์„ ํ•˜๊ณ  ๋‚˜๋ฉด ์‚ฌ์„ค ๋Œ€์—ญ ๋ผ๋ฆฌ ํ†ต์‹ ์„ ํ•ด์•ผํ•˜๋Š”๋ฐ, DNS ๋ฃฉ์—… ๊ฒฐ๊ณผ๊ฐ€ ์™ธ๋ถ€๋กœ ๋‚˜๊ฐ„๋‹ค.

๊ทธ๋Ÿผ ํ”ผ์–ด๋ง ๊ตฌ๊ฐ„์€ DNS๋ฅผ ํ†ตํ•ด Lookup์„ ๋ชปํ•˜๋‚˜์š”? ๋ผ๋Š” ์งˆ๋ฌธ์€ ์•„๋‹ˆ๋‹ค! ๋ผ๊ณ  ๋‹ตํ•˜๊ฒ ๋‹ค.

์•„๊นŒ VPC ํ”ผ์–ด๋ง์„ ์œ„ํ•ด ๊ฐ”๋˜ ํƒญ์œผ๋กœ ๋‹ค์‹œ ์ด๋™์„ ํ•˜์ž

์—ฐ๊ฒฐ๋œ ํ”ผ์–ด๋ง ์—ฐ๊ฒฐ์„œ ์˜ค๋ฅธ์ชฝ ๋งˆ์šฐ์Šค๋ฅผ ํด๋ฆญ ํ•˜๊ณ  DNS ์„ค์ • ํŽธ์ง‘์„ ๋ˆ„๋ฅด์ž.

‘์š”์ฒญ์ž VPC(VPC_A)๊ฐ€ ํ”„๋ผ์ด๋น— IP์— ๋Œ€ํ•œ ์ˆ˜๋ฝ์ž VPC (VPC_B) ํ˜ธ์ŠคํŠธ์˜ DNS ํ™•์ธ ํ—ˆ์šฉ’ ์„ ํด๋ฆญ ํ•˜๊ณ  ์ €์žฅ์„ ํ•˜๊ณ  ์„œ๋ฒ„์—์„œ ๋‹ค์‹œ DNS๋ฅผ ์กฐํšŒํ•ด๋ณด์ž

์ •์ƒ์ ์ด๊ฒŒ ๊ณต์ธ IP์—์„œ ์‚ฌ์„ค IP๋กœ ๋ณ€๊ฒฝ๋˜๊ณ , ์‹ค์ œ๋กœ ํ†ต์‹ ๋„ ์ž˜๋˜๋Š”๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

๋งˆ์น˜๋ฉฐ

AWS์—์„œ ๋ง ๋ถ„๋ฆฌ ํ˜น์€ ์„œ๋น„์Šค ๋ถ„๋ฆฌ๋ฅผ ์œ„ํ•˜์—ฌ, VPC๊ฐ€ ๋ถ„๋ฆฌ๋˜์–ด ์‚ฌ์šฉ๋˜์ง€๋งŒ, ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ด์œ ๋กœ ๋‚˜๋ˆ ์ง„ VPC๋ผ๋ฆฌ ํ†ต์‹ ์ด ์ผ์–ด๋‚˜์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

๊ด€๋ จ ์ž๋ฃŒ๋ฅผ ๋งŽ์ด ์ฐพ์•„๋ณด์•˜์ง€๋งŒ, ๋ช…์พŒํ•œ ํ•ด๋‹ต์ด ์ œ๋Œ€๋กœ ์•ˆ๋‚˜์˜ค๋Š” ์ƒํ™ฉ์ด ์žˆ์–ด์„œ ์ด ๊ธ€์„ ํ†ตํ•ด ๋ช…์พŒํ•œ ํ•ด๋‹ต์„ ์–ป์—ˆ๊ธฐ๋ฅผ ๋ฐ”๋ž€๋‹ค.

 

 

๋Œ“๊ธ€