amazon-web-services - 获取 AWS 实例的最新 AMI ID
问题描述
我想为 AWS Linux 机器获取最新的 ami id,同时为自动扩展架构创建一个 ec2 实例。
我正在尝试使用cli 来获取图像类型,但如果我使用该命令aws
,它会打印出很多信息。describe-images
我的要求是只获取图像 id,以便我可以使用它来创建启动配置或启动具有最新 ami-id 的实例。
解决方案
最近鲜为人知的一项功能是能够使用 AWS Systems Manager Parameter Store 查询最新的 Amazon Linux AMI ID。AWS 计算博客。
命名空间由两部分组成:
- 参数存储前缀(树):
/aws/service/ami-amazon-linux-latest/
- AMI 名称别名:(示例)amzn-ami-hvm-x86_64-gp2
这些:
aws ec2 describe-images --owners amazon --filters "Name=name,Values=amzn*" --query 'sort_by(Images, &CreationDate)[].Name'
Get-EC2ImageByName -Name amzn* | Sort-Object CreationDate | Select-Object Name
可以改成:
aws ssm get-parameters --names /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 --region us-east-1
Get-SSMParameter -Name /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2 -region us-east-1
另外,它可以在CloudFormation 模板中使用:
# Use public Systems Manager Parameter
Parameters :
LatestAmiId :
Type : 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>'
Default: ‘/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2’
Resources :
Instance :
Type : 'AWS::EC2::Instance'
Properties :
ImageId : !Ref LatestAmiId
推荐阅读
- image - 如何在 JLabel 中显示图像?
- python-3.x - odoo 11 / Python 3:如果排除某些工作日,如何查找订阅的到期日期
- c++ - 不匹配调用内部类对象的向量
- google-calendar-api - 是否可以在不冒超出使用配额的情况下使用 Google Calendar API 事件手表?
- java - Selenium:'包 org.openqa.selenium 不存在'
- ruby-on-rails - 如何使用 || 减少“复杂性太高” - 或运算符
- visual-c++ - c++ Visual Studio 2017通过标题数据读取png维度
- excel - 停止 UserForm_Initialize 触发 ToggleButton_Click 事件
- elm - 多元函数组合
- php - 用 PHP 减去字母数字值