0Pricing
Cloud & IT Cert Prep · 강의

VPC 아키텍처 및 CIDR 블록

적절한 CIDR 범위로 VPC를 설계하고, 가용 영역 전체에 퍼블릭 서브넷과 프라이빗 서브넷을 나눠 구성합니다.

VPC 아키텍처 및 CIDR 블록은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

VPC란 무엇인가요?

Amazon Virtual Private Cloud (VPC)는 AWS Region 내에서 사용자가 정의하고 제어하는 논리적으로 격리된 프라이빗 네트워크입니다. 모든 AWS 계정에는 각 Region에 기본 VPC(CIDR 172.31.0.0/16)가 제공되지만, 프로덕션 아키텍처에서는 항상 사용자 지정 VPC를 사용합니다. VPC는 해당 Region의 모든 가용 영역에 걸쳐 있으며 IP 주소 지정, 서브넷, 라우팅 테이블, 인터넷 게이트웨이 및 보안을 완전히 제어할 수 있습니다. VPC 내부의 리소스는 명시적으로 연결을 구성하지 않는 한 다른 VPC 및 인터넷으로부터 격리됩니다.

# Create a custom VPC
aws ec2 create-vpc \
  --cidr-block 10.0.0.0/16 \
  --tag-specifications 'ResourceType=vpc,Tags=[{Key=Name,Value=production-vpc}]'

CIDR 블록: IP 주소 범위

CIDR (Classless Inter-Domain Routing) 블록은 x.x.x.x/prefix 형식을 사용하여 VPC 또는 subnet의 IP 주소 범위를 정의합니다. 접두사 길이에 따라 범위에 포함되는 IP 주소 수가 결정됩니다. /16은 65,536개, /24는 256개, /28은 16개의 주소를 의미합니다(AWS에서 subnet 크기의 최솟값). VPC의 경우 AWS에서는 /16(최대)부터 /28(최소)까지의 CIDR 블록을 허용합니다. VPC CIDR은 다음 조건을 충족하도록 선택하십시오. (1) 향후 VPN/Direct Connect를 위해 온프레미스 네트워크와 겹치지 않아야 하고, (2) 계획한 subnet을 수용할 만큼 충분히 커야 하며, (3) 프라이빗 RFC 1918 주소 공간(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16)을 사용해야 합니다.

# Common VPC CIDR choices:
# 10.0.0.0/16   -> 65,534 usable IPs (largest common choice)
# 10.0.0.0/20   -> 4,094 usable IPs
# 10.0.0.0/24   -> 254 usable IPs (too small for most VPCs)

# AWS reserves 5 IPs in each subnet:
# x.x.x.0   Network address
# x.x.x.1   VPC router
# x.x.x.2   DNS server
# x.x.x.3   Future use
# x.x.x.255  Broadcast

subnet: VPC 나누기

subnet은 단일 가용 영역에 존재하는 VPC IP 주소 범위의 한 구간입니다. subnet은 퍼블릭(인터넷 게이트웨이로 가는 라우팅이 있음) 또는 프라이빗(인터넷으로 가는 직접 라우팅이 없음)으로 분류됩니다. 일반적인 3계층 아키텍처의 모범 사례는 최소 세 개의 subnet 계층을 생성하는 것입니다. 퍼블릭(로드 밸런서, 배스천 호스트), 프라이빗-애플리케이션(EC2 인스턴스, ECS 작업), 프라이빗-데이터(RDS, ElastiCache)로 구성하고, 고가용성을 위해 각 계층을 최소 두 개의 AZ에 복제하십시오.

# Create a public subnet in AZ-a
aws ec2 create-subnet \
  --vpc-id vpc-12345678 \
  --cidr-block 10.0.1.0/24 \
  --availability-zone us-east-1a \
  --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=public-1a}]'

# Create a private subnet in AZ-a
aws ec2 create-subnet \
  --vpc-id vpc-12345678 \
  --cidr-block 10.0.10.0/24 \
  --availability-zone us-east-1a \
  --tag-specifications 'ResourceType=subnet,Tags=[{Key=Name,Value=private-app-1a}]'

다중 AZ VPC CIDR 레이아웃 설계

