コンテナには、高い費用対効果、効率的な展開、高い移植性、および環境の一貫性という利点があります。 Server Migration Center (SMC) を使用して、ソースLinuxサーバーをコンテナーイメージとしてcontainer Registryに移行し、コンテナーイメージを使用してコンテナーアプリケーションをデプロイできます。 これは、コスト効率の良い方法でコンテナ化されたアプリケーションの移行を実装します。
説明 Container Registryは、Open Container Initiative (OCI) の標準を満たすクラウドネイティブのアーティファクトを効果的に管理および配布できるサービスです。 アーティファクトには、コンテナ画像とHelmチャートが含まれます。 Container Registry Enterprise Editionは、グローバルなイメージレプリケーション、大規模なイメージの配布、および複数のコードソースに基づくイメージ構築をサポートするエンドツーエンドの高速化機能を提供します。 このサービスはContainer service for Kubernetes (ACK) とシームレスに統合され、企業が配信の複雑さを軽減し、クラウドネイティブアプリケーション向けのワンストップソリューションを提供するのに役立ちます。 詳細については、「Container Registry の概要」をご参照ください。
ACKは、世界で初めて認定Kubernetes適合プログラムに参加するサービスの1つです。 ACKは、高性能なコンテナ化アプリケーション管理サービスを提供し、エンタープライズクラスのコンテナ化アプリケーションのライフサイクル管理をサポートします。 ACKを使用することで、クラウド上でコンテナ化されたアプリケーションを簡単かつ効率的に実行および管理できます。 詳細については、「製品紹介」をご参照ください。
制限事項
x86アーキテクチャのLinuxサーバーのみをコンテナイメージとして移行できます。
影響
サーバーを移行する前に、次の表に示す影響に注意してください。
項目 | 説明 |
データディレクトリ | 移行中、SMCは、移行元サーバーのディスクパーティション構造に基づいて、移行元サーバーのディスクパーティション構造と可能な限り一致するディスクパーティション構造を自動的に生成できます。 必要に応じて、パーティションのサイズと場所の順序、転送モード、LVMを有効にするかどうかなど、ターゲットディスクのパーティション構造を調整できます。 デフォルトでは、サーバーのすべてのディスクが移行されますが、次の条件を考慮する必要があります。 詳細については、「」をご参照ください。必要に応じてディスクパーティションを変更します。. |
中間インスタンス | 移行中は、中間インスタンスに対して操作を実行しないでください。 移行ジョブを実行するために、SMCはAlibaba Cloudアカウント内にNo_Delete_SMC_Transition_instance という名前の一時中間インスタンスを作成します。 詳細については、サーバー移行センター (SMC) トピックの「中間インスタンスの仕様」セクションを参照してください。 移行の失敗を防ぐには、移行プロセス中に中間インスタンスを停止、開始、再起動、またはリリースしないでください。 移行が完了すると、SMCは中間インスタンスを自動的にリリースします。
説明 サーバーをECSインスタンスに移行すると、ECSインスタンスが中間インスタンスとして機能します。 |
IP アドレス | 移行後、サーバーのIPアドレスが変更されます。 ビジネスでIPアドレスの設定が必要な場合は、移行元サーバーの移行後にIPアドレスを変更します。 |
基本的なハードウェア | 移行後、基礎となるハードウェアが変更され、基礎となるハードウェアに関連付けられているアプリケーションライセンスが無効になる場合があります。 必要に応じてチェックを実行します。 |
前提条件
サーバー移行の準備は完了です。 詳細については、「開始前」をご参照ください。
Container Registryがアクティブ化され、イメージリポジトリが作成されます。 詳細については、「リポジトリの作成とイメージの作成」をご参照ください。
移行用にSMCによって生成される中間インスタンスに対して、Resource Access Management (RAM) ロールが作成されます。 詳細については、「信頼できるAlibaba CloudサービスのRAMロールの作成」をご参照ください。
RAMロールに次のキーパラメーターを設定します。
信頼できるエンティティの選択: Alibaba Cloudサービスを選択します。
ロールの種類: [通常のサービスロール] を選択します。
信頼できるサービスの選択: Elastic Compute Serviceを選択します。
コンテナーイメージ移行の要件を満たすカスタムポリシーが作成され、RAMロールにアタッチされます。 詳細については、「カスタムポリシーの作成」および「RAMロールへの権限付与」をご参照ください。
次のコードを使用して、カスタムポリシーを作成します。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"cr:GetAuthorizationToken",
"cr:PushRepository",
"cr:PullRepository",
"cr:CreateRepository"
],
"Resource": "*"
}
],
"Version": "1"
}
手順
手順1: 移行ソースに関する情報のインポート
移行元は、データセンターのサーバー、VM、サードパーティのクラウドプラットフォーム上のホストなど、さまざまな種類のサーバーにすることができます。 SMCは、移行ソースに関する情報をインポートする複数の方法をサポートしています。 ビジネス要件に基づいて方法を設定できます。 詳細については、「」をご参照ください。移行元に関する情報をインポートする方法を選択するにはどうすればよいですか。 「FAQ」トピックのセクション。
(推奨) CLIの使用
重要 移行元サーバーはインターネット経由でアクセス可能である必要があります。
SMCコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[サーバーの移行] ページで、[移行ソースのインポート] をクリックします。
プロンプトに従ってパラメーターを設定し、アクティベーションコードコマンドをコピーします。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
移行ソースタイプ | 移行元のタイプ。 [ECSインスタンス] を選択します。 |
Importメソッド | 移行元に関する情報をインポートするために使用されるメソッド。 [CLIを使用してサーバーをインポート] を選択します。 |
移行元クォータ | アクティベーションコードを使用して情報をインポートする移行ソースの数。 有効な値: 1 ~ 1000 デフォルト値は 10 です。 |
購入期間 | アクティベーションコードの有効期間。 単位:日。 有効な値: 1 ~ 90。 デフォルト値:30。 |
アクティベーションコード | 次の手順を実行して、アクティベーションコードを生成し、生成されたコマンドをコピーします。 [生成] をクリックします。 [Linuxシェル] タブをクリックします。 [コピー] をクリックして、アクティベーションコードコマンドをコピーします。
|
移行元サーバーにログインし、コピーしたコマンドを管理者として貼り付けて実行し、移行元に関する情報をインポートします。
Linuxサーバーにログオンします。
コピーしたコマンドを管理者として貼り付けて実行し, 移行元の情報をインポートします。
コマンドの実行後、次のようなメッセージがソースサーバーのインポート [s-bp18x8751kgz2oyh ****] 成功!
が返されると、移行元に関する情報がインポートされます。
SMCコンソールの [サーバー移行] ページで、移行元のステータスを [リアルタイム移行ステータス] 列に表示します。
SMCコンソールの使用
説明 ソースECS (Elastic Compute Service) インスタンスは、インターネット経由でアクセス可能である必要があります。
ソースECSインスタンスにCloud Assistant Agentをインストールする必要があります。 インストールの詳細については、「Cloud Assistant Agentのインストール」をご参照ください。 2017パブリックイメージに基づいて12月1日以降に作成されたECSインスタンスの場合、Cloud Assistant AgentはデフォルトでECSインスタンスにインストールされます。
移行元の情報をRAM (Resource Access Management) ユーザーとしてインポートする場合は、RAMユーザーに次の権限が付与されていることを確認してください。
SMCコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[サーバーの移行] ページで、[移行ソースのインポート] をクリックします。
プロンプトに従ってパラメーターを設定し、アクティベーションコードコマンドをコピーします。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
移行ソースタイプ | 移行元のタイプ。 [物理サーバー /VM/ECSインスタンス] を選択します。 |
Importメソッド | 移行元に関する情報をインポートするために使用されるメソッド。 [コンソールからインポート] を選択します。 |
移行ソース名 | 移行元の名前。 名前の長さは 2 ~ 128 文字である必要があります。 名前は文字で始める必要がありますが、http:// またはhttps:// で始めることはできません。 名前には、英数字、コロン (:) 、アンダースコア (_) 、およびハイフン (-) を使用できます。 |
OSタイプ | オペレーティングシステムのタイプ。 [Linux] を選択します。 |
IPアドレス | インターネット経由で移行元にアクセスするために使用されるIPv4アドレス。 例: 120.55.XX.XX. |
ポート | 移行元のSSHポート番号。 有効な値: -1 から 65535 デフォルト値: 22。 |
ユーザー名 | 移行元のオペレーティングシステムにログオンするために使用されるユーザー名。 デフォルトのユーザー名はroot です。 |
Password | ユーザー名に対応するパスワード。 |
パラメーターを設定したら、[インポート] をクリックします。
インポートプロセスには約3〜10分かかります。 インポートが完了するまで待ちます。
SMCコンソールの [サーバー移行] ページで、移行元のステータスを [リアルタイム移行ステータス] 列に表示します。
SMCクライアントの使用
SMCクライアントの詳細については、「SMCクライアントのWindows GUIバージョンの使用」をご参照ください。
SMCコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[サーバーの移行] ページで、[移行ソースのインポート] をクリックします。
[移行ソースのインポート] ページで、パラメーターを設定します。 下表に、各パラメーターを説明します。
パラメーター | 説明 |
移行ソースタイプ | 移行元のタイプ。 [物理サーバー /VM/ECSインスタンス] を選択します。 |
Importメソッド | 移行元に関する情報をインポートするために使用されるメソッド。 [クライアントを使用してサーバーをインポート] を選択します。 |
説明 | [説明] セクションの情報を読み、移行元のオペレーティングシステムのCPUアーキテクチャ (ARMまたはx86) とビットバージョン (32ビットまたは64ビット) に基づいて、必要なバージョンのSMCクライアントをダウンロードします。 |
移行元に関する情報をインポートします。
重要 移行中は、移行が完了するまでSMCクライアントをシャットダウンしないでください。 それ以外の場合、移行元はSMCコンソールから切断され、移行は失敗します。
ファイル転送をサポートするリモート接続ツールを使用できます。 たとえば、WinSCPを使用してSMCクライアントパッケージをソースLinuxサーバーにアップロードできます。
ソースLinuxサーバーに接続し、SMCクライアントパッケージを解凍します。
この例では、Linux 64ビットGeneric
を使用しています。 次のコマンドを実行して、パッケージを解凍します。 別のバージョンのSMCクライアントを使用する場合は、コマンドのパッケージ名をSMCクライアントの名前に置き換えます。
tar xf go2aliyun_client_linux_x86_64.tar.gz
説明 Linux ARM64は、g6r汎用インスタンスファミリーとc6rコンピューティング最適化インスタンスファミリーをサポートしています。 インスタンスタイプの詳細については、「インスタンスファミリーの概要」トピックの「ARMベースのエンタープライズレベルコンピューティングインスタンスファミリー」をご参照ください。
(オプション) 必要のないファイルまたはディレクトリを移行から除外します。 詳細については、「」をご参照ください。移行ジョブからファイルまたはディレクトリを除外するにはどうすればよいですか? 「FAQ」トピックのセクション。
重要 ブロックレプリケーション機能を有効にした場合、移行ジョブからファイルまたはディレクトリを除外することはできません。
アクティベーションコードまたはAccessKeyペアを取得します。
(推奨) アクティベーションコードを取得する: SMCコンソールの [説明] セクションで、[生成] をクリックし、生成されたアクティベーションコード情報をコピーします。
AccessKeyペアの取得: AccessKeyペアは、AccessKey IDとAccessKeyシークレットで構成されます。 AccessKeyペアが作成されていない場合は、最初に作成します。 詳細については、「AccessKeyペアの取得」をご参照ください。
SMCクライアントフォルダーで、次のコマンドを実行してSMCクライアントを実行します。
移行元サーバーのオペレーティングシステムに対してrootまたはsudo権限があるかどうかに基づいて、rootまたはsudoユーザーとして次のコマンドを実行します。
ルートユーザー
cd go2aliyun_client_linux_x86_64
chmod +x go2aliyun_client
./go2aliyun_client
Sudoユーザー
cd go2aliyun_client_linux_x86_64
sudo chmod +x go2aliyun_client
sudo ./go2aliyun_client
プロンプトに従って、アクティベーションコードまたはAccessKeyペアを入力します。 この例では、次の図に示すように、アクティベーションコードが使用されています。
アクティベーションコードを入力すると、次のメッセージが表示されることがあります。
移行元サーバーにスナップショットの依存関係がインストールされていない場合、メッセージが表示されます。 メッセージの詳細を次の図に示します。 ブロックレプリケーション機能を有効にするかどうかに基づいて、スナップショット依存関係をインストールするかどうかを決定できます。
重要 スナップショットの依存関係のインストールに失敗した場合、移行ジョブの作成時にブロックレプリケーションを有効にしないでください。 そうしないと、移行が失敗する可能性があります。
rsyncツールは、ほとんどの主流の移行ソースにインストールされます。 rsyncが移行元にインストールされていない場合、SMCクライアントはメッセージを表示します。 次の図に示すように、yes
と入力してrsyncをインストールします。
移行元でSELinuxが有効になっている場合、SELinuxを無効にするように促すメッセージが表示されます。 yes
と入力してSELinuxを無効にします。 次の図は、SELinuxを無効にする方法を示しています。
移行元の情報をインポートすると、次のようなメッセージが返されます。ソースサーバーのインポート [s-bp11npxndknsycqj ****] 成功!
.
説明 移行元に関する情報のインポートに失敗した場合は、返されたメッセージに基づいて問題をトラブルシューティングできます。 問題を修正した後、次のコマンドを実行してバックグラウンドプログラムを終了し、移行ソースのオペレーティングシステムに対する権限に基づいて、移行ソースに関する情報を再インポートします。 よくある質問 (FAQ) と解決策の詳細については、「サーバー移行センター (SMC) に関するFAQ」と「トラブルシューティング」をご参照ください。
Sudoユーザー
sudo ./go2aliyun_client --abort
sudo ./go2aliyun_client
ルートユーザー
./go2aliyun_client --abort
./go2aliyun_client
SMCコンソールの [サーバー移行] ページで、移行元のステータスを [リアルタイム移行ステータス] 列に表示します。
ステップ2: 移行ジョブの作成
管理する移行ソースを見つけて、[操作] 列の [移行の開始] をクリックします。
パラメーターを設定し、[作成] をクリックします。
次の表に示す基本パラメータを設定します。
パラメーター | 説明 | 例 |
移行ジョブ名 | 移行ジョブの名前。 | コンテナの移行 |
ジョブの説明 | 移行ジョブの説明。 | test |
移行先のタイプ | 移行元サーバーの移行先。 [コンテナーイメージ] を選択します。 | コンテナ画像 |
宛先リージョン | 必須。 移行元サーバーを移行するAlibaba Cloudリージョン。 リージョンの詳細については、「リージョンとゾーン」をご参照ください。 | 中国 (杭州) |
名前空間 | 必須。 移行中に生成されたコンテナイメージリポジトリを格納する名前空間。 名前空間の作成方法については、「名前空間とリソースクォータの管理」をご参照ください。 | |
リポジトリ名 | 必須。 移行中に生成されたコンテナーイメージを格納するリポジトリの名前。 イメージリポジトリの作成方法については、「リポジトリの作成とイメージの作成」をご参照ください。 | |
バージョン | 移行中に生成されたコンテナイメージのバージョン。 | v1 |
RAMロール | 必須。 中間インスタンスに割り当てられるRAMロール。 RAMロールの作成方法については、「信頼できるAlibaba CloudサービスのRAMロールの作成」をご参照ください。 | |
実行方法 | 移行ジョブが実行されるモード。 有効な値: 今すぐ移行: 移行ジョブは作成後すぐに開始されます。 デフォルト値です。 後で移行: 移行ジョブは、作成後の指定された時間に自動的に開始されます。
説明 移行ジョブを実行するために指定できる最も早い時間は、ジョブが作成されてから10分後です。 作成のみ: 移行ジョブの作成後、[操作] 列の [実行] をクリックして、移行ジョブを手動で開始する必要があります。
| デフォルト設定を維持する |
必要に応じてディスクパーティション構造を調整します。 下表に、各パラメーターを説明します。
パラメーター | 説明 | 例 |
ディスクパーティションの変更 | ニーズに応じて、[ディスクパーティションの変更] を有効にするかどうかを決定します。 この機能は、SMCクライアント2.8.0以上でのみサポートされます。 詳細については、「SMCクライアントの使用」をご参照ください。 | デフォルト設定を維持する |
(条件付きで必要) エキスパートモードをクリックして、ネットワークタイプや圧縮率などの高度なパラメーターを設定します。 次の表に、高度なパラメーターを示します。
パラメーター | 説明 | 例 |
ネットワークタイプ | 移行元サーバーから中間インスタンスにデータを移行するために使用されるネットワークの種類。 デフォルトでは、データはインターネット経由で移行されます。 移行中、SMCはVPCのvSwitchに接続する中間インスタンスを作成します。 [パブリックネットワーク] を選択した場合、パブリックIPアドレスが中間インスタンスに割り当てられます。 パブリックネットワーク (デフォルト値)SMCは、インターネット経由でデータを中間インスタンスに移行します。 [パブリックネットワーク] を選択した場合は、移行元サーバーがインターネットにアクセスできることを確認します。 ビジネス要件に基づいて、VPCとvSwitchを指定するかどうかを決定できます。 [VPC]SMCは、VPC経由で中間インスタンスにデータを移行します。 VPCを選択した場合、VPCとvSwitchを指定し、ソースサーバーがVPCに接続できることを確認する必要があります。
説明 データセンターのサーバー、VM、またはサードパーティのクラウドサーバーがVPCに接続できる場合は、このネットワークタイプを選択してデータを移行することを推奨します。 インターネットを介した移行と比較して、VPCを介した移行はより効率的で安定しています。 VPN Gateway、Express Connect、またはSAGを使用して、移行元をVPCに接続できます。 詳細については、「データセンターをVPCに接続する」をご参照ください。 | デフォルト設定を維持する |
伝送速度制限 | 移行中の最大ネットワーク転送速度。 単位は、Mbit/s です。 圧縮率パラメーターを0より大きい値に設定した場合、圧縮データの転送速度である実際のネットワーク転送速度は、[リアルタイム移行ステータス] 列に表示されている速度よりも遅くなります。 | デフォルト設定を維持する |
圧縮率 | 移行するデータの圧縮率。 ビジネス要件に基づいて圧縮比を設定します。 有効な値: 0〜10。 デフォルト値 : 7 値0は、データが圧縮されていないことを示す。 | デフォルト設定を維持する |
チェックサムの検証 | チェックサムを使用してデータの整合性を検証するかどうかを指定します。 デフォルトでは、この機能は無効化されています。 この機能を有効にすると、データの整合性は確保されますが、伝送速度が低下する可能性があります。 | デフォルト設定を維持する |
移行ジョブTags | | デフォルト設定を維持する |
中間インスタンスタイプ | 中間インスタンスのタイプ。 ビジネス要件に基づいて中間インスタンスタイプを選択します。 このパラメーターは、[宛先タイプ] パラメーターを [ECSイメージ] に設定した場合にのみ使用できます。
重要 移行の失敗を防ぐために、移行中に中間インスタンスを停止、開始、再起動、またはリリースしないでください。 | デフォルト設定を維持する |
表示されるメッセージで、移行メモを読み、[Got It] をクリックします。
[移行ジョブ] ページで、作成したジョブのステータスを表示します。
データ送信に必要な時間は、移行元のデータサイズやネットワーク帯域幅などの要因に左右されます。 移行ジョブが完了するまで待ちます。
説明 移行ジョブが [同期] ステータスの場合、[リアルタイム移行ステータス] 列に [速度] と [同期の残り時間] パラメーターが表示されます。
移行ジョブが [同期] ステータスの場合、ビジネス要件に基づいて次の操作を実行できます。
必要に応じて、 移行に関する詳細を表示するには、次の手順を実行します。
詳細を表示する移行ジョブを見つけ、[移行ソースID /名前] 列の移行ソースIDまたは名前をクリックします。
ジョブの詳細ページで、[移行ジョブ] セクションでジョブの詳細を表示します。
クリアリソース
移行中、SMCは移行先Alibaba Cloudアカウント内にNo_Delete_SMC_Transition_instance
という名前の一時的な従量課金中間インスタンスを作成します。 リソースをクリアする方法は、移行が成功したかどうかによって異なります。