Skip to content
Go back

AWS 知识点 - DNS、缓存与性能优化(包括 AWS Route 53)

| 0 Views Edit page

AWS DNS、缓存与性能优化(包括 AWS Route 53)相关知识点。


DNS (Domain Name System) 解析流程

一、DNS (Domain Name System) 解析流程

DNS (Domain Name System) 解析流程


亚马逊 Route 53

一、亚马逊 Route 53 基本原理

亚马逊 Route 53 基本原理

  • 托管区域 (Hosted zones) 存储对应域(及其子域)的所有 DNS 记录

二、亚马逊 Route 53 路由策略 (Routing Policy)

亚马逊 Route 53 路由策略 (Routing Policy)

三、亚马逊 Route 53 功能


Route 53 托管区域

一、Route 53 托管区域基本概念

公有托管区域(面向互联网)
私有托管区域(面向 VPC 内)

  • 创建 私有托管区域 需要指定关联的 VPC,同时开启 VPC 的启用 DNS 解析和启动 DNS 主机名
  • 私有托管区域 可以使用任何域名

二、迁移到 Route 53 或从 Route 53 迁移到其他提供商

Route 53 迁移

  • 可以将一个 AWS 账户下的 VPC 与另一个账户中创建的 Route 53 托管区域相关联
    1. 使用创建托管区域的账户,授权另一个账户的 VPC 与托管区域关联。
    2. 使用创建 VPC 的账户,将 VPC 与托管区域关联。

Route 53 记录 (Record) 和生存时间 (TTL)

一、Route 53 记录 (Record) 基本概念

Route 53 记录 (Record) 基本概念

  • 大部分权威 DNS 解析的服务商都不提供域名裸域又叫根域 (Root Record) 的 CNAME 解析
  • ALIAS 记录支持将流量路由到 AWS 服务,并支持在根域上创建别名记录

二、Route 53 生存时间 (TTL) 基本概念

Route 53 生存时间 (TTL) 基本概念

  • 在 TTL 内 DNS 记录会缓存在客户本地
  • 缓存过期后客户端会再次请求 Route 53 获取 IP 地址

Route 53 路由策略

一、简单路由策略 (Simple routing policy)

简单路由策略 (Simple routing policy)

  • 简单路由策略 (Simple routing policy) 无法附加健康状况检查

二、加权路由策略 (Weighted routing policy)

加权路由策略 (Weighted routing policy)

  • 加权路由策略 (Weighted routing policy) 适合软件新版本测试

    将少部分流量路由到新版本。

  • 可以关联健康状态检查
  • 可以跨 AWS 区域 分配流量

三、故障转移路由策略 (Failover routing policy)

故障转移路由策略 (Failover routing policy)

  • 可以关联健康状态检查

四、基于延迟的路由策略 (Latency routing policy)

基于延迟的路由策略 (Latency routing policy)

  • 基于用户到 AWS 区域 的延迟
  • 可以关联健康状态检查

五、地理位置路由策略 (Geolocation routing policy)

地理位置路由策略 (Geolocation routing policy)

  • 适用于内容本地化,或是网站或业务只服务于某些国家的需求

六、多值应答路由策略 (Multivalue answer routing policy)

多值应答路由策略 (Multivalue answer routing policy)


亚马逊 CloudFront、源站和地理限制

一、Amazon CloudFront 基本概念

Amazon CloudFront 基本概念

  • 提供 DDoS 攻击防护,集成了 AWS ShiedlWAF

二、Amazon CloudFront 源站 (Origins)

Amazon CloudFront 源站 (Origins)

  • 支持源站类型:
    • S3 存储桶
      • 静态文件的上传读取场景
      • 通过配置源访问身份 (OAI, Origin Access Identity) 只允许通过 CloudFront 访问存储桶内文件,防止用户对 S3 存储桶的直接访问
    • S3 网站
      • 需要开启 S3 存储桶的静态网站托管 (static website hosting) 配置
    • 自定义源站
  • 可以通过指定一个主源和一个备用源实现高可用
  • 边缘节点没有内容的情况下 CloudFront 才会访问源站获取内容并缓存

三、Amazon CloudFront 使用 S3 作为源站样例

Amazon CloudFront 使用 S3 作为源站样例

  • 使用 S3 作为源站才能使用 AWS 私有专线回源

四、Amazon CloudFront 使用 EC2 或 ALB 作为源站样例

Amazon CloudFront 使用 EC2 或 ALB 作为源站样例

  • EC2 必须能从公网被访问(可以限制来源 IP 仅为 CloudFront 边缘节点的公网 IP)
  • ⚠ 使用 EC2ALB 作为源站时是使用互联网回源的,而非 AWS 私有专线

五、CloudFront 和 S3 跨区域复制的区别

CloudFront 和 S3 跨区域复制的区别

六、CloudFront 地理限制功能 (GEO Restriction)

CloudFront 地理限制功能 (GEO Restriction)

  • 根据第三方 GeoIP 数据库确定用户位置,并限制其访问

CloudFront 签名 URL (signed URLs) 和签名 Cookie (signed cookies)

CloudFront 签名 URL (signed URLs) 和签名 Cookie (signed cookies) 基本概念

  • 基本功能都是限制部分用户能否访问 CloudFront 内容
  • 签名 URL (signed URLs) 适合限制对单个文件的访问
  • 签名 Cookie (signed cookies) 适合限制对多个文件的频繁访问

二、CloudFront 签名 URL (signed URLs) 工作流

签名 Cookie (signed cookies) 的工作流基本一样。

CloudFront 签名 URL (signed URLs) 工作流

三、CloudFront 签名 URL 与 S3 预签名 URL (Presigned URLs) 的区别

CloudFront 签名 URL 与 S3 预签名 URL (Presigned URLs) 的区别


CloudFront Lambda@Edge

一、CloudFront Lambda@Edge 基本概念

CloudFront Lambda@Edge 基本概念 01
CloudFront Lambda@Edge 基本概念 02

  • Lambda 函数部署在 CloudFront 分配的边缘节点上
  • 发生四种 CloudFront 事件时,可以执行 Lambda 函数:
    1. 查看器请求 (Viewer request)
    2. 源请求 (Origin request)
    3. 源响应 (Origin response)
    4. 查看器响应 (Viewer response)
  • Lambda@Edge 没有缓存

二、CloudFront Lambda@Edge 认证和授权案例

CloudFront Lambda@Edge 认证和授权案例

  • 检查认证和授权工作运行在世界各地的边缘节点上

三、CloudFront Lambda@Edge 其他使用案例

CloudFront Lambda@Edge 其他使用案例


AWS Global Accelerator

一、AWS Global Accelerator 基本概念

AWS Global Accelerator 基本概念

  • 大致流程:
    1. Route 53 的 ALIAS 记录指向 Global Accelerator
    2. 用户请求域名的 DNS 记录时,Route 53 就会返回两个静态的、任播 IP 地址
    3. 用户访问这两个 IP 中的其中一个,先到最近的边缘节点
    4. 之后再前往 Global Accelerator
    5. 最后通过 AWS 全球网络被路由到最佳的应用程序节点
  • 只有用户到边缘节点的网络经过互联网,因此整体网络质量会高很多

架构模式之 DNS、缓存与性能优化

架构模式之 DNS、缓存与性能优化 01
架构模式之 DNS、缓存与性能优化 02

请求和响应行为 (Behaviour)


Edit page