Skip to main content

CloudWatch Synthetics Canary

An image

CloudWatch Synthetics Canary ช่วยให้คุณสร้างสคริปต์ที่ปรับแต่งได้เพื่อรันจาก CloudWatch สำหรับตรวจสอบ API, URL หรือเว็บไซต์ ของคุณ สคริปต์เหล่านี้สามารถจำลองการกระทำของลูกค้าได้อย่างอัตโนมัติ

ตัวอย่างเช่น หากลูกค้าเข้าชมหน้าเว็บสินค้า เพิ่มสินค้าลงในตะกร้า ดำเนินการชำระเงิน ใส่รายละเอียดบัตรเครดิต และทำการซื้อ คุณสามารถทดสอบและจำลองขั้นตอนเหล่านี้ทั้งหมดด้วย CloudWatch Synthetics Canary

หากสคริปต์ล้มเหลวในขั้นตอนไหน นั่นหมายถึงมีปัญหา ซึ่งช่วยให้คุณตรวจพบปัญหาก่อนที่ลูกค้าจะเจอ ทำให้มั่นใจได้ว่ากระบวนการทำงานต่าง ๆ ของแอปพลิเคชันถูกต้อง

CloudWatch Synthetics Canary ยังสามารถตรวจสอบ ความพร้อมใช้งานและความหน่วงของ endpoints, บันทึกเวลาโหลดหน้าเว็บ, และแม้แต่ถ่ายภาพหน้าจอของ UI

ตัวอย่างการใช้งาน

สมมติว่าแอปพลิเคชันถูก deploy ใน region us-east-1 CloudWatch Synthetics Canary ตรวจสอบแอปพลิเคชันนี้ หากพบความล้มเหลว CloudWatch Alarm จะ trigger ฟังก์ชัน Lambda

ฟังก์ชัน Lambda สามารถอัปเดต DNS record ใน Route 53 เพื่อชี้ไปยัง instance ใน us-west-2 โดยอัตโนมัติ ทำให้ traffic ถูกเปลี่ยนไปยังเวอร์ชันแอปที่ใช้งานได้ ซึ่งนี่เป็นตัวอย่างของการ failover อัตโนมัติ โดยใช้ CloudWatch Synthetics Canary

การพัฒนาและรันสคริปต์

สคริปต์ที่ Canary รันสามารถเขียนได้ใน Node.js หรือ Python นอกจากนี้ Synthetics Canary ยังให้คุณใช้งาน headless Google Chrome เพื่อทำทุกอย่างที่ปกติทำในเบราว์เซอร์ได้โดยตรง

คุณสามารถรันสคริปต์ ครั้งเดียว หรือ ตามกำหนดเวลา เพื่อเช็คความพร้อมใช้งานของ endpoints อย่างต่อเนื่อง

Blueprints ที่มีให้ใช้งาน

CloudWatch Synthetics มี blueprints หลายแบบเพื่อเริ่มต้นใช้งาน:

  • Heartbeat Monitor: โหลด URL, บันทึก screenshot และ HTTP archive, ตรวจสอบว่าเว็บทำงานถูกต้อง
  • API Canary: ทดสอบฟังก์ชัน read/write ของ REST API
  • Broken Link Checker: ตรวจสอบว่าลิงก์ทั้งหมดบน URL ที่ตรวจสอบไม่เสีย
  • Visual Monitoring: เปรียบเทียบ screenshot ระหว่าง run ปัจจุบันกับ baseline ที่บันทึกไว้
  • Canary Recorder: ใช้บันทึกการกระทำบนเว็บไซต์และสร้างสคริปต์อัตโนมัติให้รันบน Canary
  • GUI Workflow Builder: ตรวจสอบการทำงานของเว็บ เช่น การ submit login form

สรุป

CloudWatch Synthetics Canary เป็นเครื่องมือที่ทรงพลังสำหรับตรวจสอบ ฟังก์ชันและความพร้อมใช้งานของเว็บแอปและ API โดยจำลองการกระทำของผู้ใช้และทำการตรวจสอบอัตโนมัติ

Key Takeaways

  • CloudWatch Synthetics Canary ช่วยสร้างสคริปต์เพื่อตรวจสอบ API, URL และเว็บไซต์โดยจำลองการกระทำของลูกค้า
  • สคริปต์ Canary เขียนได้ด้วย Node.js หรือ Python และรันผ่าน headless Google Chrome
  • รองรับการรันตามกำหนดเวลา, ถ่าย screenshot, บันทึกเวลาโหลด, และตรวจสอบความพร้อมใช้งานและความหน่วงของ endpoints
  • สามารถรวมกับ CloudWatch Alarms และ AWS Lambda เพื่อทำการตอบสนองอัตโนมัติ เช่น การอัปเดต DNS สำหรับ failover