AWS to Azure

  CJ です。

 

クラウドサービスを利用していると、ユーザーの使用パターンの変化や新規サービス・機能の登場など、様々な理由からサービスの乗り換えを検討されるケースがあると思います。

今回はこういう移行ケースを想定し、一つの例として AWS上で動いている仮想マシン (以下、VM) を Azure 環境へ移行する方法 (経験談) を共有したいと思います。

なお、当記事は MVA “Migrating VMs from Amazon AWS to Microsoft Azure“をベースとしています。

 

大まかな移行の流れとしては “AWS → Hyper-V Host → Azure” となっており、MVA上では “AWS → Hyper-V Host” 区間の作業として AWSの S3 を経由する例が紹介されていますが、ここではより簡単な方法を紹介します。

 

事前準備

  • AWS アカウント
    • VM on AWS (Windows Server 2012 R2 / 例 t2.micro 1台)

 

  • Azure アカウント
    • Azure Storage アカウント
      • ストレージ > 簡易作成 >
        • URL : cjcj.*.core.windows.net
        • 場所 : 日本 (東)
        • レプリケーション : ジオ (主要地域) 冗長

 

  • Hyper-V ホスト (Windows Server 2012 R2)
    • Hyper-V 役割をインストールしてください。
    • Azure-PowerShell 設定
      • こちらから Microsoft Web Platform Installer (以下、Web PI)をダウンロードしてください。
      • Web PI を実行し、”Windows Azure Powershell” をインストールしてください。
      • 20140406-9
      • Azure Subscription 登録
        • Microsoft Azure PowerShell > (右クリック) > Windows PowerShell ISE 実行
          • Azure アカウント / パスワードを入力
          • credentials.publishsettings ファイルをローカルに保存
            • 例. C:\etc\Azure\clara-4-6-2015-credentials.publishsettings
        • ちゃんと Subscription が表示されれば準備完了。

 

ユースケース

  • 別クラウド環境での動作をテストしたい
  • より自分の使用用途に適するSLAのサービスを利用したい
  • クラウド環境を集約したい
  • 使いたいサービス・機能がある

 

作業の流れ

  1. VHD スナップショット取得 (VM on AWS)
  2. VHD 種類変更 (拡張可能 → 固定)
  3. Hyper-V 統合サービスインストール
  4. Azure Storage へアップロード
  5. Azure Disk として登録
  6. Azure Disk から展開
  7. 結果

 

詳細

1. VHD スナップショット取得 (VM on AWS)

操作 : VM on AWS
  • Hyper-V ホストから VMへ RDP 接続
    • “Ctrl + R” > mstsc 入力
    • ローカルリソース (タブ) > 詳細 >  ドライブ > ローカルディスク (例. D:ドライブ)
  • Disk2vhd をこちらからダウンロードし、VM内(例. Desktop)におき、disk2vhd.exeを実行
  • 移行対象のボリュームを選択
    • 注意 : System Reserved Volumeを選択しないと、後ほどAzure 上VMが起動しても RDP 接続できなくなります。
  • 保存先をRDPセッションでつないだ Hyper-V のドライブを指定 (例. D:ドライブ)
    • パス : \\tsclient\D\AWS-T2M.vhd
  • Create (完了 : Disk export to VHD completed successfully の表示を確認)
    • これでとても簡単に Hyper-V Host に VHDを持ってくる事ができました。
    • 所要時間 : 約30分 (例. t2.micro)
  • 3
操作 : Hyper-V Host
  • Hyper-V Host 側からも以下のように VHD ファイルが転送された事がわかります。
  • パス : D:\AWS-T2M.VHD
  • 20140406-4

2. VHD 種類変更 (拡張可能 → 固定)

