2022年5月25日
GCE移行企画(全5回) 第2回 インポート機能を利用してオンプレ仮想マシンをGCEに移行してみた!
-
- Category Google Cloud
はじめに
本記事は「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. 事前作業
移行を始める前に、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] > [ブラウザ]をクリックします。
[手順2][バケットを作成]をクリックします。
[手順3]以下の情報を入力し、[作成]をクリックします。
※その他の情報はデフォルトで問題ございません
設定項目 | 設定値 |
---|---|
バケット名 | 任意※1 |
ロケーションタイプ | Region※2 |
ロケーション | 任意 |
ストレージクラス | Standard |
※1 バケット名は世界中で一意の名前を利用する必要があります
※2 冗長性が求められる場合はMulti-Regionを選択してください
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] > [ブラウザ]を開きます。
[手順2]バケットリストからファイルをアップロードするバケットをクリックします。
[手順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 インスタンス]を開きます。
[手順2][インスタンスを作成]をクリックします。
[手順3][ブートディスク]セクションの[変更]をクリックします。
[手順4][カスタムイメージ]を選択し、[2.3. カスタムイメージの作成]で作成したカスタムイメージを選択後、次に[選択]をクリックします。
[手順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] > [ブラウザ]を開きます。
[手順2]バケットリストからファイルをアップロードしたバケットをクリックします。
[手順3]削除するオブジェクト(ファイル)にチェックし、[削除]をクリックします。
2.5.2. カスタムイメージ削除
仮想ファイルから作成したカスタムイメージを削除します。
※仮想アプライアンスの場合、本手順は不要です
[手順1]Google Cloud Consoleで[Compute Engine] > [イメージ]を開きます。
[手順2]削除するイメージにチェックし、[削除]をクリックします。
以上でインポート機能を利用した移行作業は完了です! 本記事のまとめは以下になります。 オンプレ仮想マシンをGCEに移行する方法の概要が気になる方は以下をご覧ください。 「Migrate for Compute Engine(M4CE)を利用する方式」の概要や具体的な手順が気になる方は以下をご覧ください。 また、弊社ではGoogle Cloudに力を入れており、クラウド(GCE、サーバーレス)移行、データドリブン、クラウドネイティブといったキーワードでお困りのこと(提案、見積などなど)がございましたら、こちらからどしどしお問い合わせください! ※本記事は2021年4月時点の内容を記載しております 参考URL
まとめ
・インポート機能はファイル形式によって移行手順が異なる
・コストがかからない、移行のハードルが低いというメリットはあるが、複数の仮想マシンを一括で移行することはできないため、移行台数が少ない場合に最適な移行方式である
・前提条件として、基本要件とOS要件を満たす必要がある
・移行手順は大きく分けて「事前作業」「移行」に分類される
・「事前作業」では、APIの有効化、権限設定、バケット作成を行う
・「移行手順」では、仮想ディスク/アプライアンスのエクスポートから、アップロード、カスタムイメージ作成、仮想マシン作成、クリーンアップと5つのプロセスが必要となる
GCE移行企画(全5回) 第1回 オンプレ仮想マシンをGoogle Compute Engineに移行するにはどんな選択肢がある?
GCE移行企画(全5回) 第3回 M4CEってなに?わかりやすくまとめてみた!
GCE移行企画(全5回) 第4回 M4CEの環境構築を実際にやってみた!
GCE移行企画(全5回) 第5回 M4CEを利用してオンプレ仮想マシンをGCEに移行してみた!
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に移行してみた!
ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。