ここでは、物理マシン、VM、またはクラウドホストを Alibaba Cloud ECS に移行する方法について説明します。 以降、読みやすくするために、オンプレミスサーバーやサーバーを移行元の例として用います。 したがって、移行手順は物理マシン、VM、クラウドホストにも適用できます。

オンプレミスデータベースからクラウドへの移行については、「データ移行」をご参照ください。

注意事項

Cloud Migration ツールを使用するには、次の点に留意します。

  • オンプレミスサーバーのシステム時刻は実際の時刻と一致しています。 そうでなければ、異常な TimeStamp を示すエラーが移行ログファイルに記録されます。

  • オンプレミスサーバーは、以下のネットワークアドレスと通信ポートにアクセスして、関連する Alibaba Cloud サービスに途切れなくアクセスできる必要があります。
    • 最も近い ECS エンドポイント: https://ecs.aliyuncs.com:443。 他リージョンのエンドポイントに関しては、「 API リファレンス 」、「リクエスト構造」をご参照ください。

    • VPC (Virtual Private Cloud): http://vpc.aliyuncs.com:443

    • STS (Security Token): https://sts.aliyuncs.com:443

    • 中間インスタンス: https://xxx.xx.xxx.xx:8080 および https://xxx.xx.xxx.xx:8073xxx.xx.xxx.xx は、中間インスタンスのインターネット IP アドレスを示します。

  • 増分データ移行は許可されていません。 Alibaba Cloud に移行する前に、データベースやコンテナーサービスなどのアプリケーションを一時停止するか、関連ディレクトリをフィルタリングすることを推奨します。 移行の完了後、これらのアプリケーションに関連するデータを同期します。

  • 移行中に、INSTANCE_FOR_GOTOALIYUN という ECS インスタンスが Alibaba Cloud アカウントの下にデフォルトで作成されます。 それは中間ステーションとして機能します。 移行の失敗を避けるために、中間 ECS インスタンスを停止、再起動、またはリリースしないでください。 移行が完了したら、中間 ECS インスタンスは自動的にリリースされます。

  • 作成した AccessKey が RAM のユーザーに属している場合、Alibaba Cloud リソースを操作するには、指定された RAM ユーザーに AliyunECSFullAccessAliyunVPCFullAccess のロールが付与されていることを確認する必要があります。 詳細については、RAM ドキュメント「権限付与ポリシー」をご参照ください。

  • オンプレミスサーバーで共有メモリが使用されている場合

    • デフォルトのアクション
      • Windows サーバーの場合: デフォルトで、Cloud Migration ツールは、システムディスクの一部として、C ドライブに接続されている共有メモリ上のデータを認識してアップロードします。

      • Linux サーバーの場合: デフォルトで、Cloud Migration ツールは、システムディスクの一部として、共有メモリ上のデータを認識してアップロードします。

    • カスタムアクション:
      • 共有メモリのマウントポイントディレクトリをデータディスクとして設定し、それを独立したデータディスクとして移行します。

      • または、共有メモリのディレクトリを移行から除外して、共有メモリ上のデータを移行しないようにすることもできます。

Linux OS を実行するオンプレミスサーバーの場合

オンプレミスサーバーが Linux オペレーションシステムを実行している場合、追加の要件が必要です。

  • Rsync ライブラリがあらかじめインストールされている必要があります。

    • CentOS: yum install rsync –y を実行します。

    • Ubuntu: apt-get install rsync –y を実行します。

    • Debian: apt-get install rsync –y を実行します。

    • その他のリリース: 公式サイトのリリースのインストールドキュメントをご参照ください。

  • SELinux を無効にする必要があります。 seten-USforce 0 を実行し、SELinux を一時的に無効にします 。 ただし、/etc/selinux/config ファイルで SELINUX=disabled を指定して、SELinux を無効にして操作環境を向上させることを推奨します。

  • カーネルベースの仮想マシン (Kernel-based Virtual Machine: KVM) ドライバーがインストールされています。 KVM ドライバーのインストール方法についての詳細は、「virtio ドライバーのインストール」をご参照ください。

  • Cen-UStOS 5、Red Hat 5、Debian など、サーバーのカーネルが古すぎ、GRUB (GRand Unified Bootloader) のバージョンが 1.9 より前の場合。 します。ブートローダー GRUB を 1.9 以降のバージョンに更新します。します。

前提条件

ECS consoleで ECS スナップショットサービスにサインアップしている必要があります。

