オートスケーラーの管理

オートスケーラーの作成、記述、更新、停止、削除などの管理タスクは、ここで説明される手順に従って行います。

始める前に

オートスケーラーの作成

オートスケーラーの作成手順は、使用する自動スケーリングのポリシーによって多少異なります。オートスケーラーの作成手順については次のページをご覧ください。

オートスケーラーに関する情報の取得

特定のオートスケーラーの詳細を確認する、あるいはオートスケーラーが正常に作成されたことを確認するには、コンソール、gcloud compute instance-groups managed describe サブコマンド、あるいは、ゾーンまたはリージョン オートスケーラー リソースの API の get メソッドを使用します。

Console

  1. Cloud Console の [インスタンス グループ] ページに移動します。

    [インスタンス グループ] ページに移動

  2. リストからインスタンス グループの名前をクリックして、[詳細] ページを開きます。
  3. [詳細] をクリックすると、自動スケーリングの設定を含むグループの詳細が表示されます。

gcloud

gcloud コマンドライン ツールで、describe サブコマンドを使用します。

gcloud compute instance-groups managed describe GROUP

API

ゾーン マネージド インスタンス グループのオートスケーラーのリソースに関する詳細を取得するには、オートスケーラーの get メソッドを使用します。リージョン マネージド インスタンス グループの場合は、regionAutoscaler の get メソッドを使います。

GET https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler
200 OK

{

 "kind": "compute#autoscaler",
 "name": "",
 "target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/test-managed-group",
 "autoscalingPolicy": {
  "minNumReplicas": 2,
  "maxNumReplicas": 10,
  "coolDownPeriodSec": 60,
  "cpuUtilization": {
   "utilizationTarget": 0.8
  }
 },
 "id": "14869149674555507326",
 "creationTimestamp": "2015-03-25T01:56:56.084711335+00:00",
 "selfLink": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler"
}

オートスケーラーの更新

オートスケーラーを更新するには、コンソール、gcloud ツール、または API を使用します。

オートスケーラーを更新する場合に、変更内容が反映されるまでに時間がかかることがあり、オートスケーラーの新しい設定が反映されるまでに数分かかることがあります。

Console

  1. Cloud Console の [インスタンス グループ] ページに移動します。

    [インスタンス グループ] ページに移動

  2. リストからインスタンス グループの名前をクリックして、[詳細] ページを開きます。
  3. [グループを編集] をクリックすると、自動スケーリングの設定を含め、グループの現在の構成を表示し、更新できます。
  4. 完了したら [保存] をクリックします。

gcloud

set-autoscaling サブコマンドを使用します。

オートスケーラーを初めて作成する場合と同様に、オートスケーラーのすべての構成設定をリクエストで設定する必要があります。そうしないと、リクエスト内で明示的に定義されていない設定はデフォルト値にリセットされてしまいます。

gcloud compute instance-groups managed set-autoscaling GROUP \
    --max-num-replicas MAX_NUM ...

オートスケーラーの作成手順については、Stackdriver Monitoring の指標に基づくスケーリングまたは CPU または負荷分散処理機能に基づくスケーリングをご覧ください。

API

ゾーン マネージド インスタンス グループのオートスケーラーのリソースを更新するには、ゾーン オートスケーラーの patch メソッドを使用します。リージョン マネージド インスタンス グループの場合は、regionAutoscaler の patch メソッドを使います。新しい構成を含むリクエストの本文を提供します。

PATCH https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler

{
 "autoscalingPolicy": {
  "maxNumReplicas": 20
 }
}
200 OK

{
 "kind": "compute#operation",
 "id": "4244494732310423322",
 "name": "operation-1556912627871-58800f8216ed7-74ab1720-7d360603",
 "zone": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f",
 "operationType": "compute.autoscalers.patch",
 "targetLink": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler",
 "targetId": "340775527929467142",
 "status": "RUNNING",
 ...
}

データを変更するリクエストを実行する場合は、zoneOperations のリソースが返されます。そのオペレーションに対して、クエリを実行して変更のステータスを確認できます。

オートスケーラーの無効化または制限(ベータ版)

インスタンス グループを一時的にスケーリングできないようにオートスケーラーをオフにするか、インスタンス グループのみスケールアップできるようオートスケーラーを制限します。この機能は、次のような場合に便利です。

  • ダウンスケーリングの影響を受けずに、インスタンスを調査する場合。
  • グループの一部のみを再構成しつつ、スケーリング操作がトリガーされないようにマネージド インスタンス グループの複数のプロパティを再構成する場合。
  • ワークロードを新しいインスタンス グループにリダイレクトしつつ、インスタンス グループの容量を維持して高速ロールバックする場合。

