在您的 Amazon Linux 執行個體上設定動態 DNS
當您啟動 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 地址。您有許多可以選擇的不同提供者,至於選擇提供者和使用提供者來註冊名稱的特定詳細資訊,則在此指南的範圍之外。
此資訊適用於 Amazon Linux。如需其他分發的詳細資訊,請參閱其特定文件。
搭配 Amazon EC2 使用動態 DNS
-
註冊動態 DNS 服務提供者,並使用其服務註冊一個公有 DNS 名稱。這項程序使用來自 noip.com/free
的免費服務做為範例。 -
設定動態 DNS 更新用戶端。在您具備動態 DNS 服務提供者和使用其服務註冊的公有 DNS 名稱後,請將 DNS 名稱指向您執行個體的 IP 地址。許多提供者 (包括 noip.com
) 允許您在其網站上的帳戶頁面手動執行此作業,但許多提供者也支援軟體更新用戶端。若更新用戶端正在您的 EC2 執行個體上執行,則您的動態 DNS 記錄便會在每一次 IP 地址變更時更新 (發生在關機並重新啟動之後)。在此範例中,您安裝 noip2 用戶端,該用戶端可和 noip.com 提供的服務搭配使用。 -
啟用 Extra Packages for Enterprise Linux (EPEL) 儲存庫,取得 noip2 用戶端的存取權。
注意 根據預設,Amazon Linux 執行個體具有 EPEL 儲存庫的 GPG 金鑰和儲存庫資訊;但是,Red Hat 和 CentOS 執行個體必須先安裝
epel-release
套件,才能啟用 EPEL 儲存庫。如需詳細資訊和下載此套件最新版本的詳細資訊,請參閱 https://fedoraproject.org/wiki/EPEL。 -
針對 Amazon Linux 2
[ec2-user ~]$
sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
-
針對 Amazon Linux AMI
[ec2-user ~]$
sudo yum-config-manager --enable epel
-
-
安裝
noip
套裝服務。[ec2-user ~]$
sudo yum install -y noip
-
建立組態檔案。在收到提示時,輸入登入及密碼資訊,並回答後續的問題以設定用戶端。
[ec2-user ~]$
sudo noip2 -C
-
-
啟用 noip 服務。
-
針對 Amazon Linux 2
[ec2-user ~]$
sudo systemctl enable noip.service
-
針對 Amazon Linux AMI
[ec2-user ~]$
sudo chkconfig noip on
-
-
啟動 noip 服務。
-
針對 Amazon Linux 2
[ec2-user ~]$
sudo systemctl start noip.service
-
針對 Amazon Linux AMI
[ec2-user ~]$
sudo service noip start
此命令會啟動用戶端,接著用戶端便會讀取您先前建立的組態檔案 (
/etc/no-ip2.conf
),更新您選擇之公有 DNS 名稱的 IP 地址。 -
-
確認更新用戶端已為您的動態 DNS 名稱設定正確的 IP 地址。DNS 記錄更新需要數分鐘的時間,接著您便可以嘗試搭配您在此程序中設定的公有 DNS 名稱,使用 SSH 連線到您的執行個體。