すべてのプロダクト
Search
ドキュメントセンター

Auto Scaling:ECSインスタンスをスケジュールどおりにスケール

最終更新日:Feb 07, 2025

Auto Scalingは、定義済みのポリシーに基づいてコンピューティングリソースの数 (ビジネスワークロードに必要なインスタンスの数) を自動的に調整し、ワークロードの変動を効率的に処理し、リソース使用率を改善し、コストを削減します。 予測可能なビジネスワークロードの場合、スケジュールされたタスクを設定して、Auto Scalingを有効にして、指定した時点でElastic Compute Service (ECS) インスタンスの数を調整できます。

シナリオ

説明

ワークロードのピーク時とオフピーク時の変動が予測可能な場合は、Auto Scalingコンソールでスケジュールされたタスクを設定して、指定した時点でECSインスタンスの数を調整できます。

たとえば、ゲーム会社では、夜間の18:00:00から23:00:00へのビジネスワークロードの一貫した増加が見られ、この期間中に追加のサーバーが必要になります。 この期間以外では、通常の操作をサポートするために必要なサーバーの数は固定されています。

image

解決策

ビジネスの変動に合わせてスケジュールタスクを作成できます。 これらのタスクはスケーリングルールの自動実行をトリガーし、サーバーの自動スケーリングを有効にします。

image

メリット

  • リソースセットアップの初期費用なし

    Auto Scalingは、ビジネス要件に基づいてECSインスタンスを作成およびリリースするため、リソースセットアップに関連する初期費用が不要になります。 通常のビジネストラフィックに対してコンピューティングリソースを予約するだけで済みます。

  • 自動スケーリング

    スケジュールされたタスクは、指定された時点での自動スケーリングを可能にし、リソース使用量を最適化し、O&Mコストを削減しながらビジネス要件を満たします。

前提条件

Auto Scalingを初めて使用するときは、Resource Access Management (RAM) ユーザー認証を完了する必要があります。

  • AliyunServiceRoleForAutoScalingサービスにリンクされたロールが作成されます。 詳細については、「サービスにリンクされたロール」をご参照ください。

  • RAMユーザーとしてAuto Scalingを使用する場合、RAMユーザーにAliyunESSFullAccessポリシーが付与されている必要があります。 詳細については、「RAM ユーザーへの権限の付与」をご参照ください。

ステップ1: スケーリンググループの作成

スケーリンググループは、ビジネス要件を満たすインスタンスのコレクションであり、Auto scalingのコアユニットとして機能します。 Auto Scalingは、スケーリンググループ内のインスタンス数を必要に応じて追加または削除することで調整します。

  1. スケーリンググループページに移動します。

    1. Auto Scalingコンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[スケーリンググループ] をクリックします。

    3. 上部のナビゲーションバーで、Auto Scalingが有効になっているリージョンを選択します。

  2. スケーリンググループページの左上隅にある [作成] をクリックします。

  3. [フォームで作成] タブで、スケーリンググループを設定し、[作成] をクリックします。

    このトピックで使用されるパラメーター設定を次の表に示します。 次の表でカバーされていないパラメーターは、デフォルト設定になります。 スケーリンググループの作成方法については、「スケーリンググループの作成」をご参照ください。

    パラメーター

    説明

    スケーリンググループ名

    test

    スケーリンググループの名前を入力します。 名前は、UIに表示されるフォーマット要件に従う必要があります。

    タイプ

    ECS

    [ECS] を選択します。スケーリンググループにECSインスタンスが含まれることを指定します。

    インスタンス設定ソース

    スクラッチから作成

    この段階では、ECSインスタンスを自動作成するためのテンプレートを指定しないでください。 スケーリンググループの作成後、スケーリング設定の作成に進むことができます。

    最小インスタンス数

    1

    スケーリンググループ内のインスタンスの最小数を指定します。 スケーリンググループ内のインスタンス数がこの値を下回った場合、Auto scalingは目的の最小値に達するまでECSインスタンスを追加します。

    最大インスタンス数

    5

    スケーリンググループ内のインスタンスの最大数を指定します。 インスタンス数がこの値を超えると、Auto Scalingはインスタンス数が指定された制限を下回るまでECSインスタンスを削除します。

    [VPC]

    vpc-bp1jmxxau0lur929p ****

    スケーリンググループ内のECSインスタンスのVPCを選択します。

    vSwitch

    vsw-2zeknnyw2ewufbs4z ****

    vsw-2zesy03h8eaf9fe0l ****

    スケーリンググループ内のECSインスタンスに対して1つ以上のvSwitchを選択します。 スケールアウトイベントの成功率を向上させるために、複数のvSwitchを選択することを推奨します。

