3

我想使用 Packers 从正在运行的 EC2 实例创建一个 AMI(亚马逊系统映像)。

这是我的用例:
1) 使用 packer 生成基本 AMI 并启动 EC2 实例
2) 在 EC2 实例上配置用户数据.. (此处需要人工干预)
3) 使用 Packer 从步骤#2 生成应用程序特定的 AMI

我不想使用打包程序提供的“供应商”。我需要在第 2 步进行人工干预

4

2 回答 2

2

Packer 的重点似乎是消除构建过程中的人为干预,以使部署保持一致。但是,每个实例的数据可以通过 Packer用户变量传入,可以在命令行上传递:

$ packer build \
    -var 'aws_access_key=foo' \
    -var 'aws_secret_key=bar' \
    template.json

或通过配置文件:

$ packer build -var-file=variables.json template.json
于 2013-11-19T02:15:03.353 回答
0

我同意 ec2-create-image 方法。一旦您的打包程序构建完成 - 您将需要第二个打包程序构建来完成此操作。你可以用一个 webhook 来启动它,比如说,使用 Atlas。

您是否考虑过在本地(在 VMWare 中)进行修改,然后安装 ec2 工具并使用 ec2-convert?类似于以下内容?

aws ec2 import-image --cli-input-json '{ "Platform": "Linux", 
"Architecture": "x86_64", "Description": "Some Centos AMI v21.2.1", 
"DiskContainers": [{ "Description": "Some_App", "UserBucket": { 
"S3Bucket": "centos-builds", "S3Key": "some-build-ami.ova"}}]}'

这将以 AMI 结束。

于 2017-06-01T03:21:50.420 回答