2022年5月25日

GCE移行企画(全5回) 第2回 インポート機能を利用してオンプレ仮想マシンをGCEに移行してみた!


Content

はじめに

本記事は「GCE移行企画(全5回)」シリーズの第2回目の記事です。

前回記事では、オンプレの仮想マシンをGoogle Cloudに移行する方式は以下の3つに分類されると説明しました。
・インポート機能を利用する方式
・Migrate for Compute Engine(M4CE)を利用する方式
・サードパーティーツールを利用する方式

本記事では「インポート機能を利用する方式」の具体的な手順について説明していきます!

前回記事が気になる方は以下を
GCE移行企画(全5回) 第1回 オンプレ仮想マシンをGoogle Compute Engineに移行するにはどんな選択肢がある?
「Migrate for Compute Engine(M4CE)を利用する方式」に興味のある方は以下ををご覧ください。
GCE移行企画(全5回) 第3回 M4CEってなに?わかりやすくまとめてみた!
GCE移行企画(全5回) 第4回 M4CEの環境構築を実際にやってみた!
GCE移行企画(全5回) 第5回 M4CEを利用してオンプレ仮想マシンをGCEに移行してみた!

インポート機能について

概要

「インポート機能を利用する方式」とは、その名の通りGoogleが提供するインポート機能を利用する移行方式です。
オンプレの仮想マシンのVMDK、VHD(X)、RAWのいずれかのファイル形式からGCEを構築します。

特徴

メリット

  • コストがかからない
  • 手順がシンプルであり、移行のハードルが低い

デメリット

  • 複数の仮想マシンを一括で移行することができない(1台ずつの移行となる)
  • 一部のOSにおいて、仮想マシンの設定変更を実施する必要がある

最適な用途

  • 移行する仮想マシンの台数が少ない
  • 移行に関わるコストをかけたくない

移行方式

インポート機能を利用する場合、オンプレ仮想マシンのファイル形式によって移行方式や手順が異なります。それぞれの違いは以下のようになります。

      

      

      

      

   

      

      

      

      

   

   

      

      

      

      

   

   

      

      

      

      

   

移行方式 ファイル形式 難易度 備考
仮想ディスクのインポート
(インポートツール)
VMDK、VHD(X)、RAWなど
仮想アプライアンス OVF/OVA
仮想ディスクの手動インポート RAW Google非推奨

本記事では、「インポートツール」「仮想アプライアンス」の移行手順を説明します。
※「仮想ディスクの手動インポート」は非推奨であることから、本記事では割愛させていただきます

前提条件

移行手順に入る前に、前提条件がありますので記載します。


基本要件


・移行先のGoogle Cloud環境(アカウント・プロジェクト等)が用意されていること。
・移行したワークロードをホストするためのVPCを作成していること。


OS要件


・移行がサポートされているOSであること。

移行手順

インポート機能を利用した移行方法は、大きく分けて「事前作業」と「移行」の2つのプロセスに分類されます。
それぞれの手順の概要は以下になります。

     

  1. 事前作業
       

          

    1. Cloud Build API有効化
    2.     

    3. Cloud Buid APIのサービスアカウント権限追加
    4.     

    5. Cloud Storageのバケット作成
  2.  

  3. 移行
       

          

    1. 仮想ディスク/アプライアンスのエクスポート
    2.     

    3. Cloud Storageへアップロード
    4.     

    5. カスタムイメージの作成
    6.     

    7. 仮想マシンの作成
           

              

      1. 仮想ディスク(インポートツール)の場合
      2.       

      3. 仮想アプライアンスの場合
      4.      

    8.     

    9. リソースのクリーンアップ
           

              

      1. Cloud Storage上のファイル削除
      2.       

      3. カスタムイメージ削除
      4.      

          

    10.    

     

  4.   

移行作業の具体的な手順を説明していきます!
手順を説明するにあたり、前提条件の要件はすべて満たしているものとします。
※前提条件の設定手順等は省略します


1. 事前作業


移行を始める前に、Google Cloud側で以下の事前作業を実施します。

1.1. Cloud Build API有効化


Cloud Build APIを有効化します。

[手順1]gcloudコマンドラインコンソールから、以下のコマンドを実行し、APIを有効化します。

