Server Migration Center (SMC) は、ダウンタイムなしの移行を可能にするコンテナ化移行機能を提供します。この機能を使用すると、物理マシン、主要な仮想化環境 (VMware/Xen/KVM/Hyper-V)、およびマルチクラウドプラットフォーム (Alibaba Cloud、AWS、Azure、GCP、Tencent Cloud) からサーバーとビジネスアプリケーションをコンテナ化できます。その後、SMC は生成されたイメージを Alibaba Cloud Container Registry (ACR) にプッシュし、Container Service for Kubernetes (ACK) にアプリケーションをデプロイすることで、サーバーとアプリケーションのコンテナ化移行を完了します。
はじめに
サーバーからコンテナイメージへの移行機能がアップグレードされ、特定のアプリケーションを移行できるアプリケーション移行モードが追加されました。マシンレベル移行モードとアプリケーション移行モードの両方がサポートされています。
SMC は、マシンレベル移行とアプリケーション移行を通じてサーバーとビジネスアプリケーションをコンテナ化し、Alibaba Cloud Container Registry (ACR) にプッシュして、最終的に Container Service for Kubernetes (ACK) にデプロイします。次の図は、関連するサービス間の関係と移行のワークフローを示しています。
移行元サーバーに SMC クライアントをインストールします。
移行設定を構成し、移行を開始します。移行が完了すると、サービスは自動的にコンテナイメージを生成し、ACR の Personal Edition に保存します。
Container Service for Kubernetes にアプリケーションをデプロイします。
Alibaba Cloud Container Registry (ACR) の Personal Edition は、個人開発者向けに設計されており、基本的なイメージホスティングおよびビルドサービスを提供します。
Container Service for Kubernetes (ACK) は、エンタープライズグレードの Kubernetes コンテナ化アプリケーションのライフサイクル管理を提供し、これらのアプリケーションをクラウドで簡単かつ効率的に実行できます。
移行シナリオ
マシンレベル移行
物理サーバー、仮想マシン、またはクラウドプラットフォームサーバーからシステムとすべてのアプリケーションデータをイメージにコンテナ化し、Alibaba Cloud Container Registry (ACR) にプッシュします。これは、システムレベルのディザスタリカバリに最適です。
アプリケーション移行
物理サーバー、仮想マシン、またはクラウドプラットフォームサーバーから特定のアプリケーションをイメージにコンテナ化し、Alibaba Cloud Container Registry (ACR) にプッシュします。これは、マイクロサービスのコンテナ化に最適です。
重要アプリケーション移行は招待制プレビュー機能です。お問い合わせいただき、ホワイトリストへの追加を申請してください。サポートされているアプリケーションのバージョンは次のとおりです:
Java Tomcat
Java Tomee
Java JBoss (スタンドアロンモード)
ASP.NET Core 3.1 および ASP.NET 5/6/7/8
制限事項
x86 アーキテクチャで Linux オペレーティングシステムを実行しているサーバーのみ、コンテナイメージに移行できます。サポートされているオペレーティングシステムのバージョンは次のとおりです:
CentOS
Ubuntu
RedHat
Alibaba Cloud Linux
アプリケーション移行機能は、ホワイトリストに登録されたユーザーのみが利用できます。アクセスをリクエストするには、お問い合わせください。サポートされているアプリケーションのバージョンは次のとおりです:
Java Tomcat
Java TomEE
Java JBoss (スタンドアロンモード)
ASP.NET Core 3.1 および .NET 5/6/7/8
イメージは、Container Registry (ACR) の Personal Edition インスタンスのイメージリポジトリにのみ移行できます。
現在、コンテナ化移行はデータディスクの移行をサポートしていません。システムはデフォルトで
/mntディレクトリとすべてのデータディスクマウントポイントを除外します。結果として得られるターゲットディスクには、デフォルトのパーティションが 1 つだけ含まれます。既存のパーティション構造を調整する必要はありません。データディスクから Alibaba Cloud にデータを移行するには、FTP または SCP を使用するか、Object Storage Service (OSS) または Apsara File Storage NAS に手動でデータをバックアップします。詳細については、「ファイル転送方法の選択」および「ossutil 1.0 コマンドラインツール」をご参照ください。
アプリケーション移行モードを使用する場合、移行中にアプリケーションプロセスを再起動しないでください。プロセス ID が変更されると、移行タスクは失敗します。
料金
SMC は無料のサービスですが、移行中に中間インスタンスを作成するなど、Alibaba Cloud ECS リソースを使用すると少額の料金が発生します。詳細については、「SMC の課金項目」をご参照ください。
コンテナ化移行によって生成されたコンテナイメージは、Alibaba Cloud Container Registry (ACR) の Personal Edition に保存されます。このエディションは個人開発者向けに設計されており、現在一部のリージョンで利用可能で、パブリックプレビュー期間中は無料で利用できます。
Container Service for Kubernetes (ACK) でのアプリケーションデプロイにかかる具体的な料金は、クラスタータイプとクラウド製品の使用状況によって異なります。
仕組み
SMC サービスは、クライアントとコンソールで構成されています。コンテナ化移行は、マシンレベル移行とアプリケーション移行の両方のモードをサポートしています。
マシンレベル移行
このモードは、物理サーバー、仮想マシン (VM)、またはクラウドサーバーからシステム全体とすべてのアプリケーションデータをコンテナ化します。結果として得られるコンテナイメージは、Alibaba Cloud Container Registry (ACR) にプッシュされます。
このモードでは分析レポートは生成されません。代わりに、最小限のトリミングを行った後、オペレーティングシステムとアプリケーション環境全体をパッケージ化します。このプロセスにより、より大きなコンテナイメージが作成されますが、移行元環境が完全に保持され、複数のアプリケーションをサポートできます。
アプリケーション移行
アプリケーション移行機能は、ホワイトリストに登録されたユーザーのみが利用できます。アクセスをリクエストするには、お問い合わせください。サポートされているアプリケーションのバージョンは次のとおりです:
Java Tomcat
Java Tomee
Java JBoss (スタンドアロンモード)
ASP.NET Core 3.1 および ASP.NET 5/6/7/8
このモードは、物理サーバー、VM、またはクラウドサーバーから特定のアプリケーションをコンテナ化します。結果として得られるコンテナイメージは、Alibaba Cloud Container Registry (ACR) にプッシュされます。
指定されたアプリケーションの分析レポートを生成し、それを使用して必要なアプリケーションデータのみをパッケージ化するため、より小さなコンテナイメージになります。
移行プロセスは以下の手順で構成されています:
SMC クライアントが移行元サーバーにインストールされます。コマンドラインまたはコンソールの自動インポート機能を使用して移行元サーバーをインポートする場合、システムはクライアントを自動的にインストールします。
SMC クライアントは移行元サーバーで実行され、SMC サービスドメイン名を使用して移行元サーバーを SMC サービスに登録します。
SMC サービスは一時的な中間インスタンスを作成し、ポート 8080 と 8703 でのトラフィックを許可するようにセキュリティグループを設定します。
中間インスタンスは、データ移行とコンテナイメージ生成を完了するために 2 つのデータディスクを使用します。最初のデータディスクは移行元サーバーからのデータを保存し、2 番目のデータディスクはコンテナイメージのビルドに使用されます。
SMC クライアントはポート 8080 で中間インスタンスに接続して通信チャネルを確立します。その後、ポート 8703 を介して移行元サーバーから中間インスタンスのデータディスクにディスクデータを転送します。
アプリケーション移行の場合、クライアントは指定されたアプリケーションとその関連データのみを転送します。
SMC サービスは、中間インスタンスのディスクデータからコンテナイメージを作成し、そのイメージを Alibaba Cloud Container Registry (ACR) にアップロードします。
アプリケーション移行の場合、サービスはアプリケーション、そのデータ、環境変数、および起動コマンドに基づいてコンテナイメージを作成し、ACR にアップロードします。
移行を完了するには、Container Service for Kubernetes (ACK) コンソールに移動し、アプリケーションをデプロイします。
移行の影響
以下の表に詳述されている影響を確認してください。
項目 | 説明 |
中間インスタンス | 中間インスタンスを操作しないでください。 移行の失敗を防ぐため、移行中に中間インスタンスを停止、起動、再起動、リリースしたり、課金方法を変更したりしないでください。移行が完了すると、中間インスタンスは自動的にリリースされます。 説明
詳細については、「仕組み」をご参照ください。 |
IP アドレス | 移行後、IP アドレスは変更されます。サービスが特定の IP アドレス設定に依存している場合は、DNS レコードや ICP 登録など、関連する設定を更新する必要があります。 |
基盤となるハードウェア | 移行後、基盤となるハードウェアは変更されます。これにより、特定のハードウェアに紐付けられている一部のアプリケーションライセンスが無効になる場合があります。移行後にライセンスのステータスを確認してください。 |
前提条件
Server Migration Center (SMC) を有効化していること。SMC を初めて使用する場合は、必要な権限の付与、移行ネットワークの準備、データのバックアップも必要です。詳細については、「開始する前に」をご参照ください。
プライベートネットワーク経由で移行するには、VPN ゲートウェイ、Express Connect、または Smart Access Gateway を使用して、データセンターを VPC に接続できます。国際リージョン間でサーバーを移行する場合、パブリックネットワークの不安定さにより移行が遅くなる可能性があります。移行時間を評価し、転送速度をテストすることを推奨します。
移行操作
ステップ 1:準備
移行結果の検証
リアルタイム移行ステータスが 完了になると、移行は成功です。

