AWS AMI弃用(API:ec2:RunInstances未授权用于图像)

Sle*_*ith 10 amazon-web-services aws-cloudformation amazon-ami

所以我一直在我的云形成模板中使用AWS AMI.

似乎他们每个月都会创建新图像,并在新图像发布后2周左右弃用旧图像.这会产生许多问题:

  1. 旧模板堆栈破了.
  2. 模板需要更新.

我错过了什么吗?

我正盯着看

API: ec2:RunInstances Not authorized for images: [ami-1523bd2f]
Run Code Online (Sandbox Code Playgroud)

我的云形成事件中的错误.

查找02.12图片ID:http: //thecloudmarket.com/image/ami-1523bd2f--windows-server-2012-rtm-english-64bit-sql-2012-sp1-web-2014-02-12

现在有一个新的形象ID:http: //thecloudmarket.com/image/ami-e976efd3--windows-server-2012-rtm-english-64bit-sql-2012-sp1-web-2014-03-12

Séb*_*acq 11

你确实是对的.发布新版本时不推荐使用Windows AMI(请参阅http://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Basics_WinAMI.html)

截至目前,没有"点击"解决方案,文档说:"AWS每年更新AWS Windows AMI几次.更新涉及弃用以前的AMI并用新的AMI和AMI ID替换它.要在找到AMI之后它已被更新,使用名称而不是ID .AMI名称的基本结构通常是相同的,并在末尾添加了新日期.您可以使用查询或脚本按名称搜索AMI,确认你找到了正确的AMI,然后启动你的实例."

一种可能的解决方案可能是开发CloudFormation自定义资源,该资源将在启动EC2实例之前检查AMI可用性.

请参阅有关CFN自定义资源的文档:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/crpg-walkthrough.html

来自re:Invent:https : //www.youtube.com/watch?v= ZhGMaw67Yu0#t = 945 (以及AMI查找的示例代码)

您还可以选择基于亚马逊提供的自定义AMI创建自定义AMI.即使您不修改任何内容也是如此.您的自定义AMI将是亚马逊提供的AMI的精确副本,但在Amazon AMI弃用后仍可使用.

Netflix有开源工具来帮助管理AMI,看看Aminator

Linux AMI在发布后几年被弃用(2003.11仍然可用!)但是,只要有补丁版本,Windows AMI就会被弃用.这是出于安全原因.