操作 : Hyper-V Host
  • 次は Azure が VHDの固定をサポートしているため、VHD 種類の変更が必要となります。
  • 変更予定 : “D:\AWS-T2M.VHD (拡張可能)” → “D:\VHD\AWS-T2M.VHD (固定)”
  • まず、現状の確認です。D:\AWS-T2M.VHD ファイルを右クリックで、マウントしてください。
  • 確認方法はいくつかありますが、ここでは DISKPART を使って確認します。
  • コマンドプロンプト > “diskpart” 入力 > “list vdisk” を入力
  • 20140406-5
  • “拡張可能” 状態である事が確認できました。
  • ディスク管理から VHD のマウントを解除してください。
  • 以下の PowerShell にて変換 (所要時間 : 約 5分)

  • 20140406-6
  • 変換されたファイル (D:\VHD\AWS-T2M.VHD) の種類を DISKPART から再確認。
  • 20140406-7
  • 固定に変更された事がわかります。
  • 確認ができましたので、再び VHD のマウントを解除してください。

3. Hyper-V 統合サービスインストール

操作 : Hyper-V Host
  • Azureは Hyper-V がベースとなっており、”Hyper-V 統合サービス”にて最適化されます。
  • ここでは作成した VHD に Hyper-V 統合サービスをインストールします。
    • cab ファイル参考情報
      • 6.xは 2008 及び 2008 R2 VM用
      • 6.2は 2012 及び 2012 R2 VM用

4. Azure Storage へアップロード

操作 : Hyper-V Host
  • 準備出来た VHD を Azure の Storage へアップロードしてください。
  • Calculating MD5 Hash 中となります。(所要時間 : 約5分)
  • 20140406-10
  • Empty Block Detection 中となります。 (所要時間 : 約5分)
  • 20140406-11
  • Uploading 中となります。 (所要時間 : 約25分)
  • 20140406-12
操作 : Azure
  • 以下の通り、Azure ポータルから VHD がアップロードされている事が確認できます。
  • 20140406-21

5. Azure Disk として登録

操作 : Azure
  • Azure 上で使うために、Azure Disk としての登録が必要となります。

  • 20140406-14

6. Azure Disk から展開

操作 : Azure
  • これで Azure上、VMを作成可能な状態となりました。
  • では、早速 VM 展開へ~
  • Azure ポータル > 仮想マシン > “aws-t2m” VM が開始中 → 実行中となります。
  • 20140406-22
  • Hyper-V 統合サービスがちゃんと反映されるよう、一度 VM を再起動してください。

7. 結果

 操作 : VM on Azure
  • ちゃんと AWS 上で動いている VM を Azure へ移行できました!
  • 同一 SID です。
  • 20140406-19
  • 20140406-18
  • また、ディスク管理 (下) からみても指定した Volume が入っているのがわかります。
  • 20140406-20
  • Azure で新規でVMを作成したら、Volume 内容が変わるのか比べてみました。
  • System Reserved Volume がないという違いがあります。
  • 20140406-15
  • Azure Technical Diagram をみると、”C:\System Disk” と “C:\” が分離されています。
  • Azure 構成上の違いのようです。

Azure Technical Diagram

 

まとめ

今回は “移行ができる事”、”極力手順を圧縮する事” をポイントにご紹介させていただきました。

実際ご自身の環境に適用する際には、以下の内容についてもご検討頂くことをお進めします。

  • 移行先の特徴 : Hyper-V 統合サービスなど
  • 移行方法 : VM まるごと or データーのみ
  • 移行時間 (スケジュール)
  • セキュリティ : ファイルの暗号化 or 通信経路の暗号化
  • 移行料金 : データー転送量

 

最後に、今回は “AWS ~ Azure” 間での移行例となりましたが、その他 のクラウドサービスへの移行も可能です。

詳しい移行方法については、各クラウドサービスのドキュメントをご参照ください。

 

クラウドサービスの移行、ぜひお試しください!

 

参考資料

Disk2vhd v2.01
https://technet.microsoft.com/en-us/sysinternals/ee656415.aspx

How to install and configure Azure PowerShell
http://azure.microsoft.com/ja-jp/documentation/articles/powershell-install-configure/

Migrating VMs from Amazon AWS to Microsoft Azure
http://www.microsoftvirtualacademy.com/training-courses/migrating-vms-from-amazon-aws-to-microsoft-azure

Azure の仮想マシンの管理用コマンド
http://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-command-line-tools/

 

 

Share on LinkedIn
LINEで送る
Pocket

claraer

claraer