Auto Scalingは、複数のゾーンに均等に分散されたElastic Compute Service (ECS) インスタンスを含むコンピューティングクラスターを迅速にプロビジョニングし、インスタンスのステータスをリアルタイムで監視して、クラスターの高可用性を確保できます。 このトピックでは、Auto Scalingを使用して、複数のゾーンに均等に分散されたECSインスタンスを含む高可用性コンピューティングクラスターをデプロイし、プリエンプティブルインスタンスを使用してリソースコストを削減する方法について説明します。
シナリオ
説明
分散ビッグデータコンピューティングやAIトレーニングなどのシナリオでは、ピーク時に大量の計算能力が必要になります。 この場合、ビジネスニーズに対応するために、高可用性コンピューティングクラスターを迅速にプロビジョニングする必要があります。
たとえば、機械学習を利用して広告を効果的に配信するオンライン広告会社を運営する場合、会社は需要が高いときにかなりのコンピューティングリソースを必要とします。 複数のECSインスタンスを含むコンピューティングクラスターを作成すると、長い手動プロセスやリソース不足による作成の失敗、ゾーン内の障害によるECSインスタンスの一時的なダウンタイムなどの問題が発生する可能性があります。 上記の問題は、ビジネスオペレーションにリスクをもたらす可能性があります。
ソリューション
Auto Scalingを使用して、ECSインスタンスを自動的に作成し、分散分散ポリシーを実装して、インスタンスが複数のゾーンに均等に分散されるようにすることができます。 プリエンプティブルインスタンスを使用してリソースコストを削減することもできます。
メリット
Auto Scalingを使用して高可用性コンピューティングクラスターをデプロイする場合、次の利点が得られます。
ゼロO&Mコスト
Auto Scalingを使用すると、手動で操作することなく、ECSインスタンスの数を自動的に変更できます。
High availability
Auto Scalingの分散分散ポリシーにより、ECSインスタンスが複数のゾーンに均等に分散され、ゾーン内のリソース不足によるスケーリングの失敗が防止されます。 デフォルトでは、インスタンスヘルスチェック機能が有効になっています。これにより、スケーリンググループに属するすべてのECSインスタンスが常に使用可能になります。
超高コストパフォーマンス
プリエンプティブルインスタンスをコンピューティングノードとして使用する場合、リソースコストを効果的に削減できます。
手順
ビジネスアーキテクチャに基づいてビジネスモジュールを評価し、高可用性コンピューティングクラスターを必要とするビジネスモジュールのスケーリンググループを作成する必要があります。
アプリケーションに基づいてカスタムイメージを準備する必要があります。 スケーリング設定を設定するときにカスタムイメージを指定して、スケーリング設定に基づいて作成されたECSインスタンスがビジネス要件を満たしていることを確認します。 詳細については、「インスタンスからのカスタムイメージの作成」をご参照ください。
Auto Scaling コンソール にログインします。
スケーリンググループを作成します。
左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。
上部のナビゲーションバーで、Auto Scalingをアクティブにしたリージョンを選択します。
[スケーリンググループ] ページの左上隅で、[作成] をクリックします。
[フォームで作成] タブで、スケーリンググループを設定し、[作成] をクリックします。
この例で使用するパラメーター設定を次の表に示します。 テーブルに含まれていないパラメーターには、デフォルト設定を使用します。 スケーリンググループの作成方法については、「スケーリンググループの作成」をご参照ください。
パラメーター
例
説明
スケーリンググループ名
test
スケーリンググループの名前を入力します。 名前は、UIに表示されるフォーマット要件に従う必要があります。
タイプ
ECS
[ECS] を選択します。スケーリンググループにECSインスタンスが含まれることを指定します。
インスタンス設定ソース
スクラッチから作成
ECSインスタンスの自動作成に使用するテンプレートを指定しないでください。 スケーリンググループの作成後、スケーリング設定の作成に進むことができます。
最小インスタンス数
100
インスタンスの最小制限を指定します。 スケーリンググループ内のインスタンス数がこのパラメーターの値より小さい場合、Auto scalingは、スケーリンググループ内のECSインスタンス数が下限に達するまで、ECSインスタンスをスケーリンググループに追加します。
最大インスタンス数
120
インスタンスの上限を指定します。 スケーリンググループ内のインスタンスの数がこのパラメーターの値より大きい場合、Auto scalingは、スケーリンググループ内のECSインスタンスの数が上限を超えなくなるまで、ECSインスタンスをスケーリンググループから削除します。
バランスの取れた配布ポリシー
この例では、このパラメーターを [分散分散ポリシー] に設定します。 ポリシーを有効にするには、複数のvSwitchを選択する必要があります。
[VPC]
vpc-2zeghwzptn5zii0w7 ****
スケーリンググループ内のECSインスタンスのVPCを選択します。
vSwitch
vsw-2ze23nqzig8inprou ****
vsw-2zeet2ksvw7f14ryz ****
vsw-2ze94pjtfuj9vaymf ****
スケーリンググループ内のECSインスタンスに対して1つ以上のvSwitchを選択します。
複数のvSwitchを選択することを推奨します。 これにより、バランスの取れた分散ポリシーにより、スケーリンググループ内のECSインスタンスが複数のゾーンに均等に分散され、スケールアウト操作の成功率が向上します。
スケーリング設定を作成します。
[スケーリンググループ] ページで、目的のスケーリンググループを見つけ、そのIDをクリックします。
スケーリンググループの詳細ページの上部で、[インスタンス設定ソース] タブをクリックします。
[スケーリング設定] タブで、[スケーリング設定の作成] をクリックします。
[スケーリング設定の作成] ページで、パラメーターを設定してスケーリング設定の作成プロセスを完了し、[作成] をクリックします。
この例で使用するパラメーター設定を次の表に示します。 テーブルに含まれていないパラメーターには、デフォルト設定を使用します。 スケーリング設定の作成方法の詳細については、「ECSタイプのスケーリング設定の作成」をご参照ください。
セクション
パラメーター
例
説明
基本情報
スケーリング設定名
test
スケーリング設定の名前を入力します。 名前は、UIに表示されるフォーマット要件に従う必要があります。
課金方法
プリエンプティブルインスタンス
Auto Scalingは無料で使用できます。 ただし、スケールアウトイベント中に作成されたECSインスタンスに対しては課金されます。 この例では、[課金方法] パラメーターを [プリエンプティブルインスタンス] に設定します。 詳細については、「課金の概要」をご参照ください。
インスタンスとイメージ
インスタンス設定モード
インスタンスパターンの指定
[インスタンスパターンの指定] を選択して、ECSインスタンスの仕様を設定します。
インスタンス属性の組み合わせ
2 vCPU、4 GiBのメモリ、エンタープライズレベル
ビジネス要件に基づいて、vCPUの数とECSインスタンスのメモリサイズを指定します。
画像の選択
test
ECSインスタンスをデプロイするイメージを選択します。
実際のビジネスシナリオでは、アプリケーションに基づいて作成されたカスタムイメージを選択することをお勧めします。
Storage
システムディスク
エンタープライズSSD (ESSD) 、40 GiB、PL0
ECSインスタンスのシステムディスクを選択します。 このセクションでは、ビジネス要件に基づいてパラメーターを設定することを推奨します。
ネットワークとセキュリティグループ
[セキュリティグループ]
sg-bp18kz60mefsicfg ****
既存のセキュリティグループを選択します。 セキュリティグループの作成方法については、「セキュリティグループの作成」をご参照ください。
管理設定
[ログイン資格情報]
後で設定
[後で設定] を選択します。これは、ECSインスタンスの作成後にECSインスタンスのパスワードを手動で設定する必要があることを指定します。
画面上の指示に従って、スケーリンググループとスケーリング設定を有効にします。
結果
スケーリンググループの作成時に [最小インスタンス数] パラメーターを100に設定した場合、Auto scalingは指定されたゾーンに100のECSインスタンスを均等に分散してコンピューティングクラスターを提供し、次の点でクラスターの高可用性を確保してリソースコストを削減します。
1つのゾーンのリソースが不足したために問題が発生した場合、Auto Scalingは代替ゾーンにECSインスタンスをデプロイしようとします。これにより、ビジネスアプリケーションへの影響を最小限に抑えます。
プリエンプティブルインスタンスが再利用されると、Auto Scalingは新しいプリエンプティブルインスタンスを作成し、異常なECSインスタンスを新しいインスタンスに置き換えます。
次に何をすべきか
リソースが不足しているためにECSインスタンスが複数のゾーンに不均一に分散されている場合、ゾーン間でECSインスタンスの分散を再調整できます。 詳細については、「ECSインスタンスの分散調整」をご参照ください。