เพิ่มนโยบาย Spike Arrest ไปยัง API ของคุณ

คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่ เอกสารประกอบเกี่ยวกับ Apigee X.
ข้อมูล

สิ่งที่คุณจะได้เรียนรู้

ในบทแนะนำนี้ คุณจะได้เรียนรู้เกี่ยวกับสิ่งต่อไปนี้

  • เพิ่มนโยบายที่มีผลต่อคำขอและการตอบกลับ
  • ดูผลกระทบของนโยบาย

สิ่งที่คุณต้องมี

  • นโยบายอย่างน้อย 1 รายการในพร็อกซี (ซึ่งเป็นส่วนหนึ่งของบทแนะนำเริ่มต้นใช้งาน)
  • curl ติดตั้งในเครื่องของคุณเพื่อทำการเรียก API จากบรรทัดคำสั่ง

เพิ่มนโยบาย Spike Arrest

ในบทแนะนำนี้ คุณจะต้องเพิ่มและกำหนดค่านโยบาย SpikeArrest เพื่อป้องกันเป้าหมาย บริการต่อการเข้าชมที่เพิ่มขึ้นอย่างรวดเร็วอย่างฉับพลัน ซึ่งอาจเกิดจากการใช้งานที่เพิ่มขึ้น ไคลเอ็นต์ที่มีข้อบกพร่อง หรือการโจมตีที่เป็นอันตราย เมื่อจำนวนคำขอเกินขีดจำกัดอัตราคำขอ API จะแสดงผล ข้อผิดพลาด HTTP 500 สำหรับคำขอ