두 개의 AZ와 세 개의 계층에 걸쳐 CIDR이 10.0.0.0/16인 VPC를 구성하는 일반적인 CIDR 설계는 다음과 같습니다. Public AZ-a: 10.0.1.0/24; Public AZ-b: 10.0.2.0/24; Private-App AZ-a: 10.0.10.0/24; Private-App AZ-b: 10.0.11.0/24; Private-Data AZ-a: 10.0.20.0/24; Private-Data AZ-b: 10.0.21.0/24. 이 레이아웃을 사용하면 전체 CIDR 체계를 다시 계획하지 않고도 AZ-c subnet(10.0.3.0/24, 10.0.12.0/24, 10.0.22.0/24)을 추가할 수 있습니다. 항상 확장 가능성을 고려하여 설계하십시오.

각 subnet의 예약된 IP

AWS는 모든 subnet에서 처음 네 개의 IP 주소와 마지막 IP 주소를 예약합니다. 10.0.1.0/24 subnet의 경우 다음과 같습니다. 10.0.1.0(네트워크), 10.0.1.1(VPC 라우터), 10.0.1.2(DNS/DHCP), 10.0.1.3(향후 사용), 10.0.1.255(브로드캐스트)입니다. /24 subnet에는 총 256개의 IP가 있으며, 이 중 5개가 예약되므로 251개를 사용할 수 있습니다. 최소 크기인 /28 subnet에는 16개의 IP가 있으며, 5개를 제외한 11개를 사용할 수 있습니다. 이는 배포할 리소스 수(EC2 인스턴스, VPC가 연결된 Lambda 함수 등)에 맞춰 subnet 크기를 정할 때 중요합니다.

VPC 보조 CIDR 블록

기존 VPC를 다시 생성하지 않고도 최대 4개의 보조 CIDR 블록을 추가할 수 있습니다. 기본 CIDR의 주소가 고갈되었을 때(모든 subnet이 가득 찬 경우), 또는 Kubernetes pod 네트워킹과 같은 특정 사용 사례를 위해 다른 RFC 1918 범위의 주소 공간을 추가해야 할 때 유용합니다. 보조 CIDR에는 몇 가지 제한 사항이 적용됩니다. 예를 들어, 겹치는 CIDR은 추가할 수 없으며 일부 RFC 1918 이외의 공용 범위도 사용할 수 없습니다. 보조 CIDR이 필요해지는 일을 최소화하도록 VPC CIDR 크기를 처음부터 신중하게 계획하십시오.

# Add a secondary CIDR to an existing VPC
aws ec2 associate-vpc-cidr-block \
  --vpc-id vpc-12345678 \
  --cidr-block 10.1.0.0/16

VPC Peering: VPC 연결

VPC Peering은 두 VPC 간에 프라이빗 네트워크 연결을 설정하여 리소스가 프라이빗 IP 주소를 사용해 통신할 수 있게 합니다. 피어링된 VPC는 동일한 계정, 다른 계정 또는 서로 다른 리전(리전 간 피어링)에 있을 수 있습니다. 요구 사항: 두 VPC의 CIDR은 겹치면 안 됩니다. 제한 사항: 피어링은 전이되지 않습니다. 즉, VPC-A가 VPC-B와 피어링하고 VPC-B가 VPC-C와 피어링하더라도 VPC-A는 VPC-B를 거쳐 VPC-C와 통신할 수 없습니다. 많은 VPC에 걸쳐 완전한 메시 연결이 필요하면 대신 AWS Transit Gateway를 사용하십시오.

AWS Transit Gateway

AWS Transit Gateway (TGW)는 여러 VPC, VPN 및 Direct Connect 연결을 연결하는 중앙 네트워크 허브, 즉 클라우드 라우터 역할을 합니다. N개의 VPC로 완전한 메시를 구성하기 위해 N*(N-1)/2개의 VPC 피어링 연결을 만드는 대신, 각 VPC와 연결을 Transit Gateway에 연결하면 Transit Gateway가 그 사이의 트래픽을 라우팅합니다. TGW는 어떤 연결 대상끼리 통신할 수 있는지 제어할 수 있는 route 테이블을 지원하므로 네트워크 세분화가 가능합니다(예: 동일한 TGW에서 운영 VPC를 개발 VPC와 격리).

VPC에서 DNS 활성화

두 DNS 설정이 VPC의 이름 확인을 제어합니다. enableDnsSupport: true이면(기본값) VPC는 169.254.169.253 또는 VPC CIDR의 두 번째 IP(예: 10.0.0.0/16의 경우 10.0.0.2)에 있는 AWS 제공 DNS 확인자를 사용합니다. enableDnsHostnames: true이면(사용자 지정 VPC에서는 활성화해야 하며, 기본 VPC에서는 기본적으로 켜져 있음) VPC의 EC2 인스턴스는 ip-10-0-1-15.ec2.internal과 같은 DNS 호스트 이름을 받습니다. Route 53 Private Hosted Zones가 VPC 내에서 작동하려면 두 설정을 모두 활성화해야 합니다.

# Enable DNS support and DNS hostnames in a VPC
aws ec2 modify-vpc-attribute \
  --vpc-id vpc-12345678 \
  --enable-dns-support '{"Value": true}'
aws ec2 modify-vpc-attribute \
  --vpc-id vpc-12345678 \
  --enable-dns-hostnames '{"Value": true}'

VPC Flow Logs

VPC Flow Logs는 VPC를 통과하는 네트워크 트래픽의 메타데이터, 즉 소스 및 대상 IP, 포트, 프로토콜, 전송된 바이트 수, 트래픽의 허용 또는 거부 여부를 수집합니다. Flow Logs는 CloudWatch Logs(Logs Insights로 쿼리) 또는 S3(Athena로 분석)에 게시할 수 있습니다. 보안 포렌식(누가 무엇에 연결했는지), 트래픽 분석(대역폭 사용량이 많은 흐름 식별), 문제 해결(연결이 거부된 이유)에 매우 유용합니다. Flow Logs는 VPC, subnet 또는 개별 ENI 수준에서 작동합니다.

# Enable flow logs for a VPC, deliver to CloudWatch
aws ec2 create-flow-logs \
  --resource-type VPC \
  --resource-ids vpc-12345678 \
  --traffic-type ALL \
  --log-destination-type cloud-watch-logs \
  --log-group-name /aws/vpc/flowlogs \
  --deliver-logs-permission-arn arn:aws:iam::123456789012:role/FlowLogsRole

연결성 계획

VPC를 생성하기 전에 앞으로 필요한 모든 연결 요구 사항을 계획하십시오. 온프레미스 연결(VPN 또는 Direct Connect): VPC CIDR이 온프레미스 subnets와 겹치지 않도록 합니다. VPC 간 연결(피어링 또는 Transit Gateway): 조직의 모든 VPC에서 겹치지 않는 CIDR을 계획합니다. AWS 서비스 액세스(트래픽이 인터넷을 통과하지 않도록 S3, DynamoDB, SSM용 VPC 엔드포인트 사용), 그리고 subnet 크기 조정: EKS pod, Lambda 함수 및 Elastic Network Interfaces의 IP 주소 소비를 고려하여 각 subnet에 여유 공간을 남겨 두십시오.

빠른 확인

이 단원에서 다룬 AWS Solutions Architect (SAA-C03) 개념을 이해했는지 확인해 보십시오.

단원 요약

이 단원에서 학습한 내용은 다음과 같습니다. VPC는 리전 내에서 논리적으로 격리된 네트워크이며, CIDR 블록으로 정의한 후 이를 여러 AZ에 걸쳐 공용 및 프라이빗 subnet으로 나눕니다, AWS는 모든 subnet에서 IP 5개를 예약하므로 항상 이 감소분을 고려해 subnet 크기를 정해야 합니다, 그리고 VPC Peering과 Transit Gateway는 VPC를 프라이빗하게 연결하지만 CIDR 범위는 겹치면 안 됩니다. 다음으로 Internet Gateways와 Route Tables를 살펴보겠습니다.

자주 묻는 질문

“VPC 아키텍처 및 CIDR 블록” 강의는 무료인가요?

네 — “VPC 아키텍처 및 CIDR 블록” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.

“VPC 아키텍처 및 CIDR 블록”에서 뭘 배우나요?

적절한 CIDR 범위로 VPC를 설계하고, 가용 영역 전체에 퍼블릭 서브넷과 프라이빗 서브넷을 나눠 구성합니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“VPC 아키텍처 및 CIDR 블록” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. VPC 아키텍처 및 CIDR 블록
  2. 인터넷 게이트웨이 및 라우팅 테이블
  3. NAT 게이트웨이 및 프라이빗 서브넷
  4. 네트워크 ACL과 보안 그룹 비교
← Cloud & IT Cert Prep(으)로 돌아가기