0Pricing
AWS Solutions Architect · 강의

EC2 시작 유형과 Fargate 비교

EC2 컨테이너 인스턴스를 직접 관리하는 방식과 서버리스 컨테이너 실행에 Fargate를 사용하는 방식을 비교하고 비용 측면의 차이를 이해합니다.

EC2 시작 유형과 Fargate 비교은(는) CoddyKit의 무료 AWS Solutions Architect 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 AWS Solutions Architect 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. AWS Solutions Architect 강의에는 총 4개의 강의가 포함되어 있습니다.

ECS 작업을 실행하는 두 가지 방법

ECS는 컨테이너가 실행되는 위치를 정의하는 두 가지 시작 유형을 제공합니다. EC2 시작 유형은 사용자가 프로비저닝하고 클러스터 내에서 관리하는 EC2 인스턴스에서 컨테이너를 실행합니다. Fargate 시작 유형은 AWS가 기본 서버를 전적으로 관리하는 서버리스 컴퓨팅 엔진입니다. 두 유형의 작업 정의와 서비스 구성은 거의 동일하며, 핵심적인 차이는 인프라 관리 책임과 비용 모델입니다.

EC2 시작 유형: 완전한 제어

EC2 시작 유형에서는 ECS 컨테이너 에이전트(ECS 최적화 AMI에 사전 설치됨)를 사용하여 EC2 인스턴스를 클러스터의 컨테이너 인스턴스로 등록합니다. 인스턴스 유형을 선택하고 OS 수준 설정을 제어하며, 사용자 지정 보안 기준을 적용하고, 비용 절감을 위해 스팟 인스턴스를 사용할 수 있습니다. ECS는 빈 패킹 또는 분산 배치 전략에 따라 등록된 인스턴스 전체에 작업을 배치합니다. 기본 EC2 플릿의 패치 적용, 확장, 유지 관리는 사용자의 책임입니다.

# Launch an ECS-optimised EC2 instance that joins the cluster
# User data for ECS container agent
#!/bin/bash
echo ECS_CLUSTER=MyAppCluster >> /etc/ecs/ecs.config
echo ECS_ENABLE_CONTAINER_METADATA=true >> /etc/ecs/ecs.config

Fargate: 서버리스 컨테이너

Fargate에서는 작업별 CPU와 메모리를 지정하면 AWS가 기본 컴퓨팅 리소스를 보이지 않게 프로비저닝합니다. 등록, 패치, 확장할 EC2 인스턴스가 없으며, 이 모든 작업을 AWS가 관리합니다. 각 작업은 자체적으로 격리된 커널을 사용하므로(Firecracker microVMs를 통해 제공됨), 여러 작업이 동일한 호스트를 공유하는 EC2 컨테이너 인스턴스보다 더 강력한 보안 격리를 제공합니다. Fargate에는 awsvpc 네트워크 모드가 필요하므로 각 작업에 자체 ENI와 VPC IP 주소가 할당됩니다.

aws ecs run-task \
  --cluster 'MyAppCluster' \
  --task-definition 'myapp-task:5' \
  --launch-type FARGATE \
  --network-configuration '{
    "awsvpcConfiguration": {
      "subnets": ["subnet-aaa111"],
      "securityGroups": ["sg-xyz"],
      "assignPublicIp": "ENABLED"
    }
  }'

비용 모델 비교

비용 모델은 근본적으로 다릅니다. EC2 시작 유형: 작업이 실행 중인지와 관계없이 기본 EC2 인스턴스에 대한 비용을 지불하지만, 할인 혜택을 위해 예약 인스턴스나 Savings Plans를 사용하고 중단 가능한 작업에는 최대 90%의 비용 절감을 제공하는 Spot 인스턴스를 사용할 수 있습니다. Fargate: 작업별로 실제 사용한 vCPU와 메모리에 대해서만 초 단위로 비용을 지불하므로 작업 사이의 유휴 비용이 없습니다. 사용량이 급증하거나 일괄 처리하는 작업에는 Fargate가 더 저렴한 경우가 많고, 지속적으로 사용률이 높은 작업에는 예약 인스턴스를 사용하는 EC2가 더 저렴할 수 있습니다.

