柔軟なプロビジョニングポリシーにより、支払い方法、インスタンスタイプ、ゾーンをまたいで ECS インスタンスクラスターを配信し、コストと可用性を最適化します。
概要
自動プロビジョニンググループは、指定されたリソースプール、ターゲット容量、およびプロビジョニングポリシーに基づいてインスタンスクラスターを配信します。以下の表に、これらの属性を示します。
|
属性 |
説明 |
|
リソースプール |
リソースプールは、1 つのゾーンと 1 つのインスタンスタイプで構成されます。利用可能なリソースプールを増やすには、複数のゾーンとインスタンスタイプを指定してください。 |
|
ターゲット容量 |
ターゲット容量とは、プロビジョニングされるコンピューティング能力のことで、インスタンス数、vCPU 数、またはメモリサイズで測定されます。スポットインスタンスと従量課金インスタンスを含めることができます。 デフォルトでは、自動プロビジョニンググループはスポットインスタンスを使用します。最小の従量課金容量を指定すると、まずその容量が作成されます。残りの容量はスポットインスタンスで補完されます。リソース不足によりスポットインスタンスが利用できない場合は、代わりに従量課金インスタンスが作成されます。 |
|
プロビジョニングポリシー |
プロビジョニングポリシーは、インスタンス作成に使用するリソースプールを決定します。たとえば、コストを削減するために最も低価格のプールを選択したり、可用性を高めるために複数のゾーンに分散させたりできます。詳細については、本トピックの「ポリシーの種類」の表をご参照ください。 |
ユースケース
自動プロビジョニンググループおよびスポットインスタンスは、スケーラブルな Web サイトサービス、画像レンダリング、データ分析、並列計算などのステートレスアプリケーションに適しています。「スポットインスタンスとは」をご参照ください。
課金
自動プロビジョニング自体は無料です。
自動プロビジョニンググループによって作成されたインスタンスに対して課金されます。「スポットインスタンスとは」および「従量課金」をご参照ください。
アカウントに十分な残高があることを確認してください。支払い遅延が発生した場合、すべての従量課金インスタンスおよびスポットインスタンスが停止されます。「従量課金」をご参照ください。支払い遅延中は、自動プロビジョニンググループはインスタンスを作成できません。停止されたインスタンスは異常とみなされ、削除およびリリースされます。
注意事項
自動プロビジョニンググループを作成する前に、以下の準備を完了してください。
-
基本的なインスタンス構成を含む起動テンプレートを指定します。「概要」をご参照ください。
自動プロビジョニンググループは、起動テンプレートからイメージ、セキュリティグループ、ログイン認証情報などの属性を使用しますが、インスタンスタイプおよび vSwitch は別途指定された値でオーバーライドされます。
-
ゾーンおよびインスタンスタイプをまたいでリソースプールを指定します。
各リソースプールは、1 つのゾーンと 1 つのインスタンスタイプで構成されます。あるプールのリソースが不十分な場合、グループは別のプールを使用します。リソースプールを多く指定することで、インスタンス作成の成功率が向上します。
重要ゾーンごとに指定できる vSwitch は 1 つだけです。同じゾーンに複数の vSwitch を指定した場合、最初のもののみが有効になります。
-
ターゲット容量と各種インスタンスタイプの割合を指定します。
ターゲット容量は、インスタンス数、vCPU 数、またはメモリサイズで測定できます。自動プロビジョニングでは、各インスタンスタイプの容量貢献度を示すために重みを使用します。以下のルールが適用されます。
-
インスタンス数で測定する場合、すべてのインスタンスタイプの重みは等しくなります。
-
vCPU 数で測定する場合、重みは vCPU 数に応じて変化します。vCPU 数が多いインスタンスタイプほど重みが高く、ターゲット容量を満たすために必要なインスタンス数が少なくなります。
-
ターゲット容量が vCPU やメモリなど複数の要素を含む場合、各インスタンスタイプの容量貢献度を評価し、それに応じて重みを割り当てます。重みが大きいほど、コンピューティング能力への貢献度が高くなります。
説明インスタンスタイプの重みは、CreateAutoProvisioningGroup オペレーションを呼び出して自動プロビジョニンググループを作成する場合にのみ指定できます。
最小限のコンピューティング能力を従量課金インスタンスで確保し、残りをスポットインスタンスで補うことで、コストを大幅に削減できます。
-
-
プロビジョニングポリシーを指定します。
利用可能なプロビジョニングポリシーを以下の表に示します。
ポリシー
適用対象
設定方法
説明
容量最適化ポリシー (capacity-optimized)
スポットインスタンス
-
ECS コンソール (スポットインスタンス): **[プロビジョニングポリシー]** を 容量最適化ポリシー に設定します。
-
API オペレーション (スポットインスタンス): SpotAllocationStrategy を capacity-optimized に設定します。
価格と再取得レートに基づき、作成成功率が最も高く、かつコスト効率の良いリソースプールを選択します。これにより、スポットインスタンスの再取得の可能性が低減され、安定した容量が確保されます。
バランス分散ポリシー (diversified)
スポットインスタンス
-
ECS コンソール (スポットインスタンス): **[プロビジョニングポリシー]** を バランス分散ポリシー に設定します。
-
API オペレーション (スポットインスタンス): SpotAllocationStrategy を diversified に設定します。
複数のゾーンにわたるリソースプールにインスタンスを均等に分散させます。これにより、単一ゾーンでのリソース不足による作成失敗を防ぎ、ディザスタリカバリ能力を向上させます。
コスト最適化ポリシー (lowest-price)
スポットインスタンスおよび従量課金インスタンス
-
ECS コンソール (スポットインスタンス): **[プロビジョニングポリシー]** を コスト最適化ポリシー に設定します。
-
API オペレーション (スポットインスタンス): SpotAllocationStrategy を lowest-price に設定します。
-
API オペレーション (従量課金インスタンス): PayAsYouGoAllocationStrategy を lowest-price に設定します。
vCPU の単位価格が最も低いリソースプールを使用してインスタンスを作成します。
CreateAutoProvisioningGroup オペレーションを使用して自動プロビジョニンググループを作成する際、スポットインスタンスにコスト最適化ポリシーを適用し、SpotInstancePoolsToUseCount を設定して、最低コストのリソースプールの数を指定できます。
たとえば、スポットインスタンスを 100 台指定し、SpotInstancePoolsToUseCount を 5 に設定した場合、各プールで 20 台ずつインスタンスが作成されます。いずれかのプールのスポットインスタンスが再取得された場合でも、他のプールのインスタンスは引き続き利用可能です。
優先度ベースポリシー (prioritized)
従量課金インスタンス
API オペレーション (従量課金インスタンス): PayAsYouGoAllocationStrategy を prioritized に設定します。
リソースプールは優先度の高い順に使用されます。優先度の高いプールのリソースが不十分な場合、優先度の低いプールが使用されます。
CreateAutoProvisioningGroup オペレーションを呼び出し、LaunchTemplateConfig.N.Priority を設定して、プールの優先度を指定します。
重要従量課金インスタンスのプロビジョニングポリシーは、CreateAutoProvisioningGroup オペレーションを通じてのみ指定できます。それ以外の場合は、デフォルトでコスト最適化ポリシーが使用されます。
-
-
時間単位の最大価格を指定します。
スポットインスタンスの時間単位の最大価格を、リソースプールごとまたは全プールで設定できます。価格が最大価格を超えた場合、ターゲット容量が満たされていなくても、グループはスポットインスタンスの作成を停止し、コストを予算内に抑えることができます。
リザーブドインスタンスまたは節約プランを使用して、従量課金のコストを削減できます。「リザーブドインスタンスの概要」および「節約プランの概要」をご参照ください。
-
ターゲット容量を維持するかどうかを指定します。
自動プロビジョニンググループは、「一度限りの配信」または「継続的配信および容量維持」に設定できます。「継続的配信」の場合、グループはインスタンスの正常性を監視し、リアルタイムの容量をターゲット容量と比較して、ターゲット容量を維持するために自動的にインスタンスを作成します。
自動プロビジョニンググループが開始されると、プロビジョニングポリシーに基づいてリソースプールを選択し、ターゲット容量を満たします。たとえば、MyLaunchTemplate テンプレートを使用して 12 台のインスタンスからなるクラスターをプロビジョニングし、可用性を向上させるには、次のようにします。
-
MyLaunchTemplate に基づいて複数のリソースプールを指定します。
-
スポットインスタンスと従量課金インスタンスの容量割合を指定します。
-
プロビジョニングポリシーを指定します。
制限事項
-
自動プロビジョニンググループは、リージョンをまたいでインスタンスをプロビジョニングできません。
-
各自動プロビジョニンググループは、基本構成のために 1 つの起動テンプレートの 1 つのバージョンを使用しますが、異なるインスタンスタイプを持つ複数のリソースプールを指定できます。
-
各自動プロビジョニンググループは、最大 20 個のリソースプールをサポートします。各プールは、1 つのゾーンと 1 つのインスタンスタイプの組み合わせです。
-
各自動プロビジョニンググループは、最大 1,000 台のインスタンスを作成できます。
自動プロビジョニングの構成ガイドライン
自動プロビジョニングを使用するには:
-
(条件付き) 自動プロビジョニング操作の権限を付与します。
RAM ユーザーを使用する場合は、自動プロビジョニンググループに対する操作権限を RAM ユーザーに付与します。「サービスリンクロールの管理」をご参照ください。
-
自動プロビジョニング用のサービスリンクロールを作成します。
「サービスリンクロールの管理」をご参照ください。
-
インスタンスの起動テンプレートを作成し、その後自動プロビジョニンググループを作成します。
構成の詳細については、「グループの構成」をご参照ください。
-
自動プロビジョニンググループを管理します。
参考文献
-
ビジネスの変化に基づいて ECS インスタンスの数を自動的に調整するには、Auto Scaling (ESS) を使用します。「Auto Scaling とは」をご参照ください。
-
ECS インスタンスを作成するには、「インスタンスの作成」をご参照ください。