在 API 中新增 SpikeArrest 政策

本頁內容適用於 ApigeeApigee Hybrid

查看 Apigee Edge 說明文件。

課程內容

在本教學課程中,您將學會如何:

  • 新增會影響要求和回應的政策。
  • 查看政策的影響。

事前準備

新增 SpikeArrest 政策

在本教學課程中,您將新增及設定 SpikeArrest 政策,防範因用量增加、用戶端錯誤或惡意攻擊而導致的流量突然暴增,保護目標服務。如果要求次數超過速率限制,API 會傳回 HTTP 429 錯誤。

如要將 SpikeArrest 政策新增至 API Proxy,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Apigee」>「Proxy 開發」>「API Proxy」頁面。

    前往「API Proxies」(API Proxy)

    如果您已完成「入門」教學課程,可以將這項政策新增至您在「建立 API Proxy」中建立的 API Proxy。

  2. 點選「Develop」分頁標籤。
  3. 在左側窗格中,按一下「政策」列中的「+」按鈕。
  4. 在「建立政策」對話方塊中,點選「選取政策類型」欄位,然後向下捲動至「流量管理」,並選取「SpikeArrest」

  5. 視需要變更政策的「名稱」和「顯示名稱」。 根據預設,Apigee 會為政策名稱提供簡短前置字串,在此案例中為 SA-。您可以在前置字串後方加上以連字號分隔的描述性字詞序列。請參閱「 命名慣例」。

    建立政策對話方塊。

    完成後,按一下「建立」即可建立政策。

現在您已建立尖峰流量防範政策,可以將其新增至 PreFlow 的步驟中。

  1. 在左側窗格中,依序選取「Proxy Endpoints」>「default」>「PreFlow」

    在 Proxy 探索器中選取 PreFlow 的目標端點。

    注意:您可能需要展開右側窗格中的視覺化編輯器,才能看到所有元素。 如要這麼做,請按一下並稍微向下拖曳視覺化編輯器和文字編輯器之間的分隔線。

  2. 在視覺化編輯器右下方的「Response」窗格中,點選「PreFlow」旁的「+」按鈕:

    在「Response」窗格中,點選「PreFlow」旁的「+」按鈕。

  3. 在「Add policy step」對話方塊中,選取「Spike Arrest」政策。
  4. 按一下「新增」即可附加政策。

    「Response」窗格現在會顯示「Spike Arrest」政策:

    「Response」窗格中顯示尖峰流量防範政策。

現在您已將尖峰流量防範政策附加至 PreFlow,可以試著變更政策的程式碼:

  1. 在「回應」窗格中,選取「SA-」

    「政策」分頁中顯示的尖峰流量防範政策。

  2. 文字編輯器會顯示 Proxy 的 XML 程式碼,包括 PreFlow 的 Response 元素中的 Spike Arrest 政策步驟。
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <SpikeArrest continueOnError="false" enabled="true" name="SA-">
        <DisplayName>SA-</DisplayName>
        <Properties/>
        <Identifier ref="request.header.some-header-name"/>
        <MessageWeight ref="request.header.weight"/>
        <Rate>30ps</Rate>
    </SpikeArrest>
  3. 在政策的 XML 中,將 <Rate> 元素的值變更為 1pm (這會轉換為雲端中每 60 秒允許約兩項要求)。

    你可以指定每分鐘 (pm) 或每秒 (ps) 的整數值。這是非常低的限制,僅用於本教學課程,以說明政策。通常會將上限設得高出許多。

    請注意,屬性檢查器中的 Rate 值也會變更為 1pm。 或者,您也可以在「Property Inspector」中變更「Rate」值,XML 檢視畫面就會反映這項變更。

  4. 按一下「儲存」,即可儲存目前的修訂版本和變更。