Упаковщик aws экземпляр манипулятора сгенерировал ошибку с недопустимым значением Файл не существует или не является файлом?

Я использую Amazon Builder для создания изображений из AMI. Я передаю все параметры правильно. Но я не знаю, какое значение я должен передать в --manifest. Я получаю следующую ошибку.

amazon-instance: --manifest имеет недопустимое значение '/tmp/ami-257e6b5c.manifest.xml': файл не существует или не является файлом.

Я использую следующий файл для конвертации.

{
  "variables": {
    "aws_access_key": "",
    "aws_secret_key": ""
  },
  "builders": [{
    "type": "amazon-instance",
    "access_key": "{{user `aws_access_key`}}",
    "secret_key": "{{user `aws_secret_key`}}",
    "region": "us-west-2",
    "source_ami": "ami-257e6b5c",
    "instance_type": "t2.micro",
    "ssh_username": "ubuntu",
    "account_id": "12345678",
    "bundle_upload_command": "sudo ec2-upload-bundle -b packer-images -m /tmp/manifest.xml -a access_key -s secret_key -d /tmp --batch --retry",
    "s3_bucket": "packer-images",
    "x509_cert_path": "server.crt",
    "x509_key_path": "server.key",
    "x509_upload_path": "/tmp",
    "ami_name": "packer-example {{timestamp}}"
  }]
}

1 ответ

Не заменяйте шаблон, скопируйте его из документов и измените его.

sudo ec2-upload-bundle \
  -b {{.BucketName}} \
  -m {{.ManifestPath}} \
  -a {{.AccessKey}} \
  -s {{.SecretKey}} \
  -d {{.BundleDirectory}} \
  --batch \
  --retry

Смотрите bundle_upload_command.

Причина, по которой вы должны удалить --region потому что у вас есть старая версия AMI Tools. Я рекомендую вам попробовать установить более новую версию из исходного кода, см. Настройка инструментов AMI.

Другие вопросы по тегам