본문 바로가기
[Cloud & Infrastructure]/[AWS]

[AWS] VPC 시작하기 (1/3)

by 코드몽규 2022. 3. 19.
반응형

VPC란

VPC: Virtual Private Cloud(가상 사설 클라우드)입니다.
Amazon Virtual Private Cloud(Amazon VPC)를 이용하면 사용자가 정의한 가상 네트워크로 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 매우 유사합니다.

출처 : AWS VPC 설명

Amazon VPC 개념

  • Virtual Private Cloud(VPC) — 사용자의 AWS 계정 전용 가상 네트워크입니다.

 

  • 서브넷 — VPC의 IP 주소 범위입니다.
  • CIDR 블록 — 클래스 없는 도메인 간 라우팅입니다. 인터넷 프로토콜 주소 할당 및 라우팅 집계 방법입니다. 자세한 내용은 Wikipedia의 Classless Inter-Domain Routing을 참조하십시오.
  • 라우팅 테이블 — 네트워크 트래픽을 전달할 위치를 결정하는 데 사용하는 라우팅이라는 이름의 규칙 집합입니다.
  • DHCP 옵션 세트(DHCP options sets): VPC 서브넷으로 시작될 때 EC2 인스턴스로 전달되는 구성 정보(예: 도메인 이름 및 도메인 이름 서버)입니다.
  • 인터넷 게이트웨이 — VPC의 리소스와 인터넷 간의 통신을 활성화하기 위해 VPC에 연결하는 게이트웨이입니다.
  • 송신 전용 인터넷 게이트웨이(Egress-only internet gateways): 서브넷의 EC2 인스턴스가 인터넷에 액세스 할 수 있도록 허용하지만 인터넷의 리소스가 인스턴스와의 통신을 시작하지 못하도록 하는 인터넷 게이트웨이 유형입니다.
  • VPC 엔드포인트 - 인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결을 필요로 하지 않고 PrivateLink 구동 지원 AWS 서비스 및 VPC 엔드포인트 서비스에 VPC를 비공개로 연결할 수 있습니다. VPC의 인스턴스는 서비스의 리소스와 통신하는 데 퍼블릭 IP 주소를 필요로 하지 않습니다.
  • NAT 게이트웨이(NAT gateway): 프라이빗 서브넷의 EC2 인스턴스가 인터넷, 다른 VPC 또는 온프레미스 네트워크에 연결되도록 허용하는 관리형 AWS 서비스입니다.
  • NAT 인스턴스(NAT instance): 프라이빗 서브넷의 인스턴스가 인터넷, 다른 VPC 또는 온프레미스 네트워크에 연결되도록 허용하는 퍼블릭 서브넷의 EC2 인스턴스입니다.
  • 통신 사업자 게이트웨이(Carrier gateways): Wavelength Zone의 서브넷의 경우 이 유형의 게이트웨이는 특정 위치에 있는 통신 사업자 네트워크에서의 인바운드 트래픽과 통신 사업자 네트워크 및 인터넷으로의 아웃바운드 트래픽을 허용합니다.
  • 접두사 목록(Prefix lists): VPC 보안 그룹, VPC 라우팅 테이블 및 AWS Transit Gateway 라우팅 테이블을 구성하는 데 사용할 수 있으며, RAM(Resource Access Manager)을 사용하여 다른 AWS 계정과 공유될 수 있는 CIDR 블록 모음입니다.
  • 보안 그룹: EC2 인스턴스 등의 AWS 리소스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다. 각 VPC는 기본 보안 그룹과 함께 제공되며 추가 보안 그룹을 생성할 수 있습니다. 보안 그룹은 보안 그룹이 생성된 VPC에서만 사용할 수 있습니다.
  • 네트워크 ACL(Network ACLs): 서브넷에서 들어오고 나가는 트래픽을 제어하기 위해 방화벽 역할을 수행하는 VPC에 대한 선택적 보안 계층입니다.

VPC 기초

  VPC는 AWS 클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있습니다. Amazon EC2 인스턴스 같은 AWS 리소스를 VPC에서 실행할 수 있습니다.

 

  VPC를 만들 때 VPC의 IPv4 주소의 범위를 CIDR(Classless Inter-Domain Routing) 블록 형태로 지정해야 합니다(예: 10.0.0.0/16). 

 

  VPC는 리전의 모든 가용 영역에 적용됩니다. 다음 다이어그램은 IPv4 CIDR 블록이 있는 새 VPC를 보여줍니다.

(*예를 들어 서울 리전을 선택하고 VPC를 생성하게 되면 서울 리전의 AZ( 가용 영역) A~C에 모두 적용된다.)

 


서브넷 기본 사항

-서브넷은 VPC의 IP 주소 범위입니다.

-EC2 인스턴스와 같은 AWS 리소스를 특정 서브넷으로 시작할 수 있습니다.

-서브넷을 만들 때 해당 서브넷에 대한 IPv4 CIDR 블록을 지정합니다. 이는 VPC CIDR 블록의 서브넷입니다.

