VPC(Virtual Private Cloud)는 클라우드 환경에서 사용자가 자신의 네트워크를 독립적이고 안전하게 구성할 수 있도록 해주는 가상 네트워크입니다. VPC는 퍼블릭 클라우드 환경에서 사용자에게 프라이빗한 네트워크 공간을 제공하며, 필요한 네트워크 구성 요소(서브넷, 라우팅, 방화벽 등)를 설정하고 관리할 수 있습니다.
1. VPC의 주요 개념과 구성 요소
- 서브넷 (Subnet): VPC 내에서 네트워크를 더 작은 세그먼트로 나누는 기능입니다. 서브넷은 퍼블릭과 프라이빗으로 나눌 수 있으며, 퍼블릭 서브넷은 인터넷과 연결될 수 있고, 프라이빗 서브넷은 외부와의 연결 없이 내부 자원들 간에만 사용됩니다.
- 서브넷으로 나누는 이유와 개념
- 네트워크 분리 및 관리 용이성:
- 하나의 큰 네트워크를 여러 개의 작은 네트워크(서브넷)으로 나누면, 각 서브넷을 독립적으로 관리할 수 있습니다. 예를 들어, 웹 서버, 데이터베이스 서버, 애플리케이션 서버를 각각 다른 서브넷에 배치하여 관리할 수 있습니다.
- 이렇게 나누면 트래픽 제어가 쉬워지며, 특정 서브넷에 대한 접근 권한을 따로 설정할 수 있어 보안이 강화됩니다.
- 트래픽 제어:
- 서브넷을 사용하면 네트워크 트래픽의 흐름을 제어할 수 있습니다. 예를 들어, 인터넷과 연결된 퍼블릭 서브넷과, 외부로부터 접근이 불가능한 프라이빗 서브넷을 나눌 수 있습니다. 이를 통해 외부 공격으로부터 중요한 리소스를 보호할 수 있습니다.
- IP 주소 범위 할당:
- VPC에서 전체 IP 주소 범위를 정의한 후, 이 범위를 서브넷 단위로 나누어 각각의 서브넷이 사용할 IP 주소를 할당합니다. 예를 들어, 10.0.0.0/16이라는 큰 범위를 가지고 있다면, 이를 10.0.1.0/24, 10.0.2.0/24 등으로 쪼개어 서브넷을 구성합니다.
- 각 서브넷은 자신의 IP 주소 범위를 가지며, 서로 독립적으로 운영됩니다.
- 보안과 접근 제어:
- 서브넷별로 보안 그룹이나 네트워크 ACL을 적용하여 접근을 제어할 수 있습니다. 예를 들어, 퍼블릭 서브넷에는 웹 서버를 두고 외부에서 접근을 허용하고, 프라이빗 서브넷에는 데이터베이스 서버를 두어 외부 접근을 차단할 수 있습니다.
- 네트워크 분리 및 관리 용이성:
- 서브넷으로 나누는 이유와 개념
- 라우팅 테이블 (Routing Table): 네트워크 트래픽의 방향을 지정하는 규칙 집합입니다. VPC 내의 서브넷 간 또는 외부 네트워크로의 트래픽 흐름을 제어합니다.
- 인터넷 게이트웨이 (Internet Gateway): VPC 내 퍼블릭 서브넷의 리소스가 인터넷과 통신할 수 있도록 하는 게이트웨이입니다.
- NAT 게이트웨이 (NAT Gateway): 프라이빗 서브넷 내의 리소스가 인터넷과 통신할 수 있도록 도와주는 네트워크 주소 변환 장치로, 외부에서의 접근은 불가능하게 합니다.
- 보안 그룹 (Security Group): 네트워크의 트래픽을 필터링하여 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할을 합니다.
- 네트워크 ACL (Access Control List): VPC의 서브넷 레벨에서 트래픽을 제어하는 규칙 집합으로, 보안 그룹과 함께 사용하여 네트워크 보안을 강화합니다.
용어 정리
세그먼트 : 네트워크 내의 독립된 작은 네트워크