AWS

ECS fargate 구성해보기

황동리 2024. 2. 3. 21:39
반응형

Management(스케쥴링, 스케일링, 배포 전략)

  • ECS
  • EKS

Hosting(컨테이너가 수행되는 곳)

  • EC2
  • Fargate

Image Registry(컨테이너 이미지 저장소)

  • ECR

Control plane(=master node)은 aws에서 관리한다.


권장하는 ECS 설정 순서

  1. Cluster 생성
  2. ECR 생성
  3. ELB 생성
  4. Dockerfile 수정 또는 작성
  5. Docker image ECR에푸시
  6. Task Definition
  7. 서비스 생성 또는 서비스 업데이트

1차 배포 이후
1. Docker image ECR에푸시
2. Task Definition
3. 서비스 생성 또는 서비스 업데이트


ECS fargate 구성 절차

  1. Cluster 구성
  2. ECR 구성
  3. ALB 구성, 단 이때 대상그룹/리스너는 삭제
  4. 작업 정의서 생성
  5. 작업 정의서에 해당하는 서비스 구성
  • ALB 구성, 이때 해당하는 포트 지정
  • autoscaling 구성, 이 때 알람을 설정
  • 돈이 많다면 container insight를 활성화 한다.
  1. 대상그룹에서 해당하는 수량의 컨테이너가 액티브로 올라오는지 확인한다.
  2. CloudWatch에서 알람 설정이 잘 되어있는지 확인

구성
1. Cluster 구성

 

 

1-1 vi /root/.aws/credentials
처음에는 [default]만 존재합니다. 아래 사진과 동일하게 [role] 정보를 입력을 해줍니다.


1-2 aws configure 다시 입력


2. ECR 구성

 

 

 

  • 1번 명령어 실행
  • 2번 명령어 실행
    명렁어를 실행 하기 이전에 dockerfile을 만들어 두고
    docker build -t ecs-nginx . 실행해줘야한다.

  • 3번 명령어 실행
  • 4번 명령어 실행
  1. ALB 구성

ECS의 fargate 작업을 하려면 ALB가 필요한데, 우선 대상 그룹을 먼저 생성을 해야한다.

 


대상 그룹은 선택하지 않아도 된다.


대상 그룹을 다 만들어줫으면 ALB로드밸런서를 만들어주면 된다.

 

 


리스너를 삭제 해준다.

  1. 작업 정의

    fargate로 작업을 생성 해준다.



    여기서 중요한 것은 이미지를 만든 것을 ECR에 넣어주었으니, 컨테이너를 만들 때 사용하는 이미지는 ECR의 레포지토리 URI를 복사해서 넣어주어야 한다.
    소프트 제한이 최소 메모리 사용량, 하드 제한이 최대 메모리 사용량

  2. 작업 정의에 맞는 서비스 생성


    원하는 vpc, 서브넷, 보안 그룹 선택 그리고 이전에 만들어 두었던 ALB를 꼭 선택을 해줘야한다. 그리고 로드밸런서 편집을 눌러서 리스너 포트를 넣어준다

    오토스케일링을 해줄 수 있다.
  3. 대상 그룹에 클러스터에서 자동으로 생성한 컨테이너가 들어갔는지 확인
  4. 로드밸런스의 DNS주소로 확인

반응형