ECS+EC2에서 실행 중인 서비스를 Fargate로 교체

5473 단어 FargateECSAWS
AWS Fargate Advent Calendar 2017의 15일째

이 기사에서는 ECS+EC2에서 실행 중인 서비스를 ECS+Fargate로 교체할 때 수행한 작업을 소개합니다.

또한 작업에 AWS Management Console을 사용합니다.

현재 구성 정보



구성으로서는 아래와 같이



현재 ECS+EC2에서 실행 중이므로 이미 이미지 및 작업 등록이 완료되었습니다.

응용 프로그램 내에서 사용하기 위해 RDS 및 Elasticache와 함께 작동합니다.

작업 편집



먼저 작업을 편집합니다.

1. Requires compatibilities 변경



FARGATE에 체크 표시



체크를 하면 경고가 나옵니다



경고 내용



The selected network mode is not compatible with Fargate.
Fargate requires the awsvpc network mode.
awsvps 로 네트워크 모드를 변경하라는 것

No Task execution role specified
Task execution role is required for logging and private image pulls for Fargate tasks. Failure to specify the role may lead to task failure or missing logs.

작업에 loggingprivate image를 사용한다면 role을 설정하라는 것

이번 프로젝트에서는 private image를 사용하므로 설정합니다.

2. 네트워크 모드 변경


awsvpc를 선택합니다.



3. Task execution role 변경


ecsTaskExecutionRole 를 설정했습니다.

4. Task size 설정





5. 저장



저장
컨테이너 내용에 대해서는 이번에는 특별한 변경이 없으므로 그대로

Fargate용 서비스 추가



서비스 추가

1. 만들기 버튼을 누릅니다.





2. 서비스 설정하기



항목을 입력합니다.
  • Launch TypeFARGATE 를 선택합니다.
  • 작업 정의는 이전에 만든 것을 선택합니다.



    3. 네트워크 구성



    VPC와 서브넷은 적절히 설정



    보안 그룹 설정



    보안 그룹도 적절하게 설정합니다.
    기본적으로 새로 만들어져 있습니다.
    편집을 누르면 다음 화면이됩니다.



    Elastic Load Balancing 설정



    EC2 구성 시에도 Elastic Load Balancing을 이용하고 있었으므로 이번에도 설정합니다.

    ELB 타입 선택


    Application Load Balancer를 선택합니다.



    부하 분산 용 컨테이너 설정



    ELB에 추가


    ELBへの追加를 선택합니다.



    리스너 포트 선택


    80:HTTP를 선택합니다.



    대상 그룹의 항목 설정



    Fargate에 대한 대상 그룹을 설정합니다.

    패스 패턴은 부하 분산의 전략에 의한다고 생각합니다만, 이번은 Fargate를 사용하기 위해 /*

    次のステップへ를 선택하고 다음으로 이동합니다.

    Auto Scaling 설정



    Auto Scaling의 설정도 할 수 있는 것 같습니다만, 나에게는 지금까지 필요 없기 때문에 날렸습니다



    확인 및 작성


    サービスの作成를 선택하여 만듭니다.



    일어날 때까지 기다리다



    아래와 같이 상황이 ACTIVE 가 될 때까지 기다립니다

    아래쪽의 서비스가 EC2에서 움직이고 있던 서비스가 됩니다.



    이상으로 작업 완료

    감상



    끝내 보면 의외로 간단했습니다.

    앞으로 Fargate로 바꾸려고하는 분의 참고가 되시면 감사하겠습니다.
  • 좋은 웹페이지 즐겨찾기