Server Migration Center (SMC) は、Linux サーバーをコンテナイメージに自動的に変換し、Container Registry にプッシュすることで、手動でイメージをビルドすることなく、Container Service for Kubernetes (ACK) 上にコンテナ化されたアプリケーションをデプロイできるようにします。
注
-
Container Registry は、Open Container Initiative (OCI) の標準に準拠したクラウドネイティブのアーティファクトを管理・配信するためのサービスです。アーティファクトには、コンテナイメージや Helm チャートが含まれます。Container Registry Enterprise Edition は、グローバルなイメージレプリケーション、大規模なイメージの配信、複数のコードソースに基づくイメージビルドをサポートするエンドツーエンドのアクセラレーション機能を提供します。このサービスは ACK とシームレスに統合され、企業が配信の複雑さを軽減し、クラウドネイティブアプリケーション向けのワンストップソリューションを提供できるよう支援します。詳細については、「Container Registry とは」をご参照ください。
-
ACKは、世界で最初にCertified Kubernetes Conformance Programに参加したサービスの1つです。ACKは、パフォーマンス専有型のコンテナ化アプリケーション管理サービスを提供し、エンタープライズクラスのコンテナ化アプリケーションのライフサイクル管理をサポートします。詳細については、「概要」をご参照ください。
制限事項
x86 アーキテクチャで実行されている Linux サーバーのみがサポートされます。Windows サーバーおよび ARM ベースのサーバーは、コンテナイメージとして移行できません。
潜在的な影響
移行を開始する前に、以下の影響をご確認ください。
| 項目 |
影響 |
| データディレクトリ |
ブロックレプリケーションが無効の場合、ルートディレクトリ内のすべてのサブディレクトリ (共有サブディレクトリを含む) は、システムディスクパーティションの一部として移行されます。ブロックレプリケーションが有効の場合、デフォルトでは / や /boot などのルートパーティションのサブディレクトリのみが移行されます。他のディレクトリやパーティションからデータを移行するには、移行タスクの作成時にデータディスクを設定してください。 |
| 中間インスタンス |
SMC は移行中に、ご利用の Alibaba Cloud アカウントに No_Delete_SMC_Transition_Instance という名前の一時的な中間インスタンスを作成します。移行の実行中は、このインスタンスを停止、起動、再起動、またはリリースしないでください。SMC は移行完了後に自動的にこのインスタンスをリリースします。 |
| IP アドレス |
移行後、サーバーの IP アドレスは変更されます。ご利用のアプリケーションが特定の IP アドレスに依存している場合は、移行後に構成を更新してください。 |
| 基盤となるハードウェア |
移行後、基盤となるハードウェアが変更される可能性があります。特定のハードウェアに紐づけられたアプリケーションライセンスは無効になる場合があります。必要に応じて確認を行ってください。 |
前提条件
開始する前に、以下が完了していることを確認してください:
-
移行前の準備をすべて完了しました。「開始前に」をご参照ください。
-
Container Registry が有効化され、イメージリポジトリが作成されていること。詳細については、「リポジトリの作成とイメージのビルド」をご参照ください。
-
SMC 中間インスタンス用のリソースアクセス管理 (RAM) ロールを作成しました。設定内容は以下のとおりです。詳細については、「信頼された Alibaba Cloud サービス用の RAM ロールの作成」をご参照ください。
-
次の権限を持つカスタムポリシーを作成し、RAM ロールにアタッチしました。詳細については、「カスタムポリシーの作成」および「RAM ロールへの権限付与」をご参照ください。
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"cr:GetAuthorizationToken",
"cr:PushRepository",
"cr:PullRepository",
"cr:CreateRepository"
],
"Resource": "*"
}
],
"Version": "1"
}
ステップ 1:移行元のインポート
移行元には、物理サーバー、仮想マシン、またはサードパーティのクラウドプラットフォーム上のホストを指定できます。SMC は 3 つのインポート方法をサポートしています。ご利用の環境に合わせて選択してください。
| 方法 |
推奨用途 |
要件 |
| CLI (推奨) |
ほとんどの環境 |
移行元サーバーがインターネット経由でアクセス可能であること |
| SMC コンソール |
ECS インスタンス |
移行元の ECS インスタンスがインターネット経由でアクセス可能であること、Cloud Assistant Agent がインストールされていること |
| SMC クライアント |
すべての環境 |
移行元サーバーへのファイル転送アクセスが可能であること |
CLI の使用 (推奨)
重要
移行元サーバーはインターネット経由でアクセス可能である必要があります。
-
SMC コンソールにログインします。
-
左側のナビゲーションウィンドウで、[クラウドへの移行] > [サーバー移行] を選択します。
-
「[移行ソースのインポート]」をクリックし、以下のパラメーターを設定します。
| パラメーター |
説明 |
| 移行元の種類 |
ECS インスタンス を選択します。 |
| インポート方法 |
CLI を使用してサーバーをインポート を選択します。 |
| 移行元のクォータ |
このアクティベーションコードでインポートする移行元の数。有効な値:1~1000。デフォルト値:10。 |
| 有効期間 |
アクティベーションコードの有効期間。単位:日。有効な値:1~90。デフォルト値:30。 |
| アクティベーションコード |
生成 をクリックし、Linux Shell タブを選択してから、コピー をクリックします。 |
-
管理者として移行元サーバーにログインし、コピーしたコマンドを貼り付けて実行します。Import Source Server [s-bp18x8751kgz2oyh****] Successfully! のようなメッセージが表示されれば、インポートは成功です。

