Amazon VPC

๊ผญ ์•Œ๊ณ  ๋„˜์–ด๊ฐ€์•ผ ํ•˜๋Š” AWS VPC!

Reference: [์ธํ”„๋Ÿฐ] DevOps : Infrastructure as Code with Terraform and AWS ๊ฐ•์ขŒ by ์†ก์ฃผ์˜๋‹˜, medium.com/harrythegreat

Amazon VPC๋ž€?

  • Amazon์—์„œ ์ œ๊ณตํ•˜๋Š” privateํ•œ ๋„คํŠธ์›Œํฌ ๋ง ์„œ๋น„์Šค

    • ์‚ฌ์šฉ์ž์—๊ฒŒ aws ๊ณ„์ • ์ „์šฉ ๋„คํŠธ์›Œํฌ๋ง์„ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์„œ๋น„์Šค

  • VPC๋ฅผ ์ ์šฉํ•˜๋ฉด

    • VPC๋ณ„๋กœ Network๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ ,

    • ๊ฐ๊ฐ์˜ VPC์— ๋”ฐ๋ผ Network ์„ค์ •์„ ๋‹ค๋ฅด๊ฒŒ ์ค„ ์ˆ˜ ์žˆ๋‹ค

  • ๊ฐ๊ฐ์˜ VPC๋Š” ์™„์ „ํžˆ ๋…๋ฆฝ๋œ ๋„คํŠธ์›Œํฌ์ฒ˜๋Ÿผ ์ž‘๋™ํ•œ๋‹ค

VPC์˜ ํ•ต์‹ฌ ๊ตฌ์„ฑ์š”์†Œ

Virtual Private Cloud (VPC)

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

    • VPC๋ฅผ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” VPC์˜ IP ๋ฒ”์œ„๋ฅผ RFC1918์ด๋ผ๋Š” ์‚ฌ์„ค IP ๋Œ€์—ญ์— ๋งž์ถ”์–ด ๊ตฌ์ถ•ํ•ด์•ผํ•œ๋‹ค

      • VPC์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์„ค IP ๋Œ€์—ญ

        • 10.0.0.0 ~ 10.255.255.255(10/8 prefix)

        • 172.16.0.0 ~ 172.31.255.255(182.16/12 prefix)

        • 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix)

    • ํ•œ ๋ฒˆ ์„ค์ •๋œ IP ๋Œ€์—ญ์€ ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋‹ค

    • ๊ฐ VPC๋Š” ํ•˜๋‚˜์˜ Region์— ์ข…์†๋œ๋‹ค

    • ๊ฐ๊ฐ์˜ VPC๋Š” ์™„์ „ํžˆ ๋…๋ฆฝ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— VPC ๊ฐ„์˜ ํ†ต์‹ ์„ ์›ํ•œ๋‹ค๋ฉด VPC ํ”ผ์–ด๋ง ์„œ๋น„์Šค๋ฅผ ๊ณ ๋ คํ•ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค

Subnet

ํŠน์ • Availability Zone ์— ์†ํ•œ ๋„คํŠธ์›Œํฌ ๊ทธ๋ฃน์œผ๋กœ VPC ๋‚ด์—์„œ๋„ ๋‚˜๋ˆ ์ง„ ๋…๋ฆฝ์ ์ธ ๋„คํŠธ์›Œํฌ ๊ตฌ์—ญ

image-20201011020622952
  • VPC์˜ IP address ๋ฒ”์œ„

    • ํ•ด๋‹น VPC ์•ˆ์—์„œ IP ์ฃผ์†Œ ๋ฒ”์œ„๋ฅผ ์–ด๋””๊นŒ์ง€ ๋‚˜๋ˆ„๋А๋ƒ์— ๋Œ€ํ•œ ๊ฒƒ

      • VPC๋ฅผ ์ž˜๊ฒŒ ์ชผ๊ฐœ๋Š” ๊ณผ์ •

    • Subnet์„ ๋‚˜๋ˆ„๋Š” ์ด์œ ๋Š” ๋” ๋งŽ์€ ๋„คํŠธ์›Œํฌ๋ง์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค

    • ๊ฐ๊ฐ์˜ ์„œ๋ธŒ๋„ท์€ ๊ฐ€์šฉ ์˜์—ญ (AZ, Availability Zone) ์•ˆ์— ์กด์žฌํ•˜๋ฉฐ, Subnet ์•ˆ์— RDS, EC2์™€ ๊ฐ™์€ resourece๋“ค์„ ์œ„์น˜์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค

  • Public Subnet vs Private Subnet

    • Public Subnet

      • EC2 ๊ฐ™์€ machine์— ๊ณต์ธ IP๊ฐ€ ๋ถ™์–ด์žˆ์œผ๋ฉด ๋ณดํ†ต Public subnet์— ์œ„์น˜ํ•œ EC2 ์ธ์Šคํ„ด์Šค๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค

    • Private Subnet

      • ๊ณต์ธ IP๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์ง€๋งŒ, NAT Gateway๋ฅผ ํ†ตํ•ด ์ธํ„ฐ๋„ท์„ ํ•  ์ˆ˜ ์žˆ๋Š” Subnet์„ Private Subnet์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค

        • ์ฆ‰, ์ธํ„ฐ๋„ท๊ณผ ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋Š” subnet์„ Public Subnet, ์ธํ„ฐ๋„ท๊ณผ ์—ฐ๊ฒฐ๋˜์–ด์žˆ์ง€ ์•Š์€ subnet์„ Private Subnet ์ด๋ผ๊ณ  ํ•œ๋‹ค

