본문 바로가기
Final Project

Devops Day 74 (6.20) Final Project_Day 8

by Jackykim 2023. 6. 22.

ECS Terraform 구현 

AWS GUI에서 먼저 구현하고 Terraform 구현하기로 했습니다. 
1. AWS ECS 콘솔에 들어가 태스크 정의 생성
1.2 ECS 클러스터 생성전에 ECS VPC 생성
- IPv4 CIDR 10.0.0.0/16 로 설정
- Public subnet 2ea / private subnet 2ea
- Nat gateway 없음 + VPC 엔드포인트 없음

 

1.3 보안 그룹 생성 (Security Group)
- EC2 -> 보안 그룹 들어가 생성
- VPC는 final-project-ecs 선택

 

1.4 ECS 클러스터 생성 완료 후 서비스 생성
- 시작 유형 선택
- 배포 구성에서 서비스 선택 + 내용 기입
- VPC / subnet + 보안 그룹 선택
- 로드 밸런싱 (NLB) 선택 후 생성 + 대상 그룹 final-project-fg 생성 -> 단 NLB 선택 할 경우 EC2 로드벨런서 (ALB) 생성 필수
- 현재 서비스에서 circuit breaker error (보통 image 문제) -> GUI 에서 어느 정도 구현이 되서 바로 terraform 으로 작성하였습니다. 

 

ECS Terraform 첫 날에 하단 terraform 코드 작성했습니다. 
- vpc.tf

- vpc-subnet.tf

- vpc-routetable.tf

- vpc-gateway.tf

- security-group.tf

- main.tf  

 

진행 하면서 이슈 
이슈 1. ECS 서비스에 application load balancer 추가 할 경우 진행 할 수 없다는 error 발생 + NLB 로 진행 할 경우 alb 먼저 생성 해야 합니다.

이슈 2. ECS 클러스터에서 서비스 생성할 때 cloudformation에서 Resource handler returned message: "Error occurred during operation 'ECS Deployment Circuit Breaker was triggered'." 보통 메세지 원인은 ECR 업로드된 이미지에 문제일 가능성이 높습니다. terraform 코드 구성했을 이상없이 진행됐습니다.

이슈 3. Terraform 으로 vpc-subnet 코드 작성할때 오타 및 이름을 잘 못 작성하여 error 가 발생했습니다.