이안의 평일코딩

[AWS] VPC Virtual Private Cloud 본문

Front-end/AWS

[AWS] VPC Virtual Private Cloud

이안92 2021. 5. 27. 17:01
반응형

 VPC(Virtual Private Cloud)

 

AWS의 가상 사설 네트워크로 AWS를 잘 사용하기 위해서 반드시 알아야 되는 필수 지식.

EC2의 네트워크 계층으로 많은 AWS 서비스들이 VPC를 통해 네트워크에 연결된다.

 

VPC: 사용자의 AWS 계정 전용 가상 네트워크 망으로 리전 서비스 (고가용성을 위해 multi AZ로 구성)

서브넷: VPC를 더 작은 범위의 네트워크로 나눈 것으로 AZ 서비스

EC2인스턴스(AZ 서비스)는 바로 VPC에 연결되지 못하고 반드시 서브넷을 통해 연결됨

라우팅 테이블: 네트워크 트래픽 전달 규칙 지정

CIDR 블록: CIDR 표기법을 통해 IP 주소 범위를 지정

 

CIDR 표기법

 

IP의 범위를 간단하게 표기하는 표기법이다.

IP address / Prefix

예) 0.0.0.0/0

    192.168.1.0/24 (=> 1바이트는 8비트이므로 192(8비트).168(16비트).1(24비트).0/24에서

                              192.168.1이 고정이고 뒤에 0은 고정되지 않는 가변 비트이다.)

prefix의 범위는 0~32이고 의미는 상위 고정 비트 또는 네트워크 파트를 의미한다.

고정되지 않은 하위 비트는 호스트 파트이며 범위값을 가지고 값이 변한다.

 

CIDR IP 범위

 

CIDR 블록이 가지는 IP 범위 개수 = 2 ^ (32 - prefix)

가장 큰 범위의 prefix: 16

가장 작은 범위의 prefix: 28

VPC 및 Subnet CIDR prefix 범위: 16 ~ 28

 

https://www.ipaddressguide.com/cidr 

 

CIDR to IPv4 Address Range Utility Tool | IPAddressGuide

Free IP address tool to translate IPv4 address range into CIDR (Classless Inter-Domain Routing) format and vice-versa.

www.ipaddressguide.com

 

CIDR 표기법 예제

#1

0.0.0.0/0

고정 비트: 0, 가변 비트: 32, 범위: 0.0.0.0 - 255.255.255.255, 의미: IP 전체 = Any Address

#2

52.38.8.4/32

고정 비트: 32, 가변 비트: 0, 범위: 52.38.8.4, 의미: /32는 특정 IP 1개를 의미

- 네트워크 파트(가변 부)의 값은 모두 2진수 0으로 채워져야 한다.

#3

10.5.0.0/16

고정 비트: 16, 가변 비트: 16, 10.5.0.0~10.5.255.255, 의미: 2^16=65,536개의 IP 범위를 가짐, 

10.5 고정 0.0 가변

#4

1) 10.5.0.0/16

2) 10.5.1.0/24 => 10.5.1.0~10.5.1.255

3) 10.5.11.0/24 => 10.5.11.0~105.11.255

2,3번은 1번(범위가 가장넓음)의 VPC의 subnet이다

#5

10.5.21.64/28

고정 비트: 28, 가변 비트: 4, 범위: 10.5.21.64 ~ 10.5.21.79

의미: 16개 범위(VPC의 최소 범위), 8비트의 배수가 아닌 prefix도 있다는 것.

64에서 4비트만 고정 4비트는 가변. 2^4 = 16.

 


VPC 만들기

 

VPC는 이름과 CIDR 지정으로 간단히 만들 수 있고,

VPC를 생성하면 기본 라우팅 테이블이 생긴다.

 

서브넷 만들기

 

서브넷은 VPC CIDR 블록의 서브넷으로 생성한다.

CIDR 범위를 지정하고 AZ를 지정한다.

enable public IP 옵션을 선택할 수 있다.

서브넷은 반드시 하나의 라우팅 테이블을 연결한다.

 

인터넷 게이트웨이 추가

 

인터넷 게이트웨이(IGW)를 VPC에 연결하지 않으면 VPC에서 인터넷을 할 수 없다.

대부분의 경우 IGW를 생성해서 VPC에 연결한다.

 

서브넷과 라우팅 테이블

 

라우팅 테이블을 생성하고 해당 라우팅 테이블에 인터넷을 위한 규칙을 생성한다.

지정된 서브넷과 라우팅 테이블을 연결한다.

 

Public Subnet

IGW 규칙이 있는 서브넷이며 인터넷 세상에 열려 있다.

웹 서버, Bastion server(Jump server) 등이 위치한다.

WAS(Web Application Server)의 위치는 상황에 따라 다르지만 public 서브넷에 놓는 경우가 많다.

서로 다른 AZ에 두 개의 public subnet이 일반적인 구성.

enable public IP를 기본으로 설정하면 편하다.

 

Private Subnet

인터넷이 연결되지 않은 서브넷으로 데이터베이스가 이곳에 위치한다.

인터넷을 하기 위해서는 EC2로 직접 NAT 인스턴스 구축하거나, NAT 게이트웨이 서비스를 이용한다.

서로 다른 AZ에 두 개 또는 세 개의 private subnet이 일반적인 구성.

NAT 인스턴스는 사용하지 않을 경우 정지시킬 수 있고, NAT 게이트웨이는 비싸기 때문에 가격에 주의해야 함.

 

반응형
Comments