こんにちは!SBクラウドソリューションアーキテクトLeoです。最近中国で運用しているシステムをAlibaba Cloudへ乗せてみたいとのお声をいただく機会が多くなってきました。ありがとうございます!
ということで、本記事ではサーバー(WebやAppなど)をAlibaba Cloud ECS(Elastic Compute Service)へマイグレーションする際の方法を簡単にご紹介したいと思います。
その他ストレージやDBに関しては他の手法も別記事でご紹介いたします。ぜひご覧ください!
[embed]https://techblog.sbcloud.co.jp/2018/06/14/data-transmission-service/[/embed]
[embed]https://techblog.sbcloud.co.jp/2018/10/31/migration_oss/#more-4137[/embed]
クラウドマイグレーションを捉える
サーバーのマイグレーションといってもそのパターンはいくつも存在するということはご存知のことと思います。我々も日々パターン検証を行っているところでありますが、まずは1つの例として以下の構成をご覧ください。
オンプレ上のWebアプリがあったとして、そこからマイグレーションする場合は「WebサーバーやAppサーバーをAlibaba CloudのECSへ」という形になります。「AWSのEC2」をという場合も迷わずECSへ移しましょう。
ではどうやって実施すれば良いか?手法としては大きく2つあります。
- クラウド移行ツールを使用する
- ECSへイメージをインポートする
当記事では上記1番にであるAlibaba Cloud Migration Toolになります。2について少しだけお話しすると、こちらにあるように現状使用されている環境のディスクイメージを作成し、これをAlibaba Cloudに持ってくるという形になります。
Alibaba Cloud移行ツール
Alibaba Cloud Migration ToolはAlibaba Cloudの独自のリソース移行ツールです。OS、アプリケーション、コンピュータディスク内のアプリケーションデータ、物理マシン、仮想マシン、クラウドホストなどのECSコンソール内のイメージリストへのリソース移行をサポートします。
使用していく上では以下の様な手順となります。
- 移行元のサーバーにツールをインストール
- ツール内のコンフィグファイルに移行先AlibabaCloudの情報を付与
- ツールを実行(Alibaba Cloudにイメージを作成)
- 作成されたイメージを用いてECS上に元のシステムを構築
導入実例
それでは実際にサーバーの移行作業をご覧いただきたいと思います。今回のご紹介ではAWSのEC2上に移行元Webサーバーがあることにし、ツールを用いてAlibaba Cloud ECSにも同じものを構築していきます。ツールを実行することにより動作する内容を簡単に整理すると、以下のようなことが起きています。
- Alibaba Cloud内で一時的にECSを立ち上げる
- rysncを用いてデータを移行元からAlibaba Cloudへコピーしてきます
- コピーしてきたデータをECSのイメージとして保持します
1.SELinux無効化
まず正常な実行のためSELinuxの停止が必要となります。移行元のEC2へアクセスし以下のコマンドでSELinuxのコンフィグを編集します。
# vi /etc/selinux/config
そうすると以下のファイルが開きますので、SELINUX=disabledとなるよう変更してください。
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
編集後の再起動を忘れずに
# reboot
2.ツールの配置
肝心のツールですがこちらからダウンロードしていただけます。ドキュメントページ内のDownloadからも可能です。
*Alibaba_Cloud_Migration_Tool.zipは解凍すると以下のファイルが出現します。
- go2aliyun_client1.3.0.3_linux_i386.zip
- go2aliyun_client1.3.0.3_linux_x86_64.zip
- go2aliyun_client1.3.0.3_windows_i386.zip
- go2aliyun_client1.3.0.3_windows_x86_64.zip
お使いの環境に合わせたAlibaba Cloud 移行ツールをftp等でアップロードします。*新規に作業用ディレクトリを作って置くと作業しやすくなります。
3.移行ツールの設定
AccessKeyの作成
一旦EC2から離れAlibaba Cloudでの話になりますが、移行ツールがAlibaba Cloud のどのアカウントを対象に作業すれば良いかを判断できるようにAccessKey/AccessKeySecretが必要になります。
持っていないという方はAlibaba Cloudログイン後のページ右上(人のアイコン)からAccess Key 管理に進んで新規作成を行なってください。すでに作成してあるAccess Keyの確認もできます。
再びEC2に戻っての作業です。user_config.jsonファイルを編集し、移行パラメータを設定をしていきます。
# cd /work/go2aliyun_client1.3.0.3_linux_x86_64 # vi user_config.json
今回は次のパラメータを設定します。
- アクセスID:上記アクセスキー準備で作成したAccessKey
- アクセスキー:上記アクセスキー準備で作成したAccessSecret
- リージョン:ap-northeast-1 東京
- イメージ名:webpage(任意の名前)
- システムディスクサイズ:40GB(実際に必要なディスクサイズ)
- プラットフォーム:CentOS(実際のOS)
- アーキテクチャ:x86_64
- データディスク:なし
- 帯域制御:なし
各種パターンについてはドキュメントページもご参考ください。
{ "access_id": " AccessKey", "secret_key": "AccessKeySecret", "region_id": "ap-northeast-1", "image_name": "webpage", "system_disk_size": 40, "platform": "CentOS", "architecture": "x86_64", "data_disks": [], "bandwidth_limit": 0 }
移行ツールの実行
go2aliyun_clientに実行権限を付与した後、実行します。
chmod +x go2aliyun_client ./go2aliyun_client
あとはAlibaba Cloud側にイメージが作成されるのを待つだけです。
[root@ip- go2aliyun_client1.3.0.3_linux_x86_64]# chmod +x go2aliyun_client [root@ip- go2aliyun_client1.3.0.3_linux_x86_64]# ./go2aliyun_client [Info] ========= Goto Aliyun Client 1.3.0.3. ========= [Info] Goto Aliyun Begin... [Info] Check User Config... [Info] Load Client Config... [Info] Get OS Info... [Info] Client Check... [Info] Prepare ECS... [Info] Create Server Instance [ecs.n4.small]... [Info] Wait For Server ECS...
処理が無事に終了したら、Alibaba Cloudで確認してみましょう。ECSの管理ページを開き、左のメニューからイメージを選択すると一番上に作成したイメージができているはずです。
このあとは通常のECSを購入するのと同じ手順ですが、イメージを選択する際にLinuxやWundowsではなく今回作成したものを選んでください。
まとめ
今回は一般的なWeb/AppサーバーなどをAlibaba Cloudへ移行する際のツールとしてAlibaba Cloud Migration Toolをご紹介してきました。作業手順としてはシンプルだと思いますが、お使いの移行元に合わせていくつか選択肢が発生しますのでご注意ください。またDBサーバーやオブジェクトストレージを移行したいといった場合は、冒頭でご紹介した通り別記事に詳しくありますのでぜひそちらもご覧ください。