Amazon Web Services ブログ

Fargate のサービスクォータが vCPU ベースに変更になります

この記事は Migrating Fargate service quotas to vCPU-based quotas (記事公開日: 2022 年 6 月 28 日) の翻訳記事です。

: 2022 年 10 月 11 日の時点で移行タイムラインの日付が更新されています。

2017 年の AWS Fargate のローンチ以来、Amazon Elastic Container Service (Amazon ECS) タスクの同時実行に関する様々なクォータと、Amazon Elastic Kubernetes Service (Amazon EKS) で起動可能な Pod のクォータを着実に増やしてきました。

  • 2017 年: 20 のオンデマンドタスク
  • 2018 年: 50 のオンデマンドタスク
  • 2019 年: 100 のオンデマンドタスクと Pod、250 の Spot タスク
  • 2020 年: 500 のオンデマンドタスクと Pod、500 の Spot タスク
  • 2021 年: 1,000 のオンデマンドタスクと Pod、1,000 の Spot タスク

これらのクォータはソフト制限です。サービスクォータコンソールを使用するか、AWS サポートチケットを起票することでクォータを増やすことができます。AWS は Fargate の体験をシームレスなものしたいと考えています。高まっていくお客さまの期待に応えるために、Fargate のサービスクォータを再度調整する時期に来ています。また、クォータの仕組みをさらに根本的に変更することもお知らせします。

過去 5 年間、クォータの値は特定の時間に実行されている Amazon ECS タスクと Amazon EKS の Pod の合計数に基づいていました。しかし、Fargate ではタスク/ Pod あたり 0.25 vCPU から最大 4 vCPU まで、様々なサイズを選択可能です(訳注: 2022 年 9 月 16 日に 最大 16 vCPU 利用可能になりました)。また AWS の公開ロードマップ上で、多くのお客様から Fargate のタスクサイズをさらに大きくしてほしいという要望もいただいています。タスク / Pod の利用範囲の広がりを考えると、タスク / Pod の数を絶対的な 1,000 という値に強制するクォータはもはや意味が薄れてきています。たとえば 0.25 vCPU でタスクを起動する場合、タスク数上限の 1,000 タスクでは 250 vCPU しか起動できません。一方、 4 vCPU のタスクを起動すると最大 4,000 個の vCPU を起動できます。そのため、実際に利用できる計算能力の量は、タスク / Pod のサイズをどのように設定するかによって大きく異なってしまいます。

Fargate は可能な限り柔軟に対応できるようにするため、今年 (2022年)、すべての AWS アカウントを対象に、お客様がリクエストした vCPU の同時実行の総数に基づく新しい Fargate クォータに移行します。たとえば、新しい vCPU ベースのクォータでは、次のシナリオはすべて vCPU ベースのクォータから 4 vCPU を消費します。

  • 0.25 vCPU のタスク/ Pod を 16 個
  • 1 vCPU のタスク/ Pod を 4 個
  • 4 vCPU のタスク/ Pod を 1 個

この変更は、実行中のワークロードに影響を与えることなく実装されます。ただし、起動できるタスク / Pod の総数は、使用しているタスク/ Pod の構成によっては増加する可能性があります。新しい vCPU ベースのクォータは、サービスクォータコンソールで確認できます。Fargate の vCPU ベースのクォータは次の表にも記載されています。

リージョンあたりのクォータ (変更後) 新しい vCPU ベースのクォータ 調整可能
Fargate オンデマンド vCPU リソース数 4,000 vCPUs はい
Fargate Spot vCPU リソース数 4,000 vCPUs はい

もし以前に 1,000 を超える Fargate タスク/ Pod を起動するためのクォータの引き上げをリクエストしていた場合、このクォータ移行プロセスは、増加したタスク/ Pod 数のクォータに合わせて動的に調整されます。現在実行中のタスク / Pod のサイズに基づいて、少なくとも現在実行できるタスク / Pod の数と同じ数のタスク / Podを起動するための新しい vCPU クォータが与えられます。(訳注: ブログ公開時点では 4 vCPU が最大であったため、4 vCPU を基準として計算されます。例: クォータを 2,000 タスクに引き上げていた場合、8,000 vCPU が適用)

