コマンドライン インターフェース(CLI)を使用して仮想マシン(VM)プロダクトをデプロイする

Google Cloud Marketplace から提供される仮想マシン(VM)プロダクトは、Compute Engine で実行できるカスタム VM インスタンスです。Compute Engine のコンセプトの概要については、Compute Engine のドキュメントをご覧ください。

Google Cloud Marketplace の一部の VM プロダクトは、インフラストラクチャのプロビジョニングと管理を行うためのオープンソース ツールである Terraform を使用したコマンドライン インターフェース(CLI)によるデプロイをサポートしています。Terraform の詳細については、Terraform を使ってみるをご覧ください。

概要

このページでは、Terraform を使用して CLI で VM プロダクトをデプロイする手順について説明します。全体の流れは次のとおりです。

  1. プロダクトの Google Cloud Marketplace 掲載情報の関連するセクションにアクセスします。

  2. 必要に応じて、コマンドラインでのデプロイに使用するサービス アカウントを選択または作成します。

  3. 必要に応じて、サービス アカウントの権限借用を設定します。

  4. Terraform 用に gcloud 環境を構成します。

  5. VM プロダクトを CLI でデプロイするために使用する Terraform モジュールまたはコード スニペットをダウンロードします

  6. モジュールまたはコード スニペットを使用して、VM プロダクトをデプロイします。

[コマンドラインのデプロイ] タブに移動

CLI で VM プロダクトのデプロイを開始するには:

  1. Cloud Marketplace で、CLI でデプロイする VM プロダクトのプロダクト リスティング ページにアクセスします。

    [Marketplace] に移動

  2. [起動] ボタンをクリックするか、[CLI でデプロイ] をクリックして [コマンドラインのデプロイ] タブに移動します。

(省略可)サービス アカウントを選択または作成する

[コマンドラインのデプロイ] タブで、コマンドラインでのデプロイに使用するサービス アカウントを選択または作成できます。コード スニペットの生成時に [コマンドラインのデプロイ] タブでサービス アカウントを選択または作成していない場合は、生成された Terraform スニペットを手動で編集してサービス アカウントを追加してから使用する必要があります。サービス アカウントの詳細については、サービス アカウントの作成と管理をご覧ください。

CLI を使用して Cloud Marketplace VM プロダクトをデプロイする場合、使用するサービス アカウントにCompute 管理者(roles/compute.admin)の Identity and Access Management(IAM)のロールが必要です。 [コマンドラインのデプロイ] タブで新しいサービス アカウントを作成すると、Google Cloud Marketplace によって、このロールが新しいサービス アカウントに自動的に付与されます。[コマンドラインのデプロイ] タブで既存のサービス アカウントを選択した場合は、サービス アカウントにこのロールがあることを確認する必要があります。

サービス アカウントを選択または作成するには:

  1. VM プロダクトの Google Cloud Marketplace リスティングの [コマンドラインのデプロイ] タブの [サービス アカウントの構成(省略可)] で、[構成] ボタンをクリックします。

  2. [権限をリクエストするサービス アカウント] で、[既存のサービス アカウントを選択] か [新しいサービス アカウントを作成] をクリックします。

既存のサービス アカウントの選択

既存のサービス アカウントを選択するには:

  1. [サービス アカウントの選択] で、使用するサービス アカウントを選択します。このリストには、Compute 管理者(roles/compute.admin)のロールを持つ既存のサービス アカウントがすべて含まれています。

    既存のどのサービス アカウントにも Compute 管理者(roles/compute.admin)のロールがない場合、リストは空です。リストが空の場合は、このロールを既存のサービス アカウントのいずれかに付与してからこのタブに戻るか、代わりに新しいサービス アカウントを作成します。

  2. [送信] ボタンをクリックします。

サービス アカウントを新規作成

新しいサービス アカウントを作成する手順は次のとおりです。

  1. サービス アカウントの名前を選択して、[サービス アカウント名] 項目に追加します。

  2. サービス アカウントの ID を選択し、[サービス アカウント ID] 項目に追加します。

  3. [サービス アカウントの説明] フィールドに、サービス アカウントの説明を追加します。

  4. [サービス アカウントを作成] ボタンをクリックします。

