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