Elastic Compute Service (ECS) インスタンスは継続的に反復処理されます。反復処理中に、以前の ECS インスタンスで問題が発生する可能性があります (新しいリソースのプロビジョニングの失敗など)。これは、クラウドでのビジネスの O&M に影響を与える可能性があります。この場合、カスタムイメージ機能を使用して ECS インスタンスを移行できます。これは、クラウドでのビジネスの O&M 効率を確保するのに役立ちます。このトピックでは、Alibaba Cloud CLI を使用してカスタムイメージを作成およびコピーし、カスタムイメージを使用してリージョン間で ECS インスタンスを移行する方法について説明します。
概要
Alibaba Cloud CLI を使用して、カスタムイメージを使用してリージョン間で ECS インスタンスを移行できます。そのためには、次の手順を実行します。
イメージの作成: ソース ECS インスタンスからカスタムイメージを作成します。カスタムイメージを使用して作成された新しいインスタンスには、構成したカスタムパラメーターが含まれています。このようにして、宛先インスタンスを再度カスタマイズする必要はありません。
イメージのコピー: イメージをリージョンにコピーすると、宛先リージョンに異なる ID を持つ新しいイメージが生成されます。新しいイメージは、ソースイメージのコピー時に指定したタグ、リソースグループ、暗号化属性などの設定を使用します。
インスタンスの作成: カスタムイメージを使用して、宛先リージョンに宛先 ECS インスタンスを作成します。
インスタンスの確認: 宛先インスタンスのデータを確認して、移行後にビジネスが宛先インスタンスで期待どおりに実行できることを確認します。
リソースの解放: 移行が完了したら、ビジネス要件に基づいて、ソース ECS インスタンスに関連するリソースを解放または削除できます。これは、不要なコストを防ぎます。
使用上の注意
インスタンスデータを移行する前に、次の点に注意してください。
カスタムイメージを作成すると、システムは ECS インスタンスの各ディスクのスナップショットを自動的に作成します。スナップショットに対して課金されます。スナップショットの請求については、「スナップショットの請求」をご参照ください。
ローカルディスクのスナップショットは作成できません。したがって、このトピックで説明されている移行方法は、ローカルディスクを使用するインスタンスには適用されません。
ソース ECS インスタンスは、クラシックネットワークまたは仮想プライベートクラウド (VPC) に配置できます。
宛先 ECS インスタンスは、VPC 内にのみ作成できます。
宛先 ECS インスタンスを作成するときは、選択したゾーンで使用可能なインスタンスタイプのみを選択できます。
注記
ゾーンまたはリージョン間でインスタンスデータを移行する場合は、宛先ゾーンまたはリージョンで事前にリソースを計画することをお勧めします。
カスタムイメージ機能を使用してインスタンスデータを移行した後、宛先 ECS インスタンスのディスクデータはソース ECS インスタンスのディスクデータと同じになります。ただし、宛先 ECS インスタンスには新しいメタデータが生成されます。これは、ソース ECS インスタンスのメタデータとは異なります。インスタンスメタデータの詳細については、「ECS インスタンスメタデータの概要」をご参照ください。
インスタンスデータを移行する前に、リソースの関連付けを手動で整理して、移行後にできるだけ早くリソースの関連付けを更新できるようにすることをお勧めします。例:
インスタンスがクラスタ内で通信するためにプライベート IP アドレスを使用している場合は、移行後に宛先インスタンスのプライベート IP アドレスを新しいプライベート IP アドレスに置き換える必要があります。
一部のアプリケーションのライセンスは、インスタンスの MAC アドレスにバインドされています。あるインスタンスから別のインスタンスにデータを移行した後、ソースインスタンスの MAC アドレスにバインドされているライセンスは無効になります。ライセンスを宛先インスタンスの MAC アドレスに再バインドする必要があります。
手順 1: ソース ECS インスタンスからカスタムイメージを作成する
ソース ECS インスタンスからカスタムイメージを作成する前に、カスタムイメージの作成に関する使用上の注意を理解していることを確認してください。詳細については、「インスタンスからカスタムイメージを作成する」をご参照ください。
CreateImage 操作を呼び出して、次のコマンドを実行し、ソース ECS インスタンスからカスタムイメージを作成します。
aliyun ecs CreateImage \ --RegionId 'cn-hangzhou' \ --ImageName Created_from_hangzhouECS \ --InstanceId 'i-bp1g6zv0ce8oghu7****' \ --ResourceGroupId 'rg-bp67acfmxazb4p****'
応答を確認します。応答例:
{ "ImageId": "m-bp146shijn7hujku****", "RequestId": "C8B26B44-0189-443E-9816-*******" }
手順 2: カスタムイメージを別のリージョンにコピーする
ソース ECS インスタンスから別のリージョンの宛先 ECS インスタンスにデータを移行する場合は、まずイメージコピー機能を使用してカスタムイメージを宛先リージョンにコピーする必要があります。
CopyImage 操作を呼び出して、次のコマンドを実行し、カスタムイメージを中国 (杭州) リージョンから中国 (北京) リージョンにコピーします。
aliyun ecs CopyImage \ --RegionId 'cn-hangzhou' \ --DestinationImageName Copy_from_hangzhouImage \ --ImageId 'm-bp1h46wfpjsjastc****' \ --DestinationRegionId 'cn-beijing' \ --ResourceGroupId 'rg-bp67acfmxazb4p****'
応答を確認します。応答例:
{ "ImageId": "m-bp1h46wfpjsjastd****", "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E" }
手順 3: カスタムイメージから宛先 ECS インスタンスを作成する
RunInstances 操作を呼び出して、次のコマンドを実行し、カスタムイメージから宛先 ECS インスタンスを作成します。
説明この例では、
PasswordInherit
パラメーターはtrue
に設定されています。イメージにプリセットされているパスワードを使用して、宛先インスタンスが作成されます。その後、ソース ECS インスタンスで使用するのと同じパスワードを使用して、宛先 ECS インスタンスにログインできます。ビジネス要件に基づいてインスタンスパラメーターを指定できます。インスタンスパラメーターの詳細については、「カスタム起動タブでインスタンスを作成する」をご参照ください。
aliyun ecs RunInstances \ --region cn-beijing \ --RegionId 'cn-beijing' \ --SecurityGroupId 'sg-2zea9dbddva****' \ --VSwitchId 'vsw-2zep7vc25mjc1****' \ --ImageId 'm-bp1h46wfpjsjastd****' \ --InstanceType 'ecs.e-c1m1.large' \ --InstanceName Copy_from_hangzhouECS \ --PasswordInherit true \ --InternetChargeType PayByTraffic \ --SystemDisk.Size 40 \ --SystemDisk.Category cloud_essd \ --InstanceChargeType PostPaid \ --InternetMaxBandwidthOut 10
応答を確認します。応答例:
{ "RequestId": "473469C7-AA6F-4DC5-B3DB-A3DC0DE3****", "InstanceIdSets": { "InstanceIdSet": [ "i-bp67acfmxazb4pd2****" ] } }
手順 4: 宛先 ECS インスタンスのデータを確認する
宛先インスタンスのデータを確認して、移行後にビジネスが宛先インスタンスで期待どおりに実行できることを確認する必要があります。例:
ディスクデータの確認: 宛先 ECS インスタンスにリモート接続し、システムディスクデータがソース ECS インスタンスのシステムディスクデータと同じであるかどうかを確認します。たとえば、ファイルとディレクトリ構造が変更されていないかどうかを確認します。ソース ECS インスタンスにデータディスクがあり、新しいデータディスクが宛先 ECS インスタンスに接続されている場合は、接続されているディスクのデータがソースデータディスクのデータと同じであるかどうかを確認します。
アプリケーションまたはサービスの実行: 特定のアプリケーションまたはサービスがソース ECS インスタンスで実行されている場合は、宛先 ECS インスタンスでアプリケーションまたはサービスを実行します。次に、アプリケーションまたはサービスが、ソース ECS インスタンスと同じ方法で機能を提供し、データ操作をサポートできるかどうかを確認します。
リソースの変更の比較:
DescribeInstances 操作を呼び出して、次のコマンドを実行し、宛先 ECS インスタンスに関する情報をクエリします。次に、ソース ECS インスタンスと宛先 ECS インスタンスの間で、イメージ情報やネットワーク構成などのリソースの変更を確認します。
aliyun ecs DescribeInstances --RegionId 'cn-beijing' --InstanceIds '["i-bp67acfmxazb4pd2****"]'
リソースの関連付けの更新: 宛先 ECS インスタンスには新しいメタデータが生成されます。これは、ソース ECS インスタンスのメタデータとは異なります。データ移行後、できるだけ早くリソースの関連付けを更新する必要があります。詳細については、「インスタンスメタデータを取得する」をご参照ください。
手順 5: ソース ECS インスタンスとそのリソースを解放または削除する
宛先 ECS インスタンスのデータがソース ECS インスタンスのデータと同じであり、ビジネスの関連付けが更新され、ビジネスが宛先 ECS インスタンスで期待どおりに実行されていることを確認したら、ソース ECS インスタンスとそのリソースを解放または削除して、不要なコストを防ぐことができます。関連操作:
インスタンスの解放、イメージの削除、およびスナップショットの削除の操作は元に戻せません。操作が完了すると、リソース内のデータを回復することはできません。リソースを解放または削除する前に、すべてのビジネスデータが移行されていることを確認してください。
DeleteInstance 操作を呼び出して、次のコマンドを実行し、ソースインスタンスを解放します。詳細については、「インスタンスを解放する」をご参照ください。
aliyun ecs DeleteInstance --InstanceId i-bp67acfmxazb4pd2****
DeleteImage 操作を呼び出して、次のコマンドを実行し、カスタムイメージを削除します。詳細については、「カスタムイメージを削除する」をご参照ください。
重要カスタムイメージを削除した後、カスタムイメージから作成された ECS インスタンスのシステムディスクを初期化することはできません。カスタムイメージが無料で、後続の操作で必要な場合は、削除しないことをお勧めします。イメージの請求ルールの詳細については、「イメージ」をご参照ください。
aliyun ecs DeleteImage --RegionId 'cn-hangzhou' --ImageId 'm-bp146shijn7hujku****'
DeleteSnapshot 操作を呼び出して、次のコマンドを実行し、関連するスナップショットを削除します。詳細については、「スナップショットを削除する」をご参照ください。
aliyun ecs DeleteSnapshot --SnapshotId 's-bp1c0doj0taqyzzl****'
関連情報
ECS コンソールで、同じリージョン内またはリージョン間で ECS インスタンス間でデータを移行することもできます。詳細については、「カスタムイメージを使用してリージョン間で ECS インスタンスを複製する」をご参照ください。