[AWS]AWS ECS EXEC 설정 및 사용하기
안녕하세요?
곰군 입니다.
본 글에서는 AWS ECS Fargate에서 실행 중인 컨테이너 내부에 접속해서 실시간으로 로그를 보거나, 디버깅, 어플리케이션 관리를 수행할 수 있는 EXEC 기능에 대해서 소개하고 설정 및 사용하는 시간을 가져보겠습니다.
AWS ECS EXEC가 뭔가요?
AWS ECS Fargate에서 “EXEC” 기능은 AWS에서 컨테이너 내부로 “exec” 커맨드를 사용하여 컨테이너 내부에 접속하거나 커맨드를 실행할 수 있는 기능을 말합니다. 이는 aws ecs execute-command 명령어를 통해 사용할 수 있으며, 개발자나 관리자는 이 기능을 사용하여 실행 중인 컨테이너의 내부에 접속해서 실시간으로 디버깅하거나 애플리케이션 관리 작업을 수행할 수 있습니다.
AWS ECS EXEC 설정 및 접속하기
- IAM 설정
ECS의 TASK 역할에 IAM을 설정해야 합니다.
AmazonSSMManagedInstanceCore -> 해당 역할을 설정하면 됩니다. - ECS에 접근할 EC2 설정(클라우드쉘에서 접근하면 생략해도 됩니다.)
oECS 접근할 EC2에 IAM 역할을 설정한다.
* AmazonSSMManagedInstanceCore 권한이 있어야 SSM 접속이 가능하다.


oEC2에 접근한 후 CLI 설치
sudo yum install -y aws-cli //설치 명령어
aws –version //설치확인
3. ECS 서비스 설정 변경
o upddat-service 실행
o 상세 내용 확인
하기 cli를 실행하여 task의 enableExcuteCommand가 true 상태인지 확인해야 합니다.

4. execute-command로 접속
o execute-command로 fargate 내부 접속
정상 접속되면 하기와 같이 세션이 시작된다.

설정 시 문제 확인 방법
접속 실패 시 에러메세지가 디테일 하지 않아서 직접적인 조치를 위해서는 해당 스크립트를 활용하는 것이 좋습니다.
https://github.com/aws-containers/amazon-ecs-exec-checker
해당 소스를 다운로드 혹은 git clone하여 ec2에 설치 후, 하기 명령어를 실행하면 다양한 환경에 대한 검사를 실행하고 결과를 반환합니다.
./check-ecs-exec.sh 클러스터명 타스크명 Ex)
./check-ecs-exec.sh abcd-fs-ecs-clstr 0924ffa6485d4963b6c91cfb1e1ef6a6

해당 결과를 확인해서 미해결 상태인 문제를 해결하면 정상적으로 접근이 됩니다.
'Cloud' 카테고리의 다른 글
[AWS] Terraform과 github action연동하기 (0) | 2025.02.13 |
---|---|
[AWS] ECS Service에 복수 TargatGroup 설정하기 (0) | 2025.02.13 |
[AWS LAMBDA] 동시성 설정 및 오토스케일링 적용하기 (0) | 2025.02.13 |
[AWS] VPC Flow Logs를 Logs Insights를 활용해 쉽게 확인하기 (1) | 2025.02.13 |
[AWS]OpenSSH 보안 업데이트 권고 관련 계정 내 ssh 버젼 쉽게 체크하기! (0) | 2024.07.04 |
댓글