CloudEndureでクラウドゆとり世代でもらくらくAWS移行

AWS運用自動化サービス「Cloud Automator」
この記事は1年以上前に書かれたものです。
内容が古い可能性がありますのでご注意ください。

技術2課の白鳥です。

私は2015年4月にサーバーワークスに新卒入社しましたので、いわゆるクラウドゆとり世代になります。オンプレミス(以下オンプレ)でのサーバ構築経験はつい数週間前までなく、オンプレサーバにSSH接続したこともありませんでした。そんな私からすると、オンプレからクラウドへのデータ移行作業は難しいイメージがあります。「データベースを移行するならdumpせねば」とか「VM Importは制約が多いからExportする前にチェックすべき項目が山ほどある」とか、難しそうな話をよく聞きます。今回は、そんな悩みを解決する移行サービス CloudEndure を使ってみましたので報告します。

CloudEndureとは

CloudEndureは、オンプレからクラウドへの移行やクラウド間での移行を簡単に行えるサービスです。米国では既に人気のあるサービスのようで、 AWS の Migration Partner 認定や、Migration Competencyを取得 しています。

移行時の構成図は以下のようになります。

cloudendure_architecture

上図を使って移行の大まかな手順を説明すると、次のようになります。

  1. 移行元のサーバにエージェントをインストールする。
  2. 移行元サーバのボリュームの中身が、Replication Server にアタッチされたボリュームにコピーされる。これらのボリュームの中身は常に同期される。
  3. CloudEndureの管理画面から指示を出すと Replica instance が立ち上がる。これが移行先サーバである。

移行してみた

実際の移行手順を、スクリーンショットなどを使いつつ見ていきます。今回は、サーバのOSが異なる2パターン(LinuxとWindows)の移行をしてみました。この記事では、主にLinuxを移行する場合について説明します。

移行元サーバの概要

移行したLinuxサーバの概要は以下の通りです。

  • OS: CentOS 6.6
  • アプリケーション: WordPress
  • データベース: MySQL
  • 移行するBlock deviceの容量: 466 GiB

CloudEndureのドキュメントによると、以下のOSで移行できることが確認ができているとのことです。

Linux

  • Ubuntu 10.04, 11.04, 11.10, 12.04, 12.10, 13.04, 13.10 64 bit
  • Red Hat Enterprise Linux (RHEL) 5.0-7.1 64
  • CentOS 5.0-7.1
  • SUSE Linux (SLES) 11 64 bit
  • Oracle Linux 6.4 64bit
  • Debian Linux 8
  • Kali Linux 2.0

Windows

  • Microsoft Windows Server 2003 32 and 64 bit
  • Microsoft Windows Server 2008 32 and 64 bit
  • Microsoft Windows Server 2008 R2 32 and 64 bit
  • Microsoft Windows Server 2012 32 and 64 bit
  • Microsoft Windows Server 2012 R2 32 and 64 bit

用意するもの

移行を始める前に、以下のものを準備しましょう。

  • 移行元サーバ: インターネットに出れる必要があります(NAT経由でもOK)
  • AWSアカウント
  • CloudEndureアカウント: こちらのページ右上の “Start FREE Trial” より検証用アカウントを取得できる

また、AWSアカウント内に以下のリソースを構築しておきます。

  • VPC
  • Replication VPC Subnet: インターネット経由の通信ができる、パブリックサブネットとして構築
  • Replica VPC Subnet: インターネット経由の通信はできなくても可
  • CloudEndure用IAMユーザ: CloudEndureよりこんな感じのポリシーを指定されるので、この通りのポリシーをアタッチする

初回ログイン

はじめてCloudEndureにログインすると、このような画面が表示されます。

cloudendure_first_login

いろいろ入力項目がありますが、現段階では

  • 移行元環境の選択 (Please select the location of your source machines)
  • 移行先環境の選択 (Please select the location where you want to create replicas)
  • CloudEndure 用に作成した IAM ユーザ の Access Key ID
  • CloudEndure 用に作成した IAM ユーザ の Secret Access Key