オートスケーラーを再び有効にすると、オートスケーラーは自動的に通常のオペレーションを再開します。

コンソール、gcloud ツールまたは API で、オートスケーラーの mode を以下に設定します。

  • OFF: 自動スケーリングを一時的に無効にします。このモードを使用して、インスタンス グループのサイズが自動的に変更されないようにします。自動スケーリングの構成はそのまま維持されるため、後で再び自動スケーリングを有効にできます。
  • ONLY_UP: 自動スケーリングを新しいインスタンスの追加のみに制限します。このモードを使用すると、グループの縮小を防止できます。また、負荷が増えた場合には追加の VM をプロビジョニングできます。
  • ON: ポリシー単位で、自動スケーリングのオペレーションをすべて有効にします。

Console

  1. Cloud Console の [インスタンス グループ] ページに移動します。

    [インスタンス グループ] ページに移動

  2. リストからインスタンス グループの名前をクリックして、[詳細] ページを開きます。
  3. [グループを編集] をクリックして、自動スケーリングの設定を含め、グループの現在の構成を表示します。
  4. [自動スケーリング] の [自動スケーリング モード] を設定して、グループの自動スケーリングを無効または制限する、あるいは、再度有効化できます。

gcloud

ベータ版の set-autoscaling サブコマンドを --mode フラグを指定して実行することで、オートスケーラーを無効化、制限、有効化できます。

オートスケーラーを初めて作成する場合と同様に、オートスケーラーのすべての構成設定をリクエストで設定する必要があります。そうしないと、リクエスト内で明示的に定義されていない設定はデフォルト値にリセットされてしまいます。

gcloud beta compute instance-groups managed set-autoscaling GROUP \
    --mode [MODE] ...

ここで

  • [MODE] は次のいずれかです。
    • OFF の場合、オートスケーラーは無効になりますが、構成は維持されます。
    • ONLY_UP の場合、オートスケーラーのアクティビティをインスタンスの追加のみに制限します。
    • ON の場合、ポリシーに従って、すべてのオートスケーラーのアクティビティを再び有効化します。

API

ゾーン マネージド インスタンス グループのオートスケーラーのリソースのモードを更新するには、オートスケーラーの patch メソッドを使用します。リージョン マネージド インスタンス グループの場合は、regionAutoscaler の patch メソッドを使います。autoscalingPolicy.mode プロパティを含むリクエストの本文を提供します。

PATCH https://www.googleapis.com/compute/beta/projects/my-project/regions/us-central1-f/autoscalers?autoscaler=my-autoscaler

{
  "autoscalingPolicy": {
    "mode":"[MODE]"
  }
}

ここで

  • [MODE] は次のいずれかです。
    • OFF の場合、オートスケーラーは無効になりますが、構成は維持されます。
    • ONLY_UP の場合、オートスケーラーのアクティビティをインスタンスの追加のみに制限します。
    • ON の場合、ポリシーに従って、すべてのオートスケーラーのアクティビティを再び有効化します。

オートスケーラーのモード(OFFONONLY_UP)に関するフィードバックは、mig-discuss@google.com までお送りください。

オートスケーラーの削除

コンソール、gcloud ツール、または API を使用して、オートスケーラーのリソースを完全に削除できます。自動スケーリングを一時的に停止したまま、オートスケーラーのリソースと構成を保持する場合は、オートスケーラーを削除するのではなくオフにします

Console

  1. Cloud Console の [インスタンス グループ] ページに移動します。

    [インスタンス グループ] ページに移動

  2. リストからインスタンス グループの名前をクリックして、[詳細] ページを開きます。
  3. [グループを編集] をクリックして、自動スケーリングの設定を含め、グループの現在の構成を表示します。
  4. [自動スケーリング] で [自動スケーリングの構成を削除] をクリックして、オートスケーラーを停止し、構成を削除します。

gcloud

stop-autoscaling サブコマンドを使用してオートスケーラーを停止し、構成を削除します。

gcloud compute instance-groups managed stop-autoscaling GROUP

オートスケーラーを停止すると、マネージド インスタンス グループから削除されます。オートスケーラーを再起動するには、set-autoscaling コマンドを使用してオートスケーラーを再作成する必要があります。

gcloud ツールでマネージド インスタンス グループを削除する場合、そのマネージド インスタンス グループに接続されているオートスケーラーも削除されます。

API

API で、DELETE メソッドを使用してリクエストを作成して、オートスケーラーを停止し、構成を削除します。

 DELETE https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/autoscalers/example-autoscaler