在VPC中将弹性IP分配给自动扩展的EC2 - AWS

时间:2013-08-22 20:06:53

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

我的目标是自动为自动缩放的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进行通信以获取弹性赋值时,我觉得可以修复此问题。

非常感谢您的帮助!

1 个答案:

答案 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>