GW LABS

Google Cloud StudyJam (3) - VPC 네트워크 본문

Infrastructure/Cloud Computing

Google Cloud StudyJam (3) - VPC 네트워크

GeonWoo Kim 2020. 12. 8. 14:19

Google Cloud StudyJams

이번 포스팅에서는 클라우드 컴퓨팅의 근간이 되는 VPC 네트워크에 대해 알아보자. 네트워크는 클라우드 컴퓨팅의 중요한 요소이므로 꼭 알아두어야 할 개념이다. 대부분의 클라우드 제공자들은 VPC 네트워크를 기본 네트워크 구성으로 제공하고 있으므로, 한번 개념을 잡아두면 대부분의 클라우드 서비스의 네트워크를 이용할 수 있을 것이다.


VPC

GCP VPC 네트워크 구조

Virtual Private Cloud(VPC)는 GCP 내부 네트워크에서 가상화되어 서비스되는 네트워크이다. 대부분의 클라우드 서비스들은 VPC 형태의 네트워크 서비스를 제공한다. 클라우드 리소스의 대부분이 VPC 네트워크를 통해서 제공된다. 또한 방화벽 규칙, 전달 규칙 등 다양한 네트워크 정책들은 VPC 내에서 구현된다.

VPC 네트워크는 위의 그림처럼 구성이 된다. 각각의 리전별로 네트워크를 달리 구성할 수 있으며, 리전내에서도 서브넷으로 나뉠 수 있다. 서브넷은 아래에서 이어서 알아보자.

 

 

Subnet

VPC 네트워크는 하나 이상의 서브넷으로 구성된다. 서브넷은 IP 범위를 갖고 있는데 이를 통해서 사용하려는 리소스에 IP가 할당된다. 서브넷은 위의 그림처럼 존을 공유하도록 구성할 수도 있다. 서브넷의 IP 범위를 지정할 때에는 CIDR 블록을 통해서 지정한다. 44bits의 포스팅에서 CIDR 블록으로 IP를 구성하는 방법을 알 수 있다.

 

 

VPC와 Subnet 생성하기

VPC 네트워크 목록

GCP 프로젝트를 생성하면 기본적으로 default VPC 네트워크가 생성되어있고, 특별한 네트워크 설계가 필요없다면 그대로 사용해도 무방하다. 이번 포스팅에서는 새로운 VPC를 생성하고 내부에 서브넷 두 개를 생성하는 것까지 진행해보려고 한다.

 

 

VPC 생성화면 - 1

VPC 네트워크 목록란에서 create 버튼을 클릭하면 VPC 생성화면으로 진입한다. 이번 포스팅에서는 서브넷을 자동으로 생성하지 않고 직접 만들어본다. New subnet 항목에서 서브넷 이름을 입력하고 리전을 선택해준다. 다음으로 IP 범위를 설정해야하는데 위의 그림에서는 10.0.1.0/24로 설정했다. IP의 개수는 2^(32-24)개, 즉 256개이며 범위는 10.0.1.0 ~ 10.0.1.255까지이다. 

 

 

VPC 생성화면 - 2

두번째 서브넷도 위와 비슷하게 생성해준다. 주의할 점은 IP 범위가 서브넷끼리 겹치면 안된다는 점이다. 먼저 생성한 IP 범위가 10.0.1.0/24라면 10.0.2.0/24 등의 범위로 설정해주면된다. 서브넷을 생성할 때 또 주의해야할 점이 있는데 이 서브넷 영역에서 리소스가 얼마나 생성될 지 미리 파악하고 있어야 한다는 점이다. 위의 예제에서는 서브넷의 IP 개수가 256개인데 256개 이상의 VM 인스턴스가 필요해진다면 VPC를 다시 수정해줘야한다. 

 

 

생성이 완료된 VPC

VPC가 생성이 완료된다면 위와 같은 그림을 확인할 수 있다. VPC 내에 서브넷들을 확인할 수 있고 각각의 IP 범위도 확인할 수 있다.

 

 

사실 이번 포스팅의 실습에서 공개 서브넷과 비공개 서브넷을 나누어 생성하여 서브넷간의 통신을 확인할 수 있는 예제를 만들려고 했었다. 예제를 만들다 문제가 발생했는데 비공개 서브넷에 있는 인스턴스가 외부 인터넷 연결을 할 수 없는 문제가 발생했다. 이런 문제는 해결하기 위해서는 Cloud NAT를 설정해줘야 외부 아이피가 없는 비공개 인스턴스가 인터넷을 이용할 수 있게 된다. 이 예제는 향후 포스팅에서 따로 다뤄야되겠다.

 

 

Reference

 - https://cloud.google.com/vpc/docs/overview

 - https://www.44bits.io/ko/post/understanding_aws_vpc

Comments