IBM Cloud Docs
スケジュールされたスケーリング

スケジュールされたスケーリング

VPC のスケジュールされたスケーリングを使用して、日常の需要、一時的な需要、または季節的な需要に基づいて、インスタンス・グループの容量を自動的に追加または削除するアクションをスケジュールできます。 容量を月ごと、週ごと、日ごと、1 時間ごと、または設定された分数ごとにスケーリングする、複数のスケジュールされたアクションを作成できます。

スケジュールされたスケーリングには、以下の利点があります。

  • すべての MZR で使用可能
  • イメージ・テンプレートをサポート
  • 1 回限りまたは繰り返しのスケジュール・アクションを設定可能
  • 静的または動的インスタンス・グループに対してスケジュール・アクションを設定可能

スケジュール・アクションを作成するためのサンプル・シナリオ

例として、架空の会社、Acme Web Retailer が、サイバー・マンデーの期間中に通常よりも高いレベルの Web サイト・トラフィックを経験をしているとしましょう。 増加したトラフィックを補うために、彼らはサイバー・マンデーの午前 8 時から午後 11 時までの間にインスタンス・グループの容量を 10 に増大する、繰り返しのスケジュール・アクションを作成します。

UI を使用したスケジュール・アクションの作成

membership_count をターゲットとするスケジュール・アクションは、オートスケールを使用するインスタンス・グループと互換性がありません。これはオートスケールを有効にすると、オートスケール・マネージャーが membership_count を制御するためです。

オートスケールについて詳しくは、Auto scale for VPC を参照してください

1 回限りのスケジュールされたアクションの作成

1 回限りのスケジュールされたアクションを作成するには、以下のステップを使用します。

  1. IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > インスタンスグループ に進みます。
  2. スケジュールされたアクションを作成するインスタンス・グループを、その名前をクリックして選択します。
  3. **「スケジュールされたアクション (Scheduled actions)」**をクリックします。
  4. 新規画面で、**「作成」**をクリックします。
  5. スケジュールされたアクションの適切な名前を入力します。
  6. **「1 回限り (One time)」**を選択し、スケジュールされたアクションの開始日時を選択します。
  7. インスタンス・グループが dynamic の場合、このアクションの実行時に適用するインスタンス・グループの最小サイズまたは最大サイズを入力します。 インスタンス・グループが static の場合、このアクションの実行時に適用するインスタンス・グループのサイズを入力します。
  8. 「作成」 をクリックします。

繰り返しのスケジュール・アクションの作成

繰り返しのスケジュールされたアクションを作成するには、以下のステップを使用します。

  1. IBM Cloud コンソールで、ナビゲーションメニュー アイコン メニューアイコン インフラストラクチャ VPC アイコン コンピュート > インスタンスグループ に進みます。
  2. スケジュールされたアクションを作成するインスタンス・グループを、その名前をクリックして選択します。
  3. **「スケジュールされたアクション (Scheduled actions)」**をクリックします。
  4. 新規画面で、**「作成」**をクリックします。
  5. スケジュールされたアクションの適切な名前を入力します。
  6. **「繰り返し」**をクリックします。
  7. 各パターンセクションの定義済みオプション(月、日、時間、分)を使用して、スケジュールされたアクションを実行する日付と時間を選択します。 または、スケジュールを実行する月、日、時間、分をクリックして、カスタム・スケジュールを選択します。 \n 代わりに、Cron 式を入力して日付および時刻のスケジュールを選択することもできます。 **「Cron」**をクリックして、適切な Cron 式を入力します。
  8. インスタンス・グループが dynamic の場合、このアクションの実行時に適用するインスタンス・グループの最小サイズまたは最大サイズを入力します。 インスタンス・グループが static の場合、このアクションの実行時に適用するインスタンス・グループのサイズを入力します。
  9. 「作成」 をクリックします。

スケジュール・アクションが_「完了」「省略」、または「失敗」_といった最終状況に達してから 24 時間後に、そのアクションには削除のマークが付けられます。

CLI を使用したスケジュールされたアクションの作成

IBM CloudCLIを使用して、自動スケーリングされたインスタンスのスケジューリングアクションを作成できます。

開始前に

IBM Cloud® の CLI 環境と IBM Cloud VPC をセットアップしておきます。

CLI を使用してスケジュールされたアクションを作成するには、以下の手順を実行します。

  1. インスタンス・グループ・リソースを作成するために必要な IBM Cloud Identity and Access Management (IAM) 権限が付与されていることを確認します。 詳細については、*を参照してください。VPC インフラストラクチャ サービスの IAM アクセスの管理
  2. 定義したターゲット使用率メトリックに基づいてグループのインスタンスを動的に追加/削除するスケーリング・ポリシーを作成します。

スケジュールされたアクションの作成

次のコマンドを使用して、スケジュールされたアクションを作成します。

ibmcloud is instance-group-manager-action-create INSTANCE_GROUP MANAGER [--run-at RUN_AT | --cron CRON] [--membership-count MEMBERSHIP_COUNT | (--max-members MAX_MEMBERS --min-members MIN_MEMBERS)] [--name NAME] [--output JSON] [-q, --quiet]