-
SMC コンソールの [サーバー移行] ページで、移行元の [リアルタイム移行ステータス] が Online と表示されていることを確認します。ステータスが Online ではない場合、インポートは失敗しています。SMC コンソールのエラーメッセージ、または移行元サーバーの /smc にあるログファイルを確認します。次に、「Server Migration Center (SMC) に関するよくある質問」および「トラブルシューティング」を参照して問題を解決し、再インポートしてください。
SMC コンソールの使用
この方法には以下が必要です:
移行元の Elastic Compute Service (ECS) インスタンスがインターネット経由でアクセス可能であること。
ソース ECS インスタンスにクラウドアシスタントエージェントがインストールされています。2017年12月1日以降にパブリックイメージから作成されたECS インスタンスの場合、クラウドアシスタントエージェントはプリインストール済みです。「クラウドアシスタントエージェントのインストール」をご参照ください。
RAM ユーザーとしてインポートする場合、その RAM ユーザーには AliyunRAMReadOnlyAccess および AliyunECSAssistantFullAccess の権限が必要です。
-
SMC コンソールにログインします。
-
左側のナビゲーションウィンドウで、[クラウドへの移行] > [サーバー移行] を選択します。
-
[移行ソースのインポート] をクリックして、次のパラメーターを設定します。
| パラメーター |
説明 |
| 移行元タイプ |
物理サーバー/VM/ECS インスタンス を選択します。 |
| [インポート方法] |
コンソール経由のインポート を選択します。 |
| 移行元名 |
2~128 文字。先頭は英字である必要があります。http:// または https:// で始めることはできません。英字、数字、コロン (:)、アンダースコア (_)、ハイフン (-) を使用できます。 |
| OS タイプ |
Linux を選択します。 |
| IP アドレス |
移行元サーバーのパブリック IPv4 アドレス。例:120.55.XX.XX。 |
| ポート |
SSH ポート番号。有効値:1~65535。デフォルト:22。 |
| ユーザー名 |
オペレーティングシステムのユーザー名。デフォルト:root。 |
| パスワード |
ユーザー名のパスワード。 |
-
「[インポート]」をクリックします。インポートには 3~10 分かかります。完了すると、移行元の [リアルタイム移行ステータス] に「オンライン」と表示されます。ステータスが「オンライン」でない場合は、SMC コンソール内のエラーメッセージ、またはソースサーバー上の /smc のログファイルを確認し、Server Migration Center(SMC) に関するよくある質問 および トラブルシューティング を参照して問題を解決し、再インポートを行ってください。
SMC クライアントの使用
SMC クライアントの詳細については、「SMC クライアントの Windows GUI バージョンを使用する」をご参照ください。
重要
移行が完了するまで SMC クライアントをシャットダウンしないでください。クライアントを閉じると、移行元が SMC コンソールから切断され、移行が失敗します。
-
SMC コンソールにログインします。
-
左側のナビゲーションウィンドウで、[クラウドへの移行] > [サーバー移行] を選択します。
-
[移行ソースのインポート] をクリックして、次のパラメーターを設定します。
| パラメーター |
説明 |
| 移行元タイプ |
物理サーバー/VM/ECS インスタンス を選択します。 |
| インポート方法 |
クライアントを使用したサーバーのインポート を選択します。 |
| [説明] |
説明 セクションで、移行元サーバーのオペレーティングシステムの CPU アーキテクチャ (ARM または x86) とビットバージョン (32 ビットまたは 64 ビット) に一致する SMC クライアントパッケージをダウンロードします。 |
-
WinSCP などのファイル転送ツールを使用して SMC クライアントパッケージを移行元の Linux サーバーに転送し、解凍します。以下の例では Linux 64-bit Generic を使用しています:
Linux ARM64 は、g6r 汎用インスタンスファミリーおよび c6r コンピューティング最適化インスタンスファミリーをサポートしています。詳細については、「インスタンスファミリーの概要」をご参照ください。
tar xf go2aliyun_client_linux_x86_64.tar.gz
-
(オプション) 移行する必要がないファイルまたはディレクトリを除外します。 詳細については、「移行ジョブからファイルまたはディレクトリを除外する方法」をご参照ください。
重要
ブロックレプリケーションを有効にする場合、ファイルやディレクトリを除外することはできません。
-
クライアントを認証するために、アクティベーションコードまたは AccessKey ペアを取得します。
-
SMC クライアントフォルダで、root または sudo 権限でクライアントを実行します。Root ユーザー:
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 ペアを入力します。表示されるプロンプトに応答してください:Import Source Server [s-bp11npxndknsycqj****] Successfully! のようなメッセージが表示されれば、インポートは成功です。
-
スナップショットの依存関係:ブロックレプリケーションが必要な場合は、yes を入力してスナップショットの依存関係をインストールします。インストールに失敗した場合、移行タスク作成時にブロックレプリケーションを有効にしないでください。移行が失敗する原因となります。no を入力してスキップします。
-
rsync:rsync がインストールされていない場合は、yes を入力してインストールします。
-
SELinux:SELinux が有効な場合は、yes を入力して無効にします。

