728x90
VPC (Virtual Private Cloud) 란?
- 사용자만의 가상 사설 네트워크를 구성할 수 있게 해주는 AWS 서비스이다.
- 서비스 이용에 추가 비용이 없다.
- Security Group 에서 outboud 관련 제한 설정도 가능하다. (VPC 가 아닌 경우에는 inbound 만 설정 가능)
- VPC 내부에 여러개의 subnet 을 구성할 수 있다.
- AWS EC2 인스턴스에 사설 IP 를 직접 지정할 수 있다.
VPC 구성요소
- Network Interfaces
- 기본적으로 인스턴스마다 VPC 대역 내의 사설 IP 가 할당된 Network Interface 가 있다.
- 사용자가 ENI(Elastic Network Interface) 를 추가할 수도 있다.
- 기본 사설 IP 외에 추가적인 사설 IP 를 가질 수 있다.
- eth0 으로 이용하는 Network Interface 에는 자동 할당된 한 개의 공인 IP 를 이용할 수 있다.
- 사설 IP 하나당 Elastic IP 를 가질 수 있다.
- 하나 이상의 Security Group 을 가질 수 있다.
- MAC 주소가 있다.
- ENI 를 다른 인스턴스에 재할당할 수 있다. 이 때 ENI 에 할당된 설정들이 그대로 적용된다.
- IP Addresses
- VPC 내부에 있는 인스턴스에 사설 IP 와 공인 IP 를 할당할 수 있다.
- Primary private IP 와 Public IP 가 NAT 를 통해서 매핑되어 있다.
- 필요하다면 Secondary private IP 를 할당할 수도 있다.
- Public IP 는 고정이 아니라서 변경될 수 있기 때문에 고정 Public IP 를 사용하기 위해선 Elastic IP 를 이용해야 한다.
- Subnet
- 하나의 VPC 안에 여러개의 subnet 이 존재 가능하다.
- 하나의 subnet 은 하나의 zone 내부에만 구성 가능하다. 하나의 subnet 이 여러개의 zone 에 걸쳐서 구성될 수 없다.
- Default subnet 은 public subnet 으로, 사설 subnet 으로도 변경 가능하다.
- VPC 는 자동으로 메인 라우팅 테이블을 가지고 있고, 이 라우팅 테이블은 사용자가 변경 가능하며 추가할 수도 있다.
- 각 subnet 은 라우팅을 조절하는 Route Table 에 연결되어 있어야 한다. 따로 명시하지 않으면 메인 라우팅 테이블과 연결된다.
- 각 route 는 목적지 CIDR 과 target 을 명시해야 한다.
- Route Table
- 네트워크 트래픽을 라우트(route)하는 규칙들을 가지고 있다.
- 각 subnet 마다 route table이 있으며, 여러 subnet 이 동일한 Route Table 을 가질 수 있다.
- Internet Gateway
- VPC 가 기본 생성되었을 때는 인터넷에 연결이 안되어 있다.
- VPC에 Internet gateway 를 연결해 줘야지만 VPC 내부 인스턴스들에서 인터넷으로 접근할 수 있다.
- NAT Instances
- 사설 subnet 에 있는 인스턴스들은 인터넷에 접근할 수 없지만 사설 subnet 에서 접근할 수 있는 NAT(Network Address Translation)용 인스턴스를 Public subnet 에 만듦으로써 사설 subnet 에 있는 인스턴스들은 인터넷에 접근할 수 있다.
- [접근 방법]
사설 subnet 에 있는 인스턴스들에서 나가는 트래픽은 우선 Route Table 로 가게 되고, Route Table 은 그 트래픽들을 NAT 로 보낸다. 그러면 NAT 는 그 트래픽들을 Internet Gateway 로 보내서 외부 통신이 가능하게 된다. 인터넷에서 들어오는 트래픽은 NAT 인스턴스를 통해서 사설 subnet 으로 가게 된다.
NAT 인스턴스는 EC2 인스턴스를 생성할 때는 community AMIs 에 있는 Amazon Linux 용 AMI 중에서 NAT 와 관련된 AMI 를 이용하여 생성하면 된다. NAT 인스턴스가 만들어지면 Management console 에서 우클릭해서 [Change Source/Dest. Check] 메뉴를 클릭하여 disabled 해줘야 한다. (EC2 인스턴스는 기본적으로 source, destination 을 확인하는데, 이걸 확인하지 않도록 해서 source 나 destination 이 자기 자신이 아닌 트래픽을 주고 받을 수 있게 해주는 것)
- DHCP options set
- DHCP(Dynamic Host Configuration Protocol) 은 호스트의 IP 주소와 각종 TCP/IP 프로토콜의 기본 설정을 클라이언트에게 자동으로 제공해주는 프로토콜을 말한다.
- DHCP 메세지의 options 필드는 도메인 이름, DNS, netbios-node-type같은 파라미터들을 포함하고 있다.
- Security Group
- EC2 인스턴스에 직접 연결돼서 인바운드, 아웃바운드 트래픽을 조절할 수 있는 방화벽이다.
- allow 규칙만 설정 가능하다.
- VPC 당 100개까지만 생성할수 있고, 하나의 Security Group 에는 50개까지의 룰만 설정 가능하다.
- 인스턴스 하나에 5개까지 Security Group 을 설정할 수 있다.
- Stateful 한 방화벽이다.
- Network Access Control List (ACL)
- 서브넷에 연결되어서 인바운드/아웃바운드 트래픽을 조절할 수 있는 방화벽이다.
- allow, deny 규칙 모두 설정 가능하다.
- Stateless 한 방화벽이다. 따라서 Ephemeral port 를 직접 열어줘야 한다.
- 규칙에 대한 번호가 있어서 작은 번호부터 정해진 순서대로 규칙이 적용된다.
- 최대 32766개의 규칙순서가 있고, AWS 기본 권장은 규칙번호를 정할때 100단위로 정하는 것이다.
- Virtual Private Gateway
- AWS 에 있는 VPN 커넥션이다.
- AWS VPC 와 외부 사용자가 이용하고 있는 내부 네트워크 간의 연결에 이용한다.
- Customer Gateway
- VPN 커넥션에 사용되는 사용자측 물리적 장비나 소프트웨어이다.
- AWS VPC 와 외부 사용자가 이용하고 있는 내부 네트워크 간의 연결에 이용한다.
- Dedicated Instances
- 일반적인 EC2 인스턴스들은 다른 사용자와 하드웨어 자원을 공유하지만 VPC 안에서 dedicated 옵션을 이용하면 전용 하드웨어를 이용할 수 있다.
- VPC 에 강제로 전체 설정할 수도 있고, 필요한 EC2 인스턴스에만 지정하게 할 수도 있다.
- 몇몇 AWS 서비스에는 적용할수 없다. ex) RDS, EBS
- VPC Peering
- 2개의 VPC간에 사설 IP를 이용해서 통신가능하게하는 커넥션이다.
- 같은 region 안에 있는 다른 AWS 계정에 속한 VPC 들을 같은 네트워크에 있는 것으로 인식하게 한다.
VPC 를 구성하는 핵심 요소들
References
https://arisu1000.tistory.com/27744
728x90
'AWS' 카테고리의 다른 글
[EC2] 고정 IP 할당 - 1. EIP 이용 (0) | 2023.10.03 |
---|---|
[CloudWatch] AWS Chatbot 을 이용하여 Slack 에 메시지 전송하기 (0) | 2022.12.14 |
[API Gateway] REST API 를 Amazon S3 프록시로 생성 (0) | 2022.01.11 |
[Lambda] API Gateway + Lambda 를 이용하여 S3 에 이미지 업로드 (0) | 2021.12.20 |
[AWS] Glue vs DataPipeline vs DMS vs Kinesis (0) | 2021.12.08 |