设置媒体 CDN 服务

本快速入门介绍如何在 Cloud Storage 存储桶前面设置媒体 CDN 服务。您可以使用此配置进行测试,也可以将其作为生产环境的基础。

本页将引导您完成以下步骤:

  1. 创建 Cloud Storage 存储桶以存储您的内容。
  2. 启用必需的服务。
  3. 创建 EdgeCacheOrigin 资源,以将媒体 CDN 连接到您的存储桶。
  4. 创建 EdgeCacheService 资源,以配置来源中内容的请求路由和缓存。
  5. 测试是否正在缓存响应。

准备工作

确保您满足以下要求:

所需的角色

如需获得完成本文档中的任务所需的权限,请让您的管理员为您授予以下角色:

  • roles/networkservices.edgeCacheAdmin:有权创建、更新、删除和管理所有 Edge Cache 资源。
  • roles/networkservices.edgeCacheUser:查看和使用 Edge Cache 资源的权限。
  • roles/networkservices.edgeCacheViewer:对 Edge Cache 资源的只读权限。

创建存储桶

在媒体 CDN 上启用 SSL

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

创建 Cloud Storage 存储桶

媒体 CDN 内容可来自 Cloud Storage 存储桶、第三方存储位置或负载平衡器等位置。

在此快速入门中,我们将内容存储在 Cloud Storage 存储桶中。

  1. 创建一个可公开访问的 Cloud Storage 存储桶,并将其命名为 my-bucket

    如果您不想让 Cloud Storage 存储桶可公开访问,则必须向 Media CDN 授予访问该存储桶的权限。如需了解详情,请参阅使用私有 Cloud Storage 存储分区

  2. 将文件上传到存储桶中。

启用必需的服务

如需配置和部署媒体 CDN 服务,您需要在项目中同时启用 Network Services APICertificate Manager API

控制台

  1. 启用 Network Services API。

    启用该 API

  2. 启用 Certificate Manager API。

    启用该 API

gcloud

  1. 启用 Network Services API:

    gcloud services enable networkservices.googleapis.com
    
  2. 启用 Certificate Manager API:

    gcloud services enable certificatemanager.googleapis.com
    

如需详细了解如何启用和停用服务,请参阅Service Usage 文档

创建 EdgeCacheOrigin 资源

创建指向 Cloud Storage 存储桶的源。

控制台

  1. 在 Google Cloud 控制台中,前往 Media CDN 页面。

    前往媒体 CDN

  2. 点击来源标签页。

  3. 点击创建源站

  4. 输入来源的名称,例如 cloud-storage-origin

  5. 可选:输入来源的说明。

  6. 来源地址部分,选中选择 Google Cloud Storage 存储桶,浏览到名为 my-bucket 的 Cloud Storage 存储桶,然后点击选择

    如果您有外部来源,请选择指定 FQDN 或 IP 地址,然后输入 FQDN 或 IP 地址。

  7. 点击创建源站

大约 10 分钟后,新创建的 EdgeCacheOrigin 资源会显示在项目“源站”页面上的源站列表中。

如需更新发货地址,请点击相应发货地址,然后点击修改

gcloud

使用 gcloud edge-cache origins create 命令

gcloud edge-cache origins create ORIGIN \
    --origin-address="ADDRESS"

替换以下内容:

  • ORIGIN:新来源的名称
  • ADDRESS:存储桶名称,gs://my-bucket

如果您使用的是外部来源,请将 ADDRESS 替换为 FQDN 或 IP 地址。

如需查看新创建的来源,请使用 gcloud edge-cache origins list 命令

如需更新来源地址,请使用 gcloud edge-cache origins update 命令

API

使用 edgeCacheOrigins.create 方法

POST https://networkservices.googleapis.com/v1/PARENT/edgeCacheOrigins?edgeCacheOriginId=ORIGIN_ID
{
  "name": "ORIGIN_ID",
  "originAddress: "ADDRESS"
}

替换以下内容:

  • PARENT:父级资源,格式为 projects/PROJECT/locations/global
  • ORIGIN_ID:新来源的简称
  • ADDRESS:存储桶名称,gs://my-bucket

    如果您使用的是外部来源,请将 ADDRESS 替换为 FQDN 或 IP 地址。

如需查看新创建的来源,请使用 edgeCacheOrigins.list 方法

如需更新来源地址,请使用 edgeCacheOrigins.patch 方法

Terraform

resource "google_network_services_edge_cache_origin" "default" {
  name           = "cloud-storage-origin"
  origin_address = "gs://my-bucket-${random_id.unique_suffix.hex}"
}

创建 EdgeCacheService 资源

EdgeCacheService 资源用于配置路由、证书和缓存设置,并且可以指向 EdgeCacheOrigin 资源。

创建一个基本的 EdgeCacheService 资源,该资源执行以下操作:

  • 将配置的源站的所有响应缓存一小时
  • 设置 x-cache-status 响应标头,以返回缓存状态(例如 HITMISS

(可选)为此服务注册域名

控制台

  1. 在 Google Cloud 控制台中,前往 Media CDN 页面。

    前往媒体 CDN

  2. 点击 Services(服务)标签。

  3. 点击创建服务

  4. 为您的服务输入一个唯一名称(例如 my-service),然后点击下一步

  5. 路由部分,点击添加主机规则,然后输入一个或多个主机网域名称。

  6. 对于主机,请输入主机域名,例如 web.example.com

  7. 点击添加路由规则

    1. 对于优先级,指定 1
    2. 点击添加匹配条件,对于路径匹配,指定 /,然后点击完成
    3. 选择从来源提取,然后选择您配置的源站。
    4. 点击附加操作
    5. 标头操作中,点击添加内容。然后,执行以下操作:
      1. 对于类型,选择要添加的响应标头
      2. 点击添加标头
      3. 对于名称,请指定 x-cache-status;对于,请指定 {cdn_cache_status}
      4. 点击完成
    6. 对于路由操作,点击添加内容。然后,执行以下操作:
      1. 对于类型,选择 CDN 政策
      2. 对于缓存模式,选择 FORCE_CACHE_ALL
      3. 点击完成
    7. 点击保存
  8. 点击创建服务

新创建的 EdgeCacheService 资源会显示在服务页面上,位于项目中的服务列表中。