เพิ่มนโยบาย Spike Arrest ลงในพร็อกซี API ดังนี้

  1. ลงชื่อเข้าใช้ apigee.com/edge
  2. เลือก Develop > พร็อกซี API ในแถบนำทางด้านซ้าย
  3. เลือกพร็อกซี API ที่ต้องการเพิ่มนโยบาย Spike Arrest

    หากคุณทำตามบทแนะนำการเริ่มต้นใช้งานแล้ว คุณสามารถเพิ่มคู่มือลงใน "เริ่มต้นใช้งาน" พร็อกซีที่คุณสร้างขึ้นใน สร้าง พร็อกซี API

  4. ในตัวแก้ไขสำหรับพร็อกซี API ใหม่ ให้คลิกแท็บพัฒนา ดังนี้

    เครื่องมือแก้ไขพร็อกซี API จะช่วยให้คุณเห็นโครงสร้างของพร็อกซี API และกำหนดค่าการทำงานของพร็อกซี ตัวแก้ไขแสดงให้เห็นภาพคำขอและข้อความตอบกลับของพร็อกซีของคุณ ตลอดจนการแสดง XML ที่สำคัญซึ่งแก้ไขได้ ซึ่งกำหนดพร็อกซี

  5. ในแผงการนำทางด้านซ้าย ให้คลิก PreFlow ใต้พร็อกซี ปลายทาง > ค่าเริ่มต้น (บทแนะนำอื่นๆ จะครอบคลุมแนวคิดของ )
  6. คลิกปุ่ม +ขั้นตอน ด้านบนที่สอดคล้องกับคำขอขั้นตอนเบื้องต้น ช่วงเวลานี้ จะแสดงรายการที่จัดหมวดหมู่ของนโยบายทั้งหมดที่คุณสร้างได้

    คลิกขั้นตอนในคําขอล่วงหน้า

  7. เลือก Spike Arrest ในหมวดหมู่ Traffic Management นโยบายใหม่ จะปรากฏขึ้น

    สร้างนโยบาย Spike Arrest

  8. ปล่อยชื่อเริ่มต้นไว้ แล้วคลิกเพิ่ม นโยบายใหม่ที่แนบมากับ ขั้นตอน PreFlow ของคำขอ
  9. ใน Navigator ให้ตรวจสอบว่า PreFlow ภายใต้ปลายทางของพร็อกซี ค่าเริ่มต้นจะยังคงถูกเลือกอยู่และจดบันทึกข้อมูลต่อไปนี้ในเครื่องมือแก้ไขพร็อกซี API
    • นโยบาย Spike Arrest-1 ใหม่จะเพิ่มภายใต้นโยบายใน ตัวนำทางทางด้านซ้ายของเครื่องมือแก้ไขพร็อกซี API
    • เพิ่มไอคอน Spike Arrest-1 ลงในมุมมองนักออกแบบใน กึ่งกลางด้านบนของ API Proxy Editor ซึ่งเป็นการแสดงข้อมูลแบบภาพ การรับส่งข้อความของพร็อกซี
    • XML สำหรับนโยบายจะแสดงในมุมมองโค้ดใน ที่กึ่งกลางด้านล่างของ API Proxy Editor

    ดูนโยบาย PreFlow พร้อมการจับกุม

  10. ใน Navigator ให้เลือก Spike Arrest-1 ในส่วน "นโยบาย" และสังเกตฟิลด์ ต่อไปนี้ในเครื่องมือแก้ไขพร็อกซี API
    • รายละเอียดของนโยบายจะแสดงในมุมมองนักออกแบบที่ด้านบน ของเครื่องมือแก้ไขพร็อกซี API
    • XML สำหรับนโยบายจะแสดงในมุมมองโค้ดที่ด้านล่าง ของเครื่องมือแก้ไขพร็อกซี API
    • องค์ประกอบ XML และค่าแอตทริบิวต์สำหรับนโยบายจะแสดงใน Property Inspector ทางด้านขวาของเครื่องมือแก้ไขพร็อกซี API

  11. ใน XML สำหรับนโยบาย ให้เปลี่ยนค่าของ <Rate> องค์ประกอบถึง 13:00 น. (ซึ่ง หมายถึงอนุญาตประมาณ 2 คำขอทุกๆ 60 วินาทีในระบบคลาวด์)

    คุณสามารถระบุอัตราเป็นค่าจำนวนเต็มต่อนาที (pm) หรือต่อ วินาที (ps) ซึ่งเป็นขีดจำกัดที่ต่ำมากและใช้สำหรับบทแนะนำนี้เท่านั้น ที่บ่งบอกถึงนโยบาย โดยปกติคุณจะตั้งขีดจำกัดที่สูงกว่ามาก

    โปรดสังเกตว่าค่า Rate ในเครื่องมือตรวจสอบพร็อพเพอร์ตี้จะเปลี่ยนเป็น "13:00 น." ด้วย หรือจะเปลี่ยนค่าอัตราในเครื่องมือตรวจสอบที่พักก็ได้ และจะแสดงในมุมมอง XML

  12. คลิกบันทึกเพื่อบันทึกการแก้ไขปัจจุบันที่มีการเปลี่ยนแปลง
  13. เรียกใช้ API โดยใช้ curl โดยแทนที่ชื่อองค์กร Apigee ของคุณ สำหรับ org_name:

    curl "http://org_name-test.apigee.net/getstarted"

    เช่น

    curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool

    ตรวจสอบว่าคำขอประสบความสำเร็จและเห็นการตอบกลับ XML เหมือนกับก่อนหน้านี้ (หรือจะป้อนเฉพาะ URL ลงในเว็บเบราว์เซอร์ก็ได้)

  14. เรียกใช้คำสั่ง curl (หรือรีเฟรชหน้าต่างเบราว์เซอร์) อีก 2 หรือ 3 รายการ ภายใน 1 นาที และสังเกตเห็นว่าคุณได้รับข้อความต่อไปนี้ เนื่องจากคุณใช้เกิน ขีดจำกัดอัตราของนโยบาย:
    {
    "fault": {
      "faultstring":"Spike arrest violation. Allowed rate : 1pm",
      "detail": {
        "errorcode":"policies.ratelimit.SpikeArrestViolation"}
      }
    }

    หากพยายามโทรเพิ่มภายใน 1 นาที ก็ควรจะได้รับข้อผิดพลาดต่อไป

  15. แก้ไขนโยบายเพื่อตั้งขีดจำกัด <Rate> เป็น 15.00 น. (ซึ่งหมายถึงอนุญาตการโทร 2 ครั้งโดยประมาณทุก 4 วินาทีใน ระบบคลาวด์) แล้วบันทึกพร็อกซี API
  16. เรียกใช้คำสั่ง curl หรือรีเฟรชเบราว์เซอร์ซ้ำๆ (curl ทำงานเร็วกว่า) โปรดสังเกตว่าหากคุณโทร 1 หรือ 2 ครั้งภายใน 4 วินาที การโทรของคุณจะสำเร็จ หากคุณ โทรอย่างรวดเร็ว มากกว่า 2 ครั้งภายใน 4 วินาที คุณก็น่าจะจับผิดได้ แต่หลังจากนั้น ทุกๆ 4 วินาที คุณจะสามารถโทรออกได้ ไม่ใช่การถูกบล็อกสำหรับ ทั้งหมด (โดยใช้การตั้งค่า 13.00 น.)