使用环境组

本页面适用于 ApigeeApigee Hybrid

查看 Apigee Edge 文档。

本部分介绍如何使用 Apigee 创建和修改环境组,包括将环境或主机名添加到环境组,或者移除它们。如需详细了解环境组及其工作原理,请参阅环境和环境组概览

创建环境组

您可以使用 Apigee 界面Apigee API 创建新的环境组。本部分对两种方法都进行了介绍。

当您首次创建环境组时,它不包含任何环境。但是,它定义了默认主机名:example.group-name。要向环境组添加环境,请参阅向环境组添加环境

Cloud 控制台中的 Apigee

如需在 Cloud 控制台的 Apigee 中创建新的环境组,请执行以下操作:

  1. 在浏览器中打开 Cloud 控制台中的 Apigee 界面
  2. 在左侧导航窗格中依次选择管理 > 环境
  3. 环境窗格中,选择环境组
  4. 点击 + 创建环境组
  5. 输入以下内容:
    • 环境组名称:环境组的名称。名称必须以字母数字字符开头和结尾。最多可包含 63 个字符,由字母数字字符和连字符组成。名称必须与组织中的任何现有环境组名称不同。
    • 主机名:可用于调用代理的主机名列表。 每个主机名都必须单独列为一行。

      您还可以选择点击配置这些网域的 Google 负载均衡器。 此操作会打开 Cloud 控制台中的负载均衡页面,您可以在其中为主机名配置负载均衡。

    • 环境:(可选)要包含在环境组中的环境列表。
  6. 点击创建

经典版 Apigee

如需在经典版 Apigee 界面中创建新的环境组,请执行以下操作:

  1. Apigee 界面中,选择 Admin > Environments > Groups
  2. 点击 + 环境组

    添加环境按钮

    此时会显示添加环境组对话框。

  3. 输入新环境组的名称:

    添加环境组

    名称只能包含小写字母、数字和连字符。此外,它必须以字母开头,长度至少为两个字符,并且不能以连字符结尾。有效名称包括 my-env-groupprod2

  4. 点击添加

    Apigee 会创建一个新的环境组。这个操作通常比较迅速。

    操作成功后,Apigee 会确认该组已创建,横幅如下所示:

    群组确认横幅

    Apigee 也会向新组分配默认主机名。

  5. (可选)点击该组对应的 ,为新组分配其他主机名。

    Apigee 会显示环境组详细信息窗格:

    环境组详细信息

  6. 将主机名添加到主机名字段。每个主机名都必须单独列为一行。
  7. 完成之后请点击保存

    您可以按照相同的步骤随时在此列表中添加或移除主机名。

Apigee API

如需使用 Apigee API 创建新的环境组,请向 Create environment Groups API 发送 POST 请求。在调用 API 之前,请确保您拥有有效的令牌,如获取 OAuth 2.0 访问令牌中所述。

以下示例 curl 命令显示了创建新组的语法:

curl -i $TOKEN -X POST \
  https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups?name=new-group-name

指定新组的名称时,您只能使用小写字母、数字和连字符(a-zA-Z-)。您不能使用大写字母或除连字符以外的其他任何特殊字符。此外,该名称必须以小写字母开头。

如果您没有指定其他参数,则此命令将创建一个新组并且不向其分配主机名。

您也可以在创建组时分配主机名,具体方法是在请求正文中指定主机名数组。

以下示例会创建一个新组 my-group,并向该新组分配三个新主机名:

curl -i $TOKEN -X POST \
  https://apigee.googleapis.com/v1/organizations/org_name/envgroups?name=my-group \
  -d '{ \
    "hostnames": ["server1.mycompany.com", "server2.mycompany.com", "10.1.142.8"] \
  }'

稍后,您可以通过向 Patch environment groups API 发送 PATCH 请求来更改列表中的主机名。

将环境添加到环境组

无法访问非环境组中的环境,因为没有与其相关联的主机名。主机名是为环境组(而不是环境)定义的。使用 Google Cloud 控制台中的 Apigee 界面创建环境时,您可以选择将环境分配给现有环境组。如需了解详情,请参阅在界面中创建新环境

