

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 AL2 執行個體上設定動態 DNS
<a name="dynamic-dns"></a>

當您啟動 EC2 執行個體時，它會獲得指派一個公有 IP 地址和公有網域名稱系統 (DNS) 名稱，讓您可以用來在網際網路上存取它。因為 Amazon Web Services 網域中有許多主機，為保持其唯一性，這些公有名稱可能會變得相當長。典型的 Amazon EC2 公有 DNS 名稱看起來像這樣：`ec2-12-34-56-78.us-west-2.compute.amazonaws.com`，其中名稱由 Amazon Web Services 網域、服務 （在此案例中為 `compute`) AWS 區域、 和公有 IP 地址的形式組成。

動態 DNS 服務可在其網域區域內提供自訂 DNS 主機名稱，不但易記，也能和您的主機使用案例更為相關。其中有些服務也是免費的。您可以搭配 Amazon EC2 使用動態 DNS 提供者，設定執行個體在每次執行個體啟動時更新與公有 DNS 名稱相關聯的 IP 地址。您有許多可以選擇的不同提供者，至於選擇提供者和使用提供者來註冊名稱的特定詳細資訊，則在此指南的範圍之外。<a name="procedure-dynamic-dns"></a>

**搭配 Amazon EC2 使用動態 DNS**

1. 註冊動態 DNS 服務提供者，並使用其服務註冊一個公有 DNS 名稱。這項程序使用來自 [noip.com/free](https://www.noip.com/free) 的免費服務做為範例。

1. 設定動態 DNS 更新用戶端。在您具備動態 DNS 服務提供者和使用其服務註冊的公有 DNS 名稱後，請將 DNS 名稱指向您執行個體的 IP 地址。許多提供者 (包括 [noip.com](https://noip.com)) 允許您在其網站上的帳戶頁面手動執行此作業，但許多提供者也支援軟體更新用戶端。若更新用戶端正在您的 EC2 執行個體上執行，則您的動態 DNS 記錄便會在每一次 IP 地址變更時更新 (發生在關機並重新啟動之後)。在此範例中，您安裝 noip2 用戶端，該用戶端可和 [noip.com](https://noip.com) 提供的服務搭配使用。

   1. 啟用適用於 Enterprise Linux (EPEL) 的額外套件儲存庫，以取得`noip2`用戶端的存取權。
**注意**  
AL2 執行個體預設會安裝 EPEL 儲存庫的 GPG 金鑰和儲存庫資訊。如需詳細資訊，以及下載此套件的最新版本，請參閱 https：//[https://fedoraproject.org/wiki/EPEL](https://fedoraproject.org/wiki/EPEL)。

      ```
      [ec2-user ~]$ sudo amazon-linux-extras install epel -y
      ```

   1. 安裝 `noip` 套裝服務。

      ```
      [ec2-user ~]$ sudo yum install -y noip
      ```

   1. 建立組態檔案。在收到提示時，輸入登入及密碼資訊，並回答後續的問題以設定用戶端。

      ```
      [ec2-user ~]$ sudo noip2 -C
      ```

1. 啟用 noip 服務。

   ```
   [ec2-user ~]$ sudo systemctl enable noip.service
   ```

1. 啟動 noip 服務。

   ```
   [ec2-user ~]$ sudo systemctl start noip.service
   ```

   此命令會啟動用戶端，接著用戶端便會讀取您先前建立的組態檔案 (`/etc/no-ip2.conf`)，更新您選擇之公有 DNS 名稱的 IP 地址。

1. 確認更新用戶端已為您的動態 DNS 名稱設定正確的 IP 地址。DNS 記錄更新需要數分鐘的時間，接著您便可以嘗試搭配您在此程序中設定的公有 DNS 名稱，使用 SSH 連線到您的執行個體。