このドキュメントでは、ブートディスク イメージ、ブートディスク スナップショット、またはコンテナ イメージを使用して仮想マシン(VM)またはベアメタル インスタンスを作成する方法について説明します。一部のイメージは Shielded VM 機能をサポートしています。これは、UEFI 準拠のファームウェア、セキュアブート、vTPM で保護されたメジャード ブートなどのセキュリティ機能を備えています。Shielded VM では、vTPM と整合性モニタリングがデフォルトで有効になっています。
コンピューティング インスタンスを作成するときに、1 つ以上のディスクを作成できます。作成後、インスタンスにディスクを追加することもできます。インスタンスを作成すると、Compute Engine によってそのインスタンスが自動的に起動されます。
コンピューティング インスタンスを作成する際に、複数のネットワーク インターフェースを追加することもできます。インスタンスがインターネット上の脅威にさらされるリスクを軽減するには、インスタンスにネットワーク インターフェースを追加するときに、外部 IP アドレスを省略します。この場合、Cloud NAT を構成しない限り、このインスタンスには、同じ VPC ネットワークまたはリンクされたネットワーク内の他のコンピューティング インスタンスからしかアクセスできません。
コンピューティング インスタンスを初めて作成する場合は、クイックスタート: Linux VM の使用または クイックスタート: Windows Server VM の使用をご覧ください。
より具体的または複雑な Compute Engine インスタンスの作成については、次のリソースをご覧ください。
- ユーザー管理のサービス アカウントを使用する VM を作成する。
- Windows Server インスタンスを作成する。
- SQL Server インスタンスを作成する。
- 単一テナントノードにインスタンスを作成する。
- カスタムホスト名を持つ VM インスタンスを作成する。
- gVNIC ネットワーク インターフェースを使用する VM インスタンスを作成する。
- Arm VM インスタンスを作成して起動する。
- GPU が接続された VM インスタンスを作成する。
- ハイ パフォーマンス コンピューティング(HPC)イメージを使用して VM インスタンスを作成する。
- VM を一括作成する。
- インスタンス スケジュールを適用した VM インスタンスを作成する。
- マネージド インスタンス グループ(MIG)を作成する。
- Confidential VM インスタンスを作成する。
- インスタンスを予約して予約済みのインスタンスを使用する。
- 高帯域幅の VM インスタンスを構成する。
既存のライセンスを使用する場合は、お客様所有ライセンスの使用をご覧ください。
始める前に
- Google Cloud CLI または REST を使用してイメージまたはディスクからコンピューティング インスタンスを作成する場合、1 秒あたり 20 インスタンスの上限があります。1 秒間にこれ以上のインスタンスを作成する必要がある場合は、イメージ リソースの割り当て上限の引き上げをリクエストします。
-
まだ設定していない場合は、認証を設定します。認証とは、Google Cloud サービスと API にアクセスするために ID を確認するプロセスです。ローカル開発環境からコードまたはサンプルを実行するには、次のように Compute Engine に対する認証を行います。
Select the tab for how you plan to use the samples on this page:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Terraform
ローカル開発環境でこのページの Terraform サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
C#
ローカル開発環境でこのページの .NET サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Go
ローカル開発環境でこのページの Go サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Java
ローカル開発環境でこのページの Java サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Node.js
ローカル開発環境でこのページの Node.js サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
PHP
ローカル開発環境でこのページの PHP サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Python
ローカル開発環境でこのページの Python サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
Ruby
ローカル開発環境でこのページの Ruby サンプルを使用するには、gcloud CLI をインストールして初期化し、ユーザー認証情報を使用してアプリケーションのデフォルト認証情報を設定します。
詳細については Set up authentication for a local development environment をご覧ください。
REST
このページの REST API サンプルをローカル開発環境で使用するには、gcloud CLI に指定した認証情報を使用します。
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
詳細については、 Google Cloud 認証ドキュメントの REST を使用して認証するをご覧ください。
-
必要なロール
VM の作成に必要な権限を取得するには、プロジェクトに対する Compute インスタンス管理者(v1)(roles/compute.instanceAdmin.v1
)IAM ロールを付与するよう管理者に依頼します。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
この事前定義ロールには、VM の作成に必要な権限が含まれています。必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。
必要な権限
VM を作成するには、次の権限が必要です。
- プロジェクトに対する
compute.instances.create
-
カスタム イメージを使用して VM を作成する: イメージに対する
compute.images.useReadOnly
-
スナップショットを使用して VM を作成する: スナップショットに対する
compute.snapshots.useReadOnly
-
インスタンス テンプレートを使用して VM を作成する: インスタンス テンプレートに対する
compute.instanceTemplates.useReadOnly
- VM にレガシー ネットワークを割り当てる: プロジェクトに対する
compute.networks.use
-
VM の静的 IP アドレスを指定する: プロジェクトに対する
compute.addresses.use
-
レガシー ネットワークを使用する際に VM に外部 IP アドレスを割り当てる: プロジェクトに対する
compute.networks.useExternalIp
- VM のサブネットを指定する: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.use
-
VPC ネットワークの使用時に VM に外部 IP アドレスを割り当てる: プロジェクトまたは選択したサブネットに対する
compute.subnetworks.useExternalIp
-
VM の VM インスタンス メタデータを設定する: プロジェクトに対する
compute.instances.setMetadata
-
VM にタグを設定する: VM に対する
compute.instances.setTags
-
VM にラベルを設定する: VM に対する
compute.instances.setLabels
-
VM が使用するサービス アカウントを設定する: VM に対する
compute.instances.setServiceAccount
-
VM 用の新しいディスクを作成する: プロジェクトに対する
compute.disks.create
-
既存のディスクを読み取り専用モードまたは読み取り / 書き込みモードでアタッチする: ディスクに対する
compute.disks.use
-
既存のディスクを読み取り専用モードでアタッチする: ディスクに対する
compute.disks.useReadOnly
カスタムロールや他の事前定義ロールを使用して、これらの権限を取得することもできます。
イメージから VM インスタンスを作成する
このセクションでは、公開 OS イメージまたはカスタム イメージから VM を作成する方法について説明します。VM には、ブートローダー、ブート ファイル システム、OS イメージが含まれています。
Compute Engine で利用可能な公開イメージのリストを表示する
公開イメージを使用して VM を作成する前に、Compute Engine で使用可能な公開イメージのリストを確認します。
各公開イメージで使用できる機能の詳細については、オペレーティング システム別の機能サポートをご覧ください。
Google Cloud コンソールで、[イメージ] ページに移動します。
次のコマンドを実行します。
gcloud compute images list
イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトの名前をメモしておきます。
省略可: イメージが Shielded VM 機能をサポートしているかどうかを確認するには、次のコマンドを実行します。
gcloud compute images describe
IMAGE_NAME \ --project=IMAGE_PROJECT 次のように置き換えます。
IMAGE_NAME
: Shielded VM 機能のサポートを確認するイメージの名前IMAGE_PROJECT
: イメージを含むプロジェクト
イメージが Shielded VM 機能をサポートしている場合、出力に
type: UEFI_COMPATIBLE
という行が含まれています。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている C# の設定手順に沿って操作します。詳細については、Compute Engine C# API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている PHP の設定手順に沿って操作します。詳細については、Compute Engine PHP API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Ruby の設定手順に沿って操作します。詳細については、Compute Engine Ruby API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
次のコマンドを実行します。
GET https://compute.googleapis.com/compute/v1/projects/
IMAGE_PROJECT /global/images/イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトの名前をメモしておきます。
省略可: イメージが Shielded VM 機能をサポートしているかどうかを確認するには、次のコマンドを実行します。
GET https://compute.googleapis.com/compute/v1/projects/
IMAGE_PROJECT /global/images/IMAGE_NAME 次のように置き換えます。
IMAGE_PROJECT
: イメージを含むプロジェクトIMAGE_NAME
: Shielded VM 機能のサポートを確認するイメージの名前
イメージが Shielded VM 機能をサポートしている場合、出力に
type: UEFI_COMPATIBLE
という行が含まれています。
公開イメージから VM インスタンスを作成する
公開 OS イメージは、Google、オープンソース コミュニティ、サードパーティ ベンダーによって提供され、維持されています。デフォルトでは、すべての Google Cloud プロジェクトで公開 OS イメージから VM を作成できます。ただし、Google Cloud プロジェクトに信頼できるイメージのリストが定義されている場合は、そのリストのイメージのみを使用して VM を作成できます。
ローカル SSD に Shielded VM イメージを作成する場合、整合性モニタリングまたは仮想トラステッド プラットフォーム モジュール(vTPM)でデータを保護することはできません。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
VM の名前を指定します。詳しくは、リソースの命名規則をご覧ください。
(省略可)この VM のゾーンを変更します。[任意] を選択すると、マシンタイプと可用性に基づいてゾーンが自動的に選択されます。
VM のマシン構成を選択します。
[ブートディスク] セクションで [変更] をクリックし、次の操作を行います。
- [公開イメージ] タブで、以下を選択します。
- OS
- OS バージョン
- ブートディスクの種類
- ブートディスク サイズ
- (省略可)詳細な構成オプションについては、[詳細設定を表示] をクリックします。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
- [公開イメージ] タブで、以下を選択します。
[ファイアウォール] セクションで、VM への HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択します。このいずれかを選択すると、Compute Engine は VM にネットワーク タグを追加し、ファイアウォール ルールと VM を関連付けます。Compute Engine は、対応する上り(内向き)ファイアウォール ルールを作成し、
tcp:80
(HTTP)またはtcp:443
(HTTPS)で受信するすべてのトラフィックを許可します。(省略可)Shielded VM の機能をサポートする OS イメージを選択した場合は、Shielded VM の設定を変更できます。Shielded VM の設定を変更するには、[詳細オプション] セクションの [セキュリティ] セクションを開いて、必要に応じて次の操作を行います。
VM を作成して起動するには、[作成] をクリックします。
- 公開イメージを選択します。イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトの名前をメモしておきます。
gcloud compute instances create
コマンドを使用して、イメージ ファミリーまたは特定のバージョンの OS イメージから VM を作成します。オプションの
--shielded-secure-boot
フラグを指定すると、Compute Engine は 3 つの Shielded VM 機能をすべて有効にした VM を作成します。Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。
gcloud compute instances create
VM_NAME \ --zone=ZONE \ [--image=IMAGE | --image-family=IMAGE_FAMILY ] \ --image-project=IMAGE_PROJECT \ --machine-type=MACHINE_TYPE 次のように置き換えます。
VM_NAME
: 新しい VM の名前ZONE
: インスタンスの作成先とするゾーン。IMAGE
またはIMAGE_FAMILY
: 次のいずれかを指定します。IMAGE
: 公開イメージの特定のバージョン例:
--image=debian-10-buster-v20200309
IMAGE_FAMILY
: イメージ ファミリー。これにより、非推奨ではない最新の OS イメージから VM が作成されます。たとえば、
--image-family=debian-10
を指定すると、Compute Engine は Debian 10 イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
IMAGE_PROJECT
: イメージを含むプロジェクトMACHINE_TYPE
: 新しい VM のマシンタイプ(事前定義またはカスタム)ゾーンで使用できるマシンタイプのリストを取得するには、
--zones
フラグを指定してgcloud compute machine-types list
コマンドを使用します。
Compute Engine によって VM が作成されたことを確認します。
gcloud compute instances describe
VM_NAME VM_NAME
は VM の名前で置き換えます。
VM を作成するには、google_compute_instance
リソースを使用します。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
Terraform コードを生成するには、Google Cloud コンソールの同等のコード コンポーネントを使用します。- Google Cloud コンソールで [VM インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- 必要なパラメータを指定します。
- ページの上部または下部で [同等のコード] をクリックし、[Terraform] タブをクリックして Terraform コードを表示します。
C#
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている C# の設定手順に沿って操作します。詳細については、Compute Engine C# API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
Go
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている PHP の設定手順に沿って操作します。詳細については、Compute Engine PHP API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Ruby の設定手順に沿って操作します。詳細については、Compute Engine Ruby API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
- 公開イメージを選択します。イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトの名前をメモしておきます。
instances.insert
メソッドを使用して、イメージ ファミリーまたは特定のバージョンの OS イメージから VM を作成します。POST https://compute.googleapis.com/compute/v1/projects/
/zones/PROJECT_ID
/instances { "machineType":"zones/ZONE MACHINE_TYPE_ZONE /machineTypes/MACHINE_TYPE ", "name":"
", "disks":[ { "initializeParams":{ "sourceImage":"projects/VM_NAME IMAGE_PROJECT /global/images/IMAGE " }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME " } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT " } }次のように置き換えます。
PROJECT_ID
: VM を作成するプロジェクトの IDZONE
: VM を作成するゾーンMACHINE_TYPE_ZONE
: 新しい VM に使用するマシンタイプを含むゾーンMACHINE_TYPE
: 新しい VM のマシンタイプ(事前定義またはカスタム)VM_NAME
: 新しい VM の名前IMAGE_PROJECT
: イメージを含むプロジェクト
たとえば、イメージ ファミリーとしてdebian-10
を指定する場合は、イメージ プロジェクトとしてdebian-cloud
を指定します。IMAGE or IMAGE_FAMILY
: 次のいずれかを指定します。IMAGE
: 公開イメージの特定のバージョン
例"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: イメージ ファミリー
これにより、最新の非推奨ではない OS イメージから VM が作成されます。たとえば、"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
を指定すると、Compute Engine はDebian 10
イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
NETWORK_NAME
: VM に使用する VPC ネットワーク。default
を指定して、デフォルト ネットワークを使用できます。ENABLE_SECURE_BOOT
: 省略可。Shielded VM 機能をサポートしているイメージを選択した場合は、Compute Engine がデフォルトで仮想トラステッド プラットフォーム モジュール(vTPM)と整合性モニタリングを有効にします。Compute Engine は、デフォルトではセキュアブートを有効にしません。enableSecureBoot
にtrue
を指定すると、Compute Engine は 3 つの Shielded VM 機能をすべて有効にした VM を作成します。Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。
公開イメージからベアメタル インスタンスを作成する
公開 OS イメージは、Google、オープンソース コミュニティ、サードパーティ ベンダーによって提供され、維持されています。デフォルトでは、すべての Google Cloud プロジェクトで、サポートされている公開 OS イメージを使用してベアメタル インスタンスを作成できます。ただし、Google Cloud プロジェクトに信頼できるイメージのリストが定義されている場合は、そのリストのイメージのみを使用してベアメタル インスタンスを作成できます。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
[名前] でインスタンスの名前を指定します。詳しくは、リソースの命名規則をご覧ください。
(省略可)このインスタンスのゾーンを変更します。使用可能なベアメタル サーバーが存在しないゾーンを選択すると、別のゾーンを選択するよう求められます。
[マシンの構成] セクションで、次のいずれかの操作を行います。
- [汎用] タブをクリックし、[C3] を選択します。
- [メモリ最適化] タブをクリックし、[X4] を選択します。
[マシンタイプ] でリストをクリックします。フィルタ ボックスに「
metal
」と入力し、使用可能なタイプのいずれかを選択します。[可用性ポリシー] セクションで、[VM プロビジョニング モデルの詳細設定] をクリックしてセクションを開きます。[ホスト メンテナンス時] の値が
Terminate instance
であることを確認します。[ブートディスク] セクションで [変更] をクリックし、次の操作を行います。
- [公開イメージ] タブで、以下を選択します。
- OS
- OS バージョン
- ブートディスクの種類
- ブートディスク サイズ
- 省略可: Hyperdisk Balanced ブートディスクの場合は、ディスクの [プロビジョニングされた IOPS] と [プロビジョニングされたスループット] の設定を選択します。
- 省略可: ディスクのその他の構成オプションについては、[詳細設定を表示] をクリックします。
ブートディスクのオプションを確認するには、[選択] をクリックします。
- [公開イメージ] タブで、以下を選択します。
[ファイアウォール] セクションで、ベアメタル インスタンスへの HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択します。これらのオプションのいずれかを選択すると、Compute Engine はインスタンスにネットワーク タグを追加し、ファイアウォール ルールをインスタンスに関連付けます。Compute Engine は、対応する上り(内向き)ファイアウォール ルールを作成し、
tcp:80
(HTTP)またはtcp:443
(HTTPS)で受信するすべてのトラフィックを許可します。[詳細オプション] セクションを開き、[ネットワーキング] セクションを開きます。[ネットワーク インターフェース カード] が [IDPF] に設定されていることを確認します。
ベアメタル インスタンスを作成して起動するには、[作成] をクリックします。
- ベアメタル インスタンスをサポートする公開イメージを選択します。イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトの名前をメモしておきます。
gcloud compute instances create
コマンドを使用して、イメージ ファミリーまたは特定のバージョンの OS イメージからベアメタル インスタンスを作成します。gcloud compute instances create
INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --network-interface=nic-type=IDPF \ --maintenance-policy=TERMINATE \ --create-disk=boot=yes,image=projects/IMAGE_PROJECT /global/images/IMAGE ,provisioned-iops=IOPS ,provisioned-throughput=THROUGHPUT ,size=SIZE ,type=hyperdisk-balanced \ --no-shielded-secure-boot次のように置き換えます。
INSTANCE_NAME
: 新しいベアメタル インスタンスの名前ZONE
: ベアメタル インスタンスを作成するゾーンMACHINE_TYPE
: インスタンスに使用するベアメタル マシンタイプ。マシンタイプの名前の末尾は-metal
にする必要があります。ゾーンで使用できるマシンタイプのリストを取得するには、
--zones
フラグを指定してgcloud compute machine-types list
コマンドを使用します。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト。IMAGE
: 次のいずれかを指定します。- OS イメージの特定のバージョン。例:
sles-15-sp4-sap-v20240208-x86-6
。 - イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。これにより、非推奨ではない最新の OS イメージからインスタンスが作成されます。たとえば、family/sles-15-sp4-sap
を指定すると、Compute Engine は SUSE Linux Enterprise Server 15 SP4 イメージ ファミリーの OS イメージの最新バージョンからベアメタル インスタンスを作成します。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
- OS イメージの特定のバージョン。例:
IOPS
: 省略可。ディスクが処理できる 1 秒あたりの I/O オペレーション(IOPS)の最大数。THROUGHPUT
: 省略可。ディスクが処理できる最大スループット(MiB/秒)を表す整数。SIZE
: 省略可。新しいディスクのサイズ。この値は整数である必要があります。デフォルトの測定単位は GiB です。
Compute Engine によってインスタンスが作成されたことを確認します。
gcloud compute instances describe
INSTANCE_NAME INSTANCE_NAME
は新しいインスタンスの名前で置き換えます。
- ベアメタル インスタンスをサポートする公開イメージを選択します。イメージまたはイメージ ファミリーの名前と、イメージを含むプロジェクトの名前をメモしておきます。
instances.insert
メソッドを使用して、イメージ ファミリーまたは特定のバージョンの OS イメージからベアメタル インスタンスを作成します。POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID /zones/ZONE /instances { "machineType": "projects/PROJECT_ID /zones/MACHINE_TYPE_ZONE /machineTypes/MACHINE_TYPE ", "name": "INSTANCE_NAME ", "disks": [ { "boot": true, "initializeParams": { "diskSizeGb": "DISK_SIZE ", "diskType": "hyperdisk-balanced", "provisionedIops": "IOPS_LIMIT ", "provisionedThroughput": "THROUGHPUT_LIMIT ", "sourceImage": "projects/IMAGE_PROJECT /global/images/IMAGE " } } ], "networkInterfaces": [ { "nicType": "IDPF" } ], "scheduling": { "onHostMaintenance": "TERMINATE" } }次のように置き換えます。
PROJECT_ID
: ベアメタル インスタンスを作成するプロジェクトの IDZONE
: ベアメタル インスタンスを作成するゾーンMACHINE_TYPE_ZONE
: 新しいベアメタル インスタンスに使用するマシンタイプを含むゾーンMACHINE_TYPE
: インスタンスに使用するマシンタイプ。マシンタイプの名前の末尾は-metal
にする必要があります。INSTANCE_NAME
: 新しいインスタンスの名前DISK_SIZE
: ディスクサイズ(GiB)IOPS_LIMIT
: ディスクにプロビジョニングする 1 秒あたりの I/O オペレーションの数。THROUGHPUT_LIMIT
: ディスクにプロビジョニングするスループット(MB/秒で測定)を表す整数。IMAGE_PROJECT
: イメージを含むイメージ プロジェクト。IMAGE
: 次のいずれかを指定します。- OS イメージの特定のバージョン。例:
sles-15-sp4-sap-v20240208-x86-6
。 - イメージ ファミリー。
family/IMAGE_FAMILY
の形式にする必要があります。これにより、非推奨ではない最新の OS イメージからインスタンスが作成されます。たとえば、family/sles-15-sp4-sap
を指定すると、Compute Engine は SUSE Linux Enterprise Server 15 SP4 イメージ ファミリーの OS イメージの最新バージョンからベアメタル インスタンスを作成します。イメージ ファミリーの使用の詳細については、イメージ ファミリーのベスト プラクティスをご覧ください。
- OS イメージの特定のバージョン。例:
カスタム イメージから VM を作成する
カスタム イメージは、自分のプロジェクトにのみ属します。カスタム イメージで VM を作成するには、まずカスタム イメージを作成する必要があります。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
VM の名前を指定します。詳しくは、リソースの命名規則をご覧ください。
(省略可)この VM のゾーンを変更します。[任意] を選択すると、マシンタイプと可用性に基づいてゾーンが自動的に選択されます。
VM のマシン構成を選択します。
[ブートディスク] セクションで [変更] をクリックし、次の操作を行います。
- [カスタム イメージ] タブを選択します。
- イメージ プロジェクトを選択するには、[プロジェクトを選択] をクリックし、次の操作を行います。
- イメージを含むプロジェクトを選択します。
- [開く] をクリックします。
- [イメージ] リストで、インポートするイメージをクリックします。
- ブートディスクのタイプとサイズを選択します。
- (省略可)詳細な構成オプションについては、[詳細設定を表示] をクリックします。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
[ファイアウォール] セクションで、VM への HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択します。
Google Cloud コンソールによってネットワーク タグが VM に追加されます。また、対応する上り(内向き)ファイアウォール ルールが作成され、
tcp:80
(HTTP)またはtcp:443
(HTTPS)で受信するすべてのトラフィックが許可されます。このネットワーク タグによってファイアウォール ルールが VM に関連付けられます。詳細については、Cloud Next Generation Firewall のドキュメントでファイアウォール ルールの概要をご覧ください。VM を作成して起動するには、[作成] をクリックします。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud compute instances create
コマンドを実行して、カスタム イメージで VM を作成します。gcloud compute instances create
VM_NAME \ --image-projectIMAGE_PROJECT \ [--imageIMAGE | --image-familyIMAGE_FAMILY ] --subnetSUBNET 次のように置き換えます。
VM_NAME
: VM の名前IMAGE_PROJECT
: イメージを含むプロジェクト IDIMAGE
またはIMAGE_FAMILY
: 次のいずれかを指定します。IMAGE
: カスタム イメージの名前例:
--image=my-debian-image-v2
IMAGE_FAMILY
: カスタム イメージ ファミリーの一部としてカスタム イメージを作成した場合は、そのカスタム イメージ ファミリーを指定します。これにより、カスタム イメージ ファミリー内の最新の非推奨ではない OS イメージと OS バージョンから VM が作成されます。たとえば、
--image-family=my-debian-family
を指定すると、Compute Engine はカスタムmy-debian-family
イメージ ファミリーの最新の OS イメージから VM を作成します。
SUBNET
: サブネットとインスタンスが同じプロジェクト内にある場合は、SUBNET をインスタンスと同じリージョンにあるサブネットの名前に置き換えます。
- Google Cloud コンソールで [VM インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- 必要なパラメータを指定します。
- ページの上部または下部で [同等のコード] をクリックし、[Terraform] タブをクリックして Terraform コードを表示します。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
API でカスタム イメージを使用して VM を作成するプロセスは、一般公開イメージを使用して VM を作成する場合と同じです。
カスタム イメージから VM を作成するには、instances.insert
メソッドを使用します。
POST https://compute.googleapis.com/compute/v1/projects//zones/
PROJECT_ID /instances { "machineType":"zones/
ZONE MACHINE_TYPE_ZONE /machineTypes/MACHINE_TYPE ", "name":"", "disks":[ { "initializeParams":{ "sourceImage":"projects/
VM_NAME IMAGE_PROJECT /global/images/IMAGE " }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME " } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT " } }
次のように置き換えます。
PROJECT_ID
: VM を作成するプロジェクトの IDZONE
: VM を作成するゾーンMACHINE_TYPE_ZONE
: 新しい VM に使用するマシンタイプを含むゾーンMACHINE_TYPE
: 新しい VM のマシンタイプ(事前定義またはカスタム)VM_NAME
: 新しい VM の名前。IMAGE_PROJECT
: カスタム イメージを含むプロジェクトの名前IMAGE
またはIMAGE_FAMILY
: 次のいずれかを指定します。IMAGE
: カスタム イメージの名前例:"sourceImage": "projects/my-project-1234/global/images/my-debian-image-v2"
IMAGE_FAMILY
: カスタム イメージ ファミリーの一部としてカスタム イメージを作成した場合は、そのカスタム イメージ ファミリーを指定します。これにより、カスタム イメージ ファミリー内の最新の非推奨ではない OS イメージから VM が作成されます。たとえば、
"sourceImage": "projects/my-project-1234/global/images/family/my-debian-family"
を指定すると、Compute Engine はカスタムmy-debian-family
イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
NETWORK_NAME
: VM に使用する VPC ネットワーク。default
を指定して、デフォルト ネットワークを使用できます。ENABLE_SECURE_BOOT
: 省略可。Shielded VM 機能をサポートしているイメージを選択した場合は、Compute Engine がデフォルトで仮想トラステッド プラットフォーム モジュール(vTPM)と整合性モニタリングを有効にします。Compute Engine は、デフォルトではセキュアブートを有効にしません。enableSecureBoot
にtrue
を指定すると、Compute Engine は 3 つの Shielded VM 機能をすべて有効にした VM を作成します。Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。
追加の非ブートディスクを含む VM インスタンスを作成する
VM を作成するときに、同時に追加の非ブートディスクを作成して VM にアタッチすることもできます。
ただし、マルチライター モードでディスクを作成する場合、VM の作成と同時にディスクを作成することはできません。最初にディスクを作成してから、VM にアタッチする必要があります。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
VM の名前を指定します。詳しくは、リソースの命名規則をご覧ください。
(省略可)この VM のゾーンを変更します。[任意] を選択すると、マシンタイプと可用性に基づいてゾーンが自動的に選択されます。
VM のマシン構成を選択します。
[ブートディスク] セクションで [変更] をクリックし、次の操作を行います。
- [公開イメージ] タブで、以下を選択します。
- OS
- OS バージョン
- ブートディスクの種類
- ブートディスク サイズ
- (省略可)詳細な構成オプションについては、[詳細設定を表示] をクリックします。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
- [公開イメージ] タブで、以下を選択します。
[ファイアウォール] セクションで、VM への HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択します。このいずれかを選択すると、Compute Engine は VM にネットワーク タグを追加し、ファイアウォール ルールと VM を関連付けます。Compute Engine は、対応する上り(内向き)ファイアウォール ルールを作成し、
tcp:80
(HTTP)またはtcp:443
(HTTPS)で受信するすべてのトラフィックを許可します。VM に非ブートディスクを追加するには、[詳細オプション] セクションを開いて次の操作を行います。
- [ディスク] セクションを開きます。
- [新しいディスクを追加] をクリックして、次の操作を行います。
- [名前]、[タイプ]、[ソースの種類]、[サイズ] に、ディスクの情報を指定します。
- [アタッチメントの設定] セクションで、ディスクのアタッチメントの [モード] と [削除ルール] を選択します。新しいディスクの追加の詳細については、永続ディスクを VM に追加するをご覧ください。
- [保存] をクリックします。
VM を作成して起動するには、[作成] をクリックします。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud compute instances create
コマンドを実行して、追加の非ブートディスクを使用する VM を作成します。VM を作成する際は、最大 127 個の非ブートディスクを追加できます。作成する非ブートディスクごとに
--create-disk
フラグを指定します。公開イメージまたはストック イメージから非ブートディスクを作成するには、
--create-disk
フラグにimage
またはimage-family
プロパティと、image-project
プロパティを指定します。空のディスクを作成するには、これらのプロパティを指定しないでください。必要に応じて、ディスクsize
とtype
のプロパティを含めることができます。プロパティreplica-zones
を含めて、リージョン永続ディスクを作成します。gcloud compute instances create
VM_NAME \ --zone=ZONE \ [--image=IMAGE | --image-family=IMAGE_FAMILY ] \ --image-project=IMAGE_PROJECT \ --create-disk [image=DISK_IMAGE | image-family=DISK_IMAGE_FAMILY ], \ image-project=DISK_IMAGE_PROJECT ,size=SIZE_GB ,type=DISK_TYPE \ --create-disk device-name=DISK_NAME , \ replica-zones=^:^ZONE :REMOTE-ZONE ,boot=false次のように置き換えます。
VM_NAME
: 新しい VM の名前ZONE
: VM を作成するゾーンIMAGE
またはIMAGE_FAMILY
。次のいずれかを指定します。IMAGE
: 公開イメージの特定のバージョン例:
--image=debian-10-buster-v20200309
IMAGE_FAMILY
: イメージ ファミリーこれにより、非推奨ではない最新の OS イメージから VM が作成されます。たとえば、
--image-family=debian-10
を指定すると、Compute Engine は Debian 10 イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
IMAGE_PROJECT
: イメージを含むプロジェクト追加のディスクの場合は、次のように置き換えます。
DISK_IMAGE
またはDISK_IMAGE_FAMILY
: 次のいずれかを指定します。DISK_IMAGE
: 非ブートディスクとして使用するイメージの名前DISK_IMAGE_FAMILY
: 非ブートディスクとして使用するイメージ ファミリー
DISK_IMAGE_PROJECT
: ディスク イメージが属するイメージ プロジェクトSIZE_GB
: 省略可。非ブートディスクのサイズDISK_TYPE
: 省略可。永続ディスクのタイプの完全な URL または部分的な URL例:
https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
使用可能なディスクタイプを表示するには、gcloud compute disk-types list
コマンドを実行します。DISK_NAME
: 省略可。VM の作成後にゲスト OS に表示されるディスク名。REMOTE_ZONE
: ディスクの複製先となるゾーン
空のディスクの場合は、
DISK_IMAGE
、DISK_IMAGE_FAMILY
、DISK_IMAGE_PROJECT
のパラメータを指定しないでください。ゾーンディスクの場合は、ディスク プロパティ
replica-zones
を指定しないでください。
- Google Cloud コンソールで [VM インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- 必要なパラメータを指定します。
- ページの上部または下部で [同等のコード] をクリックし、[Terraform] タブをクリックして Terraform コードを表示します。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
追加のディスクごとに initializeParams
プロパティを使用すると、VM の作成時に非ブートディスクを最大 127 個作成できます。公開イメージまたは非公開イメージを使用した追加のディスクを作成します。空のディスクを追加するには、sourceImage
値のない initializeParams
エントリを定義します。リージョン永続ディスクを作成するには、ディスク プロパティ replicaZones
を含めます。
POST https://compute.googleapis.com/compute/v1/projects//zones/
PROJECT_ID /instances { "machineType":"zones/
ZONE MACHINE_TYPE_ZONE /machineTypes/MACHINE_TYPE ", "name":"", "disks":[ { "initializeParams":{ "sourceImage":"projects/
VM_NAME IMAGE_PROJECT /global/images/IMAGE " }, "boot":true }, { "initializeParams":{ "diskSizeGb":"SIZE_GB ", "sourceImage":"projects/DISK_IMAGE_PROJECT /global/images/DISK_IMAGE ", "diskType":"DISK_TYPE " } }, { "initializeParams":{ "diskSizeGb":"SIZE_GB ", "diskType":"DISK_TYPE " }, }, { "boot": false, "deviceName":"DISK_NAME ", "initializeParams": { "diskType": "DISK_TYPE ", "replicaZones": [ "projects/PROJECT_ID /zones/ZONE ", "projects/PROJECT_ID /zones/REMOTE_ZONE " ] } } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME " } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT " } }
次のように置き換えます。
PROJECT_ID
: VM を作成するプロジェクトの IDZONE
: VM を作成するゾーンMACHINE_TYPE_ZONE
: 新しい VM に使用するマシンタイプを含むゾーンMACHINE_TYPE
: 新しい VM のマシンタイプ(事前定義またはカスタム)VM_NAME
: 新しい VM の名前IMAGE_PROJECT
: イメージを含むプロジェクト
たとえば、イメージ ファミリーとしてdebian-10
を指定する場合は、イメージ プロジェクトとしてdebian-cloud
を指定します。IMAGE or IMAGE_FAMILY
: 次のいずれかを指定します。IMAGE
: 公開イメージの特定のバージョン
例"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: イメージ ファミリー
これにより、最新の非推奨ではない OS イメージから VM が作成されます。たとえば、"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
を指定すると、Compute Engine はDebian 10
イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
- 追加のディスクの場合は、次のように置き換えます。
SIZE_GB
: ディスクサイズDISK_IMAGE
またはDISK_IMAGE_FAMILY
: 非ブートディスクのソースイメージまたはイメージ ファミリーを指定します。DISK_IMAGE
: 非ブートディスクとして使用するイメージの名前(例:"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/DISK_IMAGE"
)。DISK_IMAGE_FAMILY
: 非ブートディスクとして使用するイメージ ファミリー(例:"sourceImage": "projects/DISK_IMAGE_PROJECT/global/images/family/DISK_IMAGE_FAMILY"
)。
DISK_TYPE
: 永続ディスクのタイプの完全な URL または部分的な URL。例:https://www.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/diskTypes/pd-ssd
。DISK_NAME
: 省略可。VM の作成後にゲスト OS に表示されるディスク名。REMOTE_ZONE
: リージョン ディスクのレプリケーション先のゾーン
空のディスクには、
sourceImage
プロパティを指定しないでください。空のディスクには、replicaZones
プロパティを指定しないでください。 NETWORK_NAME
: VM に使用する VPC ネットワーク。default
を指定して、デフォルト ネットワークを使用できます。ENABLE_SECURE_BOOT
: 省略可。Shielded VM 機能をサポートしているイメージを選択した場合は、Compute Engine がデフォルトで仮想トラステッド プラットフォーム モジュール(vTPM)と整合性モニタリングを有効にします。Compute Engine は、デフォルトではセキュアブートを有効にしません。enableSecureBoot
にtrue
を指定すると、Compute Engine は 3 つの Shielded VM 機能をすべて有効にした VM を作成します。Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。
ディスクを使用する前に、ディスクをフォーマットしてマウントします。
共有イメージから VM インスタンスを作成する
別のユーザーとイメージを共有している場合は、そのイメージを使用して VM を作成できます。
Google Cloud Console で、[インスタンスの作成] ページに移動します。
- VM の名前を指定します。詳しくは、リソースの命名規則をご覧ください。
- (省略可)この VM のゾーンを変更します。[任意] を選択すると、マシンタイプと可用性に基づいてゾーンが自動的に選択されます。
- VM のマシン構成を選択します。
- [ブートディスク] セクションで、[変更] をクリックしてブートディスクを構成し、次の操作を行います。
- [カスタム イメージ] タブを選択します。
- イメージ プロジェクトを選択するには、[プロジェクトを選択] をクリックし、次の操作を行います。
- イメージを含むプロジェクトを選択します。
- [開く] をクリックします。
- [イメージ] リストで、インポートするイメージをクリックします。
- ブートディスクのタイプとサイズを選択します。
- ブートディスクのオプションを確認するには、[選択] をクリックします。
VM への HTTP または HTTPS トラフィックを許可するには、[ファイアウォール] セクションで [HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択します。
Google Cloud コンソールによってネットワーク タグが VM に追加されます。また、対応する上り(内向き)ファイアウォール ルールが作成され、
tcp:80
(HTTP)またはtcp:443
(HTTPS)で受信するすべてのトラフィックが許可されます。このネットワーク タグによってファイアウォール ルールが VM に関連付けられます。詳細については、Cloud Next Generation Firewall のドキュメントでファイアウォール ルールの概要をご覧ください。- VM を起動して作成するには、[作成] をクリックします。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
gcloud compute instances create command
を使用して VM を作成し、--image
フラグと--image-project
フラグを使用してイメージ名とそのイメージが属するプロジェクトを指定します。gcloud compute instances create
VM_NAME \ --image=IMAGE \ --image-project=IMAGE_PROJECT 次のように置き換えます。
VM_NAME
: 新しい VM の名前IMAGE
: イメージの名前IMAGE_PROJECT
: イメージが属するプロジェクト
コマンドが成功すると、
gcloud
は新しい VM のプロパティを返します。Created [https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-b/instances/example-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS example-instance us-central1-b e2-standard-2 10.240.0.4 104.198.53.60 RUNNING
Terraform で共有イメージを使用して VM を作成するプロセスは、一般公開イメージを使用して VM を作成する場合と同じです。
- Google Cloud コンソールで [VM インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- 必要なパラメータを指定します。
- ページの上部または下部で [同等のコード] をクリックし、[Terraform] タブをクリックして Terraform コードを表示します。
API でカスタム イメージを使用して VM を作成するプロセスは、一般公開イメージを使用して VM を作成する場合と同じです。カスタム イメージから VM を作成するには、instances.insert
メソッドを使用します。
POST https://compute.googleapis.com/compute/v1/projects//zones/
PROJECT_ID /instances { "machineType":"zones/
ZONE MACHINE_TYPE_ZONE /machineTypes/MACHINE_TYPE ", "name":"", "disks":[ { "initializeParams":{ "sourceImage":"projects/
VM_NAME IMAGE_PROJECT /global/images/IMAGE " }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME " } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT " } }
次のように置き換えます。
PROJECT_ID
: VM を作成するプロジェクトの IDZONE
: VM を作成するゾーンMACHINE_TYPE_ZONE
: 新しい VM に使用するマシンタイプを含むゾーンMACHINE_TYPE
: 新しい VM のマシンタイプ(事前定義またはカスタム)VM_NAME
: 新しい VM の名前。IMAGE_PROJECT
: 共有イメージを含むプロジェクトの名前IMAGE
またはIMAGE_FAMILY
: 次のいずれかを指定します。IMAGE
: 共有イメージの名前。例:"sourceImage": "projects/finance-project-1234/global/images/finance-debian-image-v2"
IMAGE_FAMILY
: カスタム イメージ ファミリーの一部として共有イメージを作成する場合、そのカスタム イメージ ファミリーを指定します。これにより、カスタム イメージ ファミリー内の最新の非推奨ではない OS イメージから VM が作成されます。たとえば、
"sourceImage": "projects/finance-project-1234/global/images/family/finance-debian-family"
を指定すると、Compute Engine はカスタムfinance-debian-family
イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
NETWORK_NAME
: VM に使用する VPC ネットワーク。default
を指定して、デフォルト ネットワークを使用できます。ENABLE_SECURE_BOOT
: 省略可。Shielded VM 機能をサポートしているイメージを選択した場合は、Compute Engine がデフォルトで仮想トラステッド プラットフォーム モジュール(vTPM)と整合性モニタリングを有効にします。Compute Engine は、デフォルトではセキュアブートを有効にしません。enableSecureBoot
にtrue
を指定すると、Compute Engine は 3 つの Shielded VM 機能をすべて有効にした VM を作成します。Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。
スナップショットから VM を作成する
次の方法で、スナップショットから新しい VM を作成できます。
VM ブートディスクの復元: スナップショットで VM のブートディスクをバックアップした場合は、そのスナップショットを使用して新しい VM を作成できます。手順については、新しい VM にブートディスクのスナップショットを復元するをご覧ください。
非ブートディスクの復元: スナップショットで非ブートディスクをバックアップしている場合は、VM を作成する際にスナップショットを新しい非ブートディスクに復元できます。手順については、スナップショットに基づく非ブートディスクを使用して VM を作成するをご覧ください。
同じブートディスクを使用して複数の VM をすばやく作成するには、カスタム イメージを作成して、スナップショットを使用する代わりにそのイメージから VM を作成します。
コンテナ イメージから VM インスタンスを作成する
Compute Engine VM に対してコンテナをデプロイして起動するには、VM を作成するときにコンテナ イメージ名とオプションの構成パラメータを指定します。Compute Engine により、Docker がインストールされた最新バージョンの Container-Optimized OS 公開イメージを使用して VM が作成されます。次に、VM の起動時に Compute Engine によりコンテナが起動されます。詳しくは、VM へのコンテナのデプロイをご覧ください。
コンテナ イメージから VM を作成するには、Google Cloud コンソールか gcloud
を使用する必要があります。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
VM の名前を指定します。詳しくは、リソースの命名規則をご覧ください。
[コンテナ] セクションで、コンテナをデプロイをクリックします。
[コンテナ イメージ] で使用するコンテナ イメージを指定します。例:
Cloud Launcher から NGINX 1.12 コンテナ イメージを選択するには:
gcr.io/cloud-marketplace/google/nginx1:1.12
Docker Hub から Apache コンテナ イメージをデプロイする場合は、次のように常に完全な Docker イメージ名を指定します。
docker.io/httpd:2.4
(省略可)[コンテナの詳細オプション] をクリックします。詳細については、コンテナを実行する際のオプションの構成をご覧ください。
VM を作成して VM を起動し、コンテナを起動するには、[作成] をクリックします。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
gcloud compute instances create-with-container
コマンドを実行します。gcloud compute instances create-with-container
VM_NAME \ --container-image=CONTAINER_IMAGE 次のように置き換えます。
VM_NAME
: 新しい VM の名前。CONTAINER_IMAGE
: コンテナ イメージの名前。
たとえば、次のコマンドは、コンテナ イメージを起動して実行する
nginx-vm
という名前の VM を作成します。gcr.io/cloud-marketplace/google/nginx1:1.12
gcloud compute instances create-with-container nginx-vm \ --container-image=gcr.io/cloud-marketplace/google/nginx1:1.12
Docker Hub から Apache コンテナ イメージをデプロイする場合は、次のように常に完全な Docker イメージ名を指定します。
docker.io/httpd:2.4
。
特定のサブネットで VM インスタンスを作成する
デフォルトでは、Google Cloud はプロジェクトごとに default
という名前の自動モードの VPC ネットワークを作成します。別のネットワークや、自動モードまたはカスタムモードの VPC ネットワークで手動で作成したサブネットを使用するには、VM の作成時にサブネットを指定する必要があります。
サブネットに VM を作成する場合は、次のルールを考慮してください。
- ネットワークまたはサブネットを指定しないと、Compute Engine はデフォルトの VPC ネットワークを使用し、VM と同じリージョンにある自動サブネットを使用します。
- ネットワークを指定しないと、Compute Engine は指定されたサブネットからネットワークを推測します。
- ネットワークを指定する場合は、サブネットを指定する必要があります。また、ネットワークは同じネットワークに属している必要があります。それ以外の場合、VM の作成は失敗します。
Google Cloud コンソールで [VM インスタンス] ページに移動します。
プロジェクトを選択し、[続行] をクリックします。
[インスタンスを作成] をクリックします。
VM の名前を指定します。詳しくは、リソースの命名規則をご覧ください。
(省略可)この VM のゾーンを変更します。[任意] を選択すると、マシンタイプと可用性に基づいてゾーンが自動的に選択されます。
[ファイアウォール] セクションで、VM への HTTP または HTTPS トラフィックを許可するには、[HTTP トラフィックを許可する] または [HTTPS トラフィックを許可する] を選択します。
Google Cloud コンソールによってネットワーク タグが VM に追加されます。また、対応する上り(内向き)ファイアウォール ルールが作成され、
tcp:80
(HTTP)またはtcp:443
(HTTPS)で受信するすべてのトラフィックが許可されます。このネットワーク タグによってファイアウォール ルールが VM に関連付けられます。詳細については、Cloud NGFW のドキュメントのファイアウォール ルールの概要をご覧ください。[詳細オプション] セクションを開きます。
- [ネットワーキング] セクションを開きます。
- [ネットワーク インターフェース] で、ネットワークの詳細を指定します。
- [ネットワーク] フィールドで、作成しておいたサブネットを含む VPC ネットワークを選択します。
- [サブネット] フィールドで、使用する VM のサブネットを選択します。
- [完了] をクリックします。
VM を作成して起動するには、[作成] をクリックします。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Google Cloud CLI を使用して、同じ手順に沿ってイメージから VM を作成するか、スナップショットから VM を作成し、
gcloud compute instances create
コマンドを実行する際に--subnet=SUBNET_NAME
フラグと--zone=ZONE
フラグを指定します。gcloud compute instances create
VM_NAME \ --network=NETWORK_NAME \ --subnet=SUBNET_NAME \ --zone=ZONE 次のように置き換えます。
VM_NAME
: VM の名前NETWORK_NAME
: (省略可)ネットワークの名前SUBNET_NAME
: サブネットの名前ネットワーク内のサブネットの一覧を表示するには、
gcloud compute networks subnets list
コマンドを使用します。ZONE
: VM を作成するゾーン(europe-west1-b
など)VM のリージョンはこのゾーンから推測されます。
特定のサブネットに VM を作成するには、google_compute_instance
リソースを使用します。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
Terraform で共有イメージを使用して VM を作成するプロセスは、一般公開イメージを使用して VM を作成する場合と同じです。
- Google Cloud コンソールで [VM インスタンス] ページに移動します。
- [インスタンスを作成] をクリックします。
- 必要なパラメータを指定します。
- ページの上部または下部で [同等のコード] をクリックし、[Terraform] タブをクリックして Terraform コードを表示します。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Go の設定手順に沿って操作します。詳細については、Compute Engine Go API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Java の設定手順に沿って操作します。詳細については、Compute Engine Java API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Node.js の設定手順に沿って操作します。詳細については、Compute Engine Node.js API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
このサンプルを試す前に、Compute Engine クイックスタート: クライアント ライブラリの使用に記載されている Python の設定手順に沿って操作します。詳細については、Compute Engine Python API リファレンス ドキュメントをご覧ください。
Compute Engine に対して認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、ローカル開発環境の認証を設定するをご覧ください。
API の手順に沿ってイメージまたはスナップショットから VM を作成し、リクエストの本文で subnet
フィールドを指定します。空のディスクを追加する場合、ソースイメージを追加しないでください。必要に応じて、diskSizeGb
、diskType
、labels
のプロパティを指定できます。
POST https://compute.googleapis.com/compute/v1/projects//zones/
PROJECT_ID /instances { "machineType":"zones/
ZONE MACHINE_TYPE_ZONE /machineTypes/MACHINE_TYPE ", "name":"", "disks":[ { "initializeParams":{ "sourceImage":"projects/
VM_NAME IMAGE_PROJECT /global/images/IMAGE " }, "boot":true } ], "networkInterfaces":[ { "network":"global/networks/NETWORK_NAME ", "subnetwork":"regions/REGION /subnetworks/SUBNET_NAME ", "accessConfigs":{ "name":"External NAT", "type":"ONE_TO_ONE_NAT" } } ], "shieldedInstanceConfig":{ "enableSecureBoot":"ENABLE_SECURE_BOOT " } }
次のように置き換えます。
PROJECT_ID
: VM を作成するプロジェクトの IDZONE
: VM を作成するゾーンMACHINE_TYPE_ZONE
: 新しい VM に使用するマシンタイプを含むゾーンMACHINE_TYPE
: 新しい VM のマシンタイプ(事前定義またはカスタム)VM_NAME
: 新しい VM の名前IMAGE_PROJECT
: イメージを含むプロジェクト
たとえば、イメージ ファミリーとしてdebian-10
を指定する場合は、イメージ プロジェクトとしてdebian-cloud
を指定します。IMAGE or IMAGE_FAMILY
: 次のいずれかを指定します。IMAGE
: 公開イメージの特定のバージョン
例"sourceImage": "projects/debian-cloud/global/images/debian-10-buster-v20200309"
IMAGE_FAMILY
: イメージ ファミリー
これにより、最新の非推奨ではない OS イメージから VM が作成されます。たとえば、"sourceImage": "projects/debian-cloud/global/images/family/debian-10"
を指定すると、Compute Engine はDebian 10
イメージ ファミリーの OS イメージの最新バージョンから VM を作成します。
NETWORK_NAME
: VM に使用する VPC ネットワーク。default
を指定して、デフォルト ネットワークを使用できます。REGION
: 指定したサブネットが存在するリージョンSUBNET_NAME
: サブネットの名前ENABLE_SECURE_BOOT
: 省略可。Shielded VM 機能をサポートしているイメージを選択した場合は、Compute Engine がデフォルトで仮想トラステッド プラットフォーム モジュール(vTPM)と整合性モニタリングを有効にします。Compute Engine は、デフォルトではセキュアブートを有効にしません。enableSecureBoot
にtrue
を指定すると、Compute Engine は 3 つの Shielded VM 機能をすべて有効にした VM を作成します。Compute Engine が VM を起動した後、Shielded VM のオプションを変更するには、VM を停止する必要があります。
Ops エージェントのモニタリングとロギング用に構成された VM を作成する
Ops エージェントは、VM のテレメトリー データを収集します。このデータは、トラブルシューティングやパフォーマンス調整に使用できます。 Ops エージェントは、次のトピックで説明するように、VM の作成中にインストールすることも、既存の VM にインストールすることもできます。
Google Cloud コンソールを使用して VM の作成時に Ops エージェントをインストールする: [インスタンスの作成] ページの [Monitoring と Logging 用の Ops エージェントをインストールする] チェックボックスを選択して、Ops エージェントの自動インストールを有効にします。このオプションでは、制限付き機能モードで VM Manager が有効になり、VM に Ops エージェントをインストールするための OS ポリシーの割り当てが作成されます。詳細については、VM の作成時に Ops エージェントをインストールするをご覧ください。
既存の VM に Ops エージェントをインストールする: Google Cloud コンソール、gcloud CLI、または自動化ツールを使用して、一連の VM または個々の VM に Ops エージェントをインストールします。手順については、Ops エージェントをインストールするをご覧ください。
トラブルシューティング
一般的な VM 作成エラーの解決方法については、VM 作成のトラブルシューティングをご覧ください。
次のステップ
VM のステータスと使用するタイミングを確認する。
スナップショットを使用して永続ディスクをバックアップする方法を学習する。
非ブート ストレージ ディスクを作成して VM にアタッチし、ブートディスクとは別にデータを保存する方法について学習する。
VM に接続する方法を確認する。
VM を VM のグループにスケールアウトする方法を学習する。
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオで Compute Engine のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Compute Engine の無料トライアル