์„œ๋กœ ๋‹ค๋ฅธ ๋‘ VPC๋ฅผ ์‚ฌ์„ค ๋„คํŠธ์›Œํฌ๋กœ ์ง์ ‘ ์—ฐ๊ฒฐํ•ด ์ธํ„ฐ๋„ท์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ๋‚ด๋ถ€ IP๋กœ ํ†ต์‹ ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜. ์–ด๋–ค ๋ฒ”์œ„์˜ VPC๋ฅผ ๋ฌถ์„์ง€(๊ฐ™์€ ๊ณ„์ •ยท๋ฆฌ์ „ / cross-account / cross-region), ๋ผ์šฐํŒ…์„ ์–ด๋””๊นŒ์ง€ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ๊น”์ง€, DNS๋ฅผ ์ƒ๋Œ€ํŽธ๊นŒ์ง€ ํ’€์ง€๊ฐ€ ์„ค๊ณ„ ์ถ•์ด๋‹ค.

์–ธ์ œ ์“ฐ๋‚˜

  • ์‚ฌ๋‚ด VPN VPC โ†” ์›Œํฌ๋กœ๋“œ VPC ์—ฐ๊ฒฐ (๊ฐœ๋ฐœ์žยท์šด์˜์ž ์‚ฌ์„ค ์ ‘๊ทผ)
  • ๊ฐ™์€ ์กฐ์ง์˜ ๋ฉ€ํ‹ฐ ๊ณ„์ •/๋ฉ€ํ‹ฐ ๋ฆฌ์ „ ํ™˜๊ฒฝ์—์„œ ๋‚ด๋ถ€ ํ†ต์‹ 
  • ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐ„ ์‚ฌ์„ค ํ†ต์‹ , mTLS ์ ์šฉ ์ „ 1์ฐจ ๋ณด์•ˆ ๊ฒฝ๊ณ„

๋Œ€์•ˆ๊ณผ์˜ ๋น„๊ต

๋ฐฉ์‹ํŠน์ง•์„ ํƒ ๊ธฐ์ค€
VPC Peering1:1 ์—ฐ๊ฒฐ, ์ „์ด์  ๋ผ์šฐํŒ… ๋ถˆ๊ฐ€VPC ์ˆ˜๊ฐ€ ์ ๊ณ  ํ† ํด๋กœ์ง€๊ฐ€ ๋‹จ์ˆœํ•  ๋•Œ
Transit Gatewayํ—ˆ๋ธŒ-์Šคํฌํฌ, ์ „์ด์  ๋ผ์šฐํŒ… ๊ฐ€๋ŠฅVPC ๋‹ค์ˆ˜(๋Œ€๋žต 5+), ์ค‘์•™ ์ง‘์ค‘ ๋ผ์šฐํŒ… ํ•„์š”
PrivateLink์„œ๋น„์Šค ๋‹จ์œ„ ๋…ธ์ถœ, ๋‹จ๋ฐฉํ–ฅํŠน์ • ์—”๋“œํฌ์ธํŠธ๋งŒ ๋…ธ์ถœ, ์–‘๋ฐฉํ–ฅ ๋ผ์šฐํŒ… ๋ถˆํ•„์š”
Site-to-Site VPN์˜จํ”„๋ ˆ๋ฏธ์Šค โ†” VPCํด๋ผ์šฐ๋“œ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ์™€ ์—ฐ๊ฒฐ

Peering์ด N:N์œผ๋กœ ๋Š˜๋ฉด ๋ฉ”์‹œ ํญ๋ฐœ โ€” TGW๋กœ ๊ฐˆ์•„ํƒˆ ์‹œ์ ์ด๋‹ค.

๊ตฌ์„ฑ ์š”์†Œ