如果您在创建环境期间未将环境分配给环境组,则本部分介绍如何使用 Apigee 界面或 Apigee API 将未分配的环境添加到环境组。

Cloud 控制台中的 Apigee

如需在 Cloud 控制台的 Apigee 中向环境组添加环境,请执行以下操作:

  1. 按照创建环境中的说明创建环境。
  2. Cloud 控制台的 Apigee 界面中,在左侧导航窗格选择管理 > 环境
  3. 环境窗格中,选择环境组
  4. 在环境组所在的行中,点击操作下的三点状菜单,然后选择修改
  5. 修改环境组窗格中的环境(可选)下,选择要添加到环境组的环境。
  6. 点击更新

经典版 Apigee

如需在经典版 Apigee 界面中向环境组添加环境,请执行以下操作:

  1. 按照创建环境中的说明创建环境。
  2. Apigee 界面中,选择 Admin > Environments > Groups
  3. 未分配 (Unassigned) 下查看不属于环境组的环境的列表:

    查看未分配的环境

    请注意哪些您要分配的环境尚未分配。
  4. 点击您要向其添加环境的环境组旁边的

    环境组详细信息窗格会显示以下内容:

    群详细信息窗格

  5. 如需向该组添加新环境,请点击环境列表中的 +

    系统会显示添加环境窗格:

    将环境添加到群组对话框

  6. 选择要添加到该组的环境,然后点击添加

    Apigee 会将环境添加到组中。

Apigee API

如需使用 Apigee API 向环境组添加新环境,请向环境组连接 API 发送 POST 请求,如以下示例所示:

curl -H "Authorization: Bearer $TOKEN" -X POST
  "https://apigee.googleapis.com/v1/organizations/my-org/envgroups/test-group/attachments"
  -d '{
    "name": "my-attachment",
    "environment": "test"
  }'

其中:

  • $TOKEN 设置为您的 OAuth 2.0 访问令牌,如获取 OAuth 2.0 访问令牌中所述。
  • 请求的正文包含连接的名称以及新环境的名称。

请求正文包含 EnvironmentGroupAttachment 资源的实例,该资源是单个环境的简单封装容器。

如果成功,响应会包含有关新连接的详细信息,包括创建时间戳;例如:

{
  "name": "my-attachment",
  "environment": "test"
  "createdAt": "42"
}

从环境组中移除环境

您可以使用 Apigee 界面或 Apigee API 从环境组中移除环境。

Cloud 控制台中的 Apigee

如需在 Cloud 控制台的 Apigee 中从环境组中移除环境,请执行以下操作:

  1. Cloud 控制台的 Apigee 界面中,在左侧导航窗格选择管理 > 环境
  2. 环境窗格中,选择环境组
  3. 在环境组所在的行中,点击操作下的三点状菜单,然后选择修改
  4. 修改环境组窗格中的环境(可选)下,取消选择要从环境组中移除的环境。
  5. 点击更新

经典版 Apigee

如需在经典版 Apigee 界面中从环境组中移除环境,请执行以下操作:

  1. Apigee 界面中,依次选择管理 > 环境 > 概览
  2. 选择要移除的环境。
  3. 群组窗格中,将光标移到要从中移除环境的群组的末尾,然后点击 垃圾箱图标

Apigee API

如需使用 Apigee API 从环境组中移除环境,请使用 EnvironmentGroupAttachment 资源中的 delete 方法删除与环境对应的附件。

删除环境组

您可以使用 Apigee 界面或 API 来删除环境组。

Cloud 控制台中的 Apigee

如需在 Cloud 控制台的 Apigee 中删除环境组,请执行以下操作:

  1. Cloud 控制台的 Apigee 界面中,在左侧导航窗格选择管理 > 环境
  2. 环境窗格中,选择环境组
  3. 在环境组所在的行中,点击操作下的三点状菜单,然后选择删除

经典版 Apigee