手順 1: Cloud Migration ツールのダウンロードおよびインストール

  1. Cloud Migration ツールパッケージをダウンロードします。 解凍されたファイルのリストは次のとおりです。
    表 1. Windows サーバー
    ファイルまたはファイルのフォルダー 説明
    "Excludes" フォルダー 移行からディレクトリを除外します。 デフォルトでは、"rsync_excludes_win.txt" ファイルが含まれています。
    client_data 移行中、送信データの記録を保持します。 送信データには、クラウド移行の中間インスタンスの属性、データディスク移行のプロセス情報、生成されたカスタムイメージ名、移行する予定のリージョンなどが含まれます。
    user_config.json オンプレミスサーバーの設定ファイル
    go2aliyun_gui.exe Windows OS 用の GUI ウィザード。 詳細については、「Cloud Migration ツールの Windows GUI」をご参照ください。
    go2aliyun_client.exe Cloud Migration ツールのメインプログラム。
    表 2. Linux サーバー
    ファイルまたはファイルのフォルダー 説明
    Check イメージコンプライアンス検出ツール。 デフォルトでは、clien-USt_check プログラムが含まれています。
    client_data 移行中、送信データの記録を保持します。 送信データには、Cloud Migration の中間インスタンスの属性、データディスク移行のプロセス情報、生成されたカスタムイメージ名、移行する予定のリージョンなどが含まれます。
    user_config.json オンプレミスサーバーの設定ファイル。
    Excludes フォルダー 移行からディレクトリを除外します。 デフォルトで rsync_excludes_win.txt ファイルが含まれています。
    go2aliyun_client Cloud Migration ツールのメインプログラム。
  2. 移行するオンプレミスサーバー、仮想マシン、またはクラウドホストにログインします。

  3. Cloud Migration ツールパッケージを、指定されたディレクトリに解凍します。

手順 2: user_config.json ファイルの編集

user_config.json 設定ファイルは JSON で編集されます。 AccessKey やカスタムイメージ名など、対象のオンプレミスサーバーを移行する際に必要な設定情報が含まれています。 手動でいくつかのパラメーターを設定する必要があります。

Windows GUI バージョンを使用している場合は、GUI インターフェイスで user_config を完了できます。 詳細は、「Cloud Migration ツールの Windows GUI」をご参照ください。

  1. 解凍された Cloud Migration ツールで user_config.json ファイルを開きます。 以下は、初期ファイルです。
    {
        "access_id": ""、
        "secret_key": ""、
        "region_id": "region"、
        "image_name": ""、
        "system_disk_size":40、
        "platform": ""、
        "architecture": ""、
        "bandwidth_limit":0、
        "data_disks":[]
    }
  2. 次の表に示されたパラメーターに従ってファイルを編集します。
    表 3. サーバー設定のパラメーター
    名前 タイプ 必須 説明
    access_id String はい Alibaba Cloud API にアクセスするための AccessKeyID。 詳細については、「」をご参照ください。https://www.alibabacloud.com/help/doc-detail/53045.htm

    Cloud Migration ツールを使用してサーバーを移行するには、重要な認証情報である AccessKeyID と AccessKeySecret が必要で、機密情報として安全に保管する必要があります。

    secret_key String はい Alibaba Cloud API にアクセスするための AccessKeySecret。 詳細については、「」をご参照ください。https://www.alibabacloud.com/help/doc-detail/53045.htm
    region_id String はい サーバーの移行先である Alibaba Cloud のリージョン ID。たとえば、cn-hangzhou (中国 (杭州))。 値の詳細については、「」をご参照ください。https://www.alibabacloud.com/help/doc-detail/40654.htm
    image_name String はい サーバーイメージの名前を設定します。この名前は、同じ Alibaba Cloud リージョン内のすべての既存イメージ名と異なるものでなければなりません。 The name is a string of 2 to 128 characters. It must begin with an English or a Chinese character. It can contain A-Z, a-z, Chinese characters, numbers, periods (.), colons (:), underscores (_), and hyphens (-).
    system_disk_size Integer いいえ システムのディスクサイズを指定します (GB 単位)。 値の範囲: [20, 500]
    値は、オンプレミスサーバー上で使用されているシステムディスクの占有領域より大きくする必要があります。 たとえば、システムディスク容量の最大値が 500 GiB で、占有領域が 100 GiB である場合、この値を 100 GiBより大きく設定します。
    platform String いいえ オンプレミスサーバーのオペレーティングシステム。 オプションの値: Windows Server 2003 | Windows Server 2008 | Windows Server 2012 | Windows Server 2016 | Cen-UStOS | Ubuntu | SUSE | Open-USSUSE | Debian | RedHat | その他の Linux

    "platform" パラメーターの値は、大文字と小文字が区別されます。

    Architecture String いいえ プロセッサアーキテクチャ。 オプション値: i386 | x86_64
    bandwidth_limit Integer いいえ データ転送の最大帯域幅 (KB/秒単位)。

    デフォルト値は 0 で、0 は帯域幅の制限がないことを示します。

    data_disks Array いいえ データディスクのリスト。 最大 16 個のデータディスクがサポートされています。 オンプレミスサーバーのデータディスクのリスト (GiB 単位)。 特定のパラメーターの詳細については、表「データディスク構成のパラメーター」をご参照ください。 最大 16 個のデータディスクがサポートされています。 このパラメーターは、ディスクを縮小するための予想値に設定できますが、データディスクが使用する実際の領域より小さくすることはできません。
    表 4. データディスク構成のパラメーター
    名前 タイプ 必須 説明
    data_disk_index Integer いいえ データディスクのシリアル番号。 値の範囲: [1,16]

    デフォルト値: 1

    data_disk_size Integer いいえ データディスクのサイズ。 GiB 単位。 値の範囲:[20,32768]
    値は、オンプレミスサーバー上のデータディスクの実際の使用領域より大きくする必要があります。 たとえば、ソースデータディスクの容量が 500 GiB で、実際に使用されている領域が 100 GiB の場合、100 GiB より大きい値に設定してください。
    src_path String はい ソースデータディスクのディレクトリ。 例:
    • Windows では、D:、E:、F: などのドライブ文字を指定します。

    • Linux では、/mnt/disk1、mnt/disk2、/mnt/disk3 などのパスを指定します。

      /root ディレクトリ、または /bin、/boot、/dev、/etc、/lib、/lib64、/sbin、/usr、/var のようなシステムディレクトリにはできません。
  3. ファイルをチェックし、設定が JSON 構文に準拠していることを確認します。 JSON 構文の詳細については、『RFC 7159』をご参照ください。

