という学びがあった。
そもそもこんなもん早々おきねーよ!という戒めを含めてメモ代わりに記載する。
docs.aws.amazon.com
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 を利用してみてください。