Amazon Web Services 第 3 部分 - 如何将您的域名指向您的 AWS 托管网站






4.40/5 (3投票s)
使用 Route 53 将您的域名指向您的 AWS 托管网站
引言
这是关于将您的网站部署到 Amazon Web Services (AWS) 的系列文章的第三部分,AWS 是亚马逊公司与 Windows Azure 对应的服务。
在 第一部分和第二部分中,我们实现了一个带有数据库的简单网站,对应于下图中的绿色和蓝色部分。
在这一部分,我们将把您自己的域名指向这个网站。这对应于红色部分。

本文假定您已经将网站部署到 AWS,并配置了 负载均衡器,如 第一部分所述。这是因为您的域名实际上将指向负载均衡器,负载均衡器负责处理来自外部世界的请求并将它们分发到 Web 服务器。
关于域名系统
这里的目标是,当有人在浏览器中输入您的域名时,浏览器会向负载均衡器请求页面,然后负载均衡器会将请求转发给其中一个 Web 服务器。
问题在于,要访问 Internet 上的任何机器,包括您的负载均衡器,您都需要它的 IP 地址。因此,浏览器需要某种方式将用户输入的域名解析为 IP 地址。它通过 域名系统 (DNS) 来实现这一点。

这本质上是一个大型数据库,将域名(如“yourdomain.com”)映射到一组 DNS 记录。在众多记录类型中,您最有可能接触到的是这些:
类型 | 描述 |
---|---|
A (地址) | 将域名映射到 IP 地址 |
CNAME (规范名称) | 创建域名的别名 |
NS (名称服务器) | 允许您指向子域的名称服务器,例如“admin.yourdomain.com” |
构建这个数据库的一种方法是将其放置在世界上的某台计算机上。但这有几个原因行不通。例如,如果那台计算机宕机了,将没有人能够再使用域名。为了解决这个问题,DNS 实现为一个分布式系统,并组织成一个由 *名称服务器* 组成的层级结构。
浏览器查找某个域名“yourdomain.com”的 IP 地址的过程如下:
- 浏览器有一个 DNS 根服务器列表。这些服务器位于上图中树状结构的顶部。它向根服务器查询“yourdomain.com”的 IP 地址。
- 每个域名都由用句点分隔的标签组成。“yourdomain.com”包含“yourdomain”和“com”这两个标签。最右边的标签是顶级域 (TLD)。
根服务器拥有 TLD 的名称服务器的 IP 地址。它会将请求转发给“com”的名称服务器。
“com”的名称服务器拥有其所有子域(如“mydomain.com”、“yourdomain.com”等)的名称服务器的 IP 地址。它会将请求转发给“yourdomain.com”的名称服务器。 - “yourdomain.com”的名称服务器具有该域名的 IP 地址的 A 记录。这使其成为 权威名称服务器。
谁控制着您域名的名称服务器的 IP 地址?您自己。如果您从 GoDaddy 等注册商那里注册了“yourdomain.com”,您就可以登录到您的账户并更改名称服务器的 IP 地址。
这个序列有一个问题,那就是每次浏览器需要解析域名时,都会直接访问根服务器。所有这些服务器之间的通信也需要时间。
为了防止这种情况,浏览器和 DNS 服务器会缓存 DNS 查询的结果。为了确保这些缓存不会过期,权威名称服务器会设置一个 生存时间 (TTL),以秒为单位,在此之后缓存将清除旧结果。这意味着当您在名称服务器中更改记录时,浏览器可能需要一段时间才能反映您的更改。
您还会遇到的最后一个术语是 DNS 区域。这是由特定管理员控制的树的一部分。如果您控制“yourdomain.com”、“www.yourdomain.com”和“admin.yourdomain.com”,那么它们就属于您的 DNS 区域。
使用 Route 53 运行您自己的名称服务器
所有这些意味着,为了将您的域名指向您的负载均衡器,您需要您自己的名称服务器。然后,您可以在您的名称服务器中创建一个指向您负载均衡器的记录。
您可以通过 AWS Route 53 服务轻松创建名称服务器。它为您提供一个名称服务器加上 3 个副本,分布在世界各地的多个位置。这提供了出色的可用性。它的命名来源于端口 53,这是 DNS 服务器的 知名端口。
费用
Route 53 是付费服务,但价格不高(价格)。
将您的域名指向您的负载均衡器
以下步骤假定您已在 GoDaddy 等注册商处注册了域名。
- 登录 AWS。
- 点击 *服务* | *Route 53* | *DNS 管理* 下的 *立即开始* | *创建托管区域*。这将带您进入 *托管区域* 页面。
- 点击 *创建托管区域*。页面右侧会打开一个面板。
- 填写您的域名,例如“yourdomain.com”(不含引号)。点击 *创建*。这将为您创建自己的名称服务器(它们彼此之间都是副本)。
- 除了常规的 DNS 记录之外,Route 53 还允许您使用 别名记录集,这些是 AWS 特有的。它们本质上是将您的域名与您的负载均衡器关联起来的一种更便宜、更快捷的方式。
创建别名
- 点击 *创建记录集*(面板在右侧打开)
- 将 *别名* 设置为 *是*
- 点击 *别名目标* 控件。会出现一个下拉菜单。点击您的负载均衡器的域名。
- 点击 *创建*。
- NS 记录中的 4 个域名是您的名称服务器。登录您的注册商(如 GoDaddy)并查找可以管理您域名的区域。这应该包括您域名的名称服务器。用新的 AWS 名称服务器替换您在那里找到的域名。
NS 记录中的域名末尾有一个句点。在注册商账户中输入时,请省略它们。
DNS 和您的浏览器可能需要一些时间才能识别出名称服务器的更改。但一旦完成,您的域名就会指向您在 AWS 托管的网站。
后续章节
在 后续部分中,您将看到如何使用证书为您的网站提供安全连接(https 而非 http)。