という学びがあった。 そもそもこんなもん早々おきねーよ!という戒めを含めてメモ代わりに記載する。
AWS VM Import
Qiita やら classmethod やら読んだけど、結局公式の解説が一番簡潔だった。 問題は、公式の日本語が理解しにくい書き方であることで、AWS 君ドキュメントはもっとわかりやすく書こうね!というお気持ち。
Unsupported non-ASCII characters found in OVF file path
金曜日夕方にインポートタスク投げておいたの忘れてて、まあ終わってるじゃろ?と思いながら鉄腕 DASH みつつ確認したら "Status": "deleted"
などとなっており真顔になる。
失敗時以下のようなログであった。
○ → aws ec2 describe-import-image-tasks --import-task-ids import-ami-XXXXXXXX { "ImportImageTasks": [ { "Status": "deleted", "LicenseType": "BYOL", "Description": "ANKEN-vmimport", "SnapshotDetails": [ { "UserBucket": { "S3Bucket": "ANKEN-vmimport", "S3Key": "vmimage.ova" }, "DiskImageSize": 0.0, "Format": "OVA" } ], "StatusMessage": "ClientError: Disk validation failed [OVF file parsing error: Unsupported non-ASCII characters found in OVF file path.]", "ImportTaskId": "import-ami-XXXXXXXX" } ] }
あーん?
原因
わからん!
ちなみにこの OVA イメージはローカルの Vagrant (VirtualBox)から採取したもので、一度 ESXi 6.5 にインポートして動作確認しておりました。
何がわるいんじゃー?といった感じでしたが、同じ仮想マシンから採取した vmdk があったので、 "Format": "vmdk"
と指定して再度タスクを投げてみました。
○ → aws ec2 describe-import-image-tasks --import-task-ids import-ami-XXXXXXXX { "ImportImageTasks": [ { "Status": "active", "LicenseType": "BYOL", "Description": "ANKEN-vmimport", "Progress": "28", "SnapshotDetails": [ { "UserBucket": { "S3Bucket": "ANKEN-vmimport", "S3Key": "vmimage.vmdk" }, "DiskImageSize": 8407928320.0, "Description": "vmimport", "Format": "VMDK" } ], "StatusMessage": "converting", "ImportTaskId": "import-ami-XXXXXXXX" } ] }
ああん?!動いたやんけェ、どういうこっちゃ!
結論
というわけで出力した形式が違うだけでなんでこんなことに……みたいな感じで頭を抱えております。 が、 AWS VM Import で OVA 形式を利用していてうまくインポートできねーな?みたいな状態になったら vmdk を利用してみてください。