Routing Table

image-20201011021121247
  • Network traffic์„ ์ „๋‹ฌํ•  ์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” routing์ด๋ผ๋Š” ๊ทœ์น™ ์ง‘ํ•ฉ

    • ์–ด๋–ค machine (ex. EC2)์—์„œ outbound๋กœ ๋‚˜๊ฐ€๋Š” traffic์ด ์–ด๋””๋กœ ๋‚˜๊ฐ€๋А๋ƒ์— ๋Œ€ํ•œ๊ฒƒ

      • ๋‚ด๋ถ€๋กœ ๋‚˜๊ฐ€๋А๋ƒ ์™ธ๋ถ€๋กœ ๋‚˜๊ฐ€๋А๋ƒ์— ๋Œ€ํ•œ ๊ทœ์น™์„ ์ •ํ•˜๋Š” table

    • ๋„คํŠธ์›Œํฌ ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜๋ฉด data๋Š” ์šฐ์„  router๋กœ ํ–ฅํ•˜๊ฒŒ ๋œ๋‹ค

      • ๋„คํŠธ์›Œํฌ ์š”์ฒญ์€ ๊ฐ๊ฐ ์ •์˜๋œ routing table์— ๋”ฐ๋ผ ์ž‘๋™ํ•œ๋‹ค

        • ์œ„์˜ ๊ทธ๋ฆผ์—์„œ,

          • ์„œ๋ธŒ๋„ท A ๋ผ์šฐํŒ…ํ…Œ์ด๋ธ”์€ 172.31.0.0/16, ์ฆ‰, VPC ์•ˆ์˜ ๋„คํŠธ์›Œํฌ ๋ฒ”์œ„๋ฅผ ๊ฐ–๋Š” ๋„คํŠธ์›Œํฌ ์š”์ฒญ์€ local์—์„œ ์ฐพ๋„๋ก ๋˜์–ด์žˆ๋‹ค

            • but, ๊ทธ ์ด์™ธ์— ์™ธ๋ถ€๋กœ ํ†ตํ•˜๋Š” traffic์€ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค

              • ์ด๋Ÿด ๋•Œ Internet Gateway๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค

Internet Gateway

image-20201011021532969
  • VPC์˜ resource์™€ ์ธํ„ฐ๋„ท ๊ฐ„์˜ ํ†ต์‹ ์„ ํ™œ์„ฑํ™”ํ•˜๊ธฐ ์œ„ํ•ด VPC์— ์—ฐ๊ฒฐํ•˜๋Š” gateway

    • ์ธํ„ฐ๋„ท์„ ์—ฐ๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์„œ๋น„์Šค

      • VPC์™€ ์ธํ„ฐ๋„ท์„ ์—ฐ๊ฒฐํ•ด์ฃผ๋Š” ํ•˜๋‚˜์˜ ๊ด€๋ฌธ

        • ์œ„์˜ ๊ทธ๋ฆผ์—์„œ,

          • ์„œ๋ธŒ๋„ท B ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ๋ณด๋ฉด 0.0.0.0/0์œผ๋กœ ์ •์˜๋˜์–ด์žˆ๋‹ค

            • ์ด๊ฒƒ์€ ๋ชจ๋“  traffic์— ๋Œ€ํ•˜์—ฌ IGA(Internet Gateway) A๋กœ ํ–ฅํ•˜๋ผ๋Š” ๋œป์ด๋‹ค

              • Routing table์€ ๊ฐ€์žฅ ๋จผ์ € ๋ชฉ์ ์ง€์˜ ์ฃผ์†Œ๊ฐ€ 172.31.0.0/16์— ๋งค์นญ๋˜๋Š”์ง€ ํ™•์ธํ•œ ํ›„,

                • ๋งค์นญ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด IGA A๋กœ traffic์„ ๋ณด๋‚ธ๋‹ค

    • ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜๊ฐ€๋Š” ์„œ๋น„์Šค๊ฐ€ Internet Gateway ๋ฅผ ํ†ตํ•œ๋‹ค๋ฉด Public Subnet์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค

NAT Gateway

