Notice
Recent Posts
Recent Comments
Link
04-30 12:16
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

<<개발일지>>

VPC 기초 본문

클라우드 시큐리티

VPC 기초

개발하는지호 2025. 4. 14. 08:26

1. VPC

 

클라우드를 사용하면 자주 듣는 것이 있다. 바로 'VPC' 이다.

 

1. 1 VPC란?

VPC는 Virtual Private Cloud의 약자로 AWS 클라우드 내 논리적으로 독립된 섹션을 제공하여, 사용자가 정의한 가상 네트워크 상에서 다양한 AWS 리소스를 실행할 수 있게 지원한다. 한마디로 독립된 가상의 클라우드 네트워크라 볼 수 있다.

 

AWS 클라우드 서비스는 사용자에 따라 네트워크 환경을 직접 설계를 할 수 있다는 특징을 가지고 있다. 2011년 8월에 AWS VPC가 최초 정식 릴리즈가 되어, 사용자는 VPC 내에 IP 대역, 인터페이스, 서브넷, 라우팅 테이블, 네트워크 게이트웨이, 보안 그룹, 네트워크 ACL 등을 생성하고 제어할 수 있다.

 

[그림 1-1] vpc 도식화

 

[그림 1-1]과 같이 AWS 클라우드 내에 VPC를 생성하여 사용자 기반 하에 다양한 리소스를 생성하고 제어할 수 있다.

 

[그림 1-2] VPC 리소스 정보

 

AWS 콘솔에서 VPC 대시보드에 접근하면 [그림 1-2]와 같이 다양한 VPC 리소스들을 확인해 볼 수 있다.

 


1.2 VPC의 종류

VPC는 사용자의 관여에 따라 기본 VPC (Default VPC)와 사용자 VPC (Custom VPC)로 구분할 수 있다. 기본 VPC는 각 리전 별로 1개씩 생성이 되어 있으며 기본 VPC 내애 AWS 리소스가 미리 정해져 있다. 반면에 사용자 VPC는 사용자 정의에 의해 수동으로 AWS 리소스를 생성하고 제어할 수 있다.

 

그림 1-3 기본 VPC와 사용자 VPC 차이

 

 


 

1.3 VPC 특징

VPC는 아래와 같은 특징을 가지고 있다.

 

  • 확장성 : 클라우드 기반 하에 손쉽게 VPC 자원을 생성하고 삭제가 가능하며, 설정 및 관리에 편의성을 제공한다.
  • 보안 : 인스턴스 레벨과 서브넷 레벨에서 인바운드 및 아웃바운드 필터링을 수행할 수 있도록 보안 그룹과 네트워크 ACL를 제공하여 보안을 강화할 수 있다.
  • 사용자 중심 : VPC 내 리소스에 대해 사용자가 원하는 대로 손쉽게 제어할 수 있으며, 네트워크 지표 및 모니터링 툴을 활용하여 사용자에게 높은 가시성을 제공한다.
  • 제약 : 전통적인 네트워크 환경에서 지원하는 기능이 지원하지 않거나 미약하게 지원하여 네트워크 제약이 존재한다. (브로드캐스트, 멀티캐스트, 레이어 2 기술 등)

*참고 : 위에서 나열한 제약 사항들은 AWS에서 지속적인 기능 추가 및 보완으로 개선해 나가고 있다.

 


 

2. VPC 리소스 소개

 

2.1 서브넷

2.1.1 서브넷 개념

 

서브넷의 일반적인 개념은 네트워크 영역을 부분적으로 나눈 망으로 정의할 수 있다. 클라우드 환경의 VPC에서도 서브넷을 통해 네트워크를분리하여 나눌 수 있다.

 

 

[그림 2-1-1] 서브엣 도식화

 

[그림 2-1-1]과 같이 VPC 내에 서브넷을 통해 네트워크 망을 분리하고 있는 모습이다. 서브넷의 IP 대역은 VPC의 IP 대역에 속해 있어야 하며, 서브넷은 1개의 가용 영역에 종속되어야 한다.

 


 

2.1.2 퍼블릭 서브넷과 프라이빗 서브넷

 

서브넷은 크게 퍼블릭 서브넷과 프라이빗 서브넷으로 나눌 수 있다. 퍼블릭 서브넷은 공인 네트워크 개념으로 외부 인터넷 구간과 직접적으로 통신을 할 수 있는 공공 네트워크이다. 반면에 프라이빗 서브넷은 사설 네트워크 개념으로 외부 인터넷 구간과 직접적인 통신을 할 수 없는 폐쇄적인 네트워크이다.

 

[그림 2-1-2] 퍼블릭 서브넷과 프라이빗 서브넷

 

[그림 2-1-2]와 같이 퍼블릭 서브넷은 퍼블릭 IP를 가지고 인터넷 게이트웨이를 통해 외부 인터넷 구간의 사용자와 통신이 가능하나, 프라이빗 서브넷은 프라이빗 IP만 가지고 있어 자체적으로 외부 인터넷 구간의 사용자와 통신이 불가능하다.

 

 

