kui-vault/02.Volume/AWS/ECS 태스크 정의.md

3.4 KiB

id created tags
ECS 태스크 정의 20260305 2026-03-05 09:20
## 📑 개념 > [!abstract] > **"실제로 어떤 하드웨어 환경에서 돌아갈지"**와 **"비용 청구서가 어떻게 나올지"**를 결정하는 핵심 데이터 ## 1. 운영 체제 및 아키텍처 (OS & Architecture) 여기서 가장 중요한 건 **ARM64(AWS Graviton)**를 선택하느냐 아니냐입니다. - 설정 내용: X86_64 (인텔/AMD 계열) vs ARM64 (AWS Graviton 계열)
- 무엇이 달라지나: * 호환성: 내 도커 이미지를 어떤 CPU용으로 빌드했느냐에 따라 선택해야 합니다. (잘못 선택하면 실행 시 exec format error가 나며 죽습니다.)
- 성능: ARM64(Graviton) 기반 인스턴스는 최신 세대 가상 머신을 사용하여 가성비가 매우 좋습니다.
- 💰 비용 차이: 매우 중요합니다. 일반적으로 ARM64 아키텍처를 선택하면 x86보다 약 20% 정도 저렴합니다. 똑같은 태스크를 돌려도 아키텍처 설정만 바꾸면 돈을 아낄 수 있습니다. (단, 이미지 빌드도 ARM용으로 해야 함)

2. 네트워크 모드 (Network Mode)

파게이트(Fargate)를 사용하신다면 사실상 awsvpc 모드로 고정되지만, EC2(Elastic Compute Cloud) 기반에서는 선택지가 나뉩니다.

  • awsvpc 모드 (Fargate 기본): * 특징: 각 태스크가 자신만의 고유한 Private IP를 가집니다. 마치 VPC 안에 EC2 인스턴스가 하나 더 들어온 것처럼 행동합니다.

    • 장점: 보안 그룹(Security Group)을 태스크 단위로 촘촘하게 걸 수 있습니다. (A 태스크는 DB 접근 가능, B 태스크는 불가 등)
  • Bridge / Host 모드 (EC2 전용): * 특징: 호스트 EC2의 IP와 포트를 공유해서 씁니다.

  • 💰 비용 차이: 네트워크 모드 자체로 돈을 더 받지는 않지만, awsvpc 모드 사용 시 발생하는 **데이터 전송 비용(Data Transfer Out)**이나 가용 영역(AZ) 간 통신 비용이 실질적인 비용 차이를 만듭니다.


3. 리소스 할당 (CPU & Memory)

파게이트(Fargate) 비용의 핵심입니다. "사용량만큼 낸다"는 말의 정확한 의미는 **"내가 설정한 CPU/메모리 사양만큼 예약해서 낸다"**입니다.

  • 착각하기 쉬운 점: 태스크가 실제로 CPU를 1%만 쓰고 있어도, 설정(예약)을 1 vCPU로 했다면 1 vCPU만큼의 비용이 꼬박꼬박 나갑니다. * 차이: * 설정값: 0.25 vCPU / 0.5 GB 로 설정하면 가장 저렴합니다.

    • 비용 구조: (vCPU 가격 * 시간) + (GB당 메모리 가격 * 시간).

    • 따라서 실제 사용량보다 너무 과하게 설정하면 서버리스인데도 돈이 많이 나올 수 있습니다.

📝 노트

[!note] 무엇을 선택해야 유리할까?

설정 항목 추천 선택지 비용/효율 영향
아키텍처 ARM64 약 20% 저렴하며 성능도 우수 (강력 추천)
네트워크 모드 awsvpc 보안 관리가 쉬워지나, ENI 할당 등 관리 요소 발생
CPU/메모리 최소 필요량 설정한 수치에 비례해서 초 단위로 과금됨