-각 서브넷은 단일 가용 영역 내에서만 존재해야 하며, 여러 영역으로 확장할 수 없습니다. 

 

 


VCP 구성방법

  • 퍼블릭 서브넷: 서브넷의 IPv4 또는 IPv6 트래픽은 인터넷 게이트웨이 또는 송신 전용 인터넷 게이트웨이로 라우팅 되며 퍼블릭 인터넷에 연결할 수 있습니다. 
  • 프라이빗 서브넷: 서브넷의 IPv4 또는 IPv6 트래픽은 인터넷 게이트웨이 또는 송신 전용 인터넷 게이트웨이로 라우팅 되지 않으며 퍼블릭 인터넷에 연결할 수 없습니다.
  • VPN 전용 서브넷: 서브넷이 인터넷 게이트웨이에 이르는 경로를 갖고 있지 않지만 그 트래픽이 Site-to-Site VPN 연결을 위한 가상 프라이빗 게이트웨이로 라우팅 됩니다. 현재 Site-to-Site VPN 연결을 통한 IPv6 트래픽은 지원하지 않습니다. 

VPC 및 서브넷 다이어그램

-아래 그림을 보면 인터넷 게이트웨이와 연결된 서브넷은 igw-id를 갖는다.

-또한 AWS EIP를 적용하여 항상 고정된 공인 IP를 갖도록 한 것을 볼 수 있다. 

-1A, 2A, 3A는 VPC속 각각의 AZ(가용 영역에) 있는 서브넷 속에 존재하는 인스턴스이다. 

-서브넷 1인 퍼블릭 서브넷, 서브넷 2는 프라이빗 서브넷, 서브넷 3은 VPN 전용 서브넷이다.

(*EC2 인스턴스를 퍼블릭 서브넷으로 시작하고 해당 서브넷이 인터넷과 통신할 수 있게 하려면 인스턴스에 퍼블릭 IPv4(탄력적 주소도 가능) or IPv6 주소가 있어야 한다.)

 

 

 


반응형

VPC 쉽게 이해하기 

vpc(virtual private cloud)

 위에서 VPC의 개념, 기본사항, 구성 방법과 그에 따른 다이어그램(구성안)을 살펴보았다. 어느 정도 네트워크에 사전 지식이 있는 사람이라면 위에 부분까지만 읽어도 VPC에 대한 감을 잡을 수 있을 거라고 생각한다. 하지만 조금 더 쉬운 설명이 필요한 분들도 있을 수 있기 때문에 쉽게 차근차근 VPC에 대해 설명해보려고 한다.

 

  우선 왜 VPC를 사용해야 하는 건가부터 살펴봐야 합니다. VPC전에는 EC2-Classic Platform이라는 네트워크를 사용했습니다. 하지만 VPC 서비스가 출시 후 사용이 중단되고 VPC사용이 의무화가 되어버렸으며 대부분의 서비스가 VPC에 의존적으로 제공되고 있기 때문에 알아야 할 필수 서비스가 되어버렸습니다.

 

  VPC의 뜻을 보면 알 수 있듯이 VPC는 사용자가 정의한 가상 네트워크입니다. 네트워크는 공인 IP주소와 사설 IP주소를 갖고 있습니다. 때문에 VPC에 들어가는 리소스(Resource)들도 IP주소를 통해 네트워크에 연결되게 됩니다. VPC는 해당 리소스들을 모두 포함할 수 있는 가장 큰 주소 범위를 가지는 이유도 리소스들이 VPC안에 위치해 있기 때문입니다.

 

 VPC를 만들 때 VPC의 IPv4 CIDR 블록을 지정해야 합니다. 허용된 블록 크기는 /16 넷마스크 (IP 주소 65,536개) ~ /28 넷마스크(IP 주소 16개)입니다.

 VPC에 두 개 이상의 서브넷을 만들 경우, 서브넷의 CIDR 블록이 겹치지 않아야 합니다.

 

예를 들어 VPC를 /16으로 설정하고 Subnet을 생성하면 어떤 구조일까? 아래 그림을 보면 쉽게 이해 가능하다.

subnet

  vpc 내에는 az(가용 영역)이 존재합니다. 서울 region에서 vpc를 생성한다면 3개의 가용 영역을 사용할 수 있고 각각의 가용 영역에는 최소 1개 이상의 서브넷이 할당됩니다. 즉 가용영역이 3개이면 최소 3개의 서브넷이 생성가능합니다. 

 

 

  만약 vpc 내에서 2개의 가용영역을 사용하여 각각의 가용영역에 private, public subnet을 각각 1개씩 두는 방식으로

1개의 가용영역에 2개의 서브넷을 넣는 경우 아래의 구성도를 참고할 수 있다.

  즉 1개의 vpc (10.0.0.0/16)에 2개의 az를 사용하여 (10.0.1.0/24), (10.0.2.0/24), (10.0.3.0/24), (10.0.4.0/24) 이렇게 4개의 서브넷을 만든 것이다. 

반응형

댓글