

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在您的 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 服务在其域区域中提供自定义主机名，这些主机名便于记忆，也与主机的使用案例更为相关。其中一些服务也是免费的。您可以对 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 实例上运行，则每次 IP 地址更改（如关机和重启后）都会更新动态 DNS 记录。在本例中，将安装 noip2 客户端，该客户端利用 [noip.com](https://noip.com) 提供的服务。

   1. 启用适用于企业 Linux 的额外软件包 (EPEL) 存储库以获得对`noip2`客户端的访问权限。
**注意**  
AL2 实例默认安装了 EPEL 存储库的 GPG 密钥和存储库信息。欲了解更多信息并下载此软件包的最新版本，请参阅 [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 连接到实例。