【发布时间】:2019-05-23 23:26:51
【问题描述】:
我正在尝试为 VPC 创建自己的堡垒主机,并创建了一个最小/最大实例为 1 的自动扩展组。在我的启动配置中,我为 ec2 用户数据指定以下内容:
#!
INSTANCE_ID=`/usr/bin/curl -s http://169.254.169.254/latest/meta-data/instance-id`
aws ec2 associate-address --instance-id $INSTANCE_ID --allocation-id eipalloc-my-eip-id --allow-reassociation
此用户数据的目标是立即将弹性 IP 地址与我新创建的 EC2 实例关联 - I've read from other StackOverflow posts,这在使用 ASG 时必须明确完成。
但是,在 ASG 实例启动并完成初始化后,我仍然在我的控制台输出中看不到该实例的任何弹性 IP:
我试图查看系统日志内部以查看初始化期间是否有任何错误消息,但起初我看不到任何表明associate-address 命令失败的信息(在/var/log/cloud-init-output 内部)。
编辑:尝试调试:
但是,我随后手动将弹性 IP 与我的实例关联,通过 SSH 连接,并尝试运行上面的用户数据命令。有趣的是,当我到达aws ec2 associate-address 部分时,我遇到了
无法找到凭据。您可以通过运行配置凭据 “aws 配置”。
这似乎是问题的根源 - 我的 AWS 配置文件未配置。但是,我一直认为默认的 AWS 实例配置文件是为您设置的,当实例完成初始化时可以访问 AWS CLI。
谁能指出为什么我的用户数据关联弹性 IP 地址可能无法正常执行?
【问题讨论】:
标签: amazon-web-services amazon-ec2