更改 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 位址