-
SMC コンソールの [サーバー移行] ページで、[リアルタイム移行ステータス] が オンライン と表示されていることを確認します。ステータスが オンライン でない場合、インポートに失敗しました。リトライするには、バックグラウンドプロセスを終了し、クライアントを再度実行します。Sudo ユーザー:
sudo ./go2aliyun_client --abort
sudo ./go2aliyun_client
Root ユーザー:
./go2aliyun_client --abort
./go2aliyun_client
エラーメッセージまたは移行元サーバーの /smc にあるログファイルを確認し、「Server Migration Center (SMC) に関するよくある質問」および「トラブルシューティング」を参照して問題を解決してください。
ステップ 2:移行タスクの作成
-
「[サーバー移行]」ページで、移行元を見つけ、「[操作]」列の「[移行の開始]」をクリックします。
-
基本パラメーターを設定します。
| パラメーター |
説明 |
例 |
| 移行ジョブ名 |
移行ジョブの名前です。 |
Container migration |
| ジョブの説明 |
移行ジョブの説明です。 |
test |
| 移行先タイプ |
コンテナイメージ を選択します。 |
Container Image |
| 移行先リージョン |
移行先の Alibaba Cloud リージョンです。詳細については、「リージョンとゾーン」をご参照ください。 |
中国 (杭州) |
| 名前空間 |
コンテナイメージリポジトリの名前空間です。詳細については、「名前空間とリソースクォータの管理」をご参照ください。 |
— |
| リポジトリ名 |
コンテナイメージを格納するリポジトリです。詳細については、「リポジトリの作成とイメージのビルド」をご参照ください。 |
— |
| バージョン |
コンテナイメージのバージョンタグです。 |
v1 |
| RAM ロール |
中間インスタンスに割り当てる RAM ロールです。詳細については、「信頼された Alibaba Cloud サービス用の RAM ロールの作成」をご参照ください。 |
— |
| 実行方法 |
移行ジョブの開始タイミングです。今すぐ移行(デフォルト)、後で移行(ジョブ作成時刻から少なくとも 10 分後の時刻を指定)、または 作成のみ(後で 操作 列の 実行 をクリックして手動で開始)から選択します。 |
Migrate Now |
-
(任意) [ディスクパーティションの変更] でディスクパーティション構造を調整します。この機能には SMC クライアント 2.8.0 以降が必要です。デフォルトでは、移行先のディスクパーティション構造は移行元を反映します。有効にすると、以下の設定をカスタマイズできます。
ディスクの設定:
| 設定 |
説明 |
| システムディスク |
移行先システムディスクのサイズ (GiB)。有効値:20~2048。移行元システムディスク上の実際のデータ量より大きい必要があります。デフォルト:移行元システムディスクのサイズ。 |
| データディスク <N> |
移行先データディスクのサイズ (GiB)。有効値:1~32768。移行元データディスク上の実際のデータ量より大きい必要があります。マウントポイントがない (またはすべてのマウントポイントが除外されている) データディスクは移行されません。 |
| LVM |
Logical Volume Manager (LVM) を有効にして、LVM 構造 (ディスクごとに 1 つの物理ボリューム (PV) とボリュームグループ (VG)、マウントポイントに一致する論理ボリューム) で移行先ディスクを再構築します。VG 名は vgX のパターンに従い、論理ボリューム名は lvX に従います。移行元が Windows システムの場合、またはシステムディスクにブートパーティションがない場合、LVM はサポートされません。移行元に lvm2 がインストールされていない場合、またはカーネル 3.x 以前の Debian システムで XFS ファイルシステムがマウントされている場合、LVM は有効になりません。 |
マウントポイントの設定:
| 設定 |
説明 |
| 移行するかどうか |
移行に含めるマウントポイントを選択します。 |
| ブロックレプリケーションの有効化 |
ブロックレプリケーションは転送の安定性を向上させ、移行元のパーティション構造を保持しますが、パーティションサイズは変更できません。SMC は、移行元がサポートしている場合、デフォルトでブロックレプリケーションを有効にします。移行元がパーティションのブロックレプリケーションをサポートしていない場合、代わりにファイルレプリケーションが使用されます。移行元が Windows システムの場合、ブロックレプリケーションは常に有効であり、無効にすることはできません。LVM が有効で、パーティションサイズが 4 MiB の整数倍でない場合、ブロックレプリケーションはファイルレプリケーションにフォールバックします。 |
| パーティションサイズ |
ブロックレプリケーションが無効の場合、パーティションサイズを手動で設定します。すべてのパーティションサイズの合計は、ディスクサイズを超えてはなりません。 |
-
(オプション)[エキスパートモード] をクリックして、高度なパラメーターを設定します。
| パラメーター |
説明 |
| ネットワークタイプ |
パブリックネットワーク (デフォルト):インターネット経由でデータを移行します。オプションで VPC と vSwitch を指定できます。指定しない場合、SMC が自動的に作成します。VPC:VPC 経由でデータを移行します。VPC と vSwitch が必要で、ソースサーバーが VPC に接続されている必要があります。接続には VPN Gateway、Express Connect、または Smart Access Gateway (SAG) を使用します。詳細については、「データセンターを VPC に接続する」をご参照ください。 |
| 転送速度制限 |
最大ネットワーク転送速度 (Mbit/s)。 |
| 圧縮率 |
データ圧縮率。有効な値:0~10。デフォルト:7。0 に設定すると圧縮が無効になります。帯域幅が制限されている場合は、より高い値を使用します。帯域幅が十分な場合は、ソースサーバーの CPU を消費するため、圧縮を避けてください。 |
| チェックサム検証 |
チェックサムを使用してデータ整合性を検証します。デフォルトでは無効です。有効にするとデータ整合性が確保されますが、転送速度が低下する可能性があります。 |
| 移行ジョブタグ |
移行ジョブのキーバリュータグ。1 ジョブあたり最大 20 個のタグを設定できます。詳細については、「タグを使用して移行元と移行ジョブを管理する」をご参照ください。 |
| 中間インスタンスタイプ |
中間インスタンスのインスタンスタイプ。指定しない場合、SMC が自動的に選択します。[宛先タイプ]ECS イメージ が の場合にのみ利用可能です。 |
-
確認メッセージに記載されている移行に関する注意事項を読み、[了解] をクリックします。
-
「移行ジョブ」ページで、ジョブのステータスをモニターします。必要な時間は、データサイズおよびネットワーク帯域幅によって異なります。ジョブが「Synchronizing」状態の場合は、「リアルタイム移行ステータス」列に以下が表示されます:

