我的目标是自动为自动缩放的EC2实例分配弹性IP。
我做了以下事情: - 配置EC2实例w /启动脚本以分配IP - 按规范配置启动配置和自动扩展组。
问题在于,在部署自动扩展启动配置时,我失去了允许它在获取弹性IP分配之前自动分配公共地址的能力。
当我手动部署AMI时,如果我检查“分配公共IP地址”框,则实例将部署,临时分配xxxx.amazon.xxxx地址,然后转到我的弹性IP分配。
然而..
通过自动扩展命令行实用程序(as-create-launch-config + as-create-auto-scaling-group)部署时,IP将无法运行。如果在设置启动配置以临时获取公共IP以便与amazon API进行通信以获取弹性赋值时,我觉得可以修复此问题。
非常感谢您的帮助!
答案 0 :(得分:1)
您可能希望使用cloud-init在附加EIP的本地自动调整服务器上运行命令。以下是首次启动时在服务器上运行的本地命令的示例:http://cloudinit.readthedocs.org/en/latest/topics/examples.html#run-commands-on-first-boot
在该本地命令中,您可以使用亚马逊的内置工具来关联地址:http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-AssociateAddress.html
在启动配置中,将cloud-init语法添加到用户数据属性中作为base64编码,所有未来的自动调整实例将完全按照cloud-init的说明进行操作。
我通常通过执行base64编码:
base64 <filename>