手順2: スケーリング設定を作成し、スケーリング設定とスケーリンググループを有効にする

スケーリング設定は、スケールアウトイベント中にECSインスタンスを作成するために使用されるテンプレートです。 課金方法、インスタンスタイプ、ストレージ、ネットワーク設定などの情報が含まれます。 スケーリング設定を作成したら、スケーリング設定を有効にしてから、スケーリンググループを有効にできます。

  1. 目的のスケーリンググループを見つけ、次のいずれかの方法でスケーリンググループの詳細ページを開きます。

    • スケーリンググループ名 /ID列のスケーリンググループのIDをクリックします。

    • [操作] 列の [詳細] をクリックします。

  2. 詳細ページの上部で、インスタンス設定ソースタブをクリックします。

  3. [スケーリング設定] タブで、[スケーリング設定の作成] をクリックします。

  4. [スケーリング設定の作成] ページで、パラメーターを設定してスケーリング設定を作成し、[作成] をクリックします。

    このトピックで使用されるパラメーター設定を次の表に示します。 次の表に記載されていないパラメーターは、デフォルト設定になります。 スケーリング設定の作成方法の詳細については、「ECSタイプのスケーリング設定の作成」をご参照ください。

    セクション

    パラメーター

    説明

    基本情報

    スケーリング設定名

    test

    スケーリング設定の名前を入力します。 名前は、UIに表示されるフォーマット要件に従う必要があります。

    課金方法

    従量課金

    Auto Scalingは無料です。 ただし、スケールアウトイベント中に作成されたECSインスタンスには料金がかかります。 この例では、従量課金方法が使用されています。 詳細については、ECSの「課金の概要」をご参照ください。

    イメージとインスタンス

    インスタンス設定モード

    インスタンスパターンの指定

    [インスタンスパターンの指定] を選択し、ECSインスタンスの仕様を選択します。

    インスタンス属性の組み合わせ

    2 vCPU、4 GiBメモリ、エンタープライズレベル

    ビジネス要件に基づいて、ECSインスタンスの適切なvCPU数とメモリサイズを選択します。

    画像の選択

    パブリックイメージ: Alibaba Cloud Linux 3.2104 LTS 64ビット

    ECSインスタンスをデプロイするイメージを選択します。 この例では、パブリックイメージを使用します。 実際のシナリオでは、アプリケーション固有のカスタムイメージを選択できます。

    ストレージ

    システムディスク

    エンタープライズSSD (ESSD) 、40 GiB、およびPL0

    ECSインスタンスのシステムディスクを選択します。

    ネットワークとセキュリティグループ

    パブリック IP アドレス

    パブリックIPv4アドレス、帯域幅課金、および1 Mbit/s帯域幅の割り当て

    ECSインスタンスにパブリックIPアドレスを割り当てるかどうかを指定します。 アウトバウンドパブリック帯域幅は個別に課金され、料金はECSインスタンスのコストに含まれます。

    [セキュリティグループ]

    sg-bp18kz60mefsicfg ****

    既存のセキュリティグループを選択します。 セキュリティグループの作成方法については、「セキュリティグループの作成」をご参照ください。

    管理設定

    [ログイン資格情報]

    後で設定

    インスタンスの作成後にECSインスタンスのパスワードを手動で設定する必要があります。

  5. [スケーリング設定のプレビュー] ダイアログボックスで情報を確認し、[作成] をクリックします。

  6. では、スケーリング設定が作成されます。 [有効化] をクリックします。

  7. [スケーリング設定の有効化] ダイアログボックスで、[OK] をクリックします。

    説明

    スケーリンググループでは、1つのスケーリング設定を有効にする必要があります。 スケーリング設定を有効にすると、スケーリング設定は [アクティブ] 状態になります。

  8. [スケーリンググループの有効化] メッセージで、[OK] をクリックします。

    Auto scalingがビジネス要件に基づいてインスタンスを自動的にスケーリングできるようにするには、スケーリンググループを有効にする必要があります。

    この例では、[最小インスタンス数] パラメーターを1に設定します。 スケーリンググループを有効にすると、有効になったスケーリング設定から1つのECSインスタンスが自動的に作成されます。 スケーリンググループの詳細ページの [インスタンス] タブに移動し、[自動作成] タブでインスタンス情報を確認できます。

    手动1.png

ステップ3: スケーリングルールの作成