タスクが同期中の間、以下の操作が可能です:
-
(オプション)ジョブの詳細を表示するには、[移行元ID/名前] 列の移行元IDまたは名前をクリックしてから、詳細ページの [移行ジョブ] セクションを確認します。
移行結果の確認
タスクのステータスが「完了」の場合、移行は成功です。
Container Registry でコンテナイメージが利用可能になりました。ACK にデプロイするには:
-
ACK クラスターを作成します。詳細については、「ACK 専用クラスターの作成」をご参照ください。
-
移行元の [操作] 列で、[アプリケーションのデプロイ] をクリックして、アプリケーション作成ページを開きます。
-
Deployment を使用してステートレスアプリケーションを作成します。詳細については、「Deployment を使用したステートレスアプリケーションの作成」をご参照ください。
-
移行後のデータ整合性を確認します。「よくある質問」の「Linux サーバーを移行した後、どのようにシステムを確認すればよいですか?」セクションをご参照ください。
ソースサーバーにドメイン名がバインドされている場合は、移行後に DNS レコードを更新して、新しいパブリック IP アドレスを指すようにします。詳細については、「Web サイトのドメイン名に A レコードを追加する」をご参照ください。
タスクのステータスが「エラー」の場合、移行は失敗です。
-
[操作] 列の [エラーのトラブルシューティング] をクリックし、エラーコードとメッセージに基づいて問題を解決します。 Server Migration Center (SMC) に関するよくある質問およびトラブルシューティングをご参照ください。
-
[移行ジョブの再試行] を [移行ジョブ] ページでクリックします。ジョブは停止した場所から再開されます。
重要
中間インスタンスがリリースされてしまった場合は、新しい移行タスクを作成してください。「よくある質問」の「誤って中間インスタンスをリリースしてしまった場合はどうすればよいですか?」セクションをご参照ください。
リソースのクリーンアップ
SMC は移行中に No_Delete_SMC_Transition_Instance という名前の従量課金の中間インスタンスを作成します。