タスク/ Pod のクォータと同様に、新しい AWS アカウントは初期状態で低い vCPU 上限が適用される場合があります。この制限は、AWS アカウントの使用状況に応じて最大 4,000 vCPU のソフト制限まで、時間の経過とともに自動的に増加することができます。従来通り、Fargate の上限は調整可能です。Fargate の vCPU クォータが原因で必要な量のタスク / Pod を起動できない場合は、AWS サポートチケットを起票するか、サービスクォータコンソールを使用して上限の引き上げをリクエストできます。

新しいクォータの事前テスト

以下のタイムラインは、クォータ変更への移行について説明しています。

  • フェーズ 1: 2022/9/8 開始 — お客様は、移行前に新しい vCPU ベースのクォータの使用を選択できるようになります。オプトインすると、お客様のアカウントは以前のタスク / Pod 数ベースのクォータではなく、vCPU ベースのクォータによって管理されます。タスク / Pod 数のクォータは、オプトインしないアカウントではデフォルトのままです。
  • フェーズ 2: 2022/10/10 〜 10/21 — この期間中、すべての AWS アカウントはアクションなしで新しい vCPU ベースのクォータに自動的に移行されます。この移行を遅らせるために、お客様は事前にオプトアウトすることができます。
  • フェーズ 3: 11/1 〜 11/15 — オプトアウト期間が終了し、オプトアウトしていたすべてのアカウントは、新しい vCPU ベースのクォータに恒久的に移行されます。以前のタスク / Pod 数ベースのクォータは、 2022/11/16 以降使用できなくなります。

フェーズ 1 とフェーズ 2 の間では、次の 2 つの方法のいずれかを使用して、お客様の AWS アカウントでどの Fargate クォータを有効にするかを調整できます。

  • PutAccountSettingDefaultAPI — この API により、Amazon ECS をご利用のお客様は、vCPU クォータまたはタスク数を指定するクォータのいずれかを有効にするかをシームレスに調整できます。
  • AWS サポートチケット — Amazon ECS と EKS をご利用のお客様は、「サービス上限の引き上げ」に関するケースを作成し、Fargate アカウントの vCPU 制限へのオプトインまたはオプトアウトを選択できます。

移行期間中、サービスクォータダッシュボードにタスク / Pod 数のクォータと vCPU クォータが表示されますが、一度に有効なクォータは 1 つだけです。vCPU クォータを早期にオプトインした場合、または自動的に vCPU クォータに移行された場合、サービスクォータコンソールでは、タスク / Pod 数のクォータの適用制限が 0 と表示されます。この時点では、vCPU クォータのみが有効です。移行期間中にオプトアウトすると、タスク / Pod 数のクォータの適用値が復元され、タスク / Pod 数のクォータが有効であることが確認できます。

新しいクォータは、少なくとも同じサイズのワークロードを引き続き実行できるように設定されます。ただし、いくつかの特定のケースでは、新しいクォータを事前にテストすることをお勧めします。

  • 現在、サービスクォータの使用量に基づいてアラームを設定している場合、新しいクォータには独自の新しいメトリックがあるため、これらのアラームを再作成する必要があります。vCPU 制限に移行すると、以前のタスク / Pod 数の割り当ては関係なくなり、移行期間が終了すると古いメトリックは完全に置き換えられます。そのため、タスク / Pod 数のメトリックで作成したアラームは、新しい vCPU メトリックに基づいて再作成する必要があります。
  • コードを使用して子 AWS アカウントを自動設定し、AWS アカウントのプロビジョニングプロセスの一環として サービスクォータ API を呼び出す場合、コードがどの Fargate クォータとやり取りするかを調整する必要があります。
  • 特定の Fargate エラーメッセージを監視するロジックを実装している場合、AWS アカウントの vCPU ベースのクォータに達すると、「You’ve reached the limit on the number of vCPUs you can run concurrently」または「You’ve reached the limit on the number of vCPUs you can run as spot tasks concurrently」という 2 つの新しいエラーメッセージが表示されます。

まとめ

Fargate のこのエキサイティングなアップデートにより、使用するタスクや Pod のサイズに関係なく、公正な量のサーバーレスコンテナコンピュートにアクセスできるようになります。さらにこの変更は、さらに大きなタスク / Pod など、新しい Fargate オプションをアンロックするための土台にも必要です。

詳細については、AWS Fargate のよくある質問をお読みください。

翻訳はソリューションアーキテクトの加治が担当しました。原文はこちらです。