์—ฐ๊ฒฐ ํ•œ ์Œ์— ํ•„์š”ํ•œ ๋ฆฌ์†Œ์Šค(AWS ๊ธฐ์ค€).

  • Peering Connection: ์š”์ฒญ ์ธก์—์„œ ์ƒ์„ฑ. (aws_vpc_peering_connection)
  • Peering Connection Accepter: ์ˆ˜๋ฝ ์ธก์—์„œ ์ƒ์„ฑ. cross-account ๋˜๋Š” cross-region์ผ ๋•Œ๋งŒ ๋ณ„๋„ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค. (aws_vpc_peering_connection_accepter)
  • Route Table ์—”ํŠธ๋ฆฌ: ์–‘์ชฝ VPC ๋ชจ๋‘์˜ ๋ผ์šฐํŠธ ํ…Œ์ด๋ธ”์— ์ƒ๋Œ€ CIDR โ†’ peering connection ID ์ถ”๊ฐ€. ํ•œ์ชฝ๋งŒ ๊น”๋ฉด ๋‹จ๋ฐฉํ–ฅ์ด ๋˜์–ด ์‘๋‹ต ํŒจํ‚ท์ด ๋Œ์•„์˜ค์ง€ ์•Š๋Š”๋‹ค.
  • VPN ์ธก ๋ผ์šฐํŠธ: VPN๊ณผ ์—ฐ๊ฒฐํ•  ๊ฒฝ์šฐ aws_ec2_client_vpn_route ์ถ”๊ฐ€. ๋น ๋œจ๋ฆฌ๋ฉด VPN ์ ‘์†์€ ๋˜์ง€๋งŒ ๋Œ€์ƒ VPC๋กœ ๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์ด ๋Š๊ธด๋‹ค.
  • Security Group / NACL: peering์ด ๊น”๋ ค ์žˆ์–ด๋„ SG์—์„œ ์ƒ๋Œ€ CIDR์„ ํ—ˆ์šฉํ•ด์•ผ ์‹ค์ œ ํŠธ๋ž˜ํ”ฝ์ด ํ†ต๊ณผํ•œ๋‹ค.

์ผ€์ด์Šค๋ณ„ ์ฐจ์ด

๊ฐ™์€ ๊ณ„์ • + ๊ฐ™์€ ๋ฆฌ์ „

  • Accepter ๋ฆฌ์†Œ์Šค ๋ถˆํ•„์š” โ€” peering connection ์ž์ฒด๊ฐ€ ์–‘์ชฝ ์—ญํ• ์„ ๊ฒธํ•œ๋‹ค.
  • auto_accept = true ํ•œ ์ค„๋กœ ์ž๋™ ์ˆ˜๋ฝ.
  • IaC ํ•œ ์‚ฌ์ดํด๋กœ ๋๋‚œ๋‹ค.

๋‹ค๋ฅธ ๊ณ„์ • ๋˜๋Š” ๋‹ค๋ฅธ ๋ฆฌ์ „

  • Accepter ๋ฆฌ์†Œ์Šค ํ•„์ˆ˜, provider ๋ณ„๋„ ์ง€์ •.
  • auto_accept์ด ๋™์ž‘ํ•˜์ง€ ์•Š์Œ โ€” Terraform apply ์‹œ PendingAcceptance ์ƒํƒœ๋กœ ๋‚จ๋Š”๋‹ค.
  • ์šด์˜ ์ ˆ์ฐจ: ์ฝ˜์†”/CLI๋กœ ์ˆ˜๋™ ์ˆ˜๋ฝ โ†’ state import โ†’ ์žฌ apply.
  • ์ž๋™ํ™”ํ•˜๋ ค๋ฉด ๋ณ„๋„ ์Šคํฌ๋ฆฝํŠธ(state rm + import)๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

VPN โ†” VPC

  • ์œ„ ๋‘ ์ผ€์ด์Šค์— ๋”ํ•ด aws_ec2_client_vpn_route ์ถ”๊ฐ€.
  • VPN ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‚ฌ์šฉํ•  subnet, ๋Œ€์ƒ CIDR, endpoint ID๋ฅผ ์ง€์ •ํ•œ๋‹ค.

DNS ํ•ด์„

