VPC란
VPC(Virtual Private Cloud)를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있다.
이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사하다.
VPC의 특징
•
계정 생성 시 default로 VPC를 만들어 줌
•
EC2, RDS, S3 등의 서비스 활용 가능
•
서브넷 구성
•
보안 설정 (IP block, inbound outbound 설정)
•
VPC Peering(VPC 간의 연결)
•
IP 대역 지정 가능
•
VPC는 하나의 Region에만 속할 수 있음(다른 Region으로 확장 불가능)
VPC의 구성요소
Availability Zone (AZ, 국가별 데이터 센터)
•
일정 거리 이상 떨어져있음. 1개의 리전은 2개 이상의 AZ로 구성됨.
Subnet(CIDR)
•
VPC의 하위 단위. 하나의 AZ에서만 생성 가능. 하나의 AZ에는 여러개의 subnet 생성 가능.
•
CIDR 블록을 통해 Subnet을 구분.
•
CIDR : 하나의 VPC 내에 있는 여러 IP 주소를 각각의 Subnet으로 분리/분배하는 방법.
Internet Gateway(IGW)
•
인터넷으로 나가는 통로
Network Access Control List(NACL)/security group
•
보안 검문소. NACL - Stateless, SG - Stateful
Route Table
•
트래픽이 어디로 가야 할지 알려주는 테이블. VPC 생성 시 자동으로 만들어줌.
•
정의된 대역폭 내의 IP는 Local에서 처리가능. 나머지는 모두 IGW로 보냄.
NAT(Network Address Translation) instance/NAT gateway
•
Private Subnet에서 Public Subnet으로 우회하여 IGW를 활용하는 방법.
•
Private Subnet → Route Table → Router → Public Subnet → Router → IGW 순서로 돌아감.
•
NAT Instance는 단일 Instance(EC2). NAT Gateway는 aws에서 제공하는 서비스. NAT Instance는 Public Subnet에 있어야 함.
Bastion host
•
Private Instance에 접근하기 위한 수단.
•
Public subnet 내에 위치하는 EC2.
VPC endpoint
•
Aws의 여러 서비스들과 VPC를 연결시켜주는 중간 매개체. Aws에서 VPC 바깥으로 트래픽이 나가지 않고 aws의 여러 서비스를 사용하게끔 만들어주는 서비스.
•
Private subnet 같은 경우는 격리된 공간인데, 그 상황에서도 aws의 다양한 서비스들(S3, dynamodb, athena 등) 연결할 수 있도록 지원하는 서비스
•
Interface Endpoint : Private ip를 만들어 서비스로 연결해줌(SQS, SNS, Kinesis, Sagemaker 등 지원)
•
Gateway Endpoint : 라우팅 테이블에서 경로의 대상으로 지정하여 사용(S3, Dynamodb 지원)