4

我的目标是自动将弹性 IP 分配给自动扩展的 EC2 实例。

我已经完成了以下操作: - 使用启动脚本配置 EC2 实例以分配 IP - 根据规范配置启动配置和自动扩展组。

问题是,在部署自动扩展的启动配置时,我失去了允许它在获取弹性 IP 分配之前自动分配公共地址(起初)的能力。

当我手动部署 AMI 时,只要我选中“分配公共 IP 地址”框,实例将部署,临时分配 xxxx.amazon.xxxx 地址,然后转存到我的弹性 IP 分配。

然而..

当通过自动缩放命令行实用程序(as-create-launch-config + as-create-auto-scaling-group)部署时,IP 将不起作用。我觉得如果在设置启动配置时可以选择临时获取公共 IP 以便与 amazon API 通信以提取弹性分配,则可以修复它。

非常感谢您的帮助!

4

1 回答 1

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 编码添加到 user-data 属性中,所有未来的自动缩放实例都将完全按照 cloud-init 声明的方式执行。

我通常通过以下方式进行base64编码:

base64 <filename>
于 2013-11-25T07:04:50.363 回答