我应该如何获取AWS Market Place AMI的所有者ID?

red*_*888 5 amazon-ec2 amazon-web-services aws-sdk terraform

我正在使用terraform获取官方centos ami:

data "aws_ami" "centos" {
  most_recent = true
  owners = ["679593333241"] # Centos.org
  filter {
    name   = "name"
    values = ["CentOS Linux 7 x86_64 HVM EBS 1708_01-*"]
  }
}
Run Code Online (Sandbox Code Playgroud)

我需要所有者ID,在这种情况下,我需要找到所有者的方法是漫无目的地搜索google,直到有文章发表为止(他们没有说出他们是怎么得到的)。

我在ami的市场页面上找不到所有者ID

如果我通过其市场页面启动ami,则它创建的ec2实例实际上为实例的“所有者”字段设置了我的个人ID-因此,我无法启动ec2实例,请检查所有者并以这种方式获取它。

为什么这么不可能呢?我一定想念一些明显的东西。

TJ *_*dle 9

如果您想使用 AWS SDK;解决此问题的最简单方法如下所示:

aws ec2 describe-images --image-ids ami-0def3275 --region us-west-2
Run Code Online (Sandbox Code Playgroud)

当然,根据需要替换区域和AMI ID。

如果您想使用jq来解析它;你可以这样:

aws ec2 describe-images --image-ids ami-0def3275 --region us-west-2 | jq -r .Images[0].OwnerId
Run Code Online (Sandbox Code Playgroud)


dun*_*all 7

您不一定需要所有者 ID,但将其包含在内显然是一个好主意,以确保您获得预期的 AMI。

鉴于您预先知道受信任的所有者,查找所有者 ID 的简单方法是查看 AWS 控制台中的 AMIs 表。

从 AWS 控制台,导航到EC2 > 图像 > AMIs。从搜索框左侧的下拉列表中选择“公共图片”过滤器。然后您可以搜索您想要的任何 AMI,所有者值显示在表中:

在此处输入图片说明

  • 对于最新版本的 terraform,您实际上需要所有者 ID。话虽这么说,这有助于找到这条以前不需要的信息。谢谢你! (3认同)