Elastic Compute Service (ECS) は、さまざまな規模や自動化の要件に対応するため、4つのプロビジョニング方法を提供しています。以下の表を参考に、ご利用のシナリオに適した方法を選択し、関連ガイドに従ってください。
プロビジョニング方法の選択
| 方法 | 最適な用途 | 最大インスタンス数 | サポートされる課金方法 | 開始方法 |
|---|---|---|---|---|
| 手動でのインスタンス作成 | 同じ構成を持つ1つ以上のインスタンス | 作成方法によって異なる | サブスクリプション、従量課金 | コンソールまたは API |
| デプロイメントセット | 高可用性を実現するためにインスタンスを複数の物理サーバに分散 | デプロイメントポリシーによって異なる | サブスクリプション、従量課金 (スポットインスタンスは対象外) | コンソールまたは API |
| 自動プロビジョニンググループ | スポットインスタンスによるコスト最適化を行いながら、複数のインスタンスタイプとゾーンにまたがるバッチプロビジョニング | グループあたり 1,000 | 従量課金、スポットインスタンス (サブスクリプションは対象外) | コンソールまたは API |
| Auto Scaling | トラフィックの経時変化に対応するクラスターの自動メンテナンス | スケーリングアクティビティまたはスケーリンググループあたり 1,000 | 従量課金、スポットインスタンス (自動作成);サブスクリプション (手動追加) | コンソールまたは API |
推奨事項:継続的なライフサイクル管理が必要なワークロードには、Auto Scaling の使用を推奨します。スポットインスタンスによるコスト最適化を伴う1回限りの大規模バッチには、自動プロビジョニンググループ を使用します。個別または同一構成のインスタンスの場合は、インスタンスを手動で作成します。
手動でのインスタンス作成
同一の構成 (インスタンスタイプ、ゾーン、支払い方法) を共有するインスタンスを1つ、またはバッチで作成します。
インスタンス作成時の各ステータスについては、「インスタンスのライフサイクル」をご参照ください。
ECS コンソールの使用
| 方法 | 使用する状況 |
|---|---|
| サブスクリプションインスタンスのワンクリック購入 | 最小限の構成で数分でサブスクリプションインスタンスを購入できます。最もシンプルで迅速なオプションです。 |
| カスタム起動 | 要件に合わせて、支払い方法、イメージ、インスタンスタイプ、ストレージ、帯域幅、セキュリティグループを構成します。 |
| カスタムイメージまたは共有イメージから起動 | OS やアプリケーション構成が設定済みのビルド済みイメージから起動することで、セットアップ時間を短縮します。 |
| コミュニティイメージを使用したインスタンスの作成 | コミュニティが提供する OS、アプリケーション、データを使用してインスタンスを迅速にデプロイメントします。 |
| 同じ構成のインスタンスの購入 | 既存のインスタンスの構成を正確に複製します。水平スケーリングに役立ちます。 |
| インスタンスのクローン作成 | ソースインスタンスと同一またはほぼ同一のコピーを作成します。ステージング環境のコピー、ディザスタリカバリ、移行に役立ちます。 |
| 起動テンプレートを使用した起動 | 保存されたテンプレートを使用してワンクリックでインスタンスを作成します。同じインスタンスタイプを繰り返し起動する際の時間短縮になります。 |
| 自動プロビジョニンググループ API を使用したインスタンスのバッチ作成 | 単一の操作で多数の従量課金インスタンスを作成します。 |
API オペレーションの呼び出し
| API オペレーション | 機能 |
|---|---|
| RunInstances | 1回の呼び出しで最大 100 個のインスタンスを作成します。詳細については、「ECS インスタンスのバッチ作成」もご参照ください。 |
| CreateInstance | 単一のインスタンスを作成します。 |
CreateInstance で作成されたインスタンスは 停止済み の状態で起動します。使用する前に、StartInstance を使用して手動で起動する必要があります。
デプロイメントセットの使用
インスタンスを複数の物理サーバに分散させることで、単一のハードウェア障害によってワークロード全体が停止するのを防ぎます。
制限事項:
従量課金インスタンスとサブスクリプションインスタンスのみがサポートされます。スポットインスタンスはデプロイメントセットに追加できません。
特定のインスタンスタイプのみがサポートされます。詳細については、「デプロイメントセットの概要」をご参照ください。
クォータと使用制限については、「使用制限」トピックの「デプロイメントセットの制限」セクションをご参照ください。
デプロイメントセットあたりのインスタンス数は、デプロイメントポリシーによって異なります。詳細については、「デプロイメントセットの概要」をご参照ください。
ECS コンソールの使用
あるいは、カスタム起動 でインスタンスを起動する場合、[デプロイメントセット] フィールドで既存のデプロイメントセットを選択するか、[詳細設定] の下にある [デプロイメントセットの管理] をクリックして新しいデプロイメントセットを作成します。
API オペレーションの呼び出し
CreateDeploymentSet を呼び出してデプロイメントセットを作成します。
RunInstances または CreateInstance を呼び出す際にデプロイメントセット ID を指定して、そのデプロイメントセット内にインスタンスを作成します。
既存のインスタンスを別のデプロイメントセットに移動するには、ModifyInstanceDeployment を呼び出します。コンソールでの操作手順については、「インスタンスのデプロイメントセットを変更する」をご参照ください。
自動プロビジョニンググループの使用
1回の操作で、複数のインスタンスタイプとゾーンにまたがる大規模なインスタンスのバッチをプロビジョニングします。自動プロビジョニンググループは、従量課金インスタンスとスポットインスタンスを組み合わせることで、コストを最小限に抑えながら計算容量を最大化します。
制限事項:従量課金インスタンスとスポットインスタンスのみがサポートされます。サブスクリプションインスタンスはサポートされていません。
規模:自動プロビジョニンググループあたり最大 1,000 インスタンス。
ECS コンソール:自動プロビジョニンググループの作成
API:CreateAutoProvisioningGroup を呼び出すか、「インスタンスのバッチ作成」ガイドに従います。
Auto Scaling の使用
Auto Scaling は需要に応じてインスタンスを自動的に作成・リリースし、手動介入なしでクラスターを適切なサイズに維持します。混合課金方式や、マルチゾーン、複数インスタンスタイプのデプロイメントをサポートしています。
制限事項:
スケーリンググループ内で自動的に作成できるのは、従量課金インスタンスとスポットインスタンスのみです。
スケーリンググループに手動で追加できるのは、サブスクリプションインスタンスのみです。
規模:スケーリングアクティビティおよびスケーリンググループあたり最大 1,000 インスタンス。クォータの詳細については、「使用制限」をご参照ください。
ECS コンソールの使用
スケーリンググループを作成し、インスタンスを自動的に作成またはリリースするように構成します。詳細については、「ECS インスタンスの迅速なスケーリング」をご参照ください。
API オペレーションの呼び出し
CreateScalingGroup を呼び出してスケーリンググループを作成します。
CreateScalingConfiguration を呼び出して ECS タイプのスケーリング設定を作成します。
EnableScalingGroup を呼び出してスケーリンググループを有効化します。
CreateScalingRule を呼び出してスケールアウトおよびスケールインのルールを定義します。
(オプション) CreateAlarm を呼び出してメトリックに基づいてスケーリングをトリガーするか、CreateScheduledTask を呼び出してスケジュールに基づいてスケーリングをトリガーします。
ユースケース
Auto Scaling は、ライフサイクルフック、および Server Load Balancer (SLB) インスタンスと ApsaraDB RDS インスタンスとの自動関連付けをサポートしています。一般的なユースケースは次のとおりです:
スケーラブルな Web アプリケーション:日常的に安定したキャパシティを維持し、トラフィックの急増時には自動的にスケールアウトします。詳細については、「スケーラブルな Web アプリケーションの構築」をご参照ください。
コスト最適化:予測可能なビジネスサイクル中に従量課金インスタンスとスポットインスタンスを組み合わせてコストを削減します。詳細については、「Auto Scaling によるコスト削減」をご参照ください。
高可用性計算クラスター:スポットインスタンスを使用して複数のゾーンにデプロイし、低コストで冗長性を確保します。詳細については、「高可用性計算クラスターのデプロイ」をご参照ください。