スケジュールされたスケーリング
VPC のスケジュールされたスケーリングを使用して、日常の需要、一時的な需要、または季節的な需要に基づいて、インスタンス・グループの容量を自動的に追加または削除するアクションをスケジュールできます。 容量を月ごと、週ごと、日ごと、1 時間ごと、または設定された分数ごとにスケーリングする、複数のスケジュールされたアクションを作成できます。
スケジュールされたスケーリングには、以下の利点があります。
- すべての MZR で使用可能
- イメージ・テンプレートをサポート
- 1 回限りまたは繰り返しのスケジュール・アクションを設定可能
- 静的または動的インスタンス・グループに対してスケジュール・アクションを設定可能
スケジュール・アクションを作成するためのサンプル・シナリオ
例として、架空の会社、Acme Web Retailer が、サイバー・マンデーの期間中に通常よりも高いレベルの Web サイト・トラフィックを経験をしているとしましょう。 増加したトラフィックを補うために、彼らはサイバー・マンデーの午前 8 時から午後 11 時までの間にインスタンス・グループの容量を 10 に増大する、繰り返しのスケジュール・アクションを作成します。
UI を使用したスケジュール・アクションの作成
membership_count
をターゲットとするスケジュール・アクションは、オートスケールを使用するインスタンス・グループと互換性がありません。これはオートスケールを有効にすると、オートスケール・マネージャーが membership_count
を制御するためです。
オートスケールについて詳しくは、Auto scale for VPC を参照してください
1 回限りのスケジュールされたアクションの作成
1 回限りのスケジュールされたアクションを作成するには、以下のステップを使用します。
- IBM Cloud コンソールで、ナビゲーションメニュー アイコン
インフラストラクチャ
コンピュート > インスタンスグループ に進みます。
- スケジュールされたアクションを作成するインスタンス・グループを、その名前をクリックして選択します。
- **「スケジュールされたアクション (Scheduled actions)」**をクリックします。
- 新規画面で、**「作成」**をクリックします。
- スケジュールされたアクションの適切な名前を入力します。
- **「1 回限り (One time)」**を選択し、スケジュールされたアクションの開始日時を選択します。
- インスタンス・グループが dynamic の場合、このアクションの実行時に適用するインスタンス・グループの最小サイズまたは最大サイズを入力します。 インスタンス・グループが static の場合、このアクションの実行時に適用するインスタンス・グループのサイズを入力します。
- 「作成」 をクリックします。
繰り返しのスケジュール・アクションの作成
繰り返しのスケジュールされたアクションを作成するには、以下のステップを使用します。
- IBM Cloud コンソールで、ナビゲーションメニュー アイコン
インフラストラクチャ
コンピュート > インスタンスグループ に進みます。
- スケジュールされたアクションを作成するインスタンス・グループを、その名前をクリックして選択します。
- **「スケジュールされたアクション (Scheduled actions)」**をクリックします。
- 新規画面で、**「作成」**をクリックします。
- スケジュールされたアクションの適切な名前を入力します。
- **「繰り返し」**をクリックします。
- 各パターンセクションの定義済みオプション(月、日、時間、分)を使用して、スケジュールされたアクションを実行する日付と時間を選択します。 または、スケジュールを実行する月、日、時間、分をクリックして、カスタム・スケジュールを選択します。 \n 代わりに、Cron 式を入力して日付および時刻のスケジュールを選択することもできます。 **「Cron」**をクリックして、適切な Cron 式を入力します。
- インスタンス・グループが dynamic の場合、このアクションの実行時に適用するインスタンス・グループの最小サイズまたは最大サイズを入力します。 インスタンス・グループが static の場合、このアクションの実行時に適用するインスタンス・グループのサイズを入力します。
- 「作成」 をクリックします。
スケジュール・アクションが_「完了」、「省略」、または「失敗」_といった最終状況に達してから 24 時間後に、そのアクションには削除のマークが付けられます。
CLI を使用したスケジュールされたアクションの作成
IBM CloudCLIを使用して、自動スケーリングされたインスタンスのスケジューリングアクションを作成できます。
開始前に
IBM Cloud® の CLI 環境と IBM Cloud VPC をセットアップしておきます。
CLI を使用してスケジュールされたアクションを作成するには、以下の手順を実行します。
- インスタンス・グループ・リソースを作成するために必要な IBM Cloud Identity and Access Management (IAM) 権限が付与されていることを確認します。 詳細については、*を参照してください。VPC インフラストラクチャ サービスの IAM アクセスの管理。
- 定義したターゲット使用率メトリックに基づいてグループのインスタンスを動的に追加/削除するスケーリング・ポリシーを作成します。
スケジュールされたアクションの作成
次のコマンドを使用して、スケジュールされたアクションを作成します。
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"
サンプル応答はありません。