allow_remote_vpc_dns_resolution = true๋ฅผ ์–‘์ชฝ ๋ชจ๋‘ ์ผœ๋ฉด ์ƒ๋Œ€ VPC์˜ private DNS hostname์„ ์ž๊ธฐ ์ชฝ resolver๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‚ด๋ถ€ ๋„๋ฉ”์ธ์ด๋‚˜ RDS endpoint๋ฅผ ์ด๋ฆ„์œผ๋กœ ์ฐธ์กฐํ•ด์•ผ ํ•˜๋ฉด ์ผ ๋‹ค.

ํ•จ์ •

  • route table ํ•œ์ชฝ๋งŒ ์„ค์ •: ๊ฐ€์žฅ ํ”ํ•œ ์‹ค์ˆ˜. ICMP๋Š” ํ†ตํ•˜๋Š”๋ฐ TCP๊ฐ€ ์•ˆ ๋˜๋Š” ๋น„๋Œ€์นญ ์ฆ์ƒ์œผ๋กœ ๋ณด์ผ ์ˆ˜๋„ ์žˆ๋‹ค.
  • CIDR ์ถฉ๋Œ: ์–‘์ชฝ VPC CIDR์ด ๊ฒน์น˜๋ฉด peering ์ž์ฒด๊ฐ€ ๊ฑฐ๋ถ€๋œ๋‹ค. ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ IPAM/CIDR ํ”Œ๋žœ์ด ํ•„์ˆ˜.
  • ์ „์ด์„ฑ ์—†์Œ: Aโ†”B, Bโ†”C๊ฐ€ ์žˆ์–ด๋„ Aโ†”C๋Š” ์•ˆ ๋œ๋‹ค. ๋ฉ”์‹œ๊ฐ€ ํ•„์š”ํ•˜๋ฉด ๋ชจ๋“  ์Œ์„ ์ง์ ‘ ์—ฐ๊ฒฐํ•˜๊ฑฐ๋‚˜ TGW๋กœ.
  • ์ˆ˜๋™ ์ˆ˜๋ฝ ํ›„ import ๋ˆ„๋ฝ: drift ๋ฐœ์ƒ, ๋‹ค์Œ plan์—์„œ ์žฌ์ƒ์„ฑ ์‹œ๋„๋กœ ์ด์–ด์ง„๋‹ค. ์ด๋•Œ accepter๋งŒ importํ•˜๋ฉด ๋ถ€์กฑํ•˜๊ณ , requester ์ชฝ๋„ state rm ํ›„ ์žฌ import ํ•ด์•ผ ํ•œ๋‹ค โ€” ์ˆ˜๋™ ์ˆ˜๋ฝ ๊ณผ์ •์—์„œ AWS๊ฐ€ ์–‘์ชฝ ๊ฐ์ฒด๋ฅผ ๋ชจ๋‘ ๊ฐฑ์‹ ํ•˜๊ธฐ ๋•Œ๋ฌธ.
  • SG ๋ฏธํ—ˆ์šฉ: peering์€ ๊น”๋ ธ๋Š”๋ฐ ํŠธ๋ž˜ํ”ฝ ์ฐจ๋‹จ. ๋„คํŠธ์›Œํฌ ๋ ˆ๋ฒจ๊ณผ SG ๋ ˆ๋ฒจ์„ ๋”ฐ๋กœ ์ ๊ฒ€ํ•ด์•ผ ํ•œ๋‹ค.

Terraform ํŒจํ„ด ํ‚ค์›Œ๋“œ

  • aws_vpc_peering_connection (+ _accepter for cross-account/region)
  • aws_route + for_each over route table IDs (์–‘์ชฝ RT์— ์ž๋™ ์ ์šฉ)
  • requester / accepter ๋ธ”๋ก์˜ allow_remote_vpc_dns_resolution
  • ๋ชจ๋“ˆํ™” ์‹œ ID ๋Œ€์‹  ์ด๋ฆ„ยทํƒœ๊ทธ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๊ณ  ๋‚ด๋ถ€์—์„œ data ๋ธ”๋ก์œผ๋กœ ์กฐํšŒ โ€” ๊ฐ€๋…์„ฑยท์žฌ์‚ฌ์šฉ์„ฑ์ด ์˜ฌ๋ผ๊ฐ„๋‹ค.