VPC(Virtual Private Cloud)
논리적으로 격리된 가상 네트워크에서 AWS 리소스를 할당할 수 있는 공간
→ AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사
간단히 말하면, Private 데이터 센터 생성!
Client가 Internet을 통해서 들어오는 공간 = VPC
VPC에서는 CIDR을 기준으로 네트워크 영역을 나누고 있습니다.
CIDR
- CIDR은 IP 주소를 할당하고 IP 라우팅을 하는 방법입니다. 클래스 A, B, C 기반의 이전 시스템을 대체합니다.
- CIDR은 가변 길이 서브넷 마스킹(VLSM)을 사용하여 IP 주소를 보다 효율적으로 할당할 수 있게 합니다.
허용된 블록 크기
/16 (IP 주소 65,536개) ~/28 (IP 주소 16개)입니다
또한, IPv4 주소는 RFC 1918(Private IP 의 국제 규격)의 규격에 따라 지정하는 것이 좋다고 합니다.
RFC 1918에서는 Private Network의 내부 IP대역을 할당할 때 특정 대역 IP를 미리 사용하기로 약속한다.
IP 대역(접두사) CIDR
10.0.0.0/8 | 10.0.0.0 ~ 10.255.255.255(10/8 prfix) |
172.16.0.8/12 | 172.16.0.0 ~ 172.31.255.255(172.16/12 prefix) |
192.168.0.0/16 | 192.168.0.0 ~ 192.168.255.255(192.168/16 prefix) |
RFC 1918 규격을 따르지 않아도 됩니다. 하지만 지키지 않을 경우 문제가 발생할 수 있습니다.
72.1/16대역의 사설망 A에서 공인 IP(72.1.6.15)인 사설망 B에게 요청을 보낼 때 사설망 A에 (72.1.6.15)인 Private IP가 있으면 내부 IP로 판단하는 문제가 발생할 수 있습니다.
이와 같은 이유로 AWS에서는 RFC 1918규격으로 제한을 하고 있습니다.
Region
Amazon EC2는 전 세계의 여러 곳에서 호스팅되고 있습니다.
각 리전은 개별 지리 영역으로 리전과 다른 리전에서는 격리되도록 되어 있습니다.
→ 강력한 내결함성 및 안정성을 달성
AZ(가용영역, Availability Zone)
Region 내부의 가용성 영역
→ 각각의 가용 영역은 같은 리전임에도 불구하고 서로 지리적으로 멀리 떨어져있다.
→ 천재지변, 테러 등의 불가항력으로부터 대비하기 위함이다.
AWS 리전은 최소 2개 이상의 가용 영역으로 구성
각 가용 영역은 최소 1개 이상의 데이터 센터 (Internet Data Center) 로 구성
개별 데이터 센터에는 일반적으로 50,000 ~ 80,000 대의 물리적 서버가 있다고 한다.
탄력적 IP 주소를 사용하여 한 가용 영역에서 인스턴스의 장애가 발생한 경우 다른 가용 영역의 인스턴스로 주소를 신속하게 매핑함으로써 인스턴스의 장애를 마스킹할 수 있습니다.
Subnet
VPC의 IP 주소 범위입니다.
서브넷은 단일 가용 영역에 상주해야 합니다.
서브넷을 추가한 후에는 VPC에 AWS 리소스 배포할 수 있습니다.
- 퍼블릭 서브넷
- 서브넷에 인터넷 게이트웨이로 직접 연결되는 경로가 있습니다.
- 퍼블릭 서브넷의 리소스는 퍼블릭 인터넷에 액세스할 수 있습니다.
- 프라이빗 서브넷
- 서브넷에 인터넷 게이트웨이로 직접 연결되는 경로가 없습니다.
- 프라이빗 서브넷의 리소스에는 퍼블릭 인터넷에 액세스하기 위해 NAT 디바이스가 필요합니다.
- VPN 전용 서브넷
- 서브넷에 가상 프라이빗 게이트웨이를 통해 Site-to-Site VPN 연결으로 연결되는 경로가 있습니다.
- 서브넷에는 인터넷 게이트웨이에 대한 경로가 없습니다.
- 격리된 서브넷
- 서브넷에 VPC 외부 대상에 대한 경로가 없습니다.
- 격리된 서브넷의 리소스는 동일한 VPC의 다른 리소스와만 서로 액세스할 수 있습니다.
라우팅 테이블
서브넷 또는 게이트웨이의 네트워크 트래픽이 전송되는 위치를 결정하는 라우팅이라는 규칙 세트가 포함되어 있습니다.
일반적으로 트래픽은 트래픽과 일치하는 가장 구체적인 경로를 사용하여 전달됩니다.
이를 가장 긴 접두사 일치라고 합니다. 라우팅 테이블에 겹치거나 일치하는 경로가 있는 경우 추가적인 규칙이 적용됩니다.
전파 경로의 대상이 정적 경로의 대상과 동일한 경우 대상이 다음 중 하나라면 정적 경로가 우선 적용됩니다.
- 인터넷 게이트웨이
- NAT 게이트웨이
- 네트워크 인터페이스
- 인스턴스 ID
- 게이트웨이 VPC 엔드포인트
- 전송 게이트웨이
- VPC 피어링 연결
- Gateway Load Balancer 엔드포인트
인터넷 게이트웨이
수평 확장되고 가용성이 높은 중복 VPC 구성 요소로, VPC와 인터넷 간에 통신할 수 있게 해줍니다.
IPv4 통신의 경우 인터넷 게이트웨이는 Network Address Translation(NAT)도 수행합니다.
예를 들어 인터넷 게이트웨이를 사용하면 로컬 컴퓨터로 AWS의 EC2 인스턴스에 연결할 수 있습니다.
NAT 게이트웨이
NAT(네트워크 주소 변환) 서비스입니다.
프라이빗 서브넷의 인스턴스가 VPC 외부의 서비스에 연결할 수 있지만 외부 서비스에서 이러한 인스턴스와의 연결을 시작할 수 없도록 NAT 게이트웨이를 사용할 수 있습니다.
Private Subnet의 인스턴스에서 NAT Gateway을 통해서 외부로 나갈 때
- 보안 그룹 및 NACL 규칙 확인: 먼저, 트래픽이 보안 그룹(Security Group)과 네트워크 ACL(Network ACL)의 아웃바운드 규칙을 만족하는지 확인합니다.
- 라우팅 테이블: Private Subnet의 라우팅 테이블을 확인하여 NAT Gateway로의 경로가 설정되어 있는지 확인합니다.
- 라우터: 라우팅 테이블에 따라 트래픽이 라우터를 통해 NAT Gateway로 전달됩니다.
- NAT Gateway: NAT Gateway는 트래픽을 받아서 공용 IP 주소로 변환한 후 외부 인터넷으로 보냅니다.
Public(Default)
- 프라이빗 서브넷의 인스턴스는 퍼블릭 NAT 게이트웨이를 통해 인터넷에 연결할 수 있지만 인터넷에서 원치 않는 인바운드 연결을 수신할 수 없습니다.
- 퍼블릭 서브넷에서 퍼블릭 NAT 게이트웨이를 생성하고 생성 시 탄력적 IP 주소를 NAT 게이트웨이와 연결해야 합니다. 트래픽을 NAT 게이트웨이에서 VPC용 인터넷 게이트웨이로 라우팅합니다.
- 퍼블릭 NAT 게이트웨이를 사용하여 다른 VPC 또는 온프레미스 네트워크에 연결할 수 있습니다. 이 경우 NAT 게이트웨이에서 Transit Gateway 또는 가상 프라이빗 게이트웨이를 통해 트래픽을 라우팅합니다.
Private
- 프라이빗 서브넷의 인스턴스는 프라이빗 NAT 게이트웨이를 통해 다른 VPC 또는 온프레미스 네트워크에 연결할 수 있습니다.
- 트래픽을 NAT 게이트웨이에서 Transit Gateway 또는 가상 프라이빗 게이트웨이를 통해 트래픽을 라우팅할 수 있습니다.
- 프라이빗 NAT 게이트웨이를 사용하여 VPC에 인터넷 게이트웨이를 연결할 수 있지만 프라이빗 NAT 게이트웨이에서 인터넷 게이트웨이로 트래픽을 라우팅하는 경우 인터넷 게이트웨이가 트래픽을 삭제합니다.
보안 그룹
리소스에 도달하고 나갈 수 있는 트래픽을 제어합니다.
보안 그룹은 가상 방화벽의 기능을 수행합니다. 인스턴스에 연결되는 트래픽은 보안 그룹 규칙에서 허용되는 트래픽이 유일합니다.
NACL(Network Access Control List)
서브넷 수준에서 특정 인바운드 또는 아웃바운드 트래픽을 허용하거나 거부합니다.
보안 그룹에 대한 규칙과 유사한 규칙을 사용하여 VPC에 대한 사용자 지정 네트워크 ACL을 생성하여 VPC에 보안 계층을 추가할 수 있습니다.
'AWS' 카테고리의 다른 글
AWS EC2 생성(AWS-CLI) (1) | 2024.09.19 |
---|---|
AWS EC2 생성(Console) (2) | 2024.09.17 |
[AWS] 같은 이메일로 프리 티어 여러 개 만들기 (0) | 2024.08.13 |
댓글