动态构建AWS映像?

时间:2014-09-12 16:01:12

标签: amazon-web-services build

我们希望通过提供“黄金映像”(加入域,拥有我们的安全软件,infra软件等)来限制用户可以访问的AMI。因此,我们通过在AWS中使用现有的AMI并按照惯例进行构建来实现这一目标。

问题在于来自AWS的基本AMI经常发生变化(即微软补丁,类似的东西),这意味着我们的黄金映像已经过时。

有没有办法让用户只能访问拥有我们所有软件的图像(即“黄金图像”),但是它会动态地构建它,将我们的安全/ infra软件添加到基本图像,以及只允许访问环境的最终用户吗?

1 个答案:

答案 0 :(得分:0)

我建议自动化,当你想要"刷新"图像:

  1. 使用最新的基本Windows映像创建新的EC2实例 http://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html

  2. 安装你的东西: 让puppet / chef / ansible /.../ powershell自动完成(如果可能的话,从用户数据中),这将是很好的。

  3. 从现有实例创建自定义AMI: http://docs.aws.amazon.com/cli/latest/reference/ec2/create-image.html

  4. 更新IAM策略以将实例创建限制为新的AMi快照: json { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1410544721000", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Condition": { "ArnEquals": { "ec2:ParentSnapshot": "arn:aws:ec2:region::snapshot/snapshot-id" } }, "Resource": [ "*" ] } ] } 您可以使用CLI将该策略设置为组: http://docs.aws.amazon.com/cli/latest/reference/iam/put-group-policy.html

  5. 所有这些都可以使用CloudFormation自动化...我建议您至少手动执行一次并逐步自动执行。