在实际启动 ami 之前,如何获得 ami 的完整 ID?

How can I get the full ID of an ami before actually having to launch an ami?

太蠢了,让我怀疑自己是不是傻了

我使用 terraform,它允许我从 ami "name" 检索 ami ID(实际上我对 ami "name" 与 ami id 的区别有点困惑)。

示例:

data "aws_ami" "windowsimage" {
  owners = ["amazon"]
  most_recent = true
  filter {
    name = "name"
    values = ["Windows_Server-2016-English-Full-ECS_Optimized*"]
  }
}

这太棒了,因为这意味着我不必对 ami id 进行硬编码。但是为了获得 Windows_Server-2016-English-Full-ECS_Optimized... 值,我必须实际启动一个实例并查看 AMI ID 属性。

必须有更好的方法!我无法在市场页面的任何地方找到 ami 的价值。是否有 aws cli 命令,也许我可以 运行 找到 amis 的完整 ami id 字符串?

是的,有一个 aws cli 命令可以执行此操作。

https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html

您还可以添加额外的一行

most_recent = true

您是否只希望为该过滤器匹配提取最新的 ami。