gcloud services enable cloudbuild.googleapis.com

1.2. Cloud Build APIのサービスアカウント権限追加


有効化したCloud Build APIのサービスアカウントに権限を追加します。

[手順1]gcloudコマンドラインコンソールを使用して、以下のコマンドを実行します。
※「PROJECT_ID」と「PROJECT_NUM」はご自身の環境に置き換えてください

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

1.3. Cloud Storageのバケット作成


移行時にデータの一時保存場所として、Cloud Storageのバケットを作成します。

[手順1]Google Cloud Consoleで[Cloud Storage] > [ブラウザ]をクリックします。
Cloud Storage画像1

[手順2][バケットを作成]をクリックします。
Cloud Storage画像2

[手順3]以下の情報を入力し、[作成]をクリックします。
※その他の情報はデフォルトで問題ございません

   

      

      

   

   

      

      

   

   

      

      

   

   

      

      

   

   

      

      

   

設定項目 設定値
バケット名 任意※1
ロケーションタイプ Region※2
ロケーション 任意
ストレージクラス Standard

※1 バケット名は世界中で一意の名前を利用する必要があります
※2 冗長性が求められる場合はMulti-Regionを選択してください
Cloud Storage画像3


2. 移行


仮想ディスク、または仮想アプライアンスをGoogle Cloudに移行し、仮想マシンを作成します。
※以下はVMwareかつ、vCenterが存在する場合の手順です
★インポートツールと仮想アプライアンスで手順が異なる箇所は明記しております

2.1. 仮想ディスク/アプライアンスのエクスポート


既存環境の仮想ディスクもしくは仮想アプライアンスをエクスポートします。

[手順1]vCenterにログインします。

[手順2]仮想マシンを右クリックし、[エクスポート]をクリックします。

2.2. Cloud Storageへアップロード


[2.1.]で取得したファイルをCloud Storageへアップロードします。
※Cloud Storageとは、Google Cloudのストレージサービスです

[手順1]Google Cloud Consoleで[Cloud Storage] > [ブラウザ]を開きます。
CloudStorageへアップロード画像1

[手順2]バケットリストからファイルをアップロードするバケットをクリックします。
CloudStorageへアップロード画像2

[手順3][ファイルをアップロード]をクリックし、アップロードファイルを選択して、[開く]をクリックします。
CloudStorageへアップロード画像3

2.3. カスタムイメージの作成


アップロードした仮想ディスクからカスタムイメージを作成します。
★仮想アプライアンスの場合、本手順は不要です

[手順1]gcloudコマンドラインコンソールを使用して、以下のパラメータを参考にコマンドを実行します。

   

      

      

   

   

      

      

   

   

      

      

   

   

      

      

   

パラメータ 設定値
$image-name 任意※1
$file-name Cloud Storageにアップロードした仮想ディスク
例)gs://hogehoge/hogehoge.vmdk
$os 仮想ディスクのOS
               例)centos-7
gcloud compute images import $image-name --source-file $file-name --os $os

※20~30分程度かかります
オプションを利用することでさらに詳細な設定も可能です

2.4. 仮想マシンの作成


Cloud Storageにアップロードした仮想ディスクまたは仮想アプライアンスから仮想マシンを作成します。仮想ディスクと仮想アプライアンスで手順が異なります。 仮想ディスクの場合は手順2.4.1を、仮想アプライアンスの場合は手順2.4.2をご覧ください。

2.4.1. 仮想ディスクの場合
仮想ディスクの場合は、カスタムイメージから仮想マシンを作成します。

[手順1]Google Cloud Consoleで[Compute Engine] > [VM インスタンス]を開きます。
仮想マシン作成画像1

[手順2][インスタンスを作成]をクリックします。
仮想マシン作成画像2

[手順3][ブートディスク]セクションの[変更]をクリックします。
仮想マシン作成画像3

[手順4][カスタムイメージ]を選択し、[2.3. カスタムイメージの作成]で作成したカスタムイメージを選択後、次に[選択]をクリックします。
仮想マシン作成画像4

[手順5]その他のパラメータを任意で設定し、[作成]をクリックします。
※5分程度かかります
仮想マシン作成画像5