*참고 : 프라이빗 서브넷은 원론적으로 외부 인터넷 구간과 통신이 불가능하지만, 프라이빗 IP를 퍼블릭 IP를 퍼블릭 IP로 변환해 주는 NAT 게이트웨이가 있으면 통신이 가능하다.

 


 

2.2 가상 라우터와 라우팅 테이블

VPC를 생성하면 자동적으로 가상 라우터가 생성된다. 이 가상 라우터는 라우팅 테이블을 가지고 있어 목적지 네트워크로 라우팅하는 통신이 구성된다.

 

[그림 2-2-1] 가상 라우터와 라우팅 테이블

 

[그림 2-2-1] 과 같이 10.0.0.0/16 대역의 VPC를 생성하면, 자동적으로 가상 라우터가 생성이 된다. 가상 라우터는 최초에 기본 라우팅 테이블을 보유하고 있으며 로컬 네트워크에 대한 라우팅 경로만 잡혀 있다. 여기서 로컬 네트워크는 VPC의 자체 대역으로 VPC 내에 생성된 서브넷은 라우팅 테이블의 로컬 네트워크에 의해 통신이 가능하다.

 

[그림 2-2-2] 서브넷 당 라우팅 테이블 매핑

 

[그림 2-2-2]와 같이 가상 라우터에서는 서브넷 별로 라우팅 테이블을 매핑을 시켜 줄 수 있다. 기본 라우팅 테이블을 사용할 수도 있지만, 새로운 라우팅 테이블을 생성하고 매핑하여 서브넷 당 개별적인 라우팅 테이블을 유지할 수도 있다.

 


 

 

2.3 인터넷 게이트웨이

 

인터넷 게이트웨이는 VPC와 인터넷 간의 논리적인 연결이다. 간략하게 VPC에서 인터넷 구간으로 나가는 관문이라고 생각해 볼 수 있다. 이러한 인터넷 게이트웨이는 VPC 당 1개만 생성할 수 있다.

 

인터넷 게이트웨이를 통해 외부 인터넷 구간으로 통신할 수 있는 대상은 퍼블릭 IP를 사용하는 퍼블릭 서브넷 내의 자원이다. 이러한 퍼블릭 서브넷은 자신의 라우팅 테이블에 외부 인터넷 구간으로 나가는 타겟을 인터넷 게이트웨이로 지정해 주어야 한다.

[그림 2-3-1] 인터넷 게이트웨이 도식화

 

[그림 2-3-1]과 같이 퍼블릭 서브넷 내의 인스턴스가 외부 인터넷 구간과 통신하기 위하여 인터넷 게이트웨이가 관문이 되어 이를 통해 통신이 되고 있다. 

 

인터넷 게이트웨이는 양방향으로 연결을 지원하기에 외부 인터넷 구간에서 퍼블릭 서브넷의 퍼브릭 IP로도 정상적인 통신이 가능하다.

 


 

2.4 NAT 게이트웨이

 

NAT 게이트웨이도 인터넷 게이트웨이처럼 외부 인터넷 구간과 연결하는 관문 역할을 하고 있다. 차이점은 NAT라는 명칭에서 알아볼 수가 있는데, NAT는 Network Address Translation의 약자로 네트워크 주소 즉, IP를 변환해 주는 기술이다.

[그림 2-4-1] NAT 게이트웨이 도식화

 

2.3항의 인터넷 게이트웨이는 퍼블릭 서브넷의 외부 인터넷 구간을 연결하는 반면에 NAT 게이트웨이는 [그림 2-4-1]과 같이 프라이빗 서브넷 인스턴스의 프라이빗 IP를 퍼블릭 IP로 변환하여 외부 인터넷 구간으로 연결할 수 있다.

 

추가적으로 NAT 게이트웨이는 한 쪽 방향으로만 동작을 한다. 즉, 프라이빗 서브넷에서 외부 인터넷으로 통신이 가능하지만 반대로 외부 인터넷에서 프라이빗 서브넷으로 통신은 불가능 하다.

 


2.5 보안 그룹과 네트워크 ACL

VPC는 인스턴스 레벨과 서브넷 레벨 상에서 대상을 필터링 할 수 있는 보안 기술을 적용하고 있다. 인스턴스 레벨에서의 보안 기술은 보안 그룹(Security Group)이며, 서브넷 레벨에서의 보안 기술은 네트워크 ACL이다.

[그림 2-5-1] 보안 그룹과 네트워크 ACL

 

[그림 2-5-1]과 같이 보안 그룹은 인스턴스 별로 지정하는 보안 기술이며, 네트워크 ACL은 서브넷 별로 지정하는 보안 기술로 구분 지어 볼 수 있다.

 

이러한 보안 기술들은 인바운드 및 아웃바운드 되는 데이터에 대해 허용 정책과 거부 정책을 수립하여, 원하는 데이터만 수용할 수 있게 필터링 할 수 있다.