Infra & DevOps/AWS

[AWS][ECS]task definition-service 메모

용감한 개복치 2022. 4. 2. 22:35

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