更改 Amazon EC2 实例 IP 地址

更改 Amazon EC2 实例 IP 地址

每次重启实例时(或停止后再启动)时,都会自动分配一个新的私用 IP 地址和一个新的公共 IP 地址。因此,实例的新 IP 地址会与在 Plesk 中注册和使用的 IP 地址不同。而且,当给一个实例分配一个弹性 IP 地址时,该弹性 IP 地址会替换原来的公共 IP 地址。

欲了解 Amazon 实例 IP 地址的运作详情,请参阅 Amazon EC2 实例 IP 地址

为了 Plesk 能够正常运行,需要将其重新配置以能够应用新的 IP 地址。应配置所有的服务使用内部的 IP,且所有指向本地服务的 A 类 DNS 记录应指向外部的 IP。在每次重启实例或给实例分配新的弹性 IP 地址时都必须执行以下操作。

Linux 实例

  1. 通过 SSH 以用户 'ec2-user' 的身份连接实例
  2. 更新 Plesk 数据库中的公共 IP 地址

    运行以下命令:

    # sudo /usr/local/psa/bin/amazon_install_dns_template `curl http://169.254.169.254/latest/meta-data/public-ipv4`

  3. 在现有的 DNS 区域中传播新的公共 IP 地址

    只有当 Plesk 托管了已配置 DNS 区域的域名时才需要进行此步骤。

    1. 在 Plesk GUI 中,进入 工具与设置 > 常规设置 > DNS 模板 并选择来自指向新的公共 IP 地址的服务器级 DNS 模板的所有 "A" 记录。
    2. 点击 应用 DNS 模板更改 并选择 所有区域 以将更改在所有区域中同步。

    未被用户更改的 "PTR" 和 "A" 记录将不会使用新的公共 IP 地址更新。

    欲了解如何管理服务器的 DNS 模板,请参阅 DNS 模板

  4. 更新被托管域名使用的外部 DNS 服务器以匹配实例的新公共 IP 地址

Windows 实例

  1. 通过 RDP 连接实例
  2. 更新 Plesk 数据库中的公共 IP 地址

    运行以下命令:

    C:\>"%plesk_bin%\amazon\amazon_repair_ip.cmd" <OLD_PUBLIC_IP>

    您可以从服务器的 DNS 模板提取旧的公共 IP 地址:

    C:\>"%plesk_bin%\dbclient.exe" --direct-sql --sql="select distinct(val) as IP from dns_recs_t where type = 'A'"

    未被用户更改的 "PTR" 和 "A" 记录将不会使用新的公共 IP 地址更新。

  3. 更新被托管域名使用的外部 DNS 服务器以匹配实例的新公共 IP 地址