[AWS] ECS EC2 배포(1) - VPC

곽태민·2025년 2월 12일
0

AWS

목록 보기
1/1

요즘에 ECS를 통해서 배포를 할 때 Fargate를 사용하는 경우가 많다. Fargate는 요청에 따라서 자동으로 확장되는 서버를 제공하면서 서버리스 형태의
서비스를 제공한다.

하지만 FargateEC2 대비 비용이 비교적 비싼 편이다. 따라서 초기 비용을 줄이기 위해 EC2를 사용하는 경우가 많다.

이 포스트에서는 EC2를 사용해서 배포하는 방법을 알아보고자 한다.

VPC

ECS로 배포를 하기 전에 먼저 VPC를 생성해야 한다.

VPC는 네트워크 범위를 정의하고, 서브넷, 인터넷 게이트웨이, 라우팅 테이블 등을 생성하여 네트워크 환경을 구성한다.

VPC 생성

vpc를 생성하기 위해서 IPv4 CIDR 블록또는 IP주소 범위를 입력해야 한다.

수동으로 입력할 수 있지만 CIDR 블록의 크기는 /16에서 /28 사이로 입력을 해야 한다.

VPC 생성

기본적으로 제공되는 10.0.0.0/16 블록을 사용할 수 있지만 사용자가 원하는 블록을 입력할 수 있다.

10.0.0.0은 IP 주소를 가리키고, /16은 네트워크 범위를 가리키는데, 이 때 네트워크 범위는 2^(32-n) 개의 네트워크
범위를 가지게 된다.

따라서 /16은 2^(32-16) = 65536개의 네트워크 범위를 가지게된다.

VPC 생성1

위와 같이 IP주소와 범위를 지정해주고 생성을 해주면 된다.

IP주소는 어떤 IP 주소를 할당해야 하는지 헷갈릴 수 있다.

어떤 IP 주소를 할당해야 할지?

VPC에서는 CIDR 블록을 선택할 떄 고려해야 할 사항이 있다.

1. 사설 IP 대역을 사용

VPC에서는 공개 IP가 아니라 사설 IP를 사용한다.
RFC 1918 표준에 따라 아래와 같은 사설 IP 대역을 사용해야 한다.

  • 10.0.0.0 (AWS에서 가장 많이 사용됨)
  • 172.16.0.0
  • 192.168.0.0

💡 AWS에서는 10.0.0.0 IP 대역을 많이 사용한다.

2. 예상 네트워크 크기에 맞게 CIDR 블록 선택

VPC 내에서 EC2, RDS, ALB, Lambda, ECS 등 AWS 리소스가 몇 개나 필요한지 예측을 해야 한다.

  • 대규모 서비스: 10.0.0.0/16 (최대 65536개의 IP 주소)
  • 중규모 서비스: 10.0.0.0/20 (최대 4096개의 IP 주소)
  • 소규모 서비스: 10.0.0.0/24 (최대 256개의 IP 주소)

💡 서브넷을 분할할 계획이라면 /16, 서브넷에서 /24를 사용하는 것이 좋다.

3. 서브넷을 어떻게 나눌 것인지

VPC내에서 서브넷을 나누어 사용할 계획이라면 미리 CIDR 블록의 범위를 크게 설정하는 것이 좋다.
예를들어 VPC를 10.0.0.0/16을 사용하고, 서브넷은 /24 범위로 나누는 경우가 많다.

VPC CIDR 블록서브넷
10.0.0.0/1610.0.1.0/24 (public subnet)
10.0.2.0/24 (private subnet)
10.0.3.0/24 (database subnet)

💡 VPC는 큰 범위로 설정하고, 서브넷은 보다 작은 범위로 설정하는 것이 관리하기 편하다.

profile
Node.js 백엔드 개발자입니다!

0개의 댓글

관련 채용 정보