【问题标题】:Is it possible that an EC2 instance will change its private IP at any given time?EC2 实例是否有可能在任何给定时间更改其私有 IP?
【发布时间】:2017-12-13 02:23:32
【问题描述】:

我有一个托管 Ruby on Rails 应用程序的 EC2 实例,该应用程序又连接到 RDS 实例。几个月来一切正常,直到 rails 应用程序遇到与 RDS 数据库的连接超时的问题。

事实证明,当我在仪表板中检查 EC2 实例时,EC2 实例的私有 IP 地址不是我正在使用的安全组的入站限制的一部分。我确定我没有删除此实例的安全组条目。但是,直到问题发生,我才记录了这个实例的私有 IP 地址。

所以我的问题是,EC2 实例是否有可能在任何给定时间更改其私有 IP?如果是,是否有办法始终允许此实例访问我的 RDS 实例?我已经尝试使用公共 IP 代替安全组,但它不起作用。

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    没有。 EC2 实例将始终保留相同的私有 IP 地址。 (公共 IP 地址可以在停止/启动后改变,但 私有 IP 地址永远不会改变。)

    无论如何,您应该引用另一个安全组,而不是将 IP 地址放在安全组中。

    例如:

    • 创建一个应用安全组
      • 将其与 EC2 实例关联
      • 打开应用程序所需的端口(例如 HTTP 端口 80)
    • 创建数据库安全组
      • 将其与 RDS 数据库关联
      • 打开数据库端口,Source = App Security Group

    这意味着任何与应用安全组关联的 EC2 实例都将被允许与数据库进行通信——这将适用于多个实例,无需指定任何特定的 IP 地址。

    【讨论】:

    • 感谢您的澄清。不幸的是,我的 ec2 实例不在 VPC 中,所以我无法更改安全组。
    【解决方案2】:

    没有。 私有 IP 在实例的生命周期内与 EC2 实例相关联。在您终止实例之前,私有 IP 将保留在该 IP 中。 它永远不会改变。

    可能有人修改了安全组以允许使用不同的 IP 集。如果您知道如何检查 CloudTrail,则可以找出这种新行为的原因。

    【讨论】:

      猜你喜欢
      • 2020-04-21
      • 2019-04-10
      • 2020-05-13
      • 2020-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      • 2014-03-30
      相关资源
      最近更新 更多