OVF 仮想アプライアンスのインポート

仮想アプライアンスは、仮想マシンのディスク イメージとハードウェア構成を含むパッケージです。

広く使用されている仮想アプライアンスの形式は OVF 形式です。仮想アプライアンスを OVF 形式でパッケージ化すると、OVF パッケージが生成されます。OVF パッケージは、.ovf 記述子ファイルや、ディスクなどの他のリソースのコレクションを格納するフォルダです。OVF パッケージを 1 つのファイルにアーカイブしたものを OVA ファイルといいます。

Compute Engine には、OVF 形式の仮想マシン(OVF パッケージまたは OVA ファイル)をインポートできます。インポート方法の選択で、仮想アプライアンスの使用がユースケースに最適かどうか判断してください。

仮想アプライアンスをインポートすると、記述子ファイルに保存されている情報に基づいて Compute Engine に VM インスタンスが作成され、起動します。

始める前に

Cloud Build API を有効にする

仮想アプライアンス インポート ツールでは Cloud Build を使用します。プロジェクトで Cloud Build サービスを有効にし、コンピューティング リソースの作成と管理を行う Cloud Build サービス アカウントの権限を付与します。

Console

Cloud Build API を有効にします。

Cloud Build API を有効にする

Console から Cloud Build API を有効にすると、Compute Engine は Cloud Build サービス アカウントに次の役割を付与し、Cloud Build サービスが Compute Engine にインスタンスをインポートできるようにします。

  • roles/iam.serviceAccountTokenCreator
  • roles/compute.admin
  • roles/iam.serviceAccountUser

gcloud

gcloud を使用して Cloud Build サービスを設定するには、次の操作を行います。

  1. Cloud Build を有効にします。

    gcloud services enable cloudbuild.googleapis.com
    
  2. Cloud Build API のサービス アカウントに compute.admin 役割を追加します。

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/compute.admin
    
  3. Cloud Build API のサービス アカウントに iam.serviceAccountUser 役割を追加します。

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountUser
    
  4. Cloud Build API のサービス アカウントに iam.serviceAccountTokenCreator 役割を追加します。

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
      --member serviceAccount:[PROJECT_NUM]@cloudbuild.gserviceaccount.com \
      --role roles/iam.serviceAccountTokenCreator
    

    ここで

要件

ソース仮想マシンの要件

OVF ファイルの作成に使用する仮想マシンは、次の要件を満たしている必要があります。

  • 仮想ディスクは VMDK または VHD 形式である必要があります。
  • 仮想ディスクに MBR ブートを構成する必要があります。UEFI はサポートされていません。
  • 仮想ディスクは暗号化しないでください。

仮想マシンが要件を満たしていることを確認するには、事前チェックツールを実行します。

OVF ファイルの要件

OVF ファイルは、次の要件を満たしている必要があります。

  • OVF ファイルは、OVF 仕様書に記載されている Level 1 ポータビリティを提供する必要があります。Level 2 ポータビリティの仮想アプライアンスはインポートできますが、ソース ハイパーバイザ固有の詳細など、カスタム拡張はインポート時に無視されます。
  • OVF ファイルには仮想マシンを 1 台だけ含める必要があります。複数の仮想マシンが存在する場合は、最初の仮想マシンのみがインポートされます。
  • OVF ファイルの最初のディスクは起動可能にする必要があります。

インポート ツールでインポートされる構成

OVF 規格では、仮想化プロバイダに依存しない方法で仮想アプライアンスをパッケージ化するためのプロセスが指定されています。OVF 仮想アプライアンス パッケージには、1 つの .ovf 記述子ファイルと、仮想ディスクなどの他のリソースのコレクションが含まれています。

