第 8 步:部署示例代理

您在此步骤中执行的操作

Apigee 现已设置好,并且您的运行时实例已就位,您可以部署示例代理。在这一步中,部署和请求 API 代理的过程有所不同,具体取决于您是否在第 7 步:配置路由中为运行时选择了内部还是外部访问权限。

执行步骤

要部署示例代理,请执行以下操作

  1. (可选)为您的主机设置 DNS 条目。

    如果不这样做,您必须将请求发送到 IP 地址而不是易记的网址以命中新部署的 API 代理。

    要更轻松地访问代理,请尝试以下做法:

    • 将 IP 地址和主机名添加到主机文件。
    • 为环境中定义更易记的主机名,然后使用 Cloud DNS 将网址映射到 IP 地址。
  2. 如果您允许从外部访问 API 代理

    1. 打开 Apigee 预配向导(如果其当前未打开)。该向导随即会返回列表中最近的未完成任务。
    2. 建议后续步骤视图中,点击部署 API

      Apigee 开始部署示例 API 代理,称为 “Hello World”。

    3. 等待三到四分钟。

      部署过程是异步的,根据实例数量的不同,API 代理发布到整个集群可能需要几分钟的时间。

      您可以使用 Deployment API 检查部署的状态。

    4. 等待几分钟或确认部署过程已完成后,通过发送以下请求测试 API 代理:
      curl -i -H "Host: test-group.example.com" \
        https://PUBLIC_FACING_IP/helloworld

      其中:

      • Host 标头的值是您在第 6 步:创建环境中为环境组定义的主机名。
      • PUBLIC_FACING_IP 是充当实例的网关的负载平衡器的 IP 地址。您可以从向导获取此值。

      在此类测试场景中,请务必添加 -k 开关以指示 curl 跳过身份验证。如果不使用此选项,您会收到安全错误。

  3. 如果您仅允许对 API 代理进行内部访问,请参阅访问私有部署的 API 代理

成功请求的响应应如下所示:

HTTP/2 200
user-agent: curl/7.64.1
accept: */*
x-cloud-trace-context: 64a52e6SAMPLE75647424242c981905e/13734264850044428201
x-forwarded-for: 66.31.131.162, 34.107.161.149,10.138.0.3
x-forwarded-proto: https
x-request-id: 42454071-9080-4431-bef3-22918fd00ddb
x-b3-traceid: 29SAMPLEe5c045ed860463c085fca
x-b3-spanid: 5ed860463SAMPLE
x-b3-sampled: 0
content-length: 11
access-control-allow-origin: *
access-control-allow-headers: origin, x-requested-with, accept
access-control-max-age: 3628800
access-control-allow-methods: GET, PUT, POST, DELETE
content-type: text/plain
date: Mon, 20 Jul 2020 18:53:38 GMT
server: apigee
via: 1.1 google, 1.1 google
alt-svc: clear

Hello world%

如果请求不成功,请参阅问题排查

请注意,在上述过程中:

  • 如果您使用 DNS 设置负载平衡器,请使用主机名而不是目标机器的 IP 地址。例如:

    curl -i -H "Content-Type: application/json"
      "https://test-group.sandbox.apigeeks.net/helloworld"
  • 如果您在第 6 步:创建环境中发送了可选 PATCH 请求,请使用 “test-group-new.sandbox.apigeeks.net” 作为 hostname(而不是 “test-group”)。

    curl -i -k -H "Host:test-group-new.sandbox.apigeeks.net"
      "https://PUBLIC_LOAD_BALANCER_IP/$PROXY_BASEPATH"

访问私有部署的 API 代理

本部分介绍如何访问您在内部部署的 API 代理。(与外部可用或来自互联网任何机器的 API 代理相比。) 为此,您可以在集群中创建另一个虚拟机,然后从新虚拟机向 API 代理发送请求。

如需访问内部部署的 API 代理,请执行以下操作

  1. 在您的 VPC 网络中创建一个新虚拟机。您可以使用 Cloud Console 或 gcloud 来执行此操作。

    新虚拟机是指您从中向内部负载平衡器发送请求的机器。负载平衡器会将请求转发到新部署的 API 代理。

  2. 在新虚拟机上安装 curl 或其他 HTTP 客户端(如果未默认安装)。
  3. 打开与您刚创建的新虚拟机的安全连接。您可以通过 Cloud Console 或其他 SSH 客户端执行此操作。
  4. 在新虚拟机中,使用以下命令向 API 代理发送请求:
    curl -i -H "Content-Type: application/json"
      -H "Host: test-group.sandbox.apigeeks.net"
      https://INTERNAL_LOAD_BALANCER_IP/helloworld

如果您在此过程的这个过程中遇到错误,请参阅问题排查