1. AWS CI/CD(CodeCommit, CodeBuild, Codedeploy) with ECS
2. AWS CI/CD(CodeCommit) with ECS
3. AWS CI/CD(CodeBuild) with ECS
4. AWS CI/CD with ECS - ECS 만들기
5. AWS CI/CD with ECS - ECS Service 만들기
6. AWS CI/CD(Code Deploy&Code Pipeline) with ECS
ECS 서비스를 구성하기 위해서 EBL를 생성 (옛날 EC2 환경에서 생성)
로드밸런서 유형 선택 > Application Load Balancer
- 기본 구성 > 이름 > cicd-demo 입력
- 리스너 > 기본 값인 HTTP, 80 그대로 사용(애플리케이션 접속시 http를 사용하여 접속)
- 가용 영역 > VPC, 가용 영역 및 Subnet(Public) 선택 > 다음 버튼 선택
- 보안 설정은 변경 없이 다음 버튼 선택
- 보안 그룹 구성
- 보안 그룹 할당 > 새 보안 그룹 생성 선택
- 보안 그룹 이름에 cicd-demo 입력
- 설명에 Allow http 입력
- 유형 HTTP 선택 > 다음 버튼 선택
- 대상 그룹
- 대상 그룹 > 새 대상 그룹 선택
- 이름 cicd-demo-service 입력
- 상태 검사
- 고급 상태 검사 설정 확장
- 포트 > 재정의 선택 > 8080 입력(작업 정의에서 컨테이너 포트를 8080으로 지정)
- 대상 등록은 설정 변경 없이 다음 버튼 선택
- 생성 버튼 선택
서비스 생성하기
- ECS Console에 접속 > 왼쪽 메뉴 > Amazon ECS > 클러스터 선택
- 클러스터 리스트 > cicd-demo 선택
- 서비스 탭 > 생성 버튼 선택
- 서비스 구성
- 시작 유형 > FARGATE 선택
- 서비스 이름 > cicd-demo 입력
- 작업 개수 > 2 입력
- Deployments > Rolling Update 선택 > 다음 버튼 선택
- 네트워크 구성 > VPC 및 보안 그룹
- 클러스터 VPC > 컨테이너가 위치할 VPC를 선택
- 서브넷 > 컨테이너가 위치할 서브넷을 선택(이 문서에서는 Private 서브넷을 기준으로 작성함)
- 보안 그룹 > 편집 선택 > 보안 그룹 구성
- 자동 할당 퍼블릭 IP > DISABLED 선택
- 보안 그룹 구성
- 할당된 보안 그룹 > 새 보안 그룹 생성 선택
- 보안 그룹 이름 > cicd-demo-service 입력
- 인바운드 규칙 > 유형에서 Custom TCP 선택 > 포트 범위 8080 입력(로드밸런서에서 컨테이너의 8080 포트로의 인바운드 트래픽)
- Elastic Load Balancing
- ELB 유형 > Application Load Balancer 선택
- ELB 이름 > cicd-demo 선택(사전 준비에서 생성)
- 로드를 밸런싱할 컨테이너
- cicd-demo:8080:8080 선택(작업 정의에서 생성) > ELB에 추가 버튼 선택
- 리스너 포트 > 80:HTTP 선택(사전 준비에서 생성)
- 대상 그룹 이름 > cicd-demo-service 선택
- 다른 설정은 기본 설정을 사용 > 다음 단계 버튼 선택
- 서비스 Auto Scaling은 사용하지 않음 > 다음 단계 선택
- 서비스 검토를 전반적으로 하고 생성하기 버튼 선택해서 서비스 생성 완료
서비스가 잘 동작하는지 확인하는 법은 로드밸런서의 dns 네임으로 접속하면 된다.
https://yunsangjun.github.io/cloud/2019/06/23/aws-ecs-03.html