AWS VPC 란?
Amazon Virual Private Cloud로 사용자가 정의할 수 있는 가상의 네트워크 리소스이다.
이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용하면서 자체 데이터 센터에서 운영하는 기존 네트워크와 유사하게 사용할 수 있습니다.
VPC의 특징
- 계정 생성 시 default VPC 생성
- 다양한 서비스에서 활용 가능
- 서브넷 구성, 보안 설정, IP 대역 지정 가능
- VPC Peering(VPC간의 연결) 지원
- VPC는 하나의 Region에만 속할 수 있음
VPC의 구성요소
- Availability Zone
물리적으로 분리되어있는 인프라가 모여 있는 데이터 센터로, 각 AZ는 일정 거리 이상 떨어져 있으며 하나의 리전은 2개 이상의 AZ로 구성
- Subnet(CIDR)
VPC의 하위 단위로(sub+network) 하나의 AZ 에서만 생성 가능하며 여러개 생성 가능
Private subnet(사설), Public subnet(공용) 으로 구분
- Internet Gateway
인터넷으로 나가는 통로, Private subnet은 연결 불가
- Route table
트래픽이 어디로 가야 할지 알려주는 테이블로 VPC 생성 시 자동으로 생성
- NACL(Network Access Control List)/Security Group
NACL -> Stateless 연결 상태 상관없이 정책에 따라서만 설정(만약 inbound 정책만 설정한다면 outbound 에 대한 정책도 설정 필요하다)
SG -> Stateful 연결 상태에 따라 설정(만약 inbound 정책만 설정하더라도 outbound 에 대한 연결도 허용)
VPC 앞단에서 Inbound, Outbound 허용/차단
NAT(Network Address Translation) instance/gateway
- Private subnet 안에 있는 private가 외부의 인터넷과 통신하기 위한 방법
- NAT Instance는 단일 Instatnce(EC2)
- NAT Gateway는 aws에서 제공하는 서비스(서비스)
- NAT Instance는 Public Subnet에 있어야 함(private subnet에서 public 통해서 통신)
Bastion host
- 외부에서 Private Instance에 접근하기 위한 수단
- NAT 와 동일하게 Public subnet에 위치함
VPC endpoint
- Aws의 여러 서비스들과 VPC를 연결시켜주는 중간 매개체
- Private subnet에서 바깥으로 트래픽이 나가지 않고 aws의 다양한 서비스를 연결할 수 있도록 지원하는 서비스
- Interface Endpoint : Private ip를 만들어 서비스로 연결해줌
- Gateway Endpoint : 라우팅 테이블에서 경로의 대상으로 지정하여 사용