構成をプレビューする

このページでは、デプロイを作成する前に構成ファイルをプレビューする方法について説明します。構成の詳細については、構成の概要をご覧ください。

構成ファイルを作成した後で、デプロイの作成前に構成をプレビューできます。構成をプレビューすることで、Deployment Manager が作成するリソースの中で、実際にはインスタンス化されないリソースを確認できます。Deployment Manager サービスは次の方法で構成をプレビューします。

  1. テンプレートを含め、構成を完全に展開します。
  2. デプロイと「シェル」リソースを作成します。

insert() リクエストを実行するときに preview クエリ パラメータを使用して構成をプレビューできます。

始める前に

新しい構成をプレビューする

構成をプレビューするには、Google Cloud CLI を使用するか、API に直接リクエストします。

gcloud

Google Cloud CLI を使用している場合は、--preview フラグで create サブコマンドを使用します。

gcloud deployment-manager deployments create example-config --config configuration-file.yaml \
     --preview

状態が IN_PREVIEW のリソースのリストがサーバーから返されます。

The fingerprint of the deployment is ulPDrJON8E5ySHKC5fcukw==
Waiting for create [operation-1492785372594-54dae2ddbff50-58d45d53-12d483cf]...done.
Create operation operation-1492785372594-54dae2ddbff50-58d45d53-12d483cf completed successfully.
NAME                      TYPE                 STATE       ERRORS  INTENT
datadisk-example  compute.v1.disk      IN_PREVIEW  []      CREATE_OR_ACQUIRE
vm-example        compute.v1.instance  IN_PREVIEW  []      CREATE_OR_ACQUIRE

API

API では、リクエスト本文に target フィールドと name フィールド、preview=true クエリ パラメータを指定した insert() メソッドを使用します。構成を targettarget フィールドで指定します。

たとえば、次の API リクエストは簡単なテンプレートをプレビューします。

POST https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments?preview=true

{
 "name": "example-config",
 "target": {
  "config": {
    "content":  "resources:\n- name: vm-created-by-cloud-config\n  type: compute.v1.instance\n  properties:\n    zone: us-central1-a\n    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n    disks:\n    - deviceName: boot\n      type: PERSISTENT\n      boot: true\n      autoDelete: true\n      initializeParams:\n        diskName: disk-created-by-cloud-config\n        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140619\n    networkInterfaces:\n    networkInterfaces:\n    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default"
   }
  }
}

デプロイがプレビュー モードの場合は、次の 3 つの方法のいずれかでデプロイを進めることができます。

複数のプレビューを実行する

構成を変更して別のプレビューを実行する場合は、--preview フラグを指定して update コマンドを使用します。

gcloud deployment-manager deployments update example-config \
    --config new-config.yaml --preview

API で、既存のデプロイに対する PUT() リクエストを作成し、preview=true クエリ パラメータを指定します。リクエスト本文には intent フィールド、target フィールド、name フィールドを含める必要があります。たとえば、次の API リクエストはシンプルな更新をプレビューします。

PUT https://www.googleapis.com/deploymentmanager/v2/projects/myproject/global/deployments/example-config?preview=true

{
 "target": {
  "config": {
   "content": "resources:\n- name: vm-created-by-cloud-config\n  type: compute.v1.instance\n  properties:\n    zone: us-central1-a\n    machineType: https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/machineTypes/n1-standard-1\n    disks:\n    - deviceName: boot\n      type: PERSISTENT\n      boot: true\n      autoDelete: true\n      initializeParams:\n        diskName: disk-created-by-cloud-config\n        sourceImage: https://www.googleapis.com/compute/v1/projects/debian-cloud/global/images/debian-7-wheezy-v20140619\n    networkInterfaces:\n    - network: https://www.googleapis.com/compute/v1/projects/myproject/global/networks/default"
  }
 },
 "name": "example-config"
}

プレビューのデプロイまたはキャンセル

デプロイをプレビューした後で、デプロイを続行するには、更新を実行して構成を commit します。たとえば、example-config という名前のデプロイが現在プレビュー モードだとします。デプロイを続行するには、次のコマンドを実行します。

gcloud deployment-manager deployments update example-config

Deployment Manager は、最後にプレビューされた構成を使用してデプロイを作成します。

また、プレビューされた構成を使用しない場合は、プレビューをキャンセルしてからデプロイを削除します。

gcloud deployment-manager deployments cancel-preview example-config

デプロイがプレビュー モードの場合は、別の構成を進めることはできません。たとえば、vm.yaml という名前の構成を使用したプレビュー モードの example-config というデプロイがあるとします。プレビュー プロセスをスキップして、two_vms.yaml という名前の新しい構成を同じデプロイ先にデプロイすることにしました。example-config がプレビュー モードの間は新しい構成をデプロイできません。プレビューをキャンセルし、新しい構成でデプロイを更新します。

次のステップ