비용 절감을 위한 Fargate Spot

Fargate Spot은 AWS가 용량을 회수해야 할 때 작업이 중단될 수 있는 대신 Fargate 컴퓨팅을 크게 할인된 가격(최대 70% 할인)으로 제공합니다. Fargate Spot은 일괄 처리, CI/CD 파이프라인, 개발 및 스테이징 환경에 적합합니다. capacity provider 전략을 구성하여 Fargate(온디맨드)와 Fargate Spot을 함께 사용할 수 있습니다. Fargate에 base=1을 사용하면 최소 하나의 작업을 보장할 수 있고, weight 값을 사용하면 나머지 용량을 두 유형에 분배할 수 있습니다.

aws ecs create-service \
  --cluster 'MyAppCluster' \
  --service-name 'BatchService' \
  --task-definition 'batch-task:1' \
  --desired-count 10 \
  --capacity-provider-strategy \
    'capacityProvider=FARGATE,weight=1,base=1' \
    'capacityProvider=FARGATE_SPOT,weight=4'

EC2 시작 유형을 선택해야 하는 경우

다음이 필요하다면 EC2 시작 유형을 선택하십시오. GPU 인스턴스(Fargate는 GPU 지원이 제한적임), Fargate에서 제공되지 않는 특정 인스턴스 유형, 사용자 지정 OS 구성(커널 조정, 사용자 지정 드라이버), 배치 그룹이나 향상된 네트워킹이 필요한 네트워크 성능, Windows 컨테이너(EC2는 Windows Server 컨테이너를 지원하며 Fargate도 Windows를 지원하지만 제한이 있음), 또는 사용률이 지속적으로 높아 EC2 예약 인스턴스가 Fargate의 초당 과금보다 상당한 비용 이점을 제공하는 경우입니다.

Fargate를 선택해야 하는 경우

다음과 같은 목적이라면 Fargate를 선택하십시오. EC2 관리 오버헤드 제거(OS 패치 및 클러스터 확장 불필요), 초 단위로 사용한 만큼만 지불, 유휴 EC2 용량을 유지할 필요가 없는 변동이 크거나 일괄 처리하는 작업 실행, Firecracker microVMs를 통한 더 강력한 작업 격리, 또는 애플리케이션 코드에만 집중하여 개발 가속. 특정 EC2 요구 사항이 명시되지 않은 경우 SAA-C03 시험에서는 새로운 ECS 작업에 Fargate를 기본적으로 권장합니다.

ECS 용량 공급자

용량 공급자는 컴퓨팅 계층을 ECS 서비스에서 추상화합니다. EC2의 경우 용량 공급자는 Auto Scaling Group에 연결되며, 용량 부족으로 작업을 배치할 수 없을 때 ECS가 ASG를 자동으로 확장합니다. Fargate의 경우 FARGATE와 FARGATE_SPOT이 기본 제공 용량 공급자입니다. 서비스에 용량 공급자 전략을 정의하면 온디맨드와 Spot/Fargate Spot을 함께 사용할 수 있어 작업별 비용과 가용성 간의 균형을 세밀하게 제어할 수 있습니다.

운영 오버헤드 비교

운영 오버헤드는 시작 유형에 따라 크게 다릅니다. EC2 시작 유형에는 AMI 선택 및 업데이트, EC2 Auto Scaling 구성, SSM 또는 사용자 지정 스크립트를 통한 OS 패치, 컨테이너 인스턴스 용량 관리, 인스턴스 수준의 보안 강화가 필요합니다. Fargate는 이러한 작업을 모두 제거합니다. AWS가 Fargate 플랫폼의 패치를 처리하고, 관리할 인스턴스나 계획해야 할 클러스터 용량이 없습니다. 그러나 Fargate는 OS 수준의 사용자 지정과 네트워크 성능 조정의 유연성이 더 낮습니다.

Fargate 작업 CPU 및 메모리 크기 조정