サービス アカウントを作成したら、IAM を使用してサービス アカウントのアクセス制御を管理できます。

(省略可)サービス アカウントの権限借用を設定する

コマンドラインでのデプロイへのアクセスを管理するには、サービス アカウントの権限借用を使用することをおすすめします。権限借用を使用する場合は、誰でもデプロイへのアクセスに使用できるサービス アカウント キーを作成する代わりに、特定のプリンシパルに対してサービス アカウント トークン作成者(roles/iam.serviceAccountTokenCreator)の IAM ロールを付与または取り消すことによってアクセスを管理します。

サービス アカウントに対するロールの付与と取り消しの方法については、サービス アカウントに対するアクセス権の管理をご覧ください。サービス アカウントのなりすましについて詳しくは、サービス アカウントのなりすましをご覧ください。

Terraform の gcloud 環境を構成する

[コマンドラインのデプロイ] タブの [gcloud の構成] に、一連のコマンドが表示されます。Terraform 用の gcloud 環境を構成するには、表示されたコマンドをコピーして実行できます。

Terraform モジュールをダウンロードする

VM プロダクトの構成に応じて、CLI で、付属の Terraform モジュールまたは生成されたコード スニペットを使用して VM プロダクトをデプロイします。VM プロダクトのデプロイに付属のモジュールを使用するのか、それとも生成されたコード スニペットを使用するのかを確認するには、プロダクトの Cloud Marketplace 掲載情報の [コマンドライン デプロイ] タブにアクセスします。付属のモジュールを使用してプロダクトをデプロイする場合は、[ダウンロード] ボタンが表示されます。生成されたコード スニペットを使用してプロダクトをデプロイする場合は、[コードの生成] ボタンが表示されます。

付属のモジュールや生成されたコード スニペットをダウンロードするには、次の手順を行います。

付属の Terraform モジュール

  1. VM プロダクトの Cloud Marketplace 掲載情報の [コマンドラインのデプロイ] タブで [ダウンロード] ボタンをクリックします。これにより、使用する Terraform モジュールが入った zip ファイルがダウンロードされます。

  2. ダウンロードした zip ファイルから Terraform モジュールを解凍します。

生成されたコード スニペット

  1. VM プロダクトの Cloud Marketplace リスティングの [コマンドラインのデプロイ] タブで [コードを生成] ボタンをクリックします。これによってコード スニペットが生成され、コピーして Terraform で VM をデプロイするために使用できます。

  2. 生成されたコード スニペットをコピーするには、[クリップボードにコピー] をクリックします。

付属のモジュールまたは生成されたコード スニペットを使用して VM プロダクトをデプロイする

付属のモジュールまたは生成されたコード スニペットを使用して、CLI で VM プロダクトをデプロイするには、次の手順を行います。

付属の Terraform モジュール

  1. ダウンロードした Terraform モジュールで、README.md ファイルを見つけます。

  2. README.md ファイルに記載の、プロダクト固有の手順を行います。

    プロダクト固有の手順を行っているときに問題が発生した場合は、必要に応じて、次のコマンドを実行してモジュールをデプロイできます。

    • terraform init

    • terraform apply

生成されたコード スニペット

  1. 生成されたコード スニペットに、使用するサービス アカウントが含まれていることを確認します。コマンドラインでのデプロイ用にサービス アカウントを構成した場合は、生成されたコード スニペットにそのサービス アカウントの情報が含まれます。サービス アカウントを構成していない場合は、生成されたコード スニペットを編集して、使用するサービス アカウントを指定する必要があります。

  2. Terraform をインストールしたマシンで main.tf という名前の新しいファイルを作成します。

  3. 生成されたコード スニペットを必要に応じて編集し、作成した main.tf ファイルに貼り付けます。

  4. 次のコマンドを実行します。

    • terraform init

    • terraform apply

次のステップ

VM プロダクトの CLI デプロイメントの管理については、VM プロダクトの CLI デプロイメントの管理をご覧ください。