OVF 仮想アプライアンスを Compute Engine にインポートすると、記述子ファイルの次の構成が処理され、インポートされます。

  • OVF パッケージの DiskSection 要素から取得した仮想ディスクの情報。
  • OVF パッケージの ResourceAllocationSection から取得された CPU とメモリ

    CPU またはメモリの構成が Compute Engine のサポート範囲を超えている場合、インポート プロセスはその値を Compute Engine でサポートされる最大値に設定します。

  • OVF パッケージの BootDeviceSection 要素から取得されたブートディスクの詳細。

  • OVF パッケージの OperatingSystemSection 要素から取得されたゲスト OS の詳細。

    ゲスト OS の情報は、インポートされたインスタンスに正しいドライバとゲスト環境パッケージをインストールするために使用されます。OVF 内のゲスト OS 情報が正しくない場合、インポートは失敗します。--os フラグを使用すると、ゲスト OS の情報を上書きできます。

インポートされたインスタンスには、外部 IP のない単一のネットワーク アダプタが設定されます。OVF ファイルで指定されたネットワーク構成に関係なく、このネットワーク アダプタが使用されます。

制限事項

仮想アプライアンスをインポートするときに、記述子ファイルの次のセクションは無視されます(インポートされません)。

  • NetworkSection
  • AnnotationSection
  • ProductSection
  • EulaSection
  • StartupSection
  • DeploymentOptionSection
  • InstallSection
  • EnvironmentFilesSection
  • SharedDiskSection
  • ScaleOutSection
  • PlacementGroupSection
  • PlacementSection
  • EncryptionSection

サポートされているオペレーティング システム

記述子ファイルOperatingSystemSection に次のいずれかのオペレーティング システムを指定します。

Linux ディストリビューションとバージョン

  • CentOS 6、CentOS 7
  • Debian 8、Debian 9
  • Red Hat Enterprise Linux 6、Red Hat Enterprise Linux 7
  • Ubuntu 14.04 LTS、Ubuntu 16.04 LTS

Linux ディストリビューションの場合、ブートディスクに GRUB がインストールされている必要があります。

Windows バージョン

  • Windows Server 2008 R2
  • Windows Server 2012、Windows Server 2012 R2、Windows Server 2012 R2 Core
  • Windows Server 2016、Windows Server 2016 Core
  • Windows 7 SP1 x64(BYOL に対してのみサポートされる)
  • Windows 10 Enterprise x64(BYOL に対してのみサポートされる)

Windows オペレーティング システムの場合、PowerShell バージョン 3 以降がインストールされている必要があります。バージョン 3.0 より前の PowerShell では、インポート処理中に起動スクリプトとシャットダウン スクリプトに問題が発生する可能性があります。

BYOL(Bring Your Own License)のサポート

デフォルトでは、Windows および Red Hat Enterprise Linux(RHEL)オペレーティング システムを使用する OVF ファイルがインポートされ、追加料金が発生するプレミアム OS のオンデマンド課金が構成されます。

RHEL の独自のソフトウェア サブスクリプションを使用したい場合は、BYOL ライセンス アプライアンスとして仮想アプライアンスをインポートできます。

アプライアンスを BYOL ライセンス アプライアンスとしてインポートするには、import コマンドを実行するときに、[--os] フラグに次のいずれかの BYOL 値を指定します。

  • rhel-6-byol
  • rhel-7-byol
  • windows-2008r2-byol
  • windows-2012-byol
  • windows-2012r2-byol
  • windows-2016-byol
  • windows-7-byol
  • windows-10-byol

