AWS Fargate 용량 제공자 - Amazon Elastic Container Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Fargate 용량 제공자

Amazon ECS 온 AWS Fargate 용량 공급자를 사용하면 Amazon ECS 작업에 Fargate 및 Fargate 스팟 용량을 모두 사용할 수 있습니다.

Fargate Spot을 사용하면 Fargate 가격 대비 할인된 요금으로 중단 방지 Amazon ECS 작업을 실행할 수 있습니다. Fargate 스팟은 여분의 컴퓨팅 용량에 대한 태스크를 실행합니다. AWS 에 용량이 다시 필요한 경우 2분간 경고한 후에 작업이 중단됩니다.

Fargate 용량 공급자 고려 사항

Fargate 용량 공급자를 사용할 때는 다음 사항을 고려해야 합니다.

  • Fargate의 Windows 컨테이너는 Fargate Spot 용량 공급자를 지원하지 않습니다.

  • ARM64 아키텍처를 사용하는 Linux 작업은 Fargate Spot 용량 공급자를 지원하지 않습니다. Fargate Spot은 X86_64 아키텍처를 사용하는 Linux 작업만 지원합니다.

  • Fargate 및 Fargate Spot 용량 공급자를 생성할 필요가 없습니다. 모든 계정에서 사용할 수 있습니다. 이들을 사용하려면 클러스터에 연결하기만 하면 됩니다.

  • Fargate 및 Fargate 스팟 용량 공급자를 클러스터에 연결하려면 Amazon ECS API 또는 를 사용해야 합니다. AWS CLI 콘솔을 사용하여 연결할 수는 없습니다.

  • Fargate 및 Fargate Spot 용량 공급자는 예약되어 있으며 삭제할 수 없습니다. 하지만 PutClusterCapacityProviders API 작업을 사용하여 용량 공급자를 클러스터에서 연결 해제할 수 있습니다.

  • PutClusterCapacityProviders API 작업을 사용하여 용량 공급자를 기존 클러스터와 연결할 수도 있습니다.

  • Fargate Spot을 사용하는 경우 플랫폼 버전 1.3.0 이상(Linux용)을 사용해야 합니다. 자세한 설명은 Fargate Linux 플랫폼 버전 섹션을 참조하세요.

  • Fargate 및 Fargate 스팟 용량 공급자를 사용하는 작업이 중지되면 작업 상태 변경 이벤트가 Amazon으로 전송됩니다. EventBridge 중지된 이유는 원인을 설명합니다. 자세한 설명은 작업 상태 변경 이벤트 섹션을 참조하세요.

  • 클러스터에 Fargate 용량 공급자와 오토 스케일링 용량 공급자가 혼합되어 있을 수 있습니다. 그러나 용량 공급자 전략에 Fargate 또는 오토 스케일링 용량 공급자만 포함될 수 있으며 둘 다 포함될 수는 없습니다. 자세한 정보는 Amazon Elastic Container Service 개발자 안내서오토 스케일링 용량 공급자를 참조하세요.

Fargate Spot 종료 경고 처리

스팟 용량을 항상 사용할 수 있는 것은 아니므로 다음과 같은 결과가 초래될 수 있습니다.

  • 수요가 매우 많은 기간에는 Fargate 스팟 용량을 사용할 수 없을 수 있습니다. 이로 인해 Fargate 스팟 작업이 지연될 수 있습니다. 이러한 경우 Amazon ECS 서비스는 필요한 용량을 사용할 수 있을 때까지 작업 시작을 다시 시도합니다. Fargate는 스팟 용량을 온디맨드 용량으로 대체하지 않습니다.

  • 스팟 중단으로 인해 Fargate Spot 용량을 사용하는 태스크가 중지되면 태스크가 중단되기 전에 2분 간 경고가 전송됩니다. 경고는 Amazon에 작업 상태 변경 이벤트로 EventBridge 전송되고 실행 중인 작업에는 SIGTERM 신호로 전송됩니다. Fargate Spot을 서비스의 일부로 사용할 경우 이 시나리오에서 서비스 스케줄러는 중단 신호를 수신하고 사용 가능한 용량이 있는 경우 Fargate Spot에 대한 추가 작업의 시작을 시도합니다. 작업이 하나뿐인 서비스는 용량을 사용할 수 있을 때까지 중단됩니다. 정상 종료에 대한 자세한 내용은 Graceful shutdowns with ECS를 참조하세요.

작업이 중지되기 전에 컨테이너가 정상적으로 종료되도록 하려면 다음을 구성할 수 있습니다.

  • 태스크가 사용 중인 컨테이너 정의에서 stopTimeout 초 이하의 120 값을 지정할 수 있습니다. 기본 stopTimeout 값은 30초입니다. stopTimeout 값을 더 길게 지정하면 작업 상태 변경 이벤트가 수신되는 순간부터 컨테이너가 강제로 중지되는 시점 사이의 시간이 더 많이 확보됩니다. 자세한 설명은 컨테이너 제한 시간 섹션을 참조하세요.

  • SIGTERM 신호를 컨테이너 내에서 수신해야 정리 태스크를 수행할 수 있습니다. 이 신호를 처리하는 데 실패하면 작업은 구성된 stopTimeout 이후에 SIGKILL 신호를 받는 데 실패하여 데이터가 손실되거나 오류가 발생할 수 있습니다.

다음은 작업 상태 변경 이벤트의 코드 조각입니다. 이 코드 조각에는 Fargate Spot 중단에 대한 중지 사유와 중지 코드가 표시됩니다.

{ "version": "0", "id": "9bcdac79-b31f-4d3d-9410-fbd727c29fab", "detail-type": "ECS Task State Change", "source": "aws.ecs", "account": "111122223333", "resources": [ "arn:aws:ecs:us-east-1:111122223333:task/b99d40b3-5176-4f71-9a52-9dbd6f1cebef" ], "detail": { "clusterArn": "arn:aws:ecs:us-east-1:111122223333:cluster/default", "createdAt": "2016-12-06T16:41:05.702Z", "desiredStatus": "STOPPED", "lastStatus": "RUNNING", "stoppedReason": "Your Spot Task was interrupted.", "stopCode": "SpotInterruption", "taskArn": "arn:aws:ecs:us-east-1:111122223333:task/b99d40b3-5176-4f71-9a52-9dbd6fEXAMPLE", ... } }

다음은 Amazon ECS 작업 상태 변경 이벤트에 대한 EventBridge 규칙을 생성하는 데 사용되는 이벤트 패턴입니다. 필요한 경우 detail 필드에 클러스터를 지정할 수 있습니다. 이렇게 하면 해당 클러스터에 대한 작업 상태 변경 이벤트를 수신하게 됩니다. 자세한 내용은 Amazon EventBridge 사용 설명서의 EventBridge 규칙 생성을 참조하십시오.

{ "source": [ "aws.ecs" ], "detail-type": [ "ECS Task State Change" ], "detail": { "clusterArn": [ "arn:aws:ecs:us-west-2:111122223333:cluster/default" ] } }