初期設定ファイルに基づいて、user_config.json をカスタマイズする方法を説明する 4 つのシナリオを紹介します。

シナリオ 1: データディスクなしで Windows サーバーを移行する
  • オンプレミスサーバーの構成が次のようになっていると仮定します。
    • オペレーティングシステム: Windows Server 2008
    • システムディスクの使用スペース: 30 GiB
    • システムアーキテクチャ: 64 ビット
  • 移行先:
    • 移行先リージョン: Alibaba Cloud 中国 (杭州) リージョン (cn-hangzhou)
    • イメージ名: P2V_CLIENT_IMAGE_WIN08_01
    • システムディスクの予想サイズ: 50 GiB
{
    "access_id": "YourAccessKeyID",
    "secret_key": "YourAccessKeySecret",
    "region_id": "cn-hangzhou",
    "image_name": "CLIENT_IMAGE_WIN08_01",
    "system_disk_size": 50,
    "platform": "Windows Server 2008",
    "architecture": "x86_64",
    "data_disks": [],
    "bandwidth_limit": 0
}
シナリオ 2: データディスクを使用して Windows サーバーを移行する

シナリオ 1 で、3 つのデータディスクが Windows サーバーに接続されていると仮定します。 データディスクのドライブ文字とサイズは次のとおりです。

  • D: 100 GiB
  • E: 150 GiB
  • F: 200 GiB
{
    "access_id": "YourAccessKeyID",
    "secret_key": "YourAccessKeySecret",
    "region_id": "cn-hangzhou",
    "image_name": "CLIENT_IMAGE_WIN08_01",
    "system_disk_size": 50,
    "platform": "Windows Server 2008",
    "architecture": "x86_64",
    "data_disks": [ {
            "data_disk_index": 1,
            "data_disk_size": 100,
            "src_path": "D:"
        }, {
            "data_disk_index": 2,
            "data_disk_size": 150,
            "src_path": "E:"
        }, {
            "data_disk_index": 3,
            "data_disk_size": 200,
            "src_path": "F:"
        }
    ],
    "bandwidth_limit": 0
}
シナリオ 3: データディスクを使用しないで Linux サーバーを移行する
  • オンプレミスサーバーの構成が次のようになっていると仮定します。
    • バージョン: CentOS 7.2
    • システムディスクの使用スペース: 30 GiB
    • システムアーキテクチャ: 64 ビット
  • 移行先:
    • 移行先リージョン: Alibaba Cloud 中国 (杭州) リージョン(cn-hangzhou)
    • イメージ名: CLIENT_IMAGE_CENTOS72_01
    • システムディスクのサイズ: 50 GiB
{
    "access_id": "YourAccessKeyID",
    "secret_key": "YourAccessKeySecret",
    "region_id": "cn-hangzhou",
    "image_name": "CLIENT_IMAGE_CENTOS72_01",
    "system_disk_size": 50,
    "platform": "CentOS",
    "architecture": "x86_64",
    "data_disks": [],
    "bandwidth_limit": 0
}
シナリオ 4: データディスクを使用して Linux サーバーを移行する