移行が成功すると、Alibaba Cloud コンテナイメージが生成されます。このイメージを使用してコンテナアプリケーションをデプロイできます。次の手順に従ってください:
移行元の 操作列で、アプリケーションのデプロイをクリックします。ACK クラスターリストページにリダイレクトされます。
既存の ACK クラスターを選択するか、新しいクラスターを作成します。詳細については、「クラスターの作成」をご参照ください。
クラスターに移動します。左側のナビゲーションウィンドウで、ワークロード > デプロイメントを選択します。イメージから作成をクリックしてアプリケーションを作成します。移行によって生成されたコンテナイメージを選択します。詳細については、「ステートレスワークロード Deployment の作成」をご参照ください。
マシンレベル移行モードの起動コマンド例
ACK クラスターにアプリケーションをデプロイする際、移行元サーバーからサービスを起動し、必要な開発ポートを公開するスクリプトを追加する必要があります。これは、アプリケーションのライフサイクルフックまたはアプリケーションの YAML ファイルで設定できます。実際の要件に基づいてスクリプトをカスタマイズしてください。次の例は、YAML ファイルの
commandセクションを示しています:spec: containers: - args: - | cd /www/server/panel && chmod +x /www/server/panel/init.sh && echo 3 | sh init.sh && tail -f /dev/null command: - /bin/sh - '-c' image: 'registry-vpc.cn-hangzhou.aliyuncs.com/zi***h/sa***:v1'アプリケーション移行モード
移行元サーバーで
netstat -lptnを実行してアプリケーションのサービスポートを表示し、ACK クラスターにアプリケーションをデプロイする際にポートマッピングを設定します。
サーバーを移行した後、データの整合性と正確性を確保するためにデータを検証する必要があります。詳細については、「Linux サーバーを移行した後のシステム確認方法は?」をご参照ください。
説明ドメイン名がすでに移行元サーバーにマッピングされている場合は、ドメイン名を新しいインスタンスのパブリック IP アドレスにマッピングする必要があります。詳細については、「Web サイトの解決策の追加」をご参照ください。
リアルタイム移行ステータスが エラーの場合、移行タスクは失敗しています。問題をトラブルシューティングしてから、移行を再試行する必要があります:
操作列で、エラーのトラブルシューティングをクリックします。エラーコードとエラーメッセージに基づいて問題を解決します。詳細については、「SMC よくある質問」および「トラブルシューティング」をご参照ください。
問題を解決した後、操作列で、移行ジョブの再試行をクリックします。移行タスクは中断したところから再開されます。
重要中間インスタンスがリリースされている場合は、移行を再開する必要があります。詳細については、「誤って中間インスタンスをリリースしてしまった場合はどうすればよいですか?」をご参照ください。
リソースのクリーンアップ
イメージへの移行
移行中、SMC は移行を容易にするために、移行先の Alibaba Cloud アカウントに No_Delete_SMC_Transition_Instance という名前の一時的な従量課金の中間インスタンスを作成します。移行結果によって、インスタンスを手動でリリースする必要があるかどうかが決まります:
-
移行成功:SMC は中間インスタンスを自動的にリリースします。手動でのクリーンアップは不要です。
-
移行エラー:中間インスタンスはリリースされず、料金が発生し続けます。不要な料金を避けるために、次のいずれかの方法でインスタンスをリリースできます:
-
移行タスクが不要になった場合は、移行元 ID をクリックします。移行タスクの 操作列で、移行キャンセルをクリックして移行タスクを削除し、中間インスタンスを自動的にクリーンアップします。
-
手動で中間インスタンスをリリースします。
-
移行先インスタンスへの移行
移行中、SMC は移行を容易にするために、SMC_Temp_Disk という名前の一時的な従量課金の中間ディスクを作成し、移行先インスタンスにアタッチします。移行結果によって、中間ディスクを手動でリリースする必要があるかどうかが決まります:
-
移行成功:SMC は中間ディスクを自動的にリリースします。手動でのクリーンアップは不要です。
-
移行エラー:中間ディスクはリリースされず、料金が発生し続けます。不要な料金を避けるために、次のいずれかの方法でディスクをリリースできます:
-
移行タスクが不要になった場合は、移行元 ID をクリックします。移行タスクの 操作列で、移行キャンセルをクリックして移行タスクを削除し、中間ディスクを自動的にクリーンアップします。
-
手動で中間ディスクをリリースします。
-







