Amazon ECS サービスにスケジュールされたスケーリングアクションを確認、管理する方法を教えてください。

所要時間2分
0

Amazon Elastic Container Service (Amazon ECS) サービスにスケジュールされたスケーリングアクションを確認、管理したいです。

解決策

注: AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI で発生したエラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

サービスの自動スケーリングを使用して、特定の時間における Amazon ECS サービスの最小タスク数と最大タスク数をスケジュールします。Amazon ECS コンソールまたは AWS CLI を使用することで、サービスの自動スケーリングを設定できます。

AWS CLI を使用してスケジュールされたスケーリングアクションを設定するには、まず Amazon ECS サービスをスケーラブルターゲットとして登録する必要があります。Amazon ECS サービスにスケーラブルターゲットがあるかどうかを確認するには、次の describe-scalable-targets コマンドを実行します。

aws application-autoscaling describe-scalable-targets \
  --service-namespace ecs \
  --resource-id service/ecs-cluster/service-name

注: お使いのものでそれぞれ、ecs-cluster をクラスター名に、service-name をサービス名に置き換えます。

Amazon ECS サービスにスケーラブルターゲットがない場合は、次の register-scalable-target コマンドを実行してターゲットを追加します。

aws application-autoscaling register-scalable-target \
  --service-namespace ecs \
  --scalable-dimension ecs:service:DesiredCount \
  --resource-id service/ecs-cluster/service-name \
  --min-capacity 0 \
  --max-capacity 0

注: お使いのものでそれぞれ、ecs-cluster をクラスター名に、service-name をサービス名に置き換えます。

Amazon ECS コンソールを使用し、スケジュールされたすべてのスケーリングアクションを確認、変更するには、次の手順を実行します。

  1. Amazon ECS コンソールを開きます。
  2. [サービスの自動スケーリング] タブを選択します。
  3. [スケジュールされたアクション][アクション] ドロップダウンリストで、[表示][編集][削除] のいずれかを選択します。

AWS CLI を使用して新しいスケジュールされたスケーリングアクションを作成するか、既存のスケジュールされたスケーリングアクションを変更するには、次の put-scheduled-action コマンドを実行します。

aws application-autoscaling put-scheduled-action \
  --service-namespace ecs \
  --scalable-dimension ecs:service:DesiredCount \
  --resource-id service/ecs-cluster/service-name \
  --scheduled-action-name action-name \
  --scalable-target-action MinCapacity=minimum-count,MaxCapacity=maximum-count \
  --schedule "schedule"

注: お使いのものでそれぞれ、ecs-cluster をクラスター名に、service-name をサービス名に、action-name をスケジュールしたアクション名に置き換えます。さらに、minimum-count を最小タスク数に、maximum-count を最大タスク数に、scheduleレートcronat 式のいずれかに置き換えます。

AWS CLI を使用してスケジュールされたアクションを確認するには、次の describe-scheduled-actions コマンドを実行します。

aws application-autoscaling describe-scheduled-actions \
  --service-namespace ecs \
  --resource-id service/ecs-cluster/service-name

注: お使いのものでそれぞれ、ecs-cluster をクラスター名に、service-name をサービス名に置き換えます。

AWS CLI を使用してスケジュールされたアクションを削除するには、次の delete-scheduled-action コマンドを実行します。

aws application-autoscaling delete-scheduled-action \
  --service-namespace ecs \
  --scalable-dimension ecs:service:DesiredCount \
  --resource-id service/ecs-cluster/service-name \
  --scheduled-action-name action-name

注: お使いのものでそれぞれ、ecs-cluster をクラスター名に、service-name をサービス名に、action-name をスケジュールしたアクション名に置き換えます。

Amazon ECS サービスでスケジュールしたアクションをすべて削除した場合は、そのサービスはスケーラブルターゲットとなり、登録解除できます。次の deregister-scalable-target コマンドを実行します。

aws application-autoscaling deregister-scalable-target \
  --service-namespace ecs \
  --resource-id service/ecs-cluster/service-name \
  --scalable-dimension ecs:service:DesiredCount

注: お使いのものでそれぞれ、ecs-cluster をクラスター名に、service-name をサービス名に置き換えます。

AWS公式
AWS公式更新しました 2ヶ月前
コメントはありません

関連するコンテンツ