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가 잘 연결 되었다.
참고 자료)
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
💪도전! 프리티어로 AWS ECS 사용하기: ECS 클러스터에 EC2 인스턴스 연결 + 간단 배포
이제는 더 이상 미룰 수 없다. AWS ECS 첫 사용기
velog.io
'Programming > 개발 공부' 카테고리의 다른 글
[Docker] Docker hub image pull 받기, Doker Desktop 실행, cmd 실행 (0) | 2025.01.14 |
---|---|
[Docker] Docker image 만들기, push 하기 (0) | 2024.09.05 |
[AWS] 스프링 부트 프로젝트 배포 및 실행 (0) | 2024.08.28 |
[AWS] EC2 사용하기 (0) | 2024.08.27 |
[AWS] AWS 계정 생성 및 설정 (0) | 2024.08.23 |