VPC를 사용하면 AWS 클라우드에서 논리적으로 격리된 공간을 프로비저닝 하여 고객이 정의하는 가상 네트워크에서 AWS 리소스를 시작할 수 있습니다.
IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등, 가상 네트워킹 환격을 완벽하게 제어할 수 있습니다.
VPC에서 IPv4와 IPv6를 모두 사용하여 리소스와 애플리케이션에 안전하고 쉽게 액세스 할 수 있습니다.
VPC = 가상 네트워크 센터, 네트워크 관리자
- 계정 생성시 자동으로 셋업 되어 있음
- EC2를 만들었다고 가정했을 때, 자동으로 default VPC 환경으로 세팅해줌 (default VPC)
- tasks
- EC2 실행 가능
- 서브넷 구성 가능
- 보안 설정 (ip block, 인터넷에 노출되지 않는 EC2 구성 등)
- VPC Peering - VPC 간에 연결
- 한 VPC는 다른 region으로 확장 불가능
- VPC 구성요소
- Availability Zone
- Region → availability zone
- 물리적으로 분리되어 있는 인프라가 모여 있는 데이터 센터
- 고가용성을 위해서 항상 일정거리 이상 떨어져 있음
- 하나의 리젼은 2개 이상의 AZ로 이루어져 있음
- 각 계정의 AZ는 다른 계정의 AZ와 다른 아이디를 부여 받음
- 계정1의 AZ-A 는 계정2의 AZ-A와 다름
- subnet
- 하나의 서브넷은 하나의 AZ에 종속됨
- 하나의 AZ에 여러 subnet 생성 가능
- private subnet = 인터넷에 접근 불가능한 subnet
- public subnet = 인터넷에 접근 가능한 subnet
- CIDR block range 설정 가능
- internet gateway
- 인터넷으로 나가는 통로
- IGW로 연결되어 있지 않은 서브넷 = private subnet
- route table에서 연결해줘야 함
- network access control list / security group
- NACL = Stateless, SG = Stateful
- NACL은 VPC 세팅에 필수. (SG도)
- NACL은 AZ로 가기 전에 마지막 보안 검문소
- security group은 subnet안에서 활동함
- route table
- ip routing
- 트래픽이 어디로 가야 할지 알려주는 이정표
- 기본적으로 VPC 생성시 만들어줌
- network address translation instance / NAT gateway
- private instance가 외부의 인터넷과 통신하기 위한 통로
- NAT Instance는 단일 Instance / NAT Gateway는 AWS에서 제공하는 서비스
- NAT Instance를 사용할 때 source / destination check를 해제해야함
- NAT Instance는 public subnet에 있어야 함
- bastion host
- private instance에 접근하기 위한 instance
- public subnet에 위치해야 함
- VPC endpoint
- 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 필요로 하지 않고 AWS PrivateLink 구동 지원 AWS 서비스 및 VPC 엔드포인트 서비스에 비공개로 연결할 수 있게 해줌
- VPC의 인스턴스는 서비스의 리소스와 통신하는데 퍼블릭 IP 주소를 필요로 하지 않고 VPC와 기타 서비스 간의 트래픽은 Amazon 네트워크를 벗어나지 않음