amazon-ec2 - AWS 弹性 IP 而不是公共 IP?
问题描述
为什么 AWS 不为所有正在生成的服务器分配弹性 IP?默认情况下,它们将公共 IP 分配给所有服务器,这些服务器在 EC2 实例重启后会丢失。
不允许自动使用弹性 IP 背后的逻辑是什么?
解决方案
TL;DR 因为所有/大多数用例都不需要弹性 IP (EIP) 地址。
可路由 IP 地址的供应有限。如果公共子网上的每台服务器都收到一个,那么即使服务器关闭,这些 IP 地址仍将保持分配状态。如果服务器被终止,则不清楚该 IP 的使用是否已结束或仍需用于其他用途。这带来了弹性 IP 的真正原因。
弹性 IP 地址是为动态云计算设计的静态 IPv4 地址。弹性 IP 地址与您的 AWS 账户相关联。使用弹性 IP 地址,您可以通过快速将地址重新映射到您账户中的另一个实例来掩盖实例或软件的故障。[1]
从中得出的结论是,如果您没有将 EIP 用于动态云计算,那么您可能会错误地使用它们。这是正确用例的一个很好的例子。
如果您需要一个可以根据需要与实例关联和关联的持久公共 IP 地址,请改用弹性 IP 地址。例如,如果您使用动态 DNS 将现有 DNS 名称映射到新实例的公有 IP 地址,则该 IP 地址可能需要长达 24 小时才能通过 Internet 传播。因此,新实例可能不会接收流量,而终止的实例会继续接收请求。[2]
推荐阅读
- python - 无法使用 Python 脚本和通配符将多个文件上传到 AWS S3
- ios - iOS 13 提醒应用程序 url 方案不起作用
- r - 如何更改图例标题?
- android - 如何在自定义 EditText 视图上显示内置的水平编辑菜单
- python - 我想在 Windows 10 上将 Python 应用程序推送到 Heroku,但我收到“错误:命令‘gcc’失败,退出状态为 1”
- javascript - 反应不同的状态属性得到绑定
- asp.net - 多个复选框列表数据并提交验证
- python - 有没有办法在 Python 中传递一个块参数而不首先将它定义为一个函数?
- python - 如何编写一个 lambda 函数,对从 1 到 n 的整数执行函数,其中 n 是整数?
- sql-server - 无法在我的 PC 上的 SQL Server 上运行作业