を入力すればOKです。これらの入力内容は後ほど修正できます。これらを入力してUpdateをクリックすると、ダッシュボード画面が表示されます。

dashboard

移行元へのエージェントインストール

移行元サーバにログインし、以下のコマンドでCloudEndureのエージェントをインストールします。

wget https://dashboard.cloudendure.com/installer_linux.py
sudo python installer_linux.py

このコマンドで installer_linux.py を実行すると、以下の各項目を聞かれるので、入力していきます。

  • CloudEndureのユーザ名とパスワード
  • 移行したいBlock device名(複数入力可)
  • 移行後に通信を受け付けたいTCPポート(複数入力可)
  • CloudEndure管理画面上で表示するサーバ名

これらを入力し終わると、自動的に CloudEndure Replication Server が立ち上げられ、移行元からデータが転送されます。転送が終わった後は、移行元での変更が随時 Replication Server に反映されます。今回の移行(466 GiB)では、初回のデータ転送に6時間程度かかりました。データ転送中も、移行元のサーバを稼働させ続けることができます。

データ転送開始後にCloudEndureの管理画面を見ると、移行するサーバが表示されており、データ転送のステータスを確認できます。下図の例では進捗1.00%となっています。

dashboard02

Future Replica Property の設定

データ転送が終わるまでの間に “Future Replica Property” を設定しておくと良いです。ここでは移行先のサーバ(Replica instance)に関する各種設定を行います。まずはCloudEndureの管理画面で、Future Replica Property の設定をしたいサーバを右クリックします。

dashboard03

右クリックで表示されるメニューの中から “Configure Future Replica” を選択します。すると次のような入力画面が表示されます。各項目を入力できたら、データ転送が終わるのを待ちます。

configure_future_replica

いよいよ移行

データ転送が終わり移行元とReplication Serverを同期できたら、移行先サーバ (Replica instance) を立ち上げます。とは言っても、あとやるべきことは、CloudEndure管理画面で、

  • 移行したいサーバにチェックを入れる
  • “Create Replica” をクリックする

の2点のみです。するとログが表示され、自動的にAWS上に Replica instance が立ち上がります。今回の例では10分弱で立ち上がりました。

create_replica_log

接続確認

Launch された Replica instance に SSH してみます。Linuxへのログインには、移行前のユーザー名・パスワード・秘密鍵を使用できます。

ssh_to_replica

SSHできました。

まとめ

CloudEndure を使うと、オンプレのサーバを簡単に移行することができました。ほとんどのサーバ構築作業は、CloudEndureがIAMユーザを通じて自動で行うため、移行のための作業量は少なく抑えられています。また、移行元のオンプレサーバの操作はエージェントのインストールのみで、難しい設定はほとんどありません。少ない作業量でさくっとAWSに移行したい際に威力を発揮しそうなサービスです。

 

(以下、2016年7月14日追記)

移行時のOSおよびアプリケーションのライセンスについて

サーバ移行時に気になるのが、移行前に使用しているOSやアプリケーションのライセンスを、移行後もそのまま使えるかどうかです。CloudEndureの場合に各種ライセンスの扱いがどうなるか、まとめておきます。

  • Windows

今回の検証では、移行後のWindowsサーバ(Replica instance)は、AWS標準のWindows AMIからLaunchされていました。従って、移行後のWindowsのライセンス使用料はAWSの利用料金に含まれます。

  • Red Hat Enterprise Linux (RHEL)

CloudEndureのドキュメントによると、RHELを移行する場合はOSごとコピーされるため、Cloud Access (BYOL) ライセンスである必要があります。

  • 各種アプリケーションやデータベースエンジン

<

p style=”margin-left: 40px”>CloudEndureはアプリケーションやデータベースの中身には関知しない(単なるデータとしてコピーする)つくりになっています。アプリケーションによっては移行後にライセンスの制約で動作しない可能性もあるため、各アプリケーションのBYOL規約などを確認しましょう。

AWS運用自動化サービス「Cloud Automator」