【问题标题】:How do I get email information from ec2 instance?如何从 ec2 实例获取电子邮件信息?
【发布时间】:2021-02-10 17:13:16
【问题描述】:

如何找到我通过 SSH 创建 EC2/lightsail 实例时使用的电子邮件地址?

【问题讨论】:

  • AWS 账户电子邮件地址? EC2 实例本身没有电子邮件地址。
  • 根据我在文档中查看的内容,您不需要电子邮件地址来创建 lightail(或 EC2)实例,并且在据我所知,用于描述实例的输出。这是您在自己的环境中使用的标签吗?还是您的 IAM 用户帐户是使用您的电子邮件作为用户名设置的?您是否启用了 CloudTrail?

标签: amazon-web-services amazon-ec2 bitnami


【解决方案1】:

首先,他们可能并不总是像其他人所说的那样是一封电子邮件。要调用 AWS API,您需要能够担任能够调用 ec2:RunInstances 的角色。例如,如果您将此角色授予 Lambda 函数,则该 Lambda 确实可以创建一个新的 ec2 实例,但它不像有电子邮件。

使用标签 您想看到谁为该 ec2 实例调用了ec2:RunInstances。如果您启用了成本分配标签,您可以使用aws:createdBy 标签,如here 所述。要访问实例中的标签,首先需要id,然后查询标签:

instance_id=$(curl -s http://169.254.169.254/latest/meta-data/instance-id)
aws ec2 describe-tags \
  --filters "Name=resource-id,Values=$instance_id" 'Name=key,Values=aws:createdBy' \
  --query 'Tags[].Value' --output text

CloudTrail 如果您不在实例中,您可以搜索名称为 RunInstances 的事件并找到 responseElements.instanceSet.items[].instanceId == 'YOUR INSTANCE ID' 的位置。如果您从创建日期开始为您的实例启用它,我相信这也可以在 AWS Config 中完成。

【讨论】:

    【解决方案2】:

    不确定我们是否可以获取电子邮件 ID,但我们肯定可以在 EC2 实例上使用以下命令获取 accountid。出于安全考虑,AWS 可能不允许获取电子邮件地址。

    curl -s http://169.254.169.254/latest/dynamic/instance-identity/document | grep -i accountid
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-06-11
      • 2017-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      • 2021-11-19
      相关资源
      最近更新 更多