본문 바로가기
Programming/개발 공부

[AWS] ECS에 EC2연결하기, EC2 인스턴스에서 ECS Cluster 연결 설정하기

by 오늘 하루s 2024. 8. 29.
728x90

ECS Cluster생성

 

클러스터 생성 클릭

 

 

클러스터 이름 입력, 인프라는 모두 선택 해제해 주었다.

 

 

클러스터 생성완료

 

 

EC2 인스턴스에서 ECS Cluster 연결 설정

EC2는 앞서 만들어 두었던 EC2인스턴스를 사용하였다.

 

1) ECS agent 설치

~$ curl -O https://s3.us-west-2.amazonaws.com/amazon-ecs-agent-us-west-2/amazon-ecs-init-latest.amd64.deb
~$ sudo dpkg -i amazon-ecs-init-latest.amd64.deb

 

2) 설정 파일 수정

  • 파일을 편집 /lib/systemd/system/ecs.service하고 섹션의 끝에 다음 줄을 추가 [Unit].
sudo nano /lib/systemd/system/ecs.service

 

명령어로 /lib/systemd/system/ecs.service를 열어준다.

[Unit] 섹션 끝에 다음을 추가해준다.

After=cloud-final.service

 

  • (선택 사항) 클러스터가 아닌 다른 클러스터에 인스턴스를 등록하려면 파일 default을 편집 /etc/ecs/ecs.config하고 다음 내용을 추가
sudo nano /etc/ecs/ecs.config

 

명령어로 /etc/ecs/ecs.config를 열어준다.

ECS_CLUSTER=MyCluster

 

 

본인의 경우 Cluster이름이 test이므로 ECS_CLUSTER=test를 추가해 주었다.

 

~$ sudo systemctl start ecs

 

그리고 서비스를 재시작 해준다.

 

근데 연결이 잘 안되었다...

 

 

sudo systemctl status ecs.service명령어를 통해 ESC 에이전트가 올바르게 시작되고 지정된 클러스터에 등록되었는지 확인한다.
로그에 Agent exited with code 1 이 뜨며 에이전트가 시작을 시도할 때마다 실패하고 있었다.

 

 

EC2 IAM 역할 부여

 

IAM 역할 및 권한 확인을 해보니 역할 부여가 안되어 있다.

 

 

IAM 역할 생성

IAM - 역할 - 역할 생성

 

AmazonEC2ContainerServiceforEC2Role 권한 추가

 

역할 이름 입력 후 역할 생성

 

 

IAM역할 부여

ec2 인스턴스 - 보안- IAM 역할 수정

 

위에서 생성한 IAM 역할 업데이트를 해준다.

 

 

ECS Cluster에 연결 확인

 

등록된 컨테이너 인스턴스에 1개가 등록되고 컨테이너 인스턴스도 활성화되어 ECS에 EC2가 잘 연결 되었다.

 

 

 

참고 자료)

https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-install.html#ecs-agent-install-al2

 

Installing the Amazon ECS container agent - Amazon Elastic Container Service

The systemd units for both Amazon ECS and Docker services have a directive to wait for cloud-init to finish before starting both services. The cloud-init process is not considered finished until your Amazon EC2 user data has finished running. Therefore, st

docs.aws.amazon.com

 

https://velog.io/@heoze/%EB%8F%84%EC%A0%84-%ED%94%84%EB%A6%AC%ED%8B%B0%EC%96%B4%EB%A1%9C-AWS-ECS-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-ECS-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EC%97%90-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4-%EC%97%B0%EA%B2%B0-%EA%B0%84%EB%8B%A8-%EB%B0%B0%ED%8F%AC-%ED%85%8C%EC%8A%A4%ED%8A%B8

 

💪도전! 프리티어로 AWS ECS 사용하기: ECS 클러스터에 EC2 인스턴스 연결 + 간단 배포

이제는 더 이상 미룰 수 없다. AWS ECS 첫 사용기

velog.io

 

728x90