【AWS】기존의 ECS Cluster에 Fargate Spot를 적용시킨다

개요



올해의 re:invent에서 Fargate에도 spot Instance 같은 것을 사용할 수 있게 되었습니다.
가격이나 어떤 서비스인지는 클라메소 씨의 블로그를 봐주세요.
【최대 70% 할인으로 사용 가능, 도쿄에서도 이용 가능】AWS Fargate Spot가 릴리스 되었습니다.

이번에는 기존 Cluster에 적용하려면 관리 콘솔에서의 방법을 모르기 때문에 CLI에서 했습니다.
이를 위한 절차만 기재하겠습니다.

절차



AWS CLI 업데이트



CapacityProviders용 명령이 있으므로 버전을 최신으로 만듭니다.

console
pip install --upgrade awscli

이번 절차는 다음 버전에서 수행했습니다.

console
$ aws --version
aws-cli/1.16.296 Python/3.7.4 Darwin/18.7.0 botocore/1.13.32

CLI 명령


aws ecs put-cluster-capacity-providers \
     --cluster [クラスター名] \
     --capacity-providers FARGATE FARGATE_SPOT \
     --default-capacity-provider-strategy capacityProvider=FARGATE,weight=1,base=1\ \
     --profile [プロファイル名]

참조 기사에는 --capacity-providers 에는 이미 설정되어 있는 CapacityProviders도 전부 써 보려고 합니다만, 없기 때문에 FARGATE , FARGATE_SPOT 의 2개로 OK입니다.--default-capacity-provider-strategy 에 대해서는, 디폴트로의 CapacityProviders 와 비율(weight) 및 최저 필요수 (base)를 기재합니다.

Update Cluster



명령 실행 후 CapacityProviders 탭에 이와 같이 표시됩니다.



그런 다음 오른쪽 상단의 Update Cluster를 누르면 다음과 같이 비율을 설정할 수 있습니다.



주의점



2019/12/04 시점에서는 CapacityProviders 탭에서 CapacityProvider를 선택하고 Deactivate를 누르면 사라집니다.
사라진 후에 Update Cluster 화면으로 돌아가도 원래로 되돌릴 수 없기 때문에 또 CLI에서입니다.

검증중입니다만, 설정만 해도 다음에 태스크가 FARGATE_SPOT 로 올라오지 않을 가능성이 있습니다.
그렇다면 CLI에서 서비스를 강제 배포하면 갈 수있었습니다.
여기는 확인 후 다시 올립니다.

2019/12/21 추가



그 후의 조사한 내용을 블로그 에 정리했습니다.

참조 기사



Using AWS Fargate Capacity Providers

좋은 웹페이지 즐겨찾기