AWS:如何在引导时保证静态私有 IP 的可用性
AWS : How to guarantee availability of static Private IP while bootstrapping
我正在启动 EMR 集群,在引导时我正在为其主节点分配一个私有 IP 地址。因此,这在集群启动时关联,并在集群终止时释放。
我如何保证此 IP 始终可用于我的集群,并且即使在不使用时也没有其他进程获取它。
获得此 Ip 后,我使用 Apache livy REST API
将我的 spark jar 提交到此 IP 的 8998 端口
所以我的用例是在主节点上公开 IP,以便 LIVY APIs 可以将作业提交到 EMR。
无法为群集请求特定的私有 IP 地址。
相反,我建议:
- 使用集群的记录集创建 Route 53 私有托管区域(例如
cluster.private
)
- 启动EMR集群后,更新主节点IP地址的记录集
- 让 Apache Livy 通过 DNS 名称而不是 IP 地址引用集群
可以通过编程方式更新记录集。脚本会做类似的事情:
- 致电
list_clusters()
- 对于每个集群,调用
describe_cluster()
- 寻找标签(例如
DNS=cluster.private
)
- 如果
DNS
标签存在:
- 更新 Route 53 中的命名记录集以使用 A-Record 指向主节点的 IP 地址
此脚本需要在集群启动后触发。
我正在启动 EMR 集群,在引导时我正在为其主节点分配一个私有 IP 地址。因此,这在集群启动时关联,并在集群终止时释放。 我如何保证此 IP 始终可用于我的集群,并且即使在不使用时也没有其他进程获取它。
获得此 Ip 后,我使用 Apache livy REST API
将我的 spark jar 提交到此 IP 的 8998 端口所以我的用例是在主节点上公开 IP,以便 LIVY APIs 可以将作业提交到 EMR。
无法为群集请求特定的私有 IP 地址。
相反,我建议:
- 使用集群的记录集创建 Route 53 私有托管区域(例如
cluster.private
) - 启动EMR集群后,更新主节点IP地址的记录集
- 让 Apache Livy 通过 DNS 名称而不是 IP 地址引用集群
可以通过编程方式更新记录集。脚本会做类似的事情:
- 致电
list_clusters()
- 对于每个集群,调用
describe_cluster()
- 寻找标签(例如
DNS=cluster.private
) - 如果
DNS
标签存在:- 更新 Route 53 中的命名记录集以使用 A-Record 指向主节点的 IP 地址
此脚本需要在集群启动后触发。