【问题标题】:How am I supposed to get the owner id of an aws market place ami?我应该如何获得 aws market ami 的所有者 ID?
【发布时间】:2018-05-08 03:12:12
【问题描述】:

我正在使用 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-*"]
  }
}

我需要所有者 ID,在这种情况下我找到它的方法是漫无目的的 google,直到某篇文章得到它(他们没有说明他们是如何得到它的)。

我在 ami 的 market place page. 上找不到所有者 ID

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

为什么这不可能得到?我一定遗漏了一些明显的东西。

【问题讨论】:

    标签: amazon-web-services amazon-ec2 aws-sdk terraform


    【解决方案1】:

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

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

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

    【讨论】:

    • 对于最新版本的 terraform,实际上您确实需要所有者 ID。话虽如此,这有助于找到以前不需要的信息。谢谢!
    • 我很想知道如何找到给定所有者 ID 的友好名称。
    【解决方案2】:

    如果您想使用 AWS 开发工具包;最简单的方法如下:

    aws ec2 describe-images --image-ids ami-0def3275 --region us-west-2
    

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

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

    aws ec2 describe-images --image-ids ami-0def3275 --region us-west-2 | jq -r .Images[0].OwnerId
    

    【讨论】:

      【解决方案3】:

      TJ 是正确的,但是要使用 jq 我必须添加单引号才能工作:

      aws ec2 describe-images --image-ids ami-00dfe2c7ce89a450b --region us-east-2 | jq -r '.Images[0].OwnerId'
      

      【讨论】:

        猜你喜欢
        • 2019-03-10
        • 1970-01-01
        • 2020-04-22
        • 2019-01-07
        • 1970-01-01
        • 2022-09-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多