Schöne Grüße!
Bei Verwendung von ami_block_device_mappings
oder launch_block_device_mappings
und einem Volume-Typ von gp2 / io1 wird beim Packer-Build ein MissingParameter ... ebs
-Fehler angezeigt. Wenn Sie den Datenträgertyp weglassen, kann der AMI erstellt werden, wir möchten jedoch bestimmte Datenträgertypen verwenden.
Der Fehler:
$ packer build example_gold.json
amazon-ebs output will be in this color.
==> amazon-ebs: Prevalidating AMI Name...
==> amazon-ebs: Inspecting the source AMI...
==> amazon-ebs: Creating temporary security group for this instance...
==> amazon-ebs: Authorizing access to port 22 the temporary security group...
==> amazon-ebs: Launching a source AWS instance...
==> amazon-ebs: Error launching source instance: MissingParameter: The request must contain the parameter ebs
==> amazon-ebs: status code: 400, request id:
==> amazon-ebs: No AMIs to cleanup
==> amazon-ebs: Deleting temporary security group...
Build 'amazon-ebs' errored: Error launching source instance: MissingParameter: The request must contain the parameter ebs
status code: 400, request id:
==> Some builds didn't complete successfully and had errors:
--> amazon-ebs: Error launching source instance: MissingParameter: The request must contain the parameter ebs
status code: 400, request id:
==> Builds finished but no artifacts were created.
Ich denke, die Absicht mit dieser Vorlage ist es, eine Instanz mit 24 GB / auf GP-Speicher zu erstellen, aber dann als io2: 250iops später zu starten. Ich denke nicht, dass ami_block_device_mappings in diesem Szenario irgendwelche Auswirkungen hat.
Es wurden mehr Blockgeräte definiert, aber im Verlauf meiner Fehlerbehebung stellte ich fest, dass ich das Problem mit nur einem Blockgerät reproduzieren konnte.
Werden die Abschnitte ami_block_device_mappings
und launch_block_device_mappings
unsachgemäß verwendet?
Leider muss ich melden, dass sich packer_0.8.6 und 0.9.0 nicht gleich verhalten. Diese Versionen erstellen erfolgreich die Ami.
$ ~/Downloads/packer_0.8.6_darwin_amd64/packer build example_gold.json
amazon-ebs output will be in this color.
==> amazon-ebs: Prevalidating AMI Name...
==> amazon-ebs: Inspecting the source AMI...
==> amazon-ebs: Creating temporary security group for this instance...
==> amazon-ebs: Authorizing access to port 22 the temporary security group...
==> amazon-ebs: Launching a source AWS instance...
amazon-ebs: Instance ID: i-666
==> amazon-ebs: Waiting for instance (i-666) to become ready...
Vielen Dank
@PartyImp Ich denke, der Fehler kommt von der Verwendung der virtual_name
-Konfiguration im launch_block_device_mappings
-Block. Da sich die Konfiguration des virtuellen Namens nur auf den epheremalen Speicher in Amazon bezieht, führt das Festlegen der Konfiguration virtual_name
auf etwas, das nicht ephemeralN
dazu, dass der Builder die Speicherkonfiguration nicht als "kurzlebig" und auch nicht aufnimmt Überspringen Sie die gesamte EBS Volume-Konfiguration.
Daher erhalten Sie die Fehlermeldung, dass die ebs-Konfigurationen nicht durchlaufen werden.
Durch das Entfernen von virtual_name
wird mein Problem behoben. Vielen Dank!
Das war sehr hilfreich. Vielen Dank. Ich habe "ephemeral1", "ephemeral2" eher als Vorschläge als als Konventionen verstanden.
Hilfreichster Kommentar
Durch das Entfernen von
virtual_name
wird mein Problem behoben. Vielen Dank!