A. Execution Role (지금 만든 task_exec)
- task runtime준비 / 부팅용
- 이미지 pull / 로그 전송, 시크릿/파라미터 주입 같은 태스크 시작시 필요한 것
B. Task Role (별도로 만드는 경우 많음)
- 컨테이너 앱 코드가 AWS API를 호출할 때 쓰는 권한
- 컨테이너가 S3 GetObjecy, DynamoDB PutItem, SQS Senmeaage등
컨테이너가 AWS API를 직접 호출하는 케이스면 Task Role이 따로 필요합니다
반대로 그냥 nginx 띄우고 로그만 보내요 -> Execution Role만으로 충분
-----------------------------------------------------------------------------------------------

----------------------------------------------------------------------
1. ECS는 Fargate로 사용 -> Execution ROle
일반 EC2 Launch Type으로 사용해도
-> 똑같이 Execution Role을 사용
-
실행 주체 레이어 분해
Fargate : Container runtime + Host OS + Agent
-> 전부 AWS소유
그래서
- Img pull
- 로그 전송
- ENI 생성
이 모든 걸 AWS 내부 Fargate infra가 대신 수행, 그래서 Execution Role 필요
ECS Agent : EC2 내부 데몬
- Docker 실행
- img pull
log push
컨테이너를 내가 직접 실행하는 게 아니고, ECS Agent가 수행한다.
Role 사용 주체?
ECS Control Plane
│
▼
ECS Agent (on EC2)
│
▼
Docker Container
물론 EC2 타입은 instance profile이 필요하다
'[2] 250909~ 클라우드 > [b] 12월 : Terraform + Ansible' 카테고리의 다른 글
| [41] ECS fargate 네트워크 아키텍쳐 (0) | 2026.02.11 |
|---|---|
| [40] Dockerd / Containerd / runc + k8s (0) | 2026.02.10 |
| [38] Policy 정리 (ECS fargate(taskEXE) / EC2->S3 / cloudfront-> S3 ) (0) | 2026.02.09 |
| [37] ECS (0) | 2026.02.07 |
| [36] 명령어 모음 (0) | 2026.02.07 |