1. VPC(Virtual Private Cloud)란?
VPC는 AWS에서 제공하는 가상 네트워크 환경이다.
사용자는 VPC를 통해 IP 주소 범위, 라우팅 테이블, 서브넷 등을 원하는 대로 정의할 수 있습니다.
- 비유: VPC는 물리적인 사무실 건물과 같다.
건물 내부에는 여러 방(서브넷)을 배치할 수 있으며, 방마다 역할을 구분할 수 있다.
2. 서브넷(Subnet)이란?
서브넷은 VPC 내부에서 IP 주소를 더 작은 범위로 나눈 네트워크 세그먼트입니다. 각 서브넷은 특정 가용 영역(AZ)에 속하며, 리소스를 배치하는 논리적 구역으로 활용됩니다.
- 비유: 서브넷은 사무실 건물 내부의 개별 방입니다.
각각의 방은 고유한 용도로 나뉘며, 네트워크 연결 방식도 다르게 설정할 수 있습니다.
3. EC2 인스턴스란?
EC2(Elastic Compute Cloud)는 AWS에서 제공하는 가상 컴퓨팅 서버입니다. EC2는 VPC와 서브넷 내부에 배치되며, 네트워크 상의 다양한 작업을 처리하는 역할을 합니다.
주요 특징
-
인스턴스 유형:
사용자는 요구 사항에 따라 CPU, 메모리, 스토리지 등 리소스 구성이 다른 인스턴스 유형을 선택할 수 있습니다.
-
네트워크 연결:
EC2는 VPC 내에 위치하며, 공용 서브넷 또는 프라이빗 서브넷에 배치될 수 있습니다.
-
접근 방식:
- 퍼블릭 서브넷: 인터넷 게이트웨이를 통해 외부에서 직접 접근 가능.
- 프라이빗 서브넷: 외부 접근 불가. Bastion 호스트 또는 NAT 게이트웨이를 통해 간접 접근.
-
보안:
보안 그룹(Security Group)과 네트워크 ACL을 통해 인바운드 및 아웃바운드 트래픽을 제어합니다.
- 비유: EC2는 사무실 내부에서 일을 수행하는 직원과 같습니다.
각 직원은 자신만의 도구와 역할(인스턴스 유형)을 가지고 있으며, 필요한 네트워크 연결(공용 또는 프라이빗 서브넷)을 통해 작업합니다.
4. 서브넷의 주요 특징
1) IP 주소 범위
- 서브넷은 CIDR 블록(예:
10.0.1.0/24
)으로 정의되며, 서브넷 내 IP 주소 범위를 지정합니다.
- VPC 전체 CIDR 블록을 여러 서브넷으로 나눕니다.
2) 가용 영역(AZ)
- 서브넷은 특정 가용 영역에 속합니다.
고가용성을 위해 여러 가용 영역에 리소스를 분산 배치하는 것이 일반적입니다.
3) 공용 서브넷(Public Subnet) vs 프라이빗 서브넷(Private Subnet)
- 공용 서브넷
인터넷 게이트웨이를 통해 외부와 통신 가능합니다. 보통 웹 서버나 로드 밸런서를 배치합니다.
- 프라이빗 서브넷
외부와 직접 통신할 수 없으며, NAT 게이트웨이를 통해 간접적으로 인터넷 접근이 가능합니다. RDS나 애플리케이션 서버를 배치합니다.
5. EC2와 RDS의 서브넷 배치
1) EC2 인스턴스
- EC2는 AWS에서 제공하는 가상 컴퓨팅 인스턴스로, VPC 내부에 배치되어 네트워크 작업을 처리합니다.
- 공용 서브넷:
EC2 인스턴스가 인터넷에서 직접 접근 가능해야 하는 경우 배치됩니다. 퍼블릭 IP가 할당됩니다.
- 프라이빗 서브넷:
보안을 위해 인터넷 접근이 필요 없는 경우 배치합니다.
이 경우, Bastion 호스트(중간 서버)를 사용해 접근해야 합니다.
2) RDS 인스턴스
- 일반적으로 프라이빗 서브넷에 배치됩니다.
이는 데이터베이스가 외부 인터넷에서 직접 접근되지 않도록 보안을 강화하기 위함입니다.
6. 서브넷 2개가 필요한 이유
AWS RDS는 고가용성을 위해 최소 두 개의 서브넷을 필요로 합니다.
이는 여러 가용 영역(AZ)에 걸쳐 장애 조치(Failover)가 가능하도록 하기 위함입니다.
서브넷 그룹(Subnet Group)
- RDS는 서브넷 그룹을 통해 여러 서브넷에 배치되며, 이 서브넷들은 동일한 VPC 내에 있어야 합니다.
7. 퍼블릭 액세스 비활성화의 장점
RDS 퍼블릭 액세스를 비활성화하면 다음과 같은 장점이 있습니다:
- 보안 강화
외부 인터넷에서 직접 접근할 수 없으므로 데이터베이스 보안이 강화됩니다.
- 비용 절감
퍼블릭 IP 사용에 따른 비용을 줄일 수 있습니다.