Post

VPC (Virtual Private Cloud)

AWS에서 격리된 가상 네트워크 공간을 구성하고 제어하는 핵심 서비스

개념 설명:

A VPC is a virtual network that closely resembles a traditional network that you’d operate in your own data center. After you create a VPC, you can add subnets.
공식문서 VPC는 자체 데이터 센터에서 운영하는 기존 네트워크와 아주 유사한 가상 네트워크.

  • 비슷한 개념과 비교:
    • vs Traditional On-premise Network: AWS에서 제공하는 완전한 가상 네트워크
    • vs Docker Network: 컨테이너 수준의 네트워킹 vs 클라우드 인프라 수준
  • 사용이 적합한 환경:
    • 퍼블릭/프라이빗 서브넷 분리가 필요한 MSA 구조
    • 보안 제어가 중요한 환경 (e.g., 금융/의료)
    • 온프레미스-클라우드 간 하이브리드 연동 환경
  • 사용 방법:

VPC 생성 기본 절차

  1. 리전 선택 및 VPC의 CIDR 블록 설정 (예: 172.31.0.0/16)
  2. IGW(Internet Gateway) 생성 및 VPC에 연결
  3. Subnet 설정 (AZ 기준으로 퍼블릭/프라이빗 서브넷 구성)
  4. Route Table 생성 및 서브넷에 연결
  5. 보안 제어 설정: NACL + Security Group
  6. 필요시 NAT Gateway 설정 (Private Subnet 인터넷 액세스용)

핵심 컴포넌트 설명

  • CIDR 블록:
    • RFC 1918의 사설 IP 대역 사용 권장
    • 예: 10.0.0.0/16, 172.31.0.0/16
    • 생성 후 변경 불가 → 향후 확장/연동 고려 필요
  • 인터넷 연결 조건:
    1. EC2 인스턴스에 공인 IP 할당 (자동 또는 Elastic IP)
    2. IGW와 VPC 연결
    3. IGW로의 라우팅 설정 (0.0.0.0/0)
    4. NACL 허용 규칙
    5. SG 허용 규칙
  • Elastic IP (EIP):
    • 고정 공인 IP 주소, 리전당 기본 5개
    • Amazon EIP Pool 또는 BYOIP 가능
    • CLI 또는 SDK로 관리 (콘솔에서 일부 제약)
  • NAT Gateway:
    • 프라이빗 서브넷 인스턴스가 인터넷에 접근하도록 중개
    • 퍼블릭 서브넷에 위치하고 IGW와 연결됨
  • 보안 제어 요소:
    • NACL: Stateless, Subnet 수준 방화벽, Allow/Deny, 순서 있음
    • SG: Stateful, 리소스 수준 방화벽, Allow만, 순서 없음

예시 커맨드

1
2
3
aws ec2 create-vpc --cidr-block 172.31.0.0/16 --region ap-northeast-2
aws ec2 create-internet-gateway
aws ec2 attach-internet-gateway --vpc-id vpc-xxxxx --internet-gateway-id igw-xxxxx

실무 예시: VPC 구조

  • VPC CIDR: 10.20.0.0/16
  • Public Subnet: 10.20.1.0/24, NAT G/W + IGW 구성
  • Private Subnet: 10.20.2.0/24, EC2 운영
  • NAT G/W 및 EIP 할당: aws ec2 allocate-address
  • 도메인 설정: api.enginrect.com → LB → EC2

VPC Peering

  • 서로 다른 VPC 간 안전한 통신 가능
  • CIDR 충돌 없어야 함
  • Peering 연결 후 Route Table 업데이트 필요

공식문서 링크:

What is Amazon VPC?
VPC Peering Guide
NAT Gateway Docs

This post is licensed under CC BY 4.0 by the author.