スケーリングルールは、スケーリンググループにインスタンスを追加するか削除するかを定義します。

  1. スケーリンググループの詳細ページで、[スケーリングルールとイベントトリガータスク] タブをクリックします。 次に、[スケーリングルール] タブをクリックします。

  2. [スケーリングルールの作成] をクリックし、スケーリングルールを作成するパラメーターを設定し、[OK] をクリックします。

    この例では、単純なスケーリングルールが作成されます。 スケーリングルールの作成方法の詳細については、「スケーリングルールの設定」をご参照ください。

    パラメーター

    説明

    ルール名

    スケーリングルールの名前を入力します。 名前は、UIに表示されるフォーマット要件に従う必要があります。

    ルールタイプ

    スケーリングルールのタイプ。 この例では、[シンプルスケーリングルール] を選択します。 スケーリングルールの詳細については、「概要」をご参照ください。

    操作

    スケーリングルールの実行時に追加または削除するインスタンスの数を指定します。 各スケーリングイベント中に追加または削除されたインスタンスの数は1,000を超えてはなりません。

    クールダウン時間

    必要に応じて、 スケーリングルールのクールダウン期間を指定します。 単位は秒です。 このパラメーターを設定しない場合、スケーリンググループのクールダウン期間が有効になります。 詳細については、「クールダウン期間」をご参照ください。

    この手順を繰り返して、スケールアウトとスケールインのルールを作成します。 この例で使用される設定を次の表に示します。

    スケーリングルール

    サンプル設定

    スケールアウトルール

    • ルール名: 追加

    • ルールタイプ: 単純なスケーリングルール

    • 操作: 1つのインスタンスを追加

    スケールインルール

    • ルール名: 削除

    • ルールタイプ: 単純なスケーリングルール

    • 操作: 1つのインスタンスを削除します。

手順4: スケジュール済みタスクの作成

スケジュールされたタスクは、設定された時点で特定のスケーリングルールを実行する事前定義されたタスクです。

  1. スケーリンググループの詳細ページで、[スケーリングルールとイベントトリガータスク] タブをクリックします。 次に、[スケジュール済みタスク] タブをクリックします。

  2. [スケジュールタスクの作成] をクリックし、ビジネス要件に基づいてパラメーターを設定し、[OK] をクリックします。

    このトピックで使用されるパラメーター設定を次の表に示します。 次の表でカバーされていないパラメーターは、デフォルト設定になります。 スケジュールタスクの設定方法については、「概要」をご参照ください。

    パラメーター

    説明

    タスク名

    スケジュールされたタスクの名前を入力します。 名前は、UIに表示されるフォーマット要件に従う必要があります。

    実行日時

    タスクをトリガーする時刻を指定します。

    スケーリング方法

    使用するスケーリング方法を指定します。 この例では、[既存のスケーリングルールの選択] を選択します。

    単純なスケーリングルール

    実行するスケーリングルールを指定します。

    再発

    スケジュールされたタスクを定期的にトリガーする時間間隔を指定します。 たとえば、1日1回タスクをトリガーできます。

    この手順を繰り返して、スケールアウトおよびスケールインルールを実行するためのスケジュールタスクを作成します。 このトピックで使用されるサンプル設定を次の表に示します。

    スケジュール済みタスク

    サンプル設定

    スケジュールされたスケールアウト

    • タスク名: scheduled-add

    • 実行日時: 5月16日2024日午後6時

    • スケーリング方法: 既存のスケーリングルールを選択

    • 単純なスケーリングルール: 追加

    • 繰り返し: 日単位 (単純なスケーリングルールを1日1回実行する)

    スケジュールされたスケールイン

    • タスク名: scheduled-remove

    • 実行日時: 5月16日2024午後11:00

    • スケーリング方法: 既存のスケーリングルールを選択

    • 単純なスケーリングルール: 削除

    • 繰り返し: 日単位 (単純なスケーリングルールを1日1回実行する)

自動スケーリングの効果の確認

スケジュールされたタスクを作成した後、Auto Scalingは指定された時点でタスクをトリガーしてスケーリングルールを実行します。

この例では、次の結果が得られます。

  • 毎日18:00:00に1つのECSインスタンスをスケーリンググループに自動的に追加する

  • 毎日23:00:00にスケーリンググループから1つのECSインスタンスを自動的に削除する

次のいずれかの方法を使用して、効果を確認できます。

  • スケジュールされたタスクが実行されたら、スケーリンググループの詳細ページに移動し、[インスタンス] > [自動作成] を選択します。 次に、インスタンス数の変更を確認します。

  • スケジュールされたタスクが実行されたら、スケーリンググループの詳細ページに移動し、[スケーリングアクティビティ] タブをクリックします。 次に、スケーリングアクティビティが生成されているかどうかを確認します。 対応するスケーリングアクティビティが生成されたら、そのIDをクリックしてスケーリングアクティビティの詳細を表示します。