Amazon VPC란 무엇인가요?
Amazon VPC란 무엇인가요?
클라우드에 서버를 띄우다 보면 '이 서버들이 내가 정의한 네트워크 안에서 통신하면 좋겠다'는 생각이 들 때가 있어요. Amazon VPC(Amazon Virtual Private Cloud)는 바로 그 요구를 위한 서비스예요. AWS 리소스를 논리적으로 격리된 가상 네트워크 안에서 실행할 수 있게 해주는데, 이 가상 네트워크는 여러분이 데이터센터에서 운영하던 전통적인 네트워크와 아주 흡사하면서도 AWS의 확장 가능한 인프라 위에서 동작해요. 전형적인 구성은 리전 안의 각 가용 영역(AZ)에 서브넷이 하나씩 있고, 서브넷마다 EC2 인스턴스가 있으며, 인터넷 게이트웨이가 VPC와 인터넷을 연결하는 모습이에요.
VPC를 구성하는 기능
애플리케이션이 필요로 하는 연결성을 제공하기 위해 VPC는 다음 요소들로 구성돼요.
- 가상 프라이빗 클라우드(VPC) — 데이터센터의 전통적인 네트워크를 닮은 가상 네트워크예요. VPC를 만든 뒤 서브넷을 추가할 수 있어요.
- 서브넷(Subnets) — VPC 안의 IP 주소 범위예요. 서브넷 하나는 반드시 하나의 가용 영역 안에 있어야 하고, 서브넷을 추가한 뒤 그 안에 AWS 리소스를 배포할 수 있어요.
- IP 주소 지정(IP addressing) — VPC와 서브넷에 IPv4와 IPv6를 모두 할당할 수 있어요. 공인 IPv4와 IPv6 GUA 주소를 AWS로 가져와 EC2 인스턴스, NAT 게이트웨이, Network Load Balancer 등에 할당할 수도 있어요.
- 라우팅(Routing) — 라우트 테이블(route table)로 서브넷이나 게이트웨이에서 나가는 네트워크 트래픽의 방향을 결정해요.
- 게이트웨이와 엔드포인트(Gateways and endpoints) — 게이트웨이는 VPC를 다른 네트워크에 연결해요. 예를 들어 인터넷 게이트웨이로 VPC를 인터넷에, VPC 엔드포인트로 인터넷 게이트웨이나 NAT 장치 없이 AWS 서비스에 프라이빗하게 연결할 수 있어요.
- 피어링 연결(Peering connections) — 두 VPC 사이의 리소스 트래픽을 라우팅하는 VPC peering 연결이에요.
- 트래픽 미러링(Traffic Mirroring) — 네트워크 인터페이스의 트래픽을 복사해 심층 패킷 검사를 위한 보안·모니터링 장비로 보내요.
- 트랜짓 게이트웨이(Transit gateways) — 중앙 허브 역할을 하며 VPC, VPN 연결, Direct Connect 연결 사이의 트래픽을 라우팅해요.
- VPC Flow Logs — VPC 안 네트워크 인터페이스로 들어오고 나가는 IP 트래픽 정보를 캡처해요.
- VPN 연결 — Site-to-Site VPN으로 VPC를 온프레미스 네트워크에 연결할 수 있어요.
VPC 시작하기
AWS 계정에는 각 리전마다 **기본 VPC(default VPC)**가 자동으로 포함돼 있어요. 기본 VPC는 EC2 인스턴스를 즉시 시작하고 연결할 수 있도록 미리 구성되어 있어서, 별도 설정 없이 바로 쓰기 좋아요. 여기에 서브넷·IP·게이트웨이·라우팅을 원하는 대로 갖춘 별도의 VPC를 추가로 만들 수도 있어요.
VPC를 다루는 인터페이스
- AWS Management Console — 웹 인터페이스로 VPC에 접근할 수 있어요.
- AWS CLI — Windows·Mac·Linux에서 Amazon VPC를 포함한 광범위한 AWS 서비스를 명령줄로 다룰 수 있어요.
- AWS SDK — 언어별 API를 제공하며, 서명 계산·요청 재시도·오류 처리를 대신 처리해줘요.
- Query API — HTTPS 요청으로 호출하는 저수준 API 액션으로, VPC에 가장 직접적으로 접근하지만 서명 해시 생성과 오류 처리 같은 저수준 세부를 애플리케이션이 직접 다뤄야 해요.
VPC 요금
VPC 자체는 추가 비용이 없어요. 다만 NAT 게이트웨이, IP Address Manager, 트래픽 미러링, Reachability Analyzer, Network Access Analyzer 같은 일부 VPC 구성 요소는 요금이 부과돼요. VPC 안에서 실행하는 대부분의 리소스는 IP 주소를 제공받는데, 대부분 사설 IPv4 주소를 쓰고, 인터넷에 직접 접근해야 하는 리소스만 공인 IPv4 주소를 써요.
공인 IPv4 주소는 인터넷에서 라우팅 가능한 주소로, 리소스가 인터넷에서 직접 도달할 수 있으려면 필요해요. 프리 티어 고객은 EC2 서비스에서 공인 IPv4 주소 사용량을 매달 750시간까지 무료로 제공받아요. RFC 1918 기준의 사설 IPv4 주소는 과금되지 않아요.
공인 IPv4 주소의 유형은 이렇게 나뉘어요.
- 탄력적 IP(EIP) — Amazon이 제공하는 고정 공인 IPv4 주소로, EC2 인스턴스·탄력적 네트워크 인터페이스·AWS 리소스에 연결할 수 있어요.
- EC2 공인 IPv4 주소 — 기본 서브넷이거나 공인 IPv4를 자동 할당하도록 구성된 서브넷에 인스턴스를 띄우면 Amazon이 할당해주는 주소예요.
- BYOIPv4 주소 — BYOIP(Bring your own IP addresses)로 AWS에 가져온 IPv4 범위의 공인 주소예요.
- 서비스 관리 IPv4 주소 — AWS 리소스에 자동으로 프로비저닝되고 AWS 서비스가 관리하는 공인 IPv4 주소예요. 예를 들어 Amazon ECS, Amazon RDS, Amazon WorkSpaces의 공인 IPv4 주소가 여기에 해당해요.