2.4.2. 仮想アプライアンスの場合
仮想アプライアンスの場合、Cloud Storageにアップロードした仮想アプライアンスから、直接仮想マシンを作成します。
※カスタムイメージを経由して仮想マシンを作成することもできます

[手順1]gcloudコマンドラインコンソールを使用して、以下のパラメータを参考にコマンドを実行します。

   

      

      

   

   

      

      

   

   

      

      

   

   

      

      

   

   

      

      

   

パラメータ 設定値
$vm_name 任意
$zone 任意
$network vpcネットワーク
$subnet サブネット
※vpcネットワーク内のサブネットを指定
gcloud compute instances import $vm_name \
---source-uri=gs:$PATH_TO_OVA(orOVF)_FILE --zone $zone --network $network --subnet $subnet

※20~30分程度かかります
オプションを利用することでさらに詳細な設定も可能です

2.5. リソースのクリーンアップ


仮想マシンの作成は完了しました。
Google Cloudは従量課金制のため、不要なリソース(アップロードしたファイルとカスタムイメージ)を削除します。

2.5.1. Cloud Storage上のファイル削除
Cloud Storageにアップロードしたファイルを削除します。

[手順1]Google Cloud Consoleで[Cloud Storage] > [ブラウザ]を開きます。
クリーンアップ作成画像1

[手順2]バケットリストからファイルをアップロードしたバケットをクリックします。
クリーンアップ作成画像2

[手順3]削除するオブジェクト(ファイル)にチェックし、[削除]をクリックします。
クリーンアップ作成画像3

2.5.2. カスタムイメージ削除
仮想ファイルから作成したカスタムイメージを削除します。
※仮想アプライアンスの場合、本手順は不要です

[手順1]Google Cloud Consoleで[Compute Engine] > [イメージ]を開きます。
クリーンアップ作成画像4

[手順2]削除するイメージにチェックし、[削除]をクリックします。
クリーンアップ作成画像5

以上でインポート機能を利用した移行作業は完了です!

まとめ

本記事のまとめは以下になります。
・インポート機能はファイル形式によって移行手順が異なる
・コストがかからない、移行のハードルが低いというメリットはあるが、複数の仮想マシンを一括で移行することはできないため、移行台数が少ない場合に最適な移行方式である
・前提条件として、基本要件とOS要件を満たす必要がある
・移行手順は大きく分けて「事前作業」「移行」に分類される
・「事前作業」では、APIの有効化、権限設定、バケット作成を行う
・「移行手順」では、仮想ディスク/アプライアンスのエクスポートから、アップロード、カスタムイメージ作成、仮想マシン作成、クリーンアップと5つのプロセスが必要となる

オンプレ仮想マシンをGCEに移行する方法の概要が気になる方は以下をご覧ください。
GCE移行企画(全5回) 第1回 オンプレ仮想マシンをGoogle Compute Engineに移行するにはどんな選択肢がある?

「Migrate for Compute Engine(M4CE)を利用する方式」の概要や具体的な手順が気になる方は以下をご覧ください。
GCE移行企画(全5回) 第3回 M4CEってなに?わかりやすくまとめてみた!
GCE移行企画(全5回) 第4回 M4CEの環境構築を実際にやってみた!
GCE移行企画(全5回) 第5回 M4CEを利用してオンプレ仮想マシンをGCEに移行してみた!

また、弊社ではGoogle Cloudに力を入れており、クラウド(GCE、サーバーレス)移行、データドリブン、クラウドネイティブといったキーワードでお困りのこと(提案、見積などなど)がございましたら、こちらからどしどしお問い合わせください!

※本記事は2021年4月時点の内容を記載しております

参考URL
https://cloud.google.com/compute/docs/import
https://cloud.google.com/compute/docs/import/requirements-export-import-images
https://cloud.google.com/compute/docs/import/importing-virtual-disks
https://cloud.google.com/compute/docs/import/import-ovf-files
https://cloud.google.com/compute/docs/images/os-details?hl=ja#import
https://cloud.google.com/sdk/gcloud/reference/compute/images/import
https://cloud.google.com/sdk/gcloud/reference/compute/instances/import

2022年5月25日 GCE移行企画(全5回) 第2回 インポート機能を利用してオンプレ仮想マシンをGCEに移行してみた!

Category Google Cloud

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら