使用静态 IP 的 AWS AutoScaling
AWS AutoScaling with Static IPs
是否可以在 AWS 中使用静态 IP 进行自动缩放?新创建的实例应具有预定义的 IP 或从预定义的 IP 池中选择。
我们正在尝试在生产环境中设置 ZooKeeper,有 5 个 zooKeeper 实例。每个人都应该有一个静态 IP,它将硬编码在我们使用的 Kafka AMI/Databag 中。它还应该支持 AutoScaling,这样如果一个 zooKeeper 节点出现故障,就会产生一个具有相同 IP 或来自 IP 池的新节点。为此,我们决定为每个 AutoScaling 组配备 1 个 zoo-keeper 实例,但问题出在 IP 上。
如果这是错误的方法,请提出正确的方法。提前致谢!
一种方法是从为此目的分配的一组 EIP 中维护一个 user data script on each instance, and have each instance assign itself an elastic IPs。此用户数据脚本将在 ASG 启动配置中引用,并且将 运行 启动。
假设用户脚本名为“/scripts/assignEIP.sh”,使用 AWS CLI,您可以让它查询池以查看哪些可用,哪些不可用(已在使用中)。然后它会为自己分配一个可用的 EIPS。
为了便于 IP 管理,您可以将 IP 池保存在 S3 上的一个简单文本属性文件中,并让实例下载并在实例启动时查阅该列表。
请记住,每个实例都需要分配一个 IAM 实例配置文件,以允许每个实例查询 EIP 并将其分配给自己。
是否可以在 AWS 中使用静态 IP 进行自动缩放?新创建的实例应具有预定义的 IP 或从预定义的 IP 池中选择。
我们正在尝试在生产环境中设置 ZooKeeper,有 5 个 zooKeeper 实例。每个人都应该有一个静态 IP,它将硬编码在我们使用的 Kafka AMI/Databag 中。它还应该支持 AutoScaling,这样如果一个 zooKeeper 节点出现故障,就会产生一个具有相同 IP 或来自 IP 池的新节点。为此,我们决定为每个 AutoScaling 组配备 1 个 zoo-keeper 实例,但问题出在 IP 上。
如果这是错误的方法,请提出正确的方法。提前致谢!
一种方法是从为此目的分配的一组 EIP 中维护一个 user data script on each instance, and have each instance assign itself an elastic IPs。此用户数据脚本将在 ASG 启动配置中引用,并且将 运行 启动。
假设用户脚本名为“/scripts/assignEIP.sh”,使用 AWS CLI,您可以让它查询池以查看哪些可用,哪些不可用(已在使用中)。然后它会为自己分配一个可用的 EIPS。
为了便于 IP 管理,您可以将 IP 池保存在 S3 上的一个简单文本属性文件中,并让实例下载并在实例启动时查阅该列表。
请记住,每个实例都需要分配一个 IAM 实例配置文件,以允许每个实例查询 EIP 并将其分配给自己。