Fargate 작업 정의에서는 고정된 조합 집합에서 CPU와 메모리를 지정해야 합니다. CPU 값은 256, 512, 1024, 2048, 4096, 8192, 16384입니다(1024 = 1 vCPU인 vCPU 단위). 메모리는 CPU 값별 허용 범위에 포함되어야 합니다. 예를 들어 CPU 256에서는 메모리 512~2048 MB를 사용할 수 있습니다. 작업 내 컨테이너는 작업에 설정된 CPU 및 메모리 한도를 공유합니다. Fargate는 지정한 리소스에 대해 정확히 과금하므로 적절한 크기 조정이 중요합니다. 작업이 CPU에 의해 제한되는 경우 과도한 프로비저닝은 실제 성능 향상 없이 비용만 낭비합니다.

# Valid Fargate combinations
# 256 CPU (.25 vCPU): 512, 1024, or 2048 MB
# 512 CPU (.5 vCPU): 1024 to 4096 MB
# 1024 CPU (1 vCPU): 2048 to 8192 MB
# 2048 CPU (2 vCPU): 4096 to 16384 MB
# 4096 CPU (4 vCPU): 8192 to 30720 MB

디버깅을 위한 ECS Exec

ECS Exec을 사용하면 SSH나 배스천 호스트 없이 실행 중인 컨테이너(EC2와 Fargate 모두)에서 직접 대화형 셸 세션을 열 수 있습니다. 내부적으로 AWS Systems Manager Session Manager를 사용합니다. 서비스에서 이를 활성화한 다음 execute-command CLI를 사용하여 bash 세션을 시작하십시오. 컨테이너에서 발생한 프로덕션 문제를 디버깅할 때 매우 유용합니다. 작업 역할에는 ssmmessages:CreateControlChannel 및 관련 SSM 권한이 필요합니다.

aws ecs execute-command \
  --cluster 'MyAppCluster' \
  --task 'abc123def456' \
  --container 'myapp' \
  --interactive \
  --command '/bin/bash'

빠른 확인

이 단원에서 다룬 AWS Solutions Architect(SAA-C03) 개념에 대한 이해도를 확인해 보십시오.

단원 요약

이 단원에서는 다음을 배웠습니다. EC2 시작 유형은 기본 인프라를 관리해야 하는 대신 인스턴스 유형과 OS 구성을 완전히 제어할 수 있으므로 GPU, 특수 하드웨어 또는 지속적으로 사용률이 높은 작업에 적합합니다. Fargate는 초 단위 작업 과금과 강력한 Firecracker 격리를 제공하면서 인프라 관리를 없애므로 대부분의 웹/API 작업과 일괄 작업에 적합합니다. 또한 Fargate Spot은 중단을 허용할 수 있는 작업의 비용을 최대 70%까지 줄여 줍니다. 다음에는 컨테이너 이미지를 저장하고 가져오는 Amazon ECR을 살펴보겠습니다.

자주 묻는 질문

“EC2 시작 유형과 Fargate 비교” 강의는 무료인가요?

네 — “EC2 시작 유형과 Fargate 비교” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 AWS Solutions Architect 강의 전체를 잠금 해제할 수 있습니다. AWS Solutions Architect 강의에는 총 4개의 강의가 포함되어 있습니다.

“EC2 시작 유형과 Fargate 비교”에서 뭘 배우나요?

EC2 컨테이너 인스턴스를 직접 관리하는 방식과 서버리스 컨테이너 실행에 Fargate를 사용하는 방식을 비교하고 비용 측면의 차이를 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 AWS Solutions Architect을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

AWS Solutions Architect을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 AWS Solutions Architect은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.

“EC2 시작 유형과 Fargate 비교” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 AWS Solutions Architect 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 AWS Solutions Architect 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. ECS 클러스터, 작업 정의 및 서비스
  2. EC2 시작 유형과 Fargate 비교
  3. ECR: 컨테이너 이미지 저장 및 가져오기
  4. ECS 서비스 자동 확장 및 로드 밸런싱
← AWS Solutions Architect(으)로 돌아가기