OVA ファイルのインポート

  1. 仮想アプライアンスを Cloud Storage に追加します。
  2. Cloud Storage から Compute Engine に OVA ファイルをインポートするには、gcloud beta compute instances import コマンドを使用します。

    gcloud beta compute instances import [INSTANCE_NAME] \
      --source-uri=gs:[PATH_TO_OVA_FILE]
    

    ここで

    • [INSTANCE_NAME] は作成するインスタンスの名前です。
    • [PATH_TO_OVA_FILE] は、Cloud Storage 上にある OVA ファイルのパスです。

    たとえば、OVA ファイル Ubuntu.ova をインポートして my-instance という名前のインスタンスを作成するには、次のコマンドを実行します。

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/Ubuntu.ova
    

    オペレーティング システムの値を指定するよう求められる場合もあります。オペレーティング システムを指定するには、--os フラグを追加します。たとえば、OVA ファイル Ubuntu.ova をインポートして、Ubuntu 16.04 を実行する my-instance というインスタンスを作成するには、次のコマンドを実行します。

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604
     --source-uri=gs://my-bucket/Ubuntu.ova
    

OVF ファイルのインポート

  1. 仮想アプライアンスを Cloud Storage に追加します。
  2. Cloud Storage から Compute Engine に OVF ファイルをインポートするには、gcloud beta compute instances import コマンドを使用します。

    ディレクトリに存在する OVF ファイルが 1 つだけの場合は、記述子ファイルのパスまたは OVF ファイルを含むディレクトリのパスを指定します。

    • 記述子ファイルのパスを使用して OVF ファイルをインポートするには、次のコマンドを実行します。

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_OVF_FILE]
      
    • ディレクトリ パスを使用して OVF ファイルをインポートするには、次のコマンドを実行します。

      gcloud beta compute instances import [INSTANCE_NAME] \
        --source-uri=gs:[PATH_TO_OVF_DIRECTORY]
      

    ここで

    • [INSTANCE_NAME] は作成するインスタンスの名前です。
    • [PATH_TO_OVF_FILE] は、Cloud Storage 上にある OVA ファイルのパスです。
    • [PATH_TO_OVF_DIRECTORY] は、Cloud Storage 上の OVA ファイルを含むディレクトリのパスです。

    たとえば、my-bucket ディレクトリの OVF ファイル Ubuntu.ovf をインポートして my-instance という名前のインスタンスを作成するには、次のコマンドを実行します。

    gcloud beta compute instances import my-instance \
      --source-uri=gs://my-bucket/
    

    オペレーティング システムの値を指定するよう求められる場合もあります。オペレーティング システムを指定するには、--os フラグを追加します。たとえば、OVA ファイル Ubuntu.ovf をインポートして、Ubuntu 16.04 を実行する my-instance というインスタンスを作成するには、次のコマンドを実行します。

    gcloud beta compute instances import my-instance \
     --os=ubuntu-1604 \
     --source-uri=gs://my-bucket/
    

カスタム設定でのインポート

カスタム CPU とメモリ

OVF ファイルで指定された CPU またはメモリ構成をオーバーライドする場合は、--custom-cpu フラグと --custom-memory フラグを指定します。

たとえば、Ubuntu 1404 を実行し、2 つの CPU と 2048 MB のメモリを搭載した my-instance インスタンスをインポートするには、次のコマンドを実行します。

gcloud beta compute instances import my-instance \
  --os=ubuntu-1404 --source-uri=gs://my-bucket/Ubuntu.ova \
  --custom-cpu=2 --custom-memory=2048MB

カスタム ネットワーク

カスタム ネットワークを使用するようにプロジェクトが設定されている場合は、--network フラグを指定する必要があります。ネットワークにカスタム サブネット モードが構成されている場合は、--subnet フラグと --zone フラグを指定する必要があります。

たとえば、次のプロパティを持つインスタンスをインポートするとします。

  • インスタンス名: my-instance
  • オペレーティング システム: Ubuntu 1404
  • ネットワーク: custom-vpc network
  • サブネット: company-vpc-us-east1-c
  • ゾーン: us-east1-c

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

gcloud beta compute instances import my-instance --os ubuntu-1404 \
  --source-uri=gs://my-bucket/Ubuntu.ova \
  --network company-vpc \
  --subnet company-vpc-us-east1-c \
  --zone us-east1-c

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

Compute Engine ドキュメント