我正在尝试为一个VPC创建自己的堡垒主机,并创建了一个最小/最大实例为1的自动扩展组。在我的启动配置中,我为ec2用户数据指定了以下内容:
这个用户数据的目的是立即将弹性IP地址与我的新创建的EC2实例关联起来 - 我从其他StackOverflow帖子中了解到,在使用ASG时必须明确执行此操作。
然而,在ASG实例启动并完成初始化后,我仍然看不到任何实例的弹性IP地址输出到我的控制台: 我确认用户数据确实被实例使用:
我尝试查看系统日志,以查看初始化期间是否有任何错误消息,但一开始我看不到任何暗示
编辑:尝试调试:
然而,我随后手动将弹性IP与我的实例关联,SSH并尝试运行上述用户数据命令。有趣的是,当我到达
无法找到凭据。您可以通过运行“aws configure”来配置凭据。
这似乎是问题的根源-我的AWS配置文件未配置。但是,我一直认为,在实例完成初始化时,会为您设置默认的AWS实例配置文件,并具有访问AWS CLI的权限。
请问有人能指点我,为什么我的用户数据无法正确执行以关联弹性IP地址?
#!
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实例关联起来 - 我从其他StackOverflow帖子中了解到,在使用ASG时必须明确执行此操作。
然而,在ASG实例启动并完成初始化后,我仍然看不到任何实例的弹性IP地址输出到我的控制台: 我确认用户数据确实被实例使用:
![enter image description here](https://istack.dev59.com/us06A.webp)
associate-address
命令失败的内容(在/var/log/cloud-init-output
内)。编辑:尝试调试:
然而,我随后手动将弹性IP与我的实例关联,SSH并尝试运行上述用户数据命令。有趣的是,当我到达
aws ec2 associate-address
部分时,我遇到了无法找到凭据。您可以通过运行“aws configure”来配置凭据。
这似乎是问题的根源-我的AWS配置文件未配置。但是,我一直认为,在实例完成初始化时,会为您设置默认的AWS实例配置文件,并具有访问AWS CLI的权限。
请问有人能指点我,为什么我的用户数据无法正确执行以关联弹性IP地址?
谢谢!