シナリオ 3 で、3 つのデータディスクが Linux サーバーに接続されていると仮定します。 データディスクのソースパスとサイズは次のとおりです。

  • /mnt/disk1: 100 GiB
  • /mnt/disk2: 150 GiB
  • /mnt/disk3: 200 GiB
{
    "access_id": "YourAccessKeyID",
    "secret_key": "YourAccessKeySecret",
    "region_id": "cn-hangzhou",
    "image_name": "CLIENT_IMAGE_CENTOS72_01",
    "system_disk_size": 50,
    "platform": "CentOS",
    "architecture": "x86_64",
    "data_disks": [ {
            "data_disk_index": 1,
            "data_disk_size": 100,
            "src_path": "/mnt/disk1"
        }, {
            "data_disk_index": 2,
            "data_disk_size": 150,
            "src_path": "/mnt/disk2"
        }, {
            "data_disk_index": 3,
            "data_disk_size": 200,
            "src_path": "/mnt/disk3"
        }
    ],
    "bandwidth_limit": 0
}

手順 3: 移行からのディレクトリの除外

Cloud Migration ツールは、Alibaba Cloud に移行されないファイルまたはディレクトリを除外します。 rsync を設定して、ファイルやディレクトリを Alibaba Cloud への移行から除外します。

クラウドの移行は時間がかかる作業です。不要なディレクトリやデータディスクを除外することを推奨します。 同時に移行後には、クラウドディスクの使用済みストレージ領域が削減されます。
Windows サーバー用ファイルのフィルタリング方法

デフォルトでフィルタリング処理されたファイルまたはフォルダーには、pagefile.sys、$RECYCLE.BIN、および System Volume Information が含まれます。

  • システムディスク: ファイルパスを rsync_excludes_win.txt に設定します。

  • データディスク: 特定のファイル名で新しい TXT ファイルを作成して開きます。 TXT ファイルでフィルタリングするファイルパスを書き、Excludes ディレクトリに保存します。 以下は TXT ファイル名の例です。

    • rsync_excludes_win_disk1.txt
    • rsync_excludes_win_disk2.txt
    • rsync_excludes_win_disk3.txt

      ……

Windows サーバーの例
  • Windows サーバーのフォルダー "C:\MyDirs\Docs\Words" とファイル "C:\MyDirs\Docs\Excels\Report1.xlsx" を除外したいと仮定します。 "rsync_excludes_win.txt" ファイルに設定を次のように書き込みます。

    /Mydirs/docs/words/
    /MyDirs/Docs/Excels/Report1.xlsx
  • Windows サーバーのフォルダー "C:\MyDirs\Docs\Words" とファイル "C:\MyDirs\Docs\Excels\Report1.xlsx" を除外したいと仮定します。 "rsync_excludes_win.txt" ファイルに設定を次のように書き込みます。

    /Mydirs/docs/words/
    /MyDirs/Docs/Excels/Report1.xlsx
Linux サーバー用ファイルのフィルタリング方法

