こんにちは、SBクラウドのKSです。
今回ご紹介するのは国際サイトから日本サイトへのECSイメージの移行です。
どんな場面を想定しているかというと、、、
「日本サイトではまだリリースされていないプロダクトでも、国際サイトではリリースされていて早く使ってみたい!!そして、リリースされたら日本サイト(日本語対応)でそのまま使いたい!!」
という場合などがあるかと思います。
国際サイトの杭州リージョンから日本サイトの杭州リージョンへのGPU(※)インスタンスの移行を試してみました。
(※)GPUに関してはこちら
図で示すと下記のようになります。
注意点
- 今回はGPUインスタンスの移行を試みています。GPUインスタンス(ecs.gn5-c4g1.xlarge)はデータディスクとしてローカルディスクを搭載していますが、ローカルディスクはディスクタイプがサポートされていないためスナップショットを作成できません。そのため、今回はシステムディスクのみの移行を試しています。
- 転送用ECSの帯域幅が狭すぎるとイメージファイルのサイズによっては時間がかかることがあります。
- 一時的に転送用ECSへイメージファイルを置くことになるため、ECSのストレージは移行元イメージファイルのファイルサイズよりも大きいサイズが必要です。
環境の構築
イメージを移行するための環境として、転送用のECSと国際サイトと日本サイトにOSSのバケットを準備します。
ECSの購入とセットアップ
まずは転送用にECSを1台購入します。これは国際サイト・日本サイトどちらでもよく、リージョンに関してもどこでも大丈夫です。
(今回は日本サイトの杭州リージョンにしています)
そして転送用ECSに「ossutil」というコマンドラインツールをインストール・設定します。
「ossutil」のインストールに関してはこちら
アクセスキーは移行元(国際サイト)のアクセスキーを設定します。
# ossutil -L EN config The command creates a configuration file and stores credentials. ・ ・ ・ Please enter language(CH/EN, default is:CH, the configuration will go into effect after the command successfully executed):EN Please enter endpoint:【杭州リージョンのエンドポイント】 Please enter accessKeyID:【国際サイトアクセスキー】 Please enter accessKeySecret:【アクセスキーシークレット】 Please enter stsToken:【リターン】
OSSバケット作成
国際サイトと日本サイトともに杭州リージョンでOSSのバケットを作成します。
両サイトで杭州リージョンに作成しましたが、移行先の日本サイト側のリージョンは任意に選ぶことができて、そのリージョンにECSイメージを移行することができます。(今回の検証ではGPUインスタンスが日本サイトの日本リージョンには無いため、杭州リージョンに移行します)
- 国際サイト杭州リージョン
<バケット名:image-international> - 日本サイト杭州リージョン
<バケット名:image-japan>
イメージ移行
ここからは実際にイメージを移行していきます。
トラフィックの混雑状況にもよりますが、参考として今回の検証(40GBのイメージファイルの移行)での所要時間を各項目の後ろに記載しています。
- 移行元(国際サイト)でECSのカスタムイメージ作成:約2時間
- 移行元(国際サイト)のOSSにエクスポート:約30分
- 転送用ECS(日本サイト)にダウンロード:約30分
- 移行先(日本サイト)のOSSにアップロード:約1時間
- 移行先(日本サイト)にインポート:約3時間
エクスポート権限付与(国際サイト)
アカウントによってはイメージのエクスポート権限が付与されていないことがあります。その場合はチケット を起票してイメージのエクスポート機能を有効にします。
スナップショット作成(国際サイト)
国際サイトの移行元ECSでスナップショットを作成します。
移行元ECSのInstance Disksから「Create Snapshots」をクリックして、スナップショット名を入力して「OK」をクリックします。
カスタムイメージ作成(国際サイト)
作成したスナップショットから「Create Custom Image」をクリックして、イメージ名と説明を入力して「Create」をクリックします。
イメージエクスポート(国際サイト)
作成したカスタムイメージの「Export Image」から「Confirm Address」をクリックします。
表示された画面で「Confirm Authorization Policy」をクリックします。
再度、作成したカスタムイメージから「Export Image」をクリックして、OSS Bucket Addressに作成した国際サイトのバケット「image-international」を選択し、OSS Object Prefixに任意の名称を入力してOKをクリックします。
転送用ECSへダウンロード〜OSSへアップロード
転送用ECSの帯域幅を広くすることによって転送時間を短縮することもできますが、シチュエーション毎に適切な帯域幅を選択してください。
※帯域幅の詳細に関してはこちら
エクスポート完了後、転送用ECSにログインして国際サイトOSSにアップロードされているイメージを転送用ECSにダウンロードします。
# ossutil cp oss://image-international/manual_m-bp173ade5mef7_system.raw ./ Succeed: Total num: 1, size: 42,949,672,960. OK num: 1(download 1 objects). 833.203946(s) elapsed
次に転送用ECSで移行先(日本サイト)のアクセスキーに変更して、日本サイトのOSSにアップロードします。
# ossutil -L EN config The command creates a configuration file and stores credentials. ・ ・ ・ Please enter accessKeySecret:【アクセスキーシークレット】 Please enter stsToken:【リターン】 Please enter endpoint:【杭州リージョンエンドポイント】 Please enter accessKeyID:【日本サイトアクセススキー】 # ossutil cp manual_m-bp173ade5mef7_system.raw oss://image-japan Succeed: Total num: 1, size: 42,949,672,960. OK num: 1(upload 1 files). 3318.044779(s) elapsed
イメージインポート(日本サイト)
日本サイトOSSにアップロードされたイメージをインポートして、ECSを作成します。
はじめにイメージのインポートに必要な情報を取得します。
日本サイトOSSバケットのオブジェクト管理画面でアップロードしたイメージファイルからファイルURLのコピーをクリックします。
次にOSSにアップロードしたイメージをカスタマイズイメージとしてインポートします。
ECS管理画面のイメージメニューより「イメージのインポート」をクリックして、『OSSのオブジェクトアドレス』にコピーしたURLを貼り付けます。他、必要項目を入力してOKをクリックします。
ECSのイメージ画面に表示される進行度が100%になったら、イメージインポート完了です。
最後に移行したイメージから、ECSインスタンスを作成します。
ECS購入画面の【オペレーティングシステムの選択】で、『カスタムイメージ』を選択して、移行したイメージ「migration-test」を選択します。
ECSが起動したら、ログインをして動作確認で完了です。
まとめ
今回はAlibaba Cloudの国際サイト→日本サイトでの移行をご紹介しましたが、内容を少し変更するだけで様々な用途に応用できます。
- 他のパブリッククラウド→Alibaba Cloudへの移行
- 日本リージョン→北京リージョンへの移行
- 北京リージョン→上海リージョンへの移行(2018/3末時点で中国内のみイメージコピーができるのでより簡単に可能)
オンプレと比べるとシステムの移行が非常に簡単にできるので、ぜひAlibaba Cloudを試してみてください。