ここで、

  • INSTANCE_GROUP は、インスタンス・グループの ID です。
  • MANAGER は管理者の ID です。
  • --run-at はスケジュールされたアクションに指定された日時です。 形式は ISO 8601 形式です。 例: 2024-03-05T15:31:50.701Z または 2024-03-05T15:31:50.701+8:00
  • --cron は、繰り返しのスケジュールされたアクションの Cron 指定です。
  • --membership-count は、スケジュールされた時刻にインスタンス・グループ内にいるメンバーの数です。
  • --max-members は、管理対象インスタンス・グループのメンバーの最大数です。 範囲は 1-100 です。
  • --min-members は、管理対象インスタンス・グループのメンバーの最小数です。 範囲は 1-100 です。
  • --name は、アクションの名前です。
  • --output: 出力形式を指定します。JSON のみがサポートされています。 次のいずれか: JSON
  • -q, --quiet: 詳細出力を抑制します。

スケジュールされたアクションの更新

次のコマンドを使用して、スケジュール・アクションを更新します。

ibmcloud is instance-group-manager-action-update INSTANCE_GROUP MANAGER ACTION (--run-at RUN_AT | --cron CRON) [--membership-count MEMBERSHIP_COUNT | (--min-members MIN_MEMBERS --max-members MAX_MEMBERS)] [--name NEW_NAME] [--output JSON] [-q, --quiet]

ここで、

  • INSTANCE_GROUP: はインスタンス・グループの ID です。
  • MANAGER は管理者の ID です。
  • ACTION はアクションの ID です。
  • --run-at はスケジュール・アクションに指定された日時です。 形式は ISO 8601 形式です。 例: 2024-03-05T15:31:50.701Z または 2024-03-05T15:31:50.701+8:00。
  • --cron は、繰り返しのスケジュールされたアクションの Cron 指定です。
  • --membership-count は、スケジュールされた時刻にインスタンス・グループ内に含めるメンバーの数です。
  • --min-members は、スケジュールされた時刻にインスタンス・グループ内に含めるメンバーの最小数です。 範囲は 1-100 です。
  • --max-members: スケジュールされた時刻にインスタンス・グループ内に含めるメンバーの最大数。 範囲は 1-100 です。
  • --name は、インスタンス・グループ管理者アクションの新しい名前です。
  • --output は出力形式を指定します。JSON のみがサポートされています。 次のいずれか: JSON。
  • -q, --quiet は、詳細な出力を非表示にします。

スケジュールされたアクションの削除

次のコマンドを使用して、スケジュールされたアクションを削除します。

ibmcloud is instance-group-manager-action-delete INSTANCE_GROUP MANAGER ACTION [--output JSON] [-f, --force] [-q, --quiet]

ここで、

  • INSTANCE_GROUP: はインスタンス・グループの ID です。
  • MANAGER は管理者の ID です。
  • ACTION はアクションの ID です。
  • --output は出力形式を指定します。JSON のみがサポートされています。 次のいずれか: JSON。
  • --force, -f は、確認を求めずに操作を強制します。
  • -q, --quiet は、詳細な出力を非表示にします。

API を使用したスケジュールされたアクションの作成

VPC APIを呼び出すことで、自動スケーリングされたインスタンスのスケジューリングアクションを作成できます。

スケジュールされたアクションの作成

次の例は、スケジュールされたアクションを作成します。

curl -X POST "$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers?   version=2021-04-20&generation=2" -H "Authorization: $iam_token" -d '{
      "manager_type": "autoscale",
      "max_membership_count": 50
    }'

正常な応答は、次の例のようになります。

{
  "aggregation_window": 90,
  "cooldown": 300,
  "href": "https://eu-gb.iaas.cloud.ibm.com/v1/instance_groups/   r018-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r018-4f2f7036-86b0-4d1b-a729-12357d45b00f",
  "id": "r018-4f2f7036-86b0-4d1b-a729-12357d45b00f",
  "management_enabled": true,
  "manager_type": "autoscale",
  "max_membership_count": 50,
  "min_membership_count": 1,
  "name": "my-manager",
  "policies": []
} created a scheduled action

スケジュールされたアクションの更新

次の例は、スケジュールされたアクションを更新します。

curl -X PATCH "$vpc_api_endpoint/v1/instance_groups/$instance_group_id/managers/   $instance_group_manager_id/policies?version=2021-04-20&generation=2" -H "Authorization:    $iam_token" -d '{
      "metric_type": "cpu",
      "metric_value": 50
    }'

正常な応答は、次の例のようになります。

{
  "href": "https://eu-gb.iaas.cloud.ibm.com/v1/instance_groups/   r018-7b3ac170-01f3-43d6-87ec-f0ed11ed3f60/managers/r018-4f2f7036-86b0-4d1b-a729-12357d45b00f/   policies/r018-02d7b6c3-e3c8-4569-ba6a-caa5d4d6146c",
  "id": "r018-02d7b6c3-e3c8-4569-ba6a-caa5d4d6146c",
  "metric_type": "cpu",
  "metric_value": 50,
  "name": "my-policy",
  "policy_type": "target"

スケジュールされたアクションの削除

次の例は、スケジュールされたアクションを削除します。


curl -X DELETE "$vpc_api_endpoint/v1/instance_groups/$instance_group_id/memberships?   version=2021-04-20&generation=2" -H "Authorization: $iam_token"

サンプル応答はありません。