Internet gateway
IGW와 egress-only IGW
IGW는 VPC당 하나씩 붙는 수평 확장형 게이트웨이로, 공인 IPv4에 대해 1:1 NAT를 수행합니다. egress-only IGW는 IPv6 아웃바운드만 허용하고 인바운드 연결 시작은 막습니다.
Amazon Virtual Private Cloud · 격리된 가상 네트워크
Amazon VPC는 AWS 안에서 논리적으로 격리된 가상 네트워크입니다. CIDR 블록을 정하고, 가용 영역마다 서브넷을 나누고, 라우팅 테이블과 게이트웨이로 트래픽이 갈 길을 정합니다. 다른 모든 AWS 네트워킹 서비스가 이 위에서 동작합니다.
vpc 10.0.0.0/162001:db8:1234:1a00::/56서브넷은 한 가용 영역에 속합니다. 같은 역할의 서브넷을 AZ마다 두고, 라우팅 테이블로 계층을 구분합니다.
IPv4 CIDR 블록 크기 (IPv6는 /44 – /60, 기본 /56)
서브넷마다 AWS가 예약하는 IPv4 주소
NAT 게이트웨이 자동 확장 대역폭
VPC · 서브넷 · 라우팅 테이블 자체 요금
Why Amazon VPC
EC2, RDS, EKS, Lambda의 VPC 연결까지 사설 네트워크가 필요한 리소스는 모두 VPC 안의 서브넷에 ENI를 둡니다. 주소 체계, 경로, 접근 통제를 처음 한 번 잘 설계하면 이후의 하이브리드 연결과 멀티 VPC 확장이 쉬워집니다.
VPC는 한 리전에 속하고 다른 VPC와 기본적으로 분리됩니다. 온프레미스와 겹치지 않는 사설 대역을 직접 정합니다.
서브넷마다 연결된 라우팅 테이블이 IGW, NAT, 엔드포인트, 피어링, TGW 중 어디로 보낼지 정합니다.
ENI에는 stateful 보안 그룹, 서브넷 경계에는 stateless 네트워크 ACL을 겁니다. 계정 전체는 Block Public Access로 막습니다.
Route tables
"퍼블릭 서브넷"이라는 설정값은 따로 없습니다. 기본 경로가 인터넷 게이트웨이를 가리키면 퍼블릭, NAT 게이트웨이를 가리키거나 아예 없으면 프라이빗입니다. 아래는 앱 계층 프라이빗 서브넷의 라우팅 테이블 예시입니다.
subnet-app-a 10.0.16.0/20목적지가 여러 경로에 맞으면 가장 구체적인 프리픽스가 이깁니다. local 경로는 지울 수 없습니다.
VPC CIDR 전체에 대한 local 경로가 모든 라우팅 테이블에 자동으로 들어갑니다. 서브넷 사이 통신을 막으려면 라우팅이 아니라 보안 그룹이나 NACL을 씁니다.
IGW는 공인 IP가 있는 리소스의 양방향 통신을, NAT 게이트웨이는 프라이빗 리소스의 아웃바운드 IPv4만 처리합니다. IPv6 아웃바운드 전용은 egress-only IGW입니다.
게이트웨이 엔드포인트는 prefix list 경로로, 피어링과 Transit Gateway는 CIDR 경로로 붙습니다. 인터페이스 엔드포인트는 경로가 아니라 DNS와 ENI로 연결됩니다.
설계 포인트: 라우팅 테이블은 AZ 단위로 나누는 것이 기본입니다. 각 AZ의 프라이빗 서브넷이 같은 AZ의 NAT 게이트웨이를 가리켜야 한 AZ 장애가 다른 AZ의 인터넷 출구를 끊지 않습니다.
Features
Internet gateway
IGW는 VPC당 하나씩 붙는 수평 확장형 게이트웨이로, 공인 IPv4에 대해 1:1 NAT를 수행합니다. egress-only IGW는 IPv6 아웃바운드만 허용하고 인바운드 연결 시작은 막습니다.
NAT gateway
5 Gbps에서 시작해 100 Gbps까지 자동 확장하고, IPv4 주소를 최대 8개(주소당 목적지별 동시 연결 55,000개) 붙입니다. 퍼블릭 · 프라이빗 유형이 있고 NAT64도 지원합니다. regional 모드는 퍼블릭 서브넷 없이 VPC 단위로 만들고, 워크로드가 있는 AZ로 자동 확장되며 AZ당 IP를 최대 32개까지 씁니다. 프라이빗 NAT는 zonal 모드에서만 됩니다.
VPC peering
두 VPC를 사설 IP로 1:1 연결합니다. 계정과 리전을 넘을 수 있지만 전이 라우팅은 안 되고 CIDR이 겹치면 연결할 수 없습니다. 많은 VPC를 엮을 때는 Transit Gateway를 씁니다.
VPC endpoints
S3와 DynamoDB는 무료 게이트웨이 엔드포인트로, 그 밖의 AWS 서비스와 SaaS는 PrivateLink 기반 인터페이스 엔드포인트로 인터넷을 거치지 않고 접근합니다.
IPAM
조직 전체 IP 대역을 풀로 나눠 계정과 리전에 할당하고, 겹침과 사용률을 모니터링합니다. BYOIP, Amazon 제공 연속 IPv6 블록, Public IP Insights를 함께 다룹니다.
Block Public Access
리전 단위로 IGW · EIGW 경로를 권한 있게 차단합니다. bidirectional 모드는 양방향을, ingress-only 모드는 인바운드만 막고 NAT · EIGW 아웃바운드는 허용합니다. 필요한 VPC나 서브넷만 exclusion으로 뺍니다.
Encryption Controls
VPC 안과 VPC 간 트래픽의 전송 중 암호화 상태를 모니터링하고 강제합니다. monitor 모드에서 Flow Logs의 encryption-status로 평문 흐름을 찾고, enforce 모드에서는 암호화를 지원하지 않는 리소스 생성을 막습니다. IGW, NAT 등 정해진 리소스만 exclusion으로 둡니다.
Route Server
VPC 안의 방화벽 · 라우터 어플라이언스와 BGP(BFD 선택)로 피어링해, 최적 경로를 서브넷 · IGW 라우팅 테이블에 동적으로 넣습니다. 어플라이언스 장애 시 스크립트 없이 경로가 페일오버됩니다.
VPC sharing
AWS RAM으로 서브넷을 조직 내 다른 계정과 공유해 한 VPC를 여러 계정이 씁니다. 보안 그룹은 VPC associations로 같은 계정 · 리전의 다른 VPC에 연결하거나 공유 VPC 참여 계정과 공유합니다.
Security groups vs NACLs
두 필터는 서로 대체재가 아니라 겹쳐 쓰는 층입니다. 세밀한 허용 정책은 보안 그룹으로, 서브넷 경계의 거친 차단은 네트워크 ACL로 나눕니다.
| 항목 | Security group | Network ACL |
|---|---|---|
| 적용 위치 | ENI(인스턴스, 엔드포인트, 로드 밸런서 등) | 서브넷. 서브넷 안의 모든 리소스에 적용 |
| 상태 | stateful. 허용된 요청의 응답은 규칙과 무관하게 통과 | stateless. 응답 트래픽(ephemeral 포트)도 규칙으로 명시해야 함 |
| 규칙 종류 | allow만 가능 | allow와 deny 모두 가능 |
| 평가 방식 | 모든 규칙을 함께 평가해 하나라도 맞으면 허용 | 규칙 번호가 낮은 것부터 평가해 처음 맞는 규칙 적용 |
| 참조 대상 | CIDR, prefix list, 다른 보안 그룹 | CIDR |
| 재사용 범위 | 기본은 만든 VPC 안. VPC associations로 같은 리전의 다른 VPC에도 연결 가능 | 한 VPC 안의 서브넷에만 연결 |
| 기본 동작 | 새 보안 그룹은 인바운드 없음, 아웃바운드 전체 허용 | 기본 NACL은 전체 허용, 새로 만든 NACL은 규칙을 넣기 전까지 전체 거부 |
| 주 용도 | 워크로드 간 최소 권한 통신. 계층 간 허용을 SG 참조로 표현 | 특정 대역 차단, 서브넷 계층 간 가드레일 |
설계 포인트: 보안 그룹 참조(예: App SG → DB SG 5432 허용)를 쓰면 IP가 바뀌어도 정책이 유지됩니다. NACL을 좁게 걸 때는 응답용 ephemeral 포트 범위를 빠뜨리지 않도록 주의하세요.
Reference architecture
계층마다 AZ별 서브넷을 하나씩 두고, 각 AZ의 앱 서브넷은 같은 AZ의 NAT 게이트웨이로 나갑니다. S3는 게이트웨이 엔드포인트로, 다른 AWS 서비스 API는 인터페이스 엔드포인트로 사설 경로를 탑니다.
좁은 화면에서는 다이어그램을 좌우로 밀어서 보세요.
Getting started
온프레미스, 다른 VPC와 겹치지 않는 CIDR을 정합니다. 여러 계정 · 리전이면 IPAM 풀에서 할당합니다.
2개 이상 AZ에 계층별 서브넷을 만듭니다. 콘솔의 "VPC and more"로 한 번에 만들 수 있습니다.
IGW, AZ별 NAT 게이트웨이(또는 regional NAT)를 만들고 서브넷마다 라우팅 테이블을 연결합니다.
보안 그룹을 계층별로 나누고, S3 게이트웨이 엔드포인트와 필요한 인터페이스 엔드포인트를 추가합니다.
Block Public Access로 의도치 않은 인터넷 노출을 막고, Flow Logs와 Reachability Analyzer로 경로를 확인합니다.
Pricing
VPC, 서브넷, 라우팅 테이블, IGW, 보안 그룹, NACL 자체에는 요금이 없습니다. 비용은 NAT 게이트웨이, 공인 IPv4 주소, 엔드포인트, IPAM, Encryption Controls 같은 구성 요소와 데이터 전송에서 생깁니다.
| 과금 항목 | 과금 기준 | 참고 |
|---|---|---|
| NAT gateway | NAT 게이트웨이 시간 + 처리한 GB (regional 모드는 확장된 AZ마다 시간 과금) | 부분 시간은 1시간으로 계산합니다. 출발지 · 목적지와 무관하게 처리 요금이 붙고, 표준 데이터 전송 요금은 별도입니다. S3 · DynamoDB 트래픽은 게이트웨이 엔드포인트로 돌리면 처리 요금을 줄일 수 있습니다. |
| 공인 IPv4 주소 | 주소당 시간 | EC2 자동 할당 공인 IP, Elastic IP(사용 중 · 유휴 모두), 관리형 서비스가 만든 공인 IP가 포함됩니다. 사설 IPv4와 BYOIP 주소는 과금하지 않습니다. EC2 프리 티어에는 공인 IPv4 750시간이 포함됩니다. |
| IPAM | Free tier 무료 · Advanced tier는 관리 대상 활성 IP 수 × 시간 | Free tier는 단일 리전 · 단일 계정 범위로 BYOIP, Public IP Insights, 사설 IPv6 관리 등을 제공합니다. 사설 IPv4 관리, 계정 간 풀 공유, IP 이력 감사는 Advanced tier에서 씁니다. ENI에 붙지 않은 IP는 과금하지 않습니다. |
| Encryption Controls | monitor · enforce 모드인 비어 있지 않은 VPC당 시간 | Encryption Support를 켠 Transit Gateway에 연결된 VPC는 Encryption Controls를 켜지 않아도 과금됩니다(VPC당 시간 1회). |
| VPC endpoints | 게이트웨이 엔드포인트 무료 · 인터페이스 엔드포인트는 AZ별 시간 + 처리 GB | 인터페이스 엔드포인트 요금은 AWS PrivateLink 요금으로 청구됩니다. |
| 데이터 전송 | AZ 간, 리전 간, 인터넷 아웃바운드 GB | 같은 AZ 안의 사설 IP 통신은 무료입니다. VPC 피어링도 같은 AZ 안 전송은 무료이고, AZ 간 · 리전 간 전송에는 요금이 붙습니다. |
| 네트워크 분석 | Reachability Analyzer 분석 횟수 · Network Access Analyzer 분석한 EC2 인스턴스 ENI 수 · Traffic Mirroring 세션 ENI 시간 | Flow Logs는 CloudWatch Logs, S3, Data Firehose 쪽 수집 · 저장 요금으로 청구됩니다. |
요금 단가는 리전과 사용량에 따라 다릅니다. 최신 단가는 Amazon VPC 요금 페이지에서 확인하세요.
Next step
사용할 리전과 AZ 수, 온프레미스 대역, 인터넷 노출 범위, 연결할 VPC 목록을 정리해 오시면 CIDR 계획과 서브넷 · 라우팅 구성을 함께 검토합니다.