task definition을 바탕으로
task를 만들고
그 task는 service로 노출시킬 수 있다.
cluster는 이러한 태스크의 모음
클러스터 생성 > 클러스트 탬플릿으로 네트워킹 전용 선택 > 클러스터 구성에 이름 알아서 > 시작
task definition 만들기
fargate 선택
> 작업 및 컨테이너 정의 구성에서 설정 시작
> 이름은 몽고, iam 새로만들기, 운영체제는 리눅스, 작업 크기는 그냥 작게 알아서
> 컨테이너 추가
> 컨테이너 이름 알아서, 이미지는 ecr에서가 기본, 근데 mongodb는 도커 허브에 있으니까 docker.io/mongo:latest, 포트매핑은 27017(공식문서 참조), tcp
>고급 설정에 환경변수 설정, mongo_initial_유저네임, 패스워드 설정
> 작업 정의 끝, 생성은 안된 것
> 이제 로드 밸런서가 등장
> 로드밸런서가 fargate를 타겟 그룹으로 해서 지정할 것. 이걸 ip로
로드 밸런서 만들기
> 네트워크 로드밸런서로 만들기. 왜냐면 목표로 하는 몽고db가 tcp 프로토콜을 사용하니까 그걸 지원하는 네트워크 로드밸런서로 만들어야함.
> 가용 용역은 알아서
> 네트워크 로드밸런서는 리스너를 샘플 하나가 필요로함. 아무거나 만들기 포트도 대충
> 대상그룹에서 헬스체크
> dns 엔드포인트를 기준으로 몽고db에 넣어서 확인
확인은 도커 컨테이너의 몽고db
몽고db는 손으로 올리고
내가 만든 was 는 자동으로 롤링배포
'Infra & DevOps > AWS' 카테고리의 다른 글
| [Serverless]마이크로서비스 (0) | 2022.04.06 |
|---|---|
| [ECS] 배포 시 자주 발생하는 실수 (0) | 2022.04.04 |
| [AWS][ECS][메모]배포 자동화 과정 (0) | 2022.04.02 |
| [AWS]Application Load Balancer (0) | 2022.03.30 |
| [AWS]오답 정리 (0) | 2022.03.30 |