흰 스타렉스에서 내가 내리지

AWS VPC 와 관련 개념, 콘솔을 통한 생성 실습 본문

DevOps

AWS VPC 와 관련 개념, 콘솔을 통한 생성 실습

주씨. 2024. 8. 6. 01:29
728x90

# VPC

AWS 에서 제공하는 가상 네트워크망 서비스.

VPC 를 통해 사용자는 자신만의 격리된 네트워크 환경을 만들 수 있다. 

 

다른 네트워크와 격리되어 있으며, IP 주소 범위, 서브넷, 라우팅 설정 등을 정의할 수 있다. 

 

# 서브넷

VPC 의 IP 주소 범위.

 

VPC 내에서 IP 주소 범위를 나누어 리소스를 그룹화하는 데 사용한다. 

서브넷은 퍼블릭 서브넷과 프라이빗 서브넷으로 구분된다. 

 

퍼블릭 서브넷 : 인터넷 게이트웨이를 통해 인터넷과 연결된 서브넷

프라이빗 서브넷 : 인터넷과 직접 연결되지 않은 서브넷. NAT 게이트웨이를 통해 인터넷에 접근할 수 있다. 

 

# 라우팅 테이블

네트워크 트래픽이 목적지에 도달할 수 있도록 경로를 정의하는 규칙 집합. 

 

각 서브넷은 하나의 라우팅 테이블에 연결되고, 라우팅 테이블은 다양한 경로(인터넷 게이트웨이, NAT 게이트웨이, 다른 VPC) 로 트래픽을 전달할 수 있도록 설정한다. 

 

# 인터넷 게이트웨이

VPC 와 인터넷 간의 통신을 가능하게 하는 요소.

 

퍼블릿 서브넷은 인터넷 게이트웨이를 통해 인터넷과 연결되어 있으며, VPC 내 리소스는 공인 IP 주소를 통해 인터넷에 접근할 수 있다. 

 

# NAT 게이트웨이

프라이빗 서브넷의 리소스가 인터넷에 접근할 수 있도록 하는 서비스.

 

NAT 게이트웨이는 프라이빗 서브넷에서 발생하는 아웃바운드 트래픽을 공인 IP 주소로 변환하여 인터넷과의 통신을 가능하게 한다. 

이를 통해 프라이빗 서브넷의 리소스는 인터넷에 노출되지 않으면서 인터넷에 접근할 수 있다. 

 

 

공인 IP를 보유하면 퍼블릭 서브넷, 공인 IP 는 없지만 NAT 게이트웨이를 통해 인터넷을 할 수 있으면 프라이빗 서브넷.

 

 

# 보안 그룹 :: Security Group

VPC 내에서 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 서비스.

 

보안 그룹 규칙을 통해 특정 IP 주소, 포트, 프로토콜에 대한 접근 허용을 제어할 수 있다. 

 

 

# VPC 엔드포인트

인터넷 게이트웨이나 NAT 게이트웨이를 거치지 않고 VPC 내에서 AWS 서비스에 접근할 수 있도록 하는 서비스. 

 

이를 통해 트래픽이 인터넷으로 나가지 않고 AWS 네트워크 내에서 안전하게 처리된다. 

VPC 와 기타 서비스 가느이 트래픽은 Amazon 네트워크를 벗어나지 않는다. 

 

 


AWS 콘솔을 통해 VPC 생성하기

 

VPC 로 들어가서 `VPC 생성` 

 

 

`VPC and more` 탭에서, 퍼블릭 서브넷과 프라이빗 서브넷을 같이 만든다. 

 

 

위와 같이 설정하면, 오른쪽에 프리뷰를 다이어그램 형태로 확인할 수 있다. 

 

 

다시 언급하자면, 인터넷으로 나가는 아웃바운드 트래픽이 인터넷 게이트웨이를 거칠 경우에는 퍼블릿 서브넷, NAT 게이트웨이를 거칠 경우에는 프라이빗 서브넷이다. 

 

프라이빗 서브넷에 NAT 게이트웨이를 연결하는 방법은 쉽다. 

VPC 대시보드 좌측에 NAT GATEWAY 가 있고, elastic IP 를 할당받아 프라이빗 서브넷에 직접 연결해주면 된다. 

 

 

 

다음 글부터는 IaC 로 VPC 를 생성하는 법을 해보자. 

이렇게 콘솔에서 만들 수 있는데 왜 코드로 만들어야 하나? 

 

VPC 를 콘솔에서 생성하거나 수정하면, 그 히스토리를 추적하기 굉장히 힘들다. 

우리가 IaC 를 사용하는 이유는 그 히스토리를 알고 뭘 변경했는지를 알아야 하기 때문이다. 

 

VPC 는 한 번 만들면 변경하는 경우는 많이 생기지 않지만, 서비스의 특성에 따라 그리고 크기에 따라 VPC 구성이 굉장히 복잡해질 수 있다. 

IaC 를 사용하여 코드를 통해 VPC 를 생성하면, 틀 안에 갇히지 않고 내가 원하는 모양으로 만들 수 있다.