Amazon Virtual Private Cloud를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있다.
이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점 있고, 기존 네트워크와 매우 유사하다.
VPC 특징
- 계정 생성 시 default로 VPC를 만들어 줌.
- EC2, RDS, S3 등 서비스 활용 가능
- 서브넷 구성
- 보안 설정
- VPC Peering(VPC 간 연결)
- IP 대역 지정 가능
- VPC는 하나의 Region에만 속할 수 있다. 다른 리전으로 확장 불가능하다.
VPC 구성 요소
- Availability Zone
- Subnet(CIDR)
- Internet Gateway
- Network Acess Control List/security group
- Route Table
- NAT(Network Address Translation) instance/NAT gateway
- VPC endpoint
Availability Zone
각 리전 안에 AZ(Availiability Zone)가 포함된다.
AZ란? 데이터 센터를 분산하는 것이다. 서울 데이터 센터가 날라가더라도 대비하기 위해 다른 곳에도 여러 데이터 센터를 세우는데, 이것을 AZ라고 한다.
- 물리적으로 분리되어 있는 인프라가 모여 있는 데이터 센터
- 각 AZ는 일정 거리 이상 떨어져 있다.
- 하나의 리전은 2개 이상의 AZ로 구성된다.
- 각 계정의 AZ는 다른 계정의 AZ와 다른 아이디를 부여 받음.
사용자1이 AZ A로 설정하고 사용자2가 AZ A라고 설정했다고 해서 실제로 같은 위치인 건 아님. 한쪽으로 쏠릴 수 있기 때문에 내부적으로 어느 데이터 센터에 저장할지 결정한다고 함.
Subnet
- VPC의 하위 단위(sub-network)
- 하나의 AZ에서만 생성 가능
- 하나의 AZ에는 여러 개의 subnet 생성 가능
Private Subnet
인터넷에 접근 불가능하다. VPC 내부에서만 네트워킹 할 수 있는 서브넷을 뜻한다.
Public Subnet
외부 네트워크와 접근 가능하다.
CIDR 블록을 통해 Subnet 구분
- CIDR: 하나의 VPC내에 있는 여러 IP 주소를 각각의 Subnet으로 분리/분배하는 방법
- 서브넷 1: 211.11.1234.0/26 (211.11.124.0~211.11.124.63)
- 서브넷 2: 211.11.1234.64/26 (211.11.124.64~211.11.124.127)
- 서브넷 3: 211.11.1234.128/26 (211.11.124.128~211.11.124.191)
- 서브넷 4: 211.11.1234.192/26 (211.11.124.192~211.11.124.255)
지금까지 배운 걸 종합
리전 안에 VPC가 있고
VPC 내부에는 최소 2개 이상 Availiability Zone 존재한다.
Subnet은 오직 하나의 AZ에만 설정할 수 있다.
하나의 AZ 안에 여러 개의 서브넷을 설정할 수도 있다.
또한 서브넷에는 private과 public 두 종류가 있다.
private VPC 내부 객체들 사이 소통만 가능하다.
public은 외부와 네트워킹이 가능하다.
Internet gateway(IGW)
- 인터넷으로 나가는 통로
- Private subnet은 IGW로 연결되어 있지 않다.
Route table
- 트래픽이 어디로 가야 할 지 알려주는 테이블
- VPC 생성 시 자동으로 만들어진다
- 10.0.0.0/16(10.0.0.0 ~ 10.0.255.255까지) → Local
- 나머지는 IGW(인터넷)
NACL(Network Access Control List)/Security Group
- 보안 검문소
- NACL → Sateless, SG → Sateful
- Access Block은 NACL에서만 가능
- 특정 IP 대역에서 오는 트래픽을 블락할 수 있음.
- Security Group은 서브넷 내에 포함되어 있음
종합하면 아래와 같은 그림이 나옴.