デフォルトでフィルタリング処理されたファイルまたはディレクトリには、/dev/*、/sys/*、/proc/*、/media/*、lost+found/*、/mnt/*、/var/lib/lxcfs/* が含まれます。

"/var/lib/lxcfs/\*" ディレクトリは、一部のバージョンにのみ適用されます。 たとえば、Ubuntu の Linux コンテナーのキャッシュディレクトリに対するアクセス権がない場合は、移行前に /var/lib/lxcfs/\* を除外する必要があります。
  • システムディスク: ファイルパスを rsync_excludes_linux.txt に設定します。

  • データディスク: 特定のファイル名で新しい TXT ファイルを作成して開きます。 TXT ファイルでフィルタリングするファイルパスを書き、"Excludes" ディレクトリに保存します。 以下は TXT ファイル名の例です。

    • rsync_excludes_linux_disk1.txt
    • rsync_excludes_linux_disk2.txt
    • rsync_excludes_linux_disk3.txt

      ……

Linux サーバーの例
  • Linux サーバーのルートフォルダー "/var/mydirs/docs/words" とファイル "/var/mydirs/docs/excels/report1.sh" を除外したいと仮定します。 次のように、"rsync_excludes_Linux.txt" ファイルに設定を書き込みます。

    /var/mydirs/docs/words/
    /var/mydirs/docs/excels/report1.sh
  • Linux サーバーのデータディスク上のフォルダー "/mnt/disk1/mydirs/docs/words" とファイル "/mnt/disk1/mydirs/docs/excels/report1.sh" を除外したいと仮定します。 "rsync_excludes_linux_disk1.txt" ファイルに次のように設定を書き込みます。

    /mydirs/docs/words/
    /mydirs/docs/excels/report1.sh
    Linux サーバーのデータディスク内のファイルとパスを除外するには、データディスクの rc_path プレフィックスパスを削除します。たとえば、前の例で /mnt/disk1 を削除します。

手順 4: (省略可能) "client_data" ファイルの編集

警告 統合データセンター (Integrated Data Center: IDC)、仮想マシン、またはクラウドホストから Alibaba Cloud リージョンの VPC に直接アクセスできる場合のみ、"client_data" ファイルを編集することを推奨します。 それ以外の場合にこの修正を行うと、クラウドの移行や実行プロセスに影響する可能性があります。

"client_data" ファイルは、移行中、送信データの記録を保持します。 "client_data" ファイルを編集する方法についての詳細は、「VPC イントラネットを介したクラウド移行」をご参照ください。

移行が成功するたびに、ECS 内の中間 ECS インスタンスに関する情報が、"client_data" 構成ファイルに自動的に記録されます。 次回の移行では、現在の "client_data" ファイルを消去するか、デフォルトの "client_data" ファイルを使用して現在のファイルを上書きする必要があります。

手順 5: Cloud Migration ツールの実行

Windows サーバー: [go2aliyun_clien-USt.exe] を右クリックし、[管理者として実行] を選択します。 Windows GUI バージョンを使用している場合は、「Cloud Migration ツールの Windows GUI」をご参照ください。

Linux サーバー: Cloud Migration ツールを root ユーザーとして実行します。
  1. chmod +x go2aliyun_client を実行します。

  2. ./go2aliyun_client を実行します。

結果

Goto Aliyun Finished! が表示された場合、ECS consoleのイメージページに移動し、結果をチェックします。 移行後、オペレーティングシステム、アプリケーション、アプリケーションデータなどのオンプレミスサーバー上のリソースは、カスタムイメージに変換され、ECS コンソールのイメージページに表示されます。

もしも Goto Aliyun Not Finished! が表示された場合、トラブルシューティングのために、ログフォルダー内のログファイルを確認します。 問題が修正されたら、go2aliyun_client を再度実行し、前の実行中に中断された場所から移行を続行してください。
  • Cloud Migration ツールは、前のタスクが中断されたか完了したかにかかわらず、各移行の試行の開始時に client_data に記録されているデータを読み取ります。 次回の移行では、現在の "client_data" ファイルを消去、または最初の "client_data" ファイルを使用して現在のファイルを上書きする必要があります。
  • "client_data" ファイルが初期化されると、タスク進捗情報が失われ、進行中の移行が最初に設定されます。 中間インスタンス、VPC、VSwitch、または他のセキュリティグループが存在しない場合など、クラウドの移行が失敗した場合は、client_data 操作をクリアして問題を解決します。

次のステップ

カスタムイメージが正しく動作するかどうかをテストするために、カスタムイメージを使用して従量課金インスタンスを作成するか、またはカスタムイメージを使用してシステムディスクを変更します。

オンプレミス Linux サーバーの移行後、データディスクはデフォルトではマウントされません。 インスタンスで ls /dev/vd* を実行し、必要に応じてデータディスクを手動でマウントします。また、設定ファイル "/etc/fstab" を編集してマウントファイルシステムを設定します。 詳細については、「Linux_データディスクのフォーマットとマウント」をご参照ください。