急激なトラフィックの急増に対応するために、Serverless App Engine (SAE) コンソールでマイクロサービス アプリケーションのスケーリングポリシーを設定できます。このようにして、SAE は アプリケーション インスタンスを自動的にスケールインまたはスケールアウトします。このトピックでは、マイクロサービス アプリケーションの自動スケーリングポリシーを設定する方法について説明します。
概要
SAE は、アプリケーションをスケーリングするために次の方法をサポートしています。
手動スケーリング: アプリケーションをすぐにスケーリングする必要がある場合は、手動スケーリング機能を使用することをお勧めします。たとえば、予期しないトラフィックの急増が発生した場合にインスタンスを追加できます。詳細については、「手動スケーリング」をご参照ください。
自動スケーリング: アプリケーションをすぐにスケーリングする必要がない場合は、自動スケーリング機能を使用することをお勧めします。たとえば、定期的なトラフィックの変化に基づいてインスタンスを自動的に追加または削除するように自動スケーリングポリシーを設定できます。SAE は、スケジュールされた自動スケーリングポリシー、メトリックベースの自動スケーリングポリシー、ハイブリッド自動スケーリングポリシーなど、さまざまな種類の自動スケーリングポリシーをサポートしています。詳細については、「SAE 自動スケーリングのベストプラクティス」をご参照ください。
次の図は、自動スケーリングポリシーを設定するプロセスを示しています。
シナリオ
SAE は、以下の自動スケーリングポリシーをサポートしています。
スケジュールされた自動スケーリングポリシーは、アプリケーションが特定の期間内にリソースを使用する必要があるシナリオに適しています。スケジュールされた自動スケーリングポリシーは、証券、ヘルスケア、公共事業、教育などの業界でよく使用されます。
メトリックベースの自動スケーリングポリシーは、アプリケーションがリソースを使用する際にバーストトラフィックや定期的なトラフィックが発生するシナリオに適しています。メトリックベースの自動スケーリングポリシーは、インターネット、ゲーム、ソーシャルメディアなどの業界でよく使用されます。
ハイブリッド自動スケーリングポリシーは、アプリケーションが特定の期間内にリソースを使用する必要があり、アプリケーションがリソースを使用する際にバーストトラフィックや定期的なトラフィックが発生するシナリオに適しています。ハイブリッド自動スケーリングポリシーは、インターネット、教育、飲食などの業界でよく使用されます。
注意事項
最大 5 つのスケジュールされた自動スケーリングポリシー、1 つのメトリックベースの自動スケーリングポリシー、または 1 つのハイブリッド自動スケーリングポリシーを作成できます。3 種類の自動スケーリングポリシーを同時に使用することはできません。
アプリケーションに対して自動スケーリングポリシーが有効になっている場合、アプリケーションのライフサイクルを管理することはできません。たとえば、アプリケーションのスケーリング、デプロイ (単一バッチリリース、段階的リリース、カナリアリリースを含む)、停止、再起動、またはインスタンス タイプの変更はできません。前述の操作を実行するには、自動スケーリングポリシーを無効にする必要があります。
アプリケーションのライフサイクルを管理する場合、管理プロセスが完了した後でのみ、アプリケーションの自動スケーリングポリシーを作成または有効にできます。
1 つのアプリケーションにつき最大 50 インスタンスをデプロイできます。クォータを増やすには、DingTalk グループ 32874633 に参加し、ホワイトリストに追加申請してください。
前提条件
アプリケーションがデプロイされていること。詳細については、「アプリケーションのデプロイ」をご参照ください。
手順
SAE コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。[アプリケーション] ページで、上部のナビゲーションバーでリージョンを選択し、[アプリケーションリスト] ドロップダウンリストから名前空間を選択して、目的のアプリケーション名をクリックします。

対象アプリケーションの [基本情報] ページで、[自動スケーリング] タブをクリックし、[自動スケーリング] 領域の [自動スケーリングポリシーの作成] をクリックします。
自動スケーリングポリシーの設定
スケジュールされた自動スケーリングポリシー
[自動スケーリングポリシーの作成] パネルで、次のパラメーターを設定し、[次へ: スケジュールされた自動スケーリングポリシーのプレビュー] をクリックします。
パラメーター
説明
例
[ポリシータイプ]
[スケジュールされた自動スケーリングポリシー] を選択します。
スケジュールされた自動スケーリングポリシー
[ポリシー名]
ポリシーのカスタム名を入力します。
デモ
[時間設定]
[長期] または [短期] を選択できます。
[短期]: 開始日と終了日を指定する必要があります。
[長期]: 長期を選択した場合、このポリシーは長期間有効です。
長期
[サイクル]
[毎日]、[毎週]、または [毎月] を選択します。
毎日
[1 日あたりのトリガー時間]
[トリガー時間] と [トリガー時間後に保持されるインスタンス] を設定します。
[トリガー時間]: スケーリングポリシーがトリガーされる時間。
[トリガー時間後に保持されるインスタンス]: ポリシーがトリガーされた後のインスタンス数。
トリガー時間: 08:00 と 20:00
トリガー時間後に保持されるインスタンス: 10 と 3