image-20201011022745821
  • Network ์ฃผ์†Œ ๋ณ€ํ™˜์„ ํ†ตํ•ด Private subnet์—์„œ ์ธํ„ฐ๋„ท ๋˜๋Š” ๊ธฐํƒ€ AWS ์„œ๋น„์Šค์— ์—ฐ๊ฒฐํ•˜๋Š” gateway

    • ๋ผ์ดํŒ… ํ…Œ์ด๋ธ”์— ์ธํ„ฐ๋„ท์œผ๋กœ ๋‚˜๊ฐ€๋Š” ์„œ๋น„์Šค๊ฐ€ NAT Gateway๋ฅผ ํ†ตํ•œ๋‹ค๋ฉด Private Subnet์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค

  • Private Subnet์ด ์ธํ„ฐ๋„ท๊ณผ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ outbound instance

    • Public ์ƒ์—์„œ ๋™์ž‘ํ•˜๋Š” NAT Gateway๋Š” private subnet์—์„œ ์™ธ๋ถ€๋กœ ์š”์ฒญํ•˜๋Š” outbound traffic์„ ๋ฐ›์•„ Internet Gateway์™€ ์—ฐ๊ฒฐํ•œ๋‹ค

Security Group

image-20201011022121617
  • instance์— ๋Œ€ํ•œ Inbound ๋ฐ Outbound traffic์„ ์ œ์–ดํ•˜๋Š” ๊ฐ€์ƒ ๋ฐฉํ™”๋ฒฝ ์—ญํ• ์„ ํ•˜๋Š” ๊ทœ์น™ ์ง‘ํ•ฉ

    • Inbound traffic์„ ์–ด๋–ค ๊ทœ์น™์„ ํ†ตํ•ด์„œ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ์ง€

    • Outbound traffic์„ ์–ด๋–ค ๊ทœ์น™์„ ํ†ตํ•ด์„œ ํ—ˆ์šฉํ•  ๊ฒƒ์ธ์ง€์— ๊ด€ํ•œ ๊ทœ์น™์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ง‘ํ•ฉ

  • Network ACL๊ณผ ๋ณด์•ˆ ๊ทธ๋ฃน์€ ๋ฐฉํ™”๋ฒฝ๊ณผ ๊ฐ™์€ ์—ญํ• ์„ ํ•˜๋ฉฐ Inbound traffic๊ณผ Outbound traffic ๋ณด์•ˆ์ •์ฑ…์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค

    • ๋ณด์•ˆ๊ทธ๋ฃน vs Network ACL

      • ๋ณด์•ˆ๊ทธ๋ฃน์€ stateful ํ•œ ๋ฐฉ์‹์œผ๋กœ,

        • ๋™์ž‘ํ•˜๋Š” ๋ณด์•ˆ๊ทธ๋ฃน์€ ๋ชจ๋“  ํ—ˆ์šฉ์„ ์ฐจ๋‹จํ•˜๋„๋ก ๊ธฐ๋ณธ ์„ค์ • ๋˜์–ด์žˆ๋‹ค

          • ๊ทธ๋ž˜์„œ ํ•„์š”ํ•œ ์„ค์ •์„ ํ—ˆ์šฉํ•ด์ค˜์•ผ ํ•œ๋‹ค

        • Network ACL๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋ณด์•ˆ๊ทธ๋ฃน์€ ๋ณ„๋„์˜ traffic์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ,

          • Subnet์—๋„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ๊ฐ์˜ EC2 instance์—๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค

      • Network ACL์€ stateless ํ•˜๊ฒŒ ์ž‘๋™ํ•˜๋ฉฐ,

        • ๋ชจ๋“  traffic์ด ๊ธฐ๋ณธ ์„ค์ •์œผ๋กœ ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์—

          • ๋ถˆํ•„์š”ํ•œ traffic์„ ๋ง‰๋„๋ก ํ•ด์•ผํ•œ๋‹ค

            • Subnet ๋‹จ์œ„๋กœ ์ ์šฉ๋˜๋ฉฐ, resource๋ณ„๋กœ๋Š” ์„ค์ •ํ•  ์ˆ˜ ์—†๋‹ค

      • Network ACL๊ณผ ๋ณด์•ˆ๊ทธ๋ฃน์ด ์ถฉ๋Œํ•œ๋‹ค๋ฉด ๋ณด์•ˆ๊ทธ๋ฃน์ด ๋” ๋†’์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ–๋Š”๋‹ค!

VPC Endpoint

  • VPC์— ์ข…์†๋˜์–ด ์žˆ๋Š” VPC ๋‚ด๋ถ€์˜ ์—ฌ๋Ÿฌ AWS ์„œ๋น„์Šค ๊ฐ„์— Internet Gateway๋‚˜ NAT Gateway๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ  ๋ฐ”๋กœ AWS ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” AWS ์˜ ์„œ๋น„์Šค

    • Internet gateway, NAT device, VPC ์—ฐ๊ฒฐ ๋˜๋Š” AWS Direct Connect ์—ฐ๊ฒฐ์„ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๊ณ , PrivateLink ๊ตฌ๋™ ์ง€์› ๋ฐ AWS ์„œ๋น„์Šค ๋ฐ VPC Endpoint service์— VPC๋ฅผ ๋น„๊ณต๊ฐœ๋กœ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค

    • VPC์˜ Instance๋Š” ์„œ๋น„์Šค์˜ resource ์™€ ํ†ต์‹ ํ•˜๋Š” ๋ฐ Public IP๋ฅผ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š”๋‹ค!

    • VPC์™€ ๊ธฐํƒ€ ์„œ๋น„์Šค ๊ฐ„์˜ traffic์€ Amazon Network๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค

Last updated

Was this helpful?