如需在经典版 Apigee 界面中删除环境组,请执行以下操作:

  1. Apigee 界面中,选择 Admin > Environments > Groups
  2. 将光标移至要删除的群组的窗格。
  3. 点击 垃圾箱图标 图标。

Apigee API

如需使用 Apigee API 删除环境组,请使用 EnvironmentGroup 资源中的 delete 方法。

向组添加主机名

创建组时,Apigee 会添加默认主机名 example.GROUP_NAME。您可以按照本部分中的说明将主机名添加到组中。

您在环境组上定义的主机名:

  • 在组织的所有环境组中必须是唯一的;不能被多个组使用
  • 不支持通配符
  • 基本路径在主机中必须是唯一的(同一主机中的两个代理不能具有相同的基本路径)

Cloud 控制台中的 Apigee

如需在 Cloud 控制台的 Apigee 中将主机名添加到环境组,请执行以下操作:

  1. Cloud 控制台的 Apigee 界面中,在左侧导航窗格选择管理 > 环境
  2. 环境窗格中,选择环境组
  3. 在环境组所在的行中,点击操作下的三点状菜单,然后选择修改
  4. 修改环境组窗格中的主机名下,输入要添加到环境组的主机名。
  5. 点击更新

经典版 Apigee

如需在经典版 Apigee 界面中将主机名添加到环境组,请执行以下操作:

  1. Apigee 界面中,选择 Admin > Environments > Groups
  2. 将鼠标悬停在该组的卡片上,然后选择

    环境组详细信息窗格会显示以下内容:

    群详细信息窗格

  3. 主机名字段中,输入您的新主机。
  4. 点击保存以将新主机添加到组中。

Apigee API

如需使用 Apigee API 将主机名添加到环境组,请向 Patch environment groups API 发送 PATCH 请求。请务必将 updateMask 参数设置为 hostnames,并指定所需主机名的完整列表:请求中该字段的值将替换现有列表。

以下示例为测试环境设置主机名:

curl -H "Authorization: Bearer $TOKEN" -X PATCH
  "https://apigee.googleapis.com/v1/organizations/my-org/envgroups/test-group?hostnames=updateMask"
  -d '{
    "name": "my-hostnames",
    "hostnames": [
      "test-1.example.com",
      "test-2.example.com",
      "test-3.example.com"
    ]
  }'

其中:

  • $TOKEN 设置为您的 OAuth 2.0 访问令牌,如获取 OAuth 2.0 访问令牌中所述。
  • 请求的载荷指定主机名连接数组的名称以及名称数组本身。

如果请求成功,响应将包含操作资源

确定是否为主机名配置了 Cloud 负载均衡器

您可以使用以下命令调用代理:

curl -v https://YOUR_ENV_GROUP_HOSTNAME/myproxy

其中,YOUR_ENV_GROUP_HOSTNAME 是包含代理部署环境的环境组的主机名。为此,您必须为环境组主机名配置 Cloud 负载均衡器。通常,负载均衡器会在您首次预配 Apigee 时进行配置。如需确定是否已为主机名配置负载均衡器,请执行以下操作:

  1. 管理 > 环境 > 组视图中,点击主机名的环境组右侧的修改图标。
  2. 点击配置这些网域的 Google 负载均衡器。系统随即会转到 Google Cloud Platform“负载均衡”页面。

    Google Cloud Platform 中的“负载均衡”页面

  3. 点击名称列中的负载均衡器名称。如果 Apigee 是通过预配向导进行预配的,则负载均衡器的名称将为 apigee-proxy-url-map。如果您没有看到该名称,请与您组织内负责预配 Apigee 的系统管理员联系。

    点击该名称时,系统会显示负载均衡器详情页面:

    Google Cloud Platform 中的“负载均衡器详细信息”页面

  4. 前端表中,点击证书列中的 SSL 证书,然后查找与主机名匹配的 SSL 证书:
    • 如果证书类型代管式,请检查证书的 DNS 主机名字段是否与主机名匹配。
    • 如果证书类型不是代管式,您可能需要下载证书并检查其公用名是否与主机名匹配。

如果您在任何证书中都找不到主机名,请与您的系统管理员联系以获取进一步帮助。