[次へ: スケジュールされた自動スケーリングポリシーのプレビュー] をクリックして、特定の期間のインスタンス数を確認し、[OK] をクリックします。
メトリックベースの自動スケーリングポリシー
[自動スケーリングポリシーの作成] パネルで、次のパラメーターを設定し、[OK] をクリックします。
パラメーター | 説明 | 例 |
[ポリシータイプ] | [メトリックベースの自動スケーリングポリシー] を選択します。 | メトリックベースの自動スケーリングポリシー |
[ポリシー名] | ポリシーのカスタム名を入力します。 | デモ |
[トリガー条件] | メトリックを選択します。
説明
| CPU 使用率 |
メトリックの値を指定します。メトリックの値が設定値と等しい場合、スケーリングポリシーがトリガーされ、アプリケーション インスタンスが自動的にスケーリングされます。 | 70% | |
[インスタンス] | [最小アプリケーション インスタンス]、[最大アプリケーション インスタンス]、[最小利用可能インスタンス] を設定します。 説明 [最小利用可能インスタンス] は、更新ごとに利用可能なインスタンスの最小数です。[数値別] または [比率別] で値を指定できます。 |
|
[詳細設定] | (オプション) 必要に応じて、次の情報を設定します。
| なし |

ハイブリッド自動スケーリングポリシー
[ハイブリッド自動スケーリングポリシー] は、[スケジュールされた自動スケーリングポリシー] と [メトリックベースの自動スケーリングポリシー] を組み合わせたものです。
[Auto Scaling ポリシーの作成] パネルで、次のパラメーターを指定します。
[ポリシータイプ] として [ハイブリッドスケーリングポリシー] を選択し、[ポリシー名] にカスタム名を入力します。
[メトリック設定] の設定方法については、「メトリックベースの自動スケーリングポリシー」をご参照ください。

オプション: [詳細設定] をクリックし、必要に応じて以下の情報を設定します。
設定項目
説明
例
[スケールアウトステップサイズ]
単位時間あたりに追加できるインスタンスの最大数。
3
[スケールインステップサイズ]
単位時間あたりに削除できるインスタンスの最大数。
2
[スケールアウト安定化期間]
システムが安定している期間。自動スケーリングアルゴリズムは、スケールアウト操作が実行されるときに、指定された間隔内で計算された予想インスタンスの最小数が使用されるようにします。
300 秒
[スケールイン安定化期間]
システムが安定している期間。自動スケーリングアルゴリズムは、スケールイン操作が実行されるときに、指定された間隔内で計算された予想インスタンスの最大数が使用されるようにします。
300 秒
[スケールインの禁止]
このスイッチをオンにすると、アプリケーション インスタンスはスケールインされません。これにより、ピーク時のビジネスリスクを防ぎます。デフォルトでは、スイッチはオフになっています。
有効

[特別な期間設定] の設定方法については、「スケジュールされた自動スケーリングポリシー」をご参照ください。

[次へ: スケジュールされた自動スケーリングポリシーのプレビュー] をクリックして、特定の期間のインスタンス数を確認し、[OK] をクリックします。
スケーリングポリシーが有効になっているかどうかの確認
方法 1
対象アプリケーションの [基本情報] ページで、[自動スケーリング] タブをクリックします。実行中のインスタンスの数が自動スケーリングポリシーで必要なインスタンスの数と同じであれば、スケーリングポリシーは有効になっています。

方法 2
アプリケーションにインターネット CLB インスタンスを追加します。
SAE コンソール にログインします。対象アプリケーションの [基本情報] ページで、[アプリケーションアクセス設定] 領域の [インターネット CLB アクセスの追加] をクリックします。

[インターネット CLB インスタンスのバインド] パネルで、[CLB インスタンスの作成 (従量課金)] を選択し、[HTTP ポート] と [コンテナポート] を設定して、[OK] をクリックします。

[パブリックエンドポイント] が追加されたら、コピーします。

アプリケーションのストレステストを実行します。
PTS コンソール にログインします。[概要] ページにパブリックエンドポイントを入力し (形式:
https://パブリック IP アドレス)、[テスト] をクリックします。
[テスト設定] パネルで、[1 秒あたりのリクエスト数 (RPS)] を入力し、[テストは許可されており、適用される法律および規制に準拠しています] を選択してストレステストの条件に同意し、[開始] をクリックします。

SAE コンソール に戻ります。[基本情報] ページで、[インスタンス] タブをクリックして、アプリケーション インスタンスの数が自動的にスケールアウトされたかどうかを確認します。スケールアウトされた場合、スケーリングポリシーは有効になっています。
説明ストレステストが完了すると、インスタンスの数は自動的にスケールインされます。このプロセスには時間がかかる場合があるため、しばらくお待ちください。
次のステップ
対象アプリケーションの [基本情報] ページで、[自動スケーリング] タブをクリックします。
このタブで、[自動スケーリング] セクションを展開します。設定されたポリシーの [アクション] 列で、ビジネス要件に基づいてポリシーをトリガーする [イベント] を [有効化]、[無効化]、[編集]、[削除] できます。
