カスタムイメージを作成した後、Object Storage Service (OSS) へエクスポートし、さらにローカルにダウンロードすることで、分析、バックアップ、移行などの目的で利用できます。
注意事項
暗号化されたイメージ、Alibaba Cloud Marketplace のイメージから作成されたカスタムイメージ、および Windows Server イメージはエクスポートできません。
データディスクの容量が 2 TiB を超える場合、カスタムイメージをエクスポートすることはできません。
その際は、まずデータを複数のディスクに分散させる必要があります。
操作手順
事前準備
イメージファイルを保存するため、事前に対象カスタムイメージと同じリージョンで OSS バケットを用意してください。エクスポート時に選択可能な OSS バケットは、ストレージクラスが標準または低頻度アクセスのものに限られ、アーカイブはサポートされていません。新しいバケットを作成する必要がある場合は、「バケットの作成」をご参照ください。
OSS へカスタムイメージのエクスポート
コンソール
ECS コンソール - イメージに移動します。画面左上で、対象リソースが配置されているリージョンとリソースグループを選択します。
[カスタムイメージ] タブで対象のイメージを見つけ、[操作] 列の [イメージのエクスポート] をクリックします。
[準備作業] の内容をよく確認し、[次へ] をクリックします。続いて前提条件を確認し、[続行] をクリックします。
[イメージファイルのエクスポート] のパラメーターを設定します。
イメージフォーマット:デフォルトは
自動検出です。RAW、VHD、QCOW2、VDI、VMDK から選択することも可能です。OSS バケット:カスタムイメージと同じリージョンにある OSS バケットを選択します。
ファイル名のプレフィックス:たとえば、プレフィックスを
Demoに設定した場合、OSS バケット内のエクスポートされたイメージファイルの名前は Demo-[システムが生成したファイル名] となります。
[OK] をクリックしてカスタムイメージのエクスポートを開始します。 エクスポートにかかる時間は、イメージファイルのサイズと現在のタスクキューによって異なります。
エクスポート状況は ECS コンソール - タスク管理ページでリアルタイムに確認でき、またエクスポートのキャンセルも可能です。OSS コンソールにログインして、タスクの結果を確認することもできます。
API
ExportImage API を呼び出してカスタムイメージをエクスポートします。進行中のエクスポートを停止するには、CancelTask API を呼び出してください。
イメージファイルのダウンロードと使用
イメージが OSS にエクスポートされたら、ローカルにダウンロードできます。
ローカルへのダウンロード
イメージファイルが 5 GB 以下の場合:OSS コンソールにログインし、エクスポート先の OSS バケットでイメージファイルを見つけ、[操作] 列の [ダウンロード] をクリックします。
イメージファイルが 5 GB を超える場合:コマンドラインツール ossutil を使用してダウンロードすることを推奨します。このツールは、レジューム転送や一括ダウンロードに対応しており、より安定かつ効率的です。
イメージファイルの解凍
RAW イメージは.raw.tar.gzファイルとしてエクスポートされます。解凍後、ファイル拡張子は.rawとなります。Linux の場合、
tar -xzf <image-file-name>.raw.tar.gzコマンドでファイルを解凍してください。macOS の場合、互換性の問題を回避するため、
gnu-tarユーティリティを使用してください。
(任意) イメージフォーマットの変換
エクスポートした RAW イメージを別のフォーマットに変換する必要がある場合は、オープンソースツールqemu-imgを使用できます。手順については、「イメージのフォーマットを変換する」をご参照ください。
課金
カスタムイメージを OSS にエクスポートする際、関連する OSS リソースに対して以下の料金が発生します。
OSS ストレージ料金:エクスポートされたイメージファイルは OSS バケットに保存され、そのサイズと保存期間に基づいて課金されます。
OSS リクエスト料金:エクスポート処理中、ファイルの読み書きのために OSS API が呼び出され、API リクエスト料金が発生します。
選択したイメージフォーマットは OSS API の読み取り操作の回数に影響を与えるため、リクエスト料金が異なる場合があります。読み取り回数を最小限に抑えるには、VHD フォーマットを推奨します。
OSS トラフィック料金:イメージファイルを OSS バケットからローカルにダウンロードすると、アウトバウンドデータ転送料金が発生します。同じリージョン内の Elastic Compute Service (ECS) インスタンスからファイルにアクセスする場合は無料です。
コスト最適化のヒント
リソースのクリーンアップ:イメージファイルをダウンロードして確認した後、OSS バケットから削除することでストレージコストを削減できます。
データのアーカイブ:長期的なバックアップが必要な場合は、OSS バケットにライフサイクルルールを設定し、指定した期間が経過した後にファイルを低頻度アクセスやアーカイブなど、より低コストのストレージクラスに自動的に移行できるようにします。
よくある質問
イメージのエクスポートが失敗した場合はどうすればよいですか?
イメージのエクスポートが失敗した場合、ECS コンソール - タスク管理ページで、または DescribeTaskAttribute API を呼び出してエラーコードを確認します。エラーコードに基づいて問題を特定し、解決してください。
エラーコード | 原因 | トラブルシューティング | 解決策 |
IMAGE_ALREADY_EXIST | 同じ名前のファイル (オブジェクト) が OSS バケットにすでに存在します。 | エクスポート先の OSS バケットに同名のファイル (オブジェクト) が存在するか確認します。 |
|
単一のデータディスクが 2 TiB を超える場合、カスタムイメージをエクスポートするにはどうすればよいですか?
データディスクが 2 TiB を超える場合、そのデータを 2 TiB 未満の複数の新しいデータディスクにコピーする必要があります。その後、これらのディスクから新しいカスタムイメージを作成することで、エクスポートが可能になります。手順は以下の通りです。
作成した ECS インスタンスにログインします。
df -hコマンドでデータディスクの実際の容量を確認します。必要な容量に基づいて新しい空のデータディスクを 1 つ以上作成してインスタンスにアタッチし、元のデータディスクから新しいディスクにデータをコピーします。新しいデータディスクとシステムディスクのスナップショットを作成します。
スナップショットからカスタムイメージを作成し、そのカスタムイメージをエクスポートします。
エクスポートしたイメージが複数のファイルで構成される場合、それらのファイルは何ですか?
カスタムイメージにデータディスクのスナップショットが含まれている場合、名前に system が含まれるファイルはシステムディスクのスナップショット、data が含まれるファイルはデータディスクのスナップショットに対応します。データディスクファイルには、識別を容易にするため xvdb や xvdc などのマウントポイント識別子が含まれることがよくあります。
暗号化されたイメージを復号してエクスポートできますか?
暗号化は不可逆な操作であるため、暗号化されたイメージを復号してエクスポートすることはできません。暗号化されたイメージをエクスポートした後でも、データは暗号化された状態のままとなり、その内容を復号することはできません。
暗号化されたイメージからデータをエクスポートするには、まずそのイメージから ECS インスタンスを作成し、必要な設定とデータ移行を行ってください。その後、そのインスタンスに基づいて暗号化されていない新しいカスタムイメージを作成することで、データエクスポートが可能になります。