[クラウド移行が加速する]VMImport使ってるの?Server Migration ServiceでVMwareを移行する[AWS移行]

2017.07.11

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

コンニチハ、千葉です。

最近移行に携わることが多いため、移行系サービの検証をしています。今回は、VMImportの高機能版サービスと言えるServer Migration Service(以降SMS)を試してみました。おそらく今後、VMwareを利用している場合はVMImportはあまり出番がなく、SMS一択になるのではないかと思います。

VMImportを利用して移行する場合は、色々手順が必要になってきます。VM Importでイメージインポートしてみた

これに比べ、SMSを利用すると様々なメリットが有ります。今回は、VMImportとの比較から、実際にAWSへの移行オペレーションまで試してみました。

※補足:VM仮想マシン移行後は、AMIとして保存されEC2を起動できるようになります

Server Migration Serviceのメリット

複雑なコマンドはなく、全てGUIで操作可能

コマンドは出てこなく、画面ポチポチで設定ができます。また、一度設定が完了すればVMware上の仮想マシ一覧から移行対象のVMを選択するだけです。レプリケーション開始というオペレーションだけでAMIを作成することができます。ものすごく便利です。

VMwareとのシームレスな連携

VMwareとAWSの連携は、Connector(OVFがダウンロードできる)を利用します。ConnectorはVMware上に立てて、vCenterのログイン情報、AWSのアクセスキーを設定します。これで、あとはマネージメントコンソール上で操作することができます。VM一覧の取得、AMI化の上部制御等です。

増分レプリケーション

VMImportではできなかった機能として、増分更新があります。SMSを利用すると、定期的な増分更新が可能になり、ダウンタイムの軽減に繋がります。容量が大きいデータなんかも、増分更新があるためレプリケーション時間を短縮できます。レプリケーションのタイミングは12時間から24時間間隔まで指定できます。(12,13,14...24)

大規模移行に最適なジョブ管理

同時に複数VMのレプリケーションができます。対象のVMを選択し、レプリケーション開始とクリックするだけです。デフォルトでは50VMまで同時にレプリケーションすることが可能です。

上限参考

前提条件

前提条件はこちらに記載がありますのでご確認ください。英語が最新なので、英語で確認した方がいいです。

やってみた

手順サマリ

ポイントとしてはVMwareとAWS間の連携は、SMSのConnectorを利用します。ConnectorはVMware上で起動させます。

以下手順サマリです。

  • AWS側で実施
    • SMS Connector(OVF)をダウンロード
    • Connectorで利用するIAMユーザー作成、アクセスキーの発行
    • SMSでのジョブ実行権限のためのIAMロールの作成
  • VMware側で実施
    • AWS連携用のvCenterユーザーの作成
    • SMS Connectorに起動

AWS側で実施

SMS-Connectorのダウンロード

こちらより、SMS Connectorをダウンロードします。

20170627-sms-1

IAMユーザーの作成

SMS用のIAMユーザーを作成します。以下を実施します。

  • アクセスキーの発行
  • IAMポリシー「ServerMigrationConnector」をアタッチ

20170627-sms-5

IAMロールの作成

SMSがAMIを作成することを許可するためのロールになります。IAMロールを作成します。以下を指定します。

  • ロールタイプ: AWS Server Migration Service
  • ポリシー:ServerMigrationServiceRole

VMware側で実施

vCenterへのユーザー作成

vCenterへユーザーを作成します。このユーザーにはVMのスナップショット作成、差分ディスクのダウンロードする権限を与えます。

具体的には以下の権限です

  • [Datastore] > [Browse datastore and Low level file operations] (Datastore.Browse と Datastore.FileManagement)
  • [vApp] > [Export] (VApp.Export)
  • [Virtual Machine] > [Snapshot management] > [Create snapshot and Remove Snapshot] (VirtualMachine.State.CreateSnapshot と VirtualMachine.State.RemoveSnapshot)

今回はテスト環境なので新規で作成せず、administratorアカウントを使いました。環境に合わせて実施ください。

connectorの起動

ダウンロードしたOVAから仮想マシンを作成します。対象のホストを右クリックし、「OVFテンプレートのデプロイ」を洗濯します。

20170627-sms-2

マネージメントコンソールに表示されているOVFファイルをダウンロード

20170627-sms-3

ダウンロードしたOVFファイルを指定し仮想マシンを作成します。

20170627-sms-4

仮想マシンを起動し、IPアドレスをメモしておきます。

connectorのセットアップ

ブラズザでconnector(https://ip-address-of-connector/)にアクセスします。「Get started now」をクリックします。

20170627-sms-6

ライセンスに同意(チェックボックス入れる)し「Next」をクリックします

20170627-sms-7

connectorのパスワード設定をします

20170627-sms-8

IPアドレスなどをカスタマイズする画面です。今回はデフォルのまま行きます

20170627-sms-9

「Next」をクリック

20170627-sms-10

リージョンとアクセスキーを入力します

20170627-sms-11

vCenterのIPアドレス/ユーザー/パスワードを入力します

20170627-sms-12

セットアップ完了です!

20170627-sms-13

VMWare仮想マシンからAMIを作成

マネジメントコンソールの「Server Migration」へ移動します。

「Import server catalog」をクリックして、vCenterからサーバー一覧を取得します

20170627-sms-14

レプリケーションジョブを作成し、AMIの作成を開始します。インポート用にCentOS7を用意したのでこちらを洗濯してます

20170627-sms-15

ライセンスタイプを選べるようですが、今回は「Auto」でやってみました。

20170627-sms-16

レプリケーションタイプで定期実行、または1度のみの実行を選択できます。スタートレプリケーションで、今すぐ実行か開始タイミングを直接指定できます(何年何月何日何時何分)。作成下ロール名を指定します。古いAMIを自動で削除するかを指定します。

20170627-sms-17

設定を確認し、レプリケーションジョブを作成します。

20170627-sms-18

ジョブの進捗が確認できます。

20170627-sms-19

ジョブが完了すると、AMIが作成されています。AMIからEC2を起動した所問題なく起動できましたが注意事項をご確認ください。

注意事項

複数ディスク利用時にマウントポイントが変わる

複数ディスクを持ったLinuxをインポートしたところ以下のようになりました

  • VMware:/dev/sdb1
  • EC2:/dev/vxdb1

私の場合は、シンボリックリンクを作成することで対応しました

最後に

かなりシンプルにVMware上の仮想マシンを移行することができました。増分レプリケーションや、ジョブ管理ができ、かなり強力なツールだと思います。また、Server Migration Service 自体は無料で使えるというところも素敵です。※一時的にS3料金、スナップショットの料金は別途かかりますが、こういったツールが無料で使えるのはさすがだなと思います

参考

http://docs.aws.amazon.com/ja_jp/server-migration-service/latest/userguide/SMS_setup.html http://docs.aws.amazon.com/ja_jp/server-migration-service/latest/userguide/console_workflow.html