Auto Provisioningを使用すると、Elastic Compute Service (ECS) インスタンスクラスターを迅速に提供できます。 インスタンスタイプとゾーン間で異なる課金方法 (従量課金インスタンスとプリエンプティブルインスタンス) を使用するインスタンスの配信を自動化するには、簡単な設定のみを行う必要があります。 これにより、多数のインスタンスを同時に配信する効率が向上します。 Auto Provisioningは、プリエンプティブルインスタンスの再利用によるビジネスへの影響を軽減するためのさまざまなプロビジョニングポリシーを提供するため、低コストでコンピューティング能力を使用できます。 たとえば、Auto Provisioningを使用して、最小計算能力要件を満たす従量課金インスタンスを作成し、プリエンプティブルインスタンスを作成して計算能力要件を満たし、コストを削減できます。 このトピックでは、自動プロビジョニングの使用シナリオ、課金、および使用に関する注意事項について説明します。
概要
自動プロビジョニンググループは、指定されたリソースプール、ターゲット容量、およびプロビジョニングポリシーに基づいて、インスタンスクラスターを自動的に配信します。 これにより、インスタンスを1つずつ作成したり、各インスタンスのコストを計算したりする必要がなくなります。 次の表に、自動プロビジョニンググループの属性を示します。
属性 | 説明 |
リソースプール | リソースプールは、単一のゾーンと単一のインスタンスタイプで構成されます。 複数のゾーンとインスタンスタイプを指定して、複数のリソースプールを使用してインスタンスを作成できるようにすることができます。 |
ターゲット容量 | ターゲット容量は、プロビジョニングされるようにスケジュールされたコンピューティングパワーであり、プリエンプティブルおよび従量課金インスタンスの容量を含めることができます。 インスタンス、vCPU、またはメモリサイズに基づいてターゲット容量を指定できます。 デフォルトでは、自動プロビジョニンググループはプリエンプティブルインスタンスを使用してターゲット容量を満たします。 従量課金インスタンスを使用するように指定して、必要最小限のコンピューティングパワーを提供できます。 従量課金インスタンスの容量を使用するように指定した場合、従量課金インスタンスはプリエンプティブルインスタンスよりも優先して作成されます。 次に、残りのターゲット容量を補うためにプリエンプティブルインスタンスが作成されます。 リソースが不十分なためにプリエンプティブルインスタンスを作成できない場合、従量課金インスタンスはターゲット容量を満たすように作成されます。 |
Provisioningポリシー | プロビジョニングポリシーは、インスタンスの作成に使用するリソースプールを選択するために使用されます。 たとえば、単価が最も低いリソースプールを使用してコストを削減したり、異なるゾーンにインスタンスを作成してインスタンスの可用性を向上させることができます。 プロビジョニングポリシーの詳細については、このトピックの「ポリシータイプ」をご参照ください。 |
シナリオ
プリエンプティブルインスタンスと同様に、自動プロビジョニンググループは、スケーラブルなWebサイトサービス、画像レンダリング、ビッグデータ分析、並列コンピューティングなどのステートレスアプリケーションに適用できます。 詳細については、「概要」をご参照ください。
課金
自動プロビジョニングは無料で利用できます。
ただし、自動プロビジョニンググループに基づいて作成されたインスタンスに対しては課金されます。 自動プロビジョニングは、プリエンプティブルおよび従量課金インスタンスをサポートします。 インスタンスの課金については、「概要」および「従量課金」をご参照ください。
ご利用のアカウントに十分な残高があることをご確認ください。 料金滞納の場合、従量課金およびプリエンプティブルインスタンスはすべて停止されます。 詳細については、「決済サイクル」をご参照ください。 この場合、自動プロビジョニンググループはインスタンスを作成できません。 自動プロビジョニンググループは、ヘルスチェックの結果に基づいて、停止したインスタンスが異常であると判断し、インスタンスを削除およびリリースします。
使用上の注意
自動プロビジョニンググループを作成する前に、次の操作が実行されていることを確認してください。
基本的なインスタンス設定を含む起動テンプレートを指定します。 詳細については、「概要」をご参照ください。
自動プロビジョニンググループは、起動テンプレートで指定されたイメージ、セキュリティグループ、ログオン資格情報などの属性を使用しますが、インスタンスタイプやインスタンスを作成するゾーンを指定するvSwitchは使用しません。 自動プロビジョニンググループは、代わりに個別に指定されたvSwitchとインスタンスタイプを使用します。
ゾーンとインスタンスタイプをまたいでインスタンスを作成するために使用するリソースプールを指定します。
リソースプールは、単一のゾーンと単一のインスタンスタイプで構成されます。 あるリソースプールのリソースが不足している場合、自動プロビジョニンググループは十分なリソースを持つ別のリソースプールを使用してインスタンスを作成します。 リソースプールの数が増えると、インスタンスの作成に使用できるオプションが増え、インスタンスの作成の成功率が向上します。
重要1つのゾーン内で指定できるvSwitchは1つだけです。 同じゾーン内で複数のvSwitchを指定した場合、最初のvSwitchのみが有効になります。
自動プロビジョニンググループのターゲット容量と、異なるタイプの容量の比率を指定します。
ターゲット容量は、インスタンス、vCPU、またはメモリサイズに基づいて指定できます。 自動プロビジョニングは、インスタンスタイプの重みを使用して、このインスタンスタイプの1つのインスタンスの容量を示します。 重みには次のルールが適用されます。
ターゲット容量がインスタンスに基づいて指定されている場合、すべてのインスタンスタイプの重みは同じです。
ターゲット容量がvCPUの数に設定されている場合、インスタンスタイプの重みはvCPUの数によって異なります。 インスタンスタイプのvCPUが多いほど、インスタンスタイプの重みが大きくなり、ターゲット容量を満たすために必要なインスタンスタイプのインスタンスが少なくなります。
ターゲットキャパシティにvCPUやメモリなどの複数のインスタンスタイプの要因が含まれる場合、指定された各インスタンスタイプがターゲットキャパシティに寄与できる計算能力を評価し、各インスタンスタイプに重みを設定する必要があります。 重みが大きいほど、インスタンスタイプがより多くの計算能力に貢献できることを示します。
説明CreateAutoProvisioningGroup操作を呼び出して自動プロビジョニンググループを作成する場合にのみ、インスタンスタイプの重みを指定できます。
従量課金インスタンスを使用して最小計算能力要件を満たし、プリエンプティブルインスタンスを使用して残りのターゲット容量を満たす場合、コストを大幅に削減できます。
プロビジョニングポリシーを指定します。
次の表に、自動プロビジョニングのプロビジョニングポリシーを示します。
ポリシー
申請先
メソッド
説明
容量最適化ポリシー (Capacity-optimized)
プリエンプティブルインスタンス
ECSコンソール (プリエンプティブルインスタンス): プロビジョニングポリシーを容量最適化ポリシーに設定します。
API操作 (プリエンプティブルインスタンス): SpotAllocationStrategyをcapacity-optimizedに設定します。
最も費用対効果が高く、インスタンス作成の成功率が最も高いリソースプールは、プリエンプティブルインスタンスを作成するための料金と再利用率に基づいて使用されます。 これにより、プリエンプティブルインスタンスが再利用される可能性を効果的に減らし、安定した容量を確保できます。
バランスの取れた配布ポリシー (多様化)
プリエンプティブルインスタンス
ECSコンソール (プリエンプティブルインスタンス): プロビジョニングポリシーを [分散分散ポリシー] に設定します。
API操作 (プリエンプティブルインスタンス): SpotAllocationStrategyを多様化に設定します。
複数のゾーンのリソースプールは、インスタンスの作成に均等に使用されます。 これにより、単一ゾーンのリソース不足によるインスタンス作成の失敗の可能性がなくなり、アプリケーションのディザスタリカバリ機能を効果的に向上させることができます。
コスト最適化ポリシー (最低価格)
プリエンプティブルおよび従量課金インスタンス
ECSコンソール (プリエンプティブルインスタンス): プロビジョニングポリシーを [コスト最適化ポリシー] に設定します。
API操作 (プリエンプティブルインスタンス): SpotAllocationStrategyを最低価格に設定します。
API操作 (従量課金インスタンス): PayAsYouGoAllocationStrategyを最低価格に設定します。
コストが最も低いリソースプールは、インスタンスの作成に使用されます。 これにより、コストを効果的に削減できる。 コストが最も低いリソースプールには、単価が最も低いvCPUがあります。
CreateAutoProvisioningGroup操作を呼び出して自動プロビジョニンググループを作成する場合、プリエンプティブルインスタンスのコスト最適化ポリシーを使用し、SpotInstancePoolsToUseCountパラメーターを設定して使用するリソースプールの数を指定できます。 コストが最も低い複数のリソースプールを使用してインスタンスを作成できます。
たとえば、自動プロビジョニンググループのターゲット容量として100のプリエンプティブルインスタンスを指定し、SpotInstancePoolsToUseCountを5に設定します。 各リソースプールは20インスタンスの作成に使用されます。 リソースプールを使用して作成されたプリエンプティブルインスタンスが再要求された場合、他のリソースプールを使用して作成されたプリエンプティブルインスタンスは引き続き使用できます。 これにより、サービスの可用性を効果的に向上できます。
優先度ベースのポリシー (優先)
従量課金インスタンス
API操作 (従量課金インスタンス): PayAsYouGoAllocationStrategyを優先順位に設定します。
リソースプールは、降順の優先順位に基づいて使用されます。 優先度の高いリソースプールのリソースが不足している場合は、優先度の低いリソースプールが使用されます。
CreateAutoProvisioningGroup操作を呼び出し、LaunchTemplateConfig.N.Priorityパラメーターを設定して、優先度ベースのポリシーとリソースプールの優先度を指定する必要があります。
重要CreateAutoProvisioningGroupを呼び出して自動プロビジョニンググループを作成する場合にのみ、従量課金インスタンスのプロビジョニングポリシーを指定できます。 それ以外の場合は、デフォルトでコスト最適化ポリシーが使用されます。
1時間あたりの最大価格を指定します。
単一のリソースプールまたはすべてのリソースプールに対して、プリエンプティブルインスタンスの1時間あたりの最大料金を指定できます。 指定された最大料金を超えると、ターゲット容量が満たされていなくても、自動プロビジョニンググループはプリエンプティブルインスタンスの作成を停止します。 これにより、プロビジョニングされたリソースコストが予算内に収まるようになります。
リザーブドインスタンスや貯蓄プランなどの割引プランを使用して、従量課金インスタンスのコストを削減できます。 詳細については、「リザーブドインスタンスの概要」および「節約プランの概要」をご参照ください。
ターゲット容量を維持するかどうかを指定します。
自動プロビジョニンググループのタイプは、1回限りの配信または継続的な配信と容量の維持に設定できます。 自動プロビジョニンググループの作成時に継続的配信と容量維持を選択した場合、自動プロビジョニンググループはインスタンスのヘルスステータスを自動的にチェックし、リアルタイムキャパシティとターゲット容量を比較し、コンピューティングパワーのニーズを満たすためにターゲット容量を維持するインスタンスを作成します。 インスタンスが異常または不足すると、自動プロビジョニンググループは自動的にインスタンスを作成し、ターゲット容量を維持します。
自動プロビジョニンググループの開始後、指定されたプロビジョニングポリシーに基づいて適切なリソースプールを選択し、ターゲット容量を満たすインスタンスをプロビジョニングします。 たとえば、MyLaunchTemplate起動テンプレートを使用して12個のインスタンスを含むクラスターをプロビジョニングし、クラスターの可用性を向上させる場合は、次の手順を実行して自動プロビジョニンググループを設定できます。
MyLaunchTemplate起動テンプレートに基づいて複数のリソースプールを指定します。
プリエンプティブルインスタンスと従量課金インスタンスの容量の比率を指定します。
プロビジョニングポリシーを指定します。
制限事項
自動プロビジョニンググループは、リージョン間でインスタンスをプロビジョニングできません。
自動プロビジョニンググループごとに、単一の起動テンプレートの指定されたバージョンをインスタンスの基本設定として指定できます。 ただし、起動テンプレートで指定したインスタンスタイプに基づいて、複数のリソースプールを指定できます。
各自動プロビジョニンググループには、最大20個のリソースプールを含めることができます。 各リソースプールは、単一のゾーンと単一のインスタンスタイプの組み合わせです。
各自動プロビジョニンググループに最大1,000個のインスタンスを作成できます。
自動プロビジョニング設定ガイドライン
自動プロビジョニングを使用するには、次の操作を実行します。
(条件付きで必要) 自動プロビジョニング操作に対する権限をアカウントに付与します。
RAM (Resource Access Management) ユーザーを使用する場合は、RAMユーザーに自動プロビジョニンググループで操作を実行する権限を付与する必要があります。 詳細については、「自動プロビジョニングのサービスにリンクされたロールの管理」をご参照ください。
自動プロビジョニングのサービスにリンクされたロールを作成します。
詳細については、「自動プロビジョニングのサービスにリンクされたロールの管理」をご参照ください。
インスタンス起動テンプレートを作成します。 次に、自動プロビジョニンググループを作成します。
詳細については、「自動プロビジョニンググループの作成」をご参照ください。 ビジネス要件に基づいて自動プロビジョニンググループを作成できます。 詳細については、「自動プロビジョニンググループの設定」をご参照ください。
次の操作を実行して、自動プロビジョニンググループを管理します。
参考資料
スケーリンググループを使用して、ビジネスの変更に基づいてECSインスタンスの数を自動的に変更できます。 詳しくは、「Auto Scaling の概要」をご参照ください。
ECSインスタンスの作成方法については、「インスタンスの作成」をご参照ください。