AWS VPC(Virtual Private Cloud)는 AWS 환경에서 사용자가 직접 네트워크를 구성할 수 있도록 하는 가상 네트워크 서비스입니다. 온프레미스 네트워크를 클라우드에서 구축하는 개념과 유사하며, IP 주소 범위, 서브넷, 라우팅 테이블, 보안 그룹 등을 직접 설정할 수 있습니다.
1.1 VPC 주요 개념
CIDR 블록: VPC의 IP 주소 범위를 지정 (예: 10.0.0.0/16)
서브넷: 퍼블릭 서브넷(인터넷 연결 가능)과 프라이빗 서브넷(인터넷 연결 불가)
인터넷 게이트웨이(IGW): 퍼블릭 서브넷에서 인터넷과 연결할 때 필요
라우팅 테이블: 네트워크 트래픽의 경로를 결정
NAT 게이트웨이: 프라이빗 서브넷이 인터넷에 나갈 수 있도록 설정
보안 그룹 & 네트워크 ACL: 인스턴스 및 서브넷 단위에서 네트워크 보안을 제어
2.1 AWS 콘솔을 이용한 설정
VPC 생성
AWS 콘솔 → "VPC" 서비스 이동 → "VPC 생성" 클릭
CIDR 블록 입력 (예: 10.0.0.0/16)
서브넷 생성
퍼블릭 서브넷: 10.0.1.0/24
프라이빗 서브넷: 10.0.2.0/24
인터넷 게이트웨이 생성 및 연결
인터넷 게이트웨이(IGW) 생성 → VPC에 연결
라우팅 테이블 설정
퍼블릭 서브넷: 0.0.0.0/0 → 인터넷 게이트웨이 연결
프라이빗 서브넷: 0.0.0.0/0 → NAT 게이트웨이 연결 (필요 시)
보안 그룹 및 네트워크 ACL 설정
SSH, HTTP, HTTPS 트래픽 허용 등 원하는 규칙 추가
2.2 AWS CLI를 이용한 설정
AWS CLI를 사용하면 VPC 설정을 자동화할 수 있습니다.
#1. VPC 생성
aws ec2 create-vpc --cidr-block 10.0.0.0/16
#2. 서브넷 생성
aws ec2 create-subnet --vpc-id vpc-xxxxxxx --cidr-block 10.0.1.0/24
#3. 인터넷 게이트웨이 생성 및 연결
aws ec2 create-internet-gateway
aws ec2 attach-internet-gateway --vpc-id vpc-xxxxxxx --internet-gateway-id igw-xxxxxxx
#4. 라우팅 테이블 설정
aws ec2 create-route-table --vpc-id vpc-xxxxxxx
aws ec2 create-route --route-table-id rtb-xxxxxxx --destination-cidr-block 0.0.0.0/0 --gateway-id igw-xxxxxxx
VPC는 다양한 아키텍처에서 활용될 수 있습니다.
웹 애플리케이션 호스팅
퍼블릭 서브넷 → 웹 서버 (EC2)
프라이빗 서브넷 → 데이터베이스 (RDS)
하이브리드 클라우드 구성
온프레미스 네트워크와 AWS를 VPN 또는 Direct Connect로 연결
멀티 계층 네트워크 아키텍처
퍼블릭/프라이빗 서브넷을 활용하여 보안 강화
AWS VPC는 클라우드 환경에서 보안과 네트워크를 자유롭게 설계할 수 있는 핵심 서비스입니다.