ประสิทธิภาพตามขนาด: เรื่องราวของการเพิ่มประสิทธิภาพต้นทุนของ AWS

เผยแพร่แล้ว: 2022-07-22

ฉันเพิ่งเปิดตัวแพลตฟอร์มการวิเคราะห์สกุลเงินดิจิทัล โดยคาดว่าจะมีผู้ใช้รายวันจำนวนไม่มาก อย่างไรก็ตาม เมื่อผู้ใช้ YouTube ยอดนิยมบางคนพบว่าไซต์นี้มีประโยชน์และเผยแพร่บทวิจารณ์ การเข้าชมก็เพิ่มขึ้นอย่างรวดเร็วจนทำให้เซิร์ฟเวอร์ทำงานหนักเกินไป และแพลตฟอร์ม (Scalper.AI) ก็ไม่สามารถเข้าถึงได้ สภาพแวดล้อม AWS EC2 ดั้งเดิมของฉันต้องการการสนับสนุนเพิ่มเติม หลังจากพิจารณาโซลูชันที่หลากหลาย ฉันตัดสินใจใช้ AWS Elastic Beanstalk เพื่อปรับขนาดแอปพลิเคชันของฉัน สิ่งต่างๆ ดูดีและดำเนินไปอย่างราบรื่น แต่ฉันรู้สึกทึ่งกับค่าใช้จ่ายในหน้าแดชบอร์ดการเรียกเก็บเงิน

นี่ไม่ใช่เรื่องแปลก การสำรวจในปี 2564 พบว่า 82% ของผู้มีอำนาจตัดสินใจด้านไอทีและคลาวด์พบค่าใช้จ่ายเกี่ยวกับคลาวด์โดยไม่จำเป็น และ 86% ไม่รู้สึกว่าสามารถเห็นภาพรวมของการใช้จ่ายบนคลาวด์ทั้งหมดได้ แม้ว่า Amazon จะเสนอภาพรวมโดยละเอียดของค่าใช้จ่ายเพิ่มเติมในเอกสารประกอบ แต่รูปแบบการกำหนดราคาก็ซับซ้อนสำหรับโครงการที่กำลังเติบโต เพื่อให้เข้าใจง่ายขึ้น เราจะแยกรายละเอียดการเพิ่มประสิทธิภาพที่เกี่ยวข้องบางส่วนเพื่อลดต้นทุนระบบคลาวด์ของคุณ

ทำไมฉันถึงเลือก AWS

เป้าหมายของ Scalper.AI คือการรวบรวมข้อมูลเกี่ยวกับคู่สกุลเงินดิจิทัล (สินทรัพย์ที่แลกเปลี่ยนเมื่อทำการซื้อขายในการแลกเปลี่ยน) ดำเนินการวิเคราะห์ทางสถิติ และให้ข้อมูลเชิงลึกเกี่ยวกับสถานะของตลาดแก่ผู้ค้า crypto โครงสร้างทางเทคนิคของแพลตฟอร์มประกอบด้วยสามส่วน:

  • สคริปต์การนำเข้าข้อมูล
  • เว็บเซิร์ฟเวอร์
  • ฐานข้อมูล

สคริปต์การส่งผ่านข้อมูลจะรวบรวมข้อมูลจากแหล่งต่างๆ และโหลดลงในฐานข้อมูล ฉันมีประสบการณ์ในการทำงานกับบริการของ AWS ดังนั้นฉันจึงตัดสินใจปรับใช้สคริปต์เหล่านี้โดยการตั้งค่าอินสแตนซ์ EC2 EC2 มีอินสแตนซ์หลายประเภทและให้คุณเลือกโปรเซสเซอร์ พื้นที่เก็บข้อมูล เครือข่าย และระบบปฏิบัติการของอินสแตนซ์ได้

ฉันเลือก Elastic Beanstalk สำหรับฟังก์ชันที่เหลือเพราะสัญญาว่าการจัดการแอปพลิเคชันจะราบรื่น ตัวจัดสรรภาระงานจะกระจายภาระไปยังอินสแตนซ์ของเซิร์ฟเวอร์ของฉันอย่างเหมาะสม ในขณะที่คุณสมบัติการปรับขนาดอัตโนมัติจะจัดการกับการเพิ่มอินสแตนซ์ใหม่เพื่อเพิ่มภาระงาน การปรับใช้การอัปเดตทำได้ง่ายมาก โดยใช้เวลาเพียงไม่กี่นาที

Scalper.AI ทำงานได้อย่างเสถียร และผู้ใช้ของฉันไม่ต้องเสียเวลาหยุดทำงานอีกต่อไป แน่นอน ฉันคาดว่าจะมีการใช้จ่ายเพิ่มขึ้นตั้งแต่ฉันเพิ่มบริการพิเศษ แต่ตัวเลขนั้นมากกว่าที่ฉันคาดไว้มาก

ฉันจะลดต้นทุนระบบคลาวด์ได้อย่างไร

เมื่อมองย้อนกลับไป มีหลายพื้นที่ที่มีความซับซ้อนในการใช้บริการ AWS ของโปรเจ็กต์ของฉัน เราจะตรวจสอบการเพิ่มประสิทธิภาพงบประมาณที่ฉันค้นพบขณะทำงานกับคุณสมบัติทั่วไปของ AWS EC2: อินสแตนซ์ประสิทธิภาพที่ขยายได้ การถ่ายโอนข้อมูลขาออก ที่อยู่ IP แบบยืดหยุ่น และสถานะการสิ้นสุดและหยุด

อินสแตนซ์ประสิทธิภาพที่ขยายได้

ความท้าทายแรกของฉันคือการสนับสนุนการใช้พลังงานของ CPU สำหรับโครงการที่กำลังเติบโตของฉัน สคริปต์การนำเข้าข้อมูลของ Scalper.AI ให้ผู้ใช้วิเคราะห์ข้อมูลแบบเรียลไทม์ สคริปต์ทำงานทุก ๆ สองสามวินาทีและป้อนแพลตฟอร์มด้วยการอัปเดตล่าสุดจากการแลกเปลี่ยน crypto การทำซ้ำของกระบวนการนี้แต่ละครั้งจะสร้างงานแบบอะซิงโครนัสหลายร้อยงาน ดังนั้นการรับส่งข้อมูลที่เพิ่มขึ้นของไซต์จึงจำเป็นต้องใช้พลังงาน CPU มากขึ้นเพื่อลดเวลาในการประมวลผล

อินสแตนซ์ที่ถูกที่สุดที่ AWS เสนอพร้อม vCPU สี่ตัว a1.xlarge จะมีค่าใช้จ่ายประมาณ 75 ดอลลาร์สหรัฐฯ ต่อเดือนในขณะนั้น แต่ฉันตัดสินใจกระจายโหลดระหว่างอินสแตนซ์ t3.micro สองอินสแตนซ์ที่มี vCPU สองตัวและ RAM 1GB ต่อตัว อินสแตนซ์ t3.micro ให้ความเร็วและหน่วยความจำเพียงพอสำหรับงานที่ฉันต้องการด้วยค่าใช้จ่ายเพียงหนึ่งในห้าของ a1.xlarge อย่างไรก็ตาม บิลของฉันยังคงมากกว่าที่คาดไว้เมื่อสิ้นเดือน

ด้วยความพยายามที่จะเข้าใจเหตุผล ฉันค้นหาเอกสารของ Amazon และพบคำตอบ: เมื่อการใช้งาน CPU ของอินสแตนซ์ต่ำกว่าเส้นพื้นฐานที่กำหนดไว้ อินสแตนซ์จะรวบรวมเครดิต แต่เมื่ออินสแตนซ์มีมากกว่าการใช้งานพื้นฐาน มันจะใช้เครดิตที่ได้รับก่อนหน้านี้ หากไม่มีเครดิต อินสแตนซ์จะใช้ "เครดิตส่วนเกิน" ที่ Amazon จัดหาให้ ความสามารถในการรับและใช้เครดิตทำให้ Amazon EC2 เฉลี่ยการใช้งาน CPU ของอินสแตนซ์ตลอด 24 ชั่วโมง หากการใช้งานโดยเฉลี่ยสูงกว่าค่าพื้นฐาน อินสแตนซ์จะถูกเรียกเก็บเงินพิเศษในอัตราคงที่ต่อ vCPU ต่อชั่วโมง

ฉันเฝ้าติดตามอินสแตนซ์การนำเข้าข้อมูลเป็นเวลาหลายวัน และพบว่าการตั้งค่า CPU ของฉันซึ่งมีวัตถุประสงค์เพื่อลดค่าใช้จ่าย ทำสิ่งที่ตรงกันข้าม โดยส่วนใหญ่ การใช้งาน CPU เฉลี่ยของฉันจะสูงกว่าค่าพื้นฐาน

แผนภูมิมีตัวเลือกดรอปดาวน์สามรายการที่เลือกไว้ที่ด้านบนของหน้าจอ สองตัวแรกทางด้านซ้ายคือ "10 ก.พ. 2565 - 19 ก.พ. 2565" และ "รายวัน" ตามด้วย "i" เล็กๆ ในวงกลม ที่สามอยู่ทางด้านขวาของหน้าจอและบอกว่า "เส้น" พร้อมสัญลักษณ์สำหรับกราฟเส้น ด้านล่างตัวเลือกแบบเลื่อนลง แผนภูมิประกอบด้วยกราฟเส้นสองเส้นพร้อมตัวกรอง ที่ด้านบนสุด บรรทัดตัวกรองจะอ่านว่า "จัดกลุ่มตาม: ประเภทการใช้งาน" (ตัวกรองที่เลือกซึ่งมีพื้นหลังสีน้ำเงิน) จากนั้นจะแสดงตัวกรองที่ไม่ได้เลือก: "บริการ บัญชีที่เชื่อมโยง ภูมิภาค ประเภทอินสแตนซ์ ทรัพยากร หมวดหมู่ต้นทุน แท็ก เพิ่มเติม" โดย "ทรัพยากร" เป็นสีเทา และสามรายการสุดท้ายมีลูกศรแบบเลื่อนลงอยู่ข้างๆ กราฟเส้นบนสุดมี "ต้นทุน ($)" บนแกน y ตั้งแต่ 0.0 ถึง 2.5 กราฟบรรทัดล่างสุดมี "การใช้งาน (vCPU-ชั่วโมง)" บนแกน y ตั้งแต่ 0 ถึง 40 กราฟเส้นทั้งสองมีวันที่กำกับบนแกน x ตั้งแต่ 10 ก.พ. ถึง 19 ก.พ. และคีย์ ติดฉลากเส้นสีม่วง: "USE2-CPUCredits:t3" กราฟเส้นบนสุดมีจุดเชื่อมต่อแบบเส้นตรงประมาณแปดจุดและมีแนวโน้มสูงขึ้นเมื่อเวลาผ่านไป: จุดหนึ่งรอบ (10 ก.พ., 0.3 เหรียญสหรัฐ), จุดที่สอง (11 ก.พ., 0.6 เหรียญสหรัฐ), จุดที่สาม (12 ก.พ., 0.5 เหรียญสหรัฐ) สี่รอบ (14 ก.พ. 2.1 USD) ที่ห้ารอบ (ก.พ. 15, 2.4 ดอลลาร์) ที่หก (16 ก.พ. 2.3 ดอลลาร์) ที่เจ็ด (-18 ก.พ. 2.3 ดอลลาร์) และรอบที่แปด (ก.พ.- 19, 2.6 ดอลลาร์) กราฟบรรทัดล่างสุดยังมีจุดเชื่อมต่อเชิงเส้นประมาณแปดจุดและแนวโน้มสูงขึ้นเมื่อเวลาผ่านไป: จุดหนึ่งรอบ (10 ก.พ. 5 vCPU ต่อชั่วโมง) วินาทีประมาณ (11 ก.พ. 15 vCPU ต่อชั่วโมง) ที่สามประมาณ (ก.พ. -12, 10 vCPU-Hours), สี่รอบ (14 ก.พ., 40 vCPU-Hours), หนึ่งในห้ารอบ (Feb-15, 50 vCPU-Hours), ที่หก (-16 ก.พ., 45 vCPU-Hours) รอบที่เจ็ด (-18 ก.พ. 45 vCPU ต่อชั่วโมง) และรอบที่แปด (-19 ก.พ. 55 vCPU-Hours)
แผนภูมิด้านบนแสดงค่าใช้จ่ายที่เพิ่มขึ้น (กราฟบนสุด) และการใช้เครดิต CPU ที่เพิ่มขึ้น (กราฟด้านล่าง) ในช่วงเวลาที่การใช้งาน CPU สูงกว่าค่าพื้นฐาน ต้นทุนดอลลาร์เป็นสัดส่วนกับเครดิตส่วนเกินที่ใช้ไป เนื่องจากอินสแตนซ์จะถูกเรียกเก็บเงินต่อชั่วโมง vCPU

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

การถ่ายโอนข้อมูลขาออก

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

ผลกระทบนั้นใหญ่มาก ข้อบกพร่องของฉันทำให้เกิดการดาวน์โหลดเสียงจากเว็บเซิร์ฟเวอร์ของฉัน ทำให้มีการถ่ายโอนข้อมูลขาออกเพิ่มเติม ข้อผิดพลาดเล็กน้อยในรหัสของฉันส่งผลให้มีการเรียกเก็บเงินมากกว่าครั้งก่อนเกือบห้าเท่า (นี่ไม่ใช่ผลที่ตามมาเพียงอย่างเดียว: ข้อบกพร่องอาจทำให้หน่วยความจำรั่วในคอมพิวเตอร์ของผู้ใช้ ผู้ใช้จำนวนมากจึงหยุดกลับมา)

แผนภูมิคล้ายกับแผนภูมิก่อนหน้า แต่มีรายการแบบเลื่อนลงรายการแรกที่อ่านว่า "06 ม.ค. 2565 - 15 ม.ค. 2565" "ต้นทุน ($)" ของกราฟเส้นบนสุดมีค่าตั้งแต่ 0 ถึง 30 และกราฟบรรทัดล่างสุดมี " การใช้งาน (GB)" บนแกน y ซึ่งมีค่าตั้งแต่ 0 ถึง 300 กราฟเส้นทั้งสองใช้วันที่ที่มีป้ายกำกับบนแกน x ตั้งแต่ม.ค.-6 ถึง ม.ค.-15 และคีย์ที่กำกับเส้นสีม่วง: "USE2- DataTransfer-Out-Bytes" กราฟเส้นบนสุดมีจุดเชื่อมต่อเชิงเส้นประมาณแปดจุดและมีแนวโน้มสูงขึ้นเมื่อเวลาผ่านไป: จุดหนึ่งรอบ (ม.ค.-6, $2) จุดที่สอง (ม.ค. 08, $4) ที่สามรอบ (ม.ค. 09, $7) รอบที่สี่ (-10 ม.ค., $6), รอบที่ห้า (12 ม.ค., 15 ดอลลาร์), รอบที่หก (13 ม.ค., 25 ดอลลาร์), รอบที่เจ็ด (14 ม.ค., 24 ดอลลาร์) และรอบที่แปด (ม.ค.- 15, $29) กราฟบรรทัดล่างยังมีจุดเชื่อมต่อเชิงเส้นประมาณแปดจุดและมีแนวโน้มสูงขึ้นเมื่อเวลาผ่านไป: จุดหนึ่งรอบ (ม.ค. 06, 10 GB), วินาทีรอบ (ม.ค. 08, 50 GB), สามรอบ (ม.ค. 09, 80) GB), ที่สี่ประมาณ (-10 ม.ค., 70 GB), ที่ห้าประมาณ (12 ม.ค., 160 GB), ที่หก (13 ม.ค., 270 GB), ที่เจ็ด (ม.ค. 14, 260 GB) และรอบที่แปด (15 ม.ค. 320 GB)
แผนภูมิด้านบนแสดงค่าใช้จ่ายที่เพิ่มขึ้น (กราฟบนสุด) และการเพิ่มการถ่ายโอนข้อมูลขาออก (กราฟด้านล่าง) เนื่องจากการถ่ายโอนข้อมูลขาออกจะถูกเรียกเก็บเงินต่อ GB ต้นทุนดอลลาร์จึงเป็นสัดส่วนกับการใช้ข้อมูลขาออก

ค่าใช้จ่ายในการถ่ายโอนข้อมูลคิดเป็น 30% ของราคา AWS ที่เพิ่มขึ้น การโอนขาเข้า EC2 นั้นฟรี แต่จะมีการเรียกเก็บค่าธรรมเนียมการโอนขาออกต่อ GB (0.09 USD ต่อ GB เมื่อฉันสร้าง Scalper.AI) เมื่อฉันได้เรียนรู้วิธีที่ยาก สิ่งสำคัญคือต้องระมัดระวังโค้ดที่ส่งผลต่อข้อมูลขาออก การลดการดาวน์โหลดหรือการโหลดไฟล์หากทำได้ (หรือตรวจสอบพื้นที่เหล่านี้อย่างระมัดระวัง) จะปกป้องคุณจากค่าธรรมเนียมที่สูงขึ้น เพนนีเหล่านี้เพิ่มขึ้นอย่างรวดเร็ว เนื่องจากค่าบริการสำหรับการถ่ายโอนข้อมูลจาก EC2 ไปยังอินเทอร์เน็ตขึ้นอยู่กับปริมาณงานและอัตราเฉพาะภูมิภาคของ AWS ข้อแม้สุดท้ายที่ลูกค้า AWS ใหม่หลายคนไม่ทราบ: การถ่ายโอนข้อมูลระหว่างสถานที่ต่างๆ จะมีราคาแพงกว่า อย่างไรก็ตาม การใช้ที่อยู่ IP ส่วนตัวสามารถป้องกันค่าใช้จ่ายในการถ่ายโอนข้อมูลเพิ่มเติมระหว่างโซนความพร้อมใช้งานที่แตกต่างกันในภูมิภาคเดียวกัน

ที่อยู่ IP แบบยืดหยุ่น

แม้ในขณะที่ใช้ที่อยู่สาธารณะ เช่น ที่อยู่ Elastic IP (EIP) ก็สามารถลดค่าใช้จ่าย EC2 ของคุณได้ EIP คือที่อยู่ IPv4 แบบคงที่ที่ใช้สำหรับการประมวลผลบนคลาวด์แบบไดนามิก ส่วน "ยืดหยุ่น" หมายความว่าคุณสามารถกำหนด EIP ให้กับอินสแตนซ์ EC2 ใดก็ได้ และใช้จนกว่าคุณจะเลือกที่จะหยุด ที่อยู่เหล่านี้ช่วยให้คุณสามารถสลับอินสแตนซ์ที่ไม่มีประสิทธิภาพกับอินสแตนซ์ที่มีประสิทธิภาพได้อย่างลงตัวโดยทำการแมปที่อยู่ใหม่เป็นอินสแตนซ์อื่นในบัญชีของคุณ คุณยังสามารถใช้ EIP เพื่อระบุระเบียน DNS สำหรับโดเมนเพื่อให้ชี้ไปที่อินสแตนซ์ EC2

AWS ให้ EIP เพียงห้ารายการต่อบัญชีต่อภูมิภาค ทำให้เป็นทรัพยากรที่จำกัดและมีค่าใช้จ่ายสูงด้วยการใช้งานที่ไม่มีประสิทธิภาพ AWS คิดค่าธรรมเนียมรายชั่วโมงต่ำสำหรับ EIP เพิ่มเติมแต่ละรายการและเรียกเก็บเงินเพิ่มเติมหากคุณทำการแมป EIP ใหม่มากกว่า 100 ครั้งในหนึ่งเดือน การอยู่ภายใต้ข้อจำกัดเหล่านี้จะลดต้นทุน

ยุติและหยุดสถานะ

AWS มีตัวเลือกสองทางในการจัดการสถานะของอินสแตนซ์ EC2 ที่รันอยู่: ยุติหรือหยุด การยกเลิกจะเป็นการปิดอินสแตนซ์ และเครื่องเสมือนที่จัดเตรียมไว้จะไม่สามารถใช้งานได้อีกต่อไป วอลลุม Elastic Block Store (EBS) ที่แนบไว้จะถูกถอดและลบ และข้อมูลทั้งหมดที่จัดเก็บไว้ในอินสแตนซ์จะสูญหาย คุณจะไม่ถูกเรียกเก็บเงินสำหรับอินสแตนซ์อีกต่อไป

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

แต่มีคุณสมบัติที่สามารถขยายใบเรียกเก็บเงิน AWS ของคุณได้เมื่อถึงสิ้นเดือน แม้ว่าคุณจะยุติอินสแตนซ์แทนที่จะหยุด นั่นคือ สแนปชอต EBS สิ่งเหล่านี้คือการสำรองข้อมูลส่วนเพิ่มของโวลุ่ม EBS ของคุณที่จัดเก็บไว้ใน Simple Storage Service (S3) ของ Amazon แต่ละสแน็ปช็อตเก็บข้อมูลที่คุณต้องการเพื่อสร้างโวลุ่ม EBS ใหม่ด้วยข้อมูลก่อนหน้าของคุณ หากคุณยุติอินสแตนซ์ โวลุ่ม EBS ที่เกี่ยวข้องจะถูกลบออกโดยอัตโนมัติ แต่สแนปชอตของอินสแตนซ์จะยังคงอยู่ เนื่องจาก S3 คิดค่าบริการตามปริมาณข้อมูลที่จัดเก็บ เราขอแนะนำให้คุณลบสแนปชอตเหล่านี้หากคุณไม่ใช้งานในเร็วๆ นี้ AWS มีคุณสมบัติในการตรวจสอบกิจกรรมการจัดเก็บต่อวอลุ่มโดยใช้บริการ CloudWatch:

  1. ขณะลงชื่อเข้าใช้คอนโซล AWS จากเมนู บริการ ด้านบนซ้าย ให้ค้นหาและเปิดบริการ CloudWatch
  2. ที่ด้านซ้ายของหน้า ภายใต้เมนู Metrics collapsible ให้คลิก All Metrics
  3. หน้านี้จะแสดงรายการบริการที่มีเมตริก เช่น EBS, EC2, S3 และอื่นๆ คลิก EBS จากนั้นคลิก Per-volume Metrics (หมายเหตุ: ตัวเลือก EBS จะมองเห็นได้ก็ต่อเมื่อคุณกำหนดค่าวอลุ่ม EBS ในบัญชีของคุณเท่านั้น)
  4. คลิกที่แท็บ แบบสอบถาม ในมุมมอง Editor ให้คัดลอกและวางคำสั่ง SELECT AVG(VolumeReadBytes) FROM "AWS/EBS" GROUP BY VolumeId จากนั้นคลิก Run (หมายเหตุ: CloudWatch ใช้ภาษาถิ่นของ SQL ที่มีรูปแบบเฉพาะ)

หน้าเว็บปรากฏขึ้นพร้อมกับเมนูส่วนหัวสีน้ำเงินเข้มที่ด้านบนของหน้า ซึ่งจากซ้ายไปขวาจะมีโลโก้ aws รายการแบบเลื่อนลง "บริการ" แถบค้นหา ไอคอนรหัส ไอคอนกระดิ่ง ไอคอนเครื่องหมายคำถาม ข้อความแบบเลื่อนลงที่เขียนว่า "เวอร์จิเนียเหนือ" และข้อความแบบเลื่อนลงที่เขียนว่า "บัญชีทดสอบอันดับสูงสุด" ด้านล่าง เราจะเห็นส่วนหลักของหน้าเว็บเป็นสีขาว ด้านซ้ายของหน้ามีเมนูเลื่อนที่มีชื่อ "CloudWatch" และ "X" ด้านล่างจากบนลงล่าง เมนูเขียนว่า: "รายการโปรดและล่าสุด" "แดชบอร์ด" "นาฬิกาปลุก" (ตัวหนาพร้อมเมนูแบบเลื่อนลงสามรายการ: "กำลังเตือน" "การเตือนทั้งหมด" และ "การเรียกเก็บเงิน") "บันทึก" (ตัวหนา โดยมีรายการแบบเลื่อนลง 2 รายการ ได้แก่ "กลุ่มบันทึก" และ "ข้อมูลเชิงลึกของบันทึก") "เมตริก" (ตัวหนา โดยมีรายการแบบเลื่อนลง 3 รายการคือ "เมตริกทั้งหมด" ซึ่งไฮไลต์ด้วยสีส้มสดใส " Explorer" และ "Streams"), "X-Ray traces" (ตัวหนา), "Events" (ตัวหนา) และ "Application monitoring" (ตัวหนา) ข้อความที่เป็นตัวหนาทั้งหมดในเมนูจะมีเมนูแบบเลื่อนลงสามเหลี่ยมทางด้านซ้ายของข้อความ ตรงกลางของหน้าเว็บจะแสดงกราฟที่ครึ่งบนของหน้า และตัวแก้ไขที่ครึ่งล่างของหน้า กราฟมีส่วนหัวสองบรรทัด บรรทัดแรกเขียนว่า "CloudWatch > Metrics" ทางด้านซ้าย (โดยมีข้อความ "CloudWatch" เป็นสีน้ำเงิน) และ "Switch to your original interface" เป็นสีน้ำเงินทางด้านขวา บรรทัดที่สองอ่านว่า "กราฟไม่มีชื่อ" โดยมีไอคอนแก้ไขทางด้านซ้าย และแสดงตัวเลือกทางด้านขวา: "1h, 3h, 12h, 1d, 3d, 1w, กำหนดเอง" (โดยที่ "3h" เป็นสีน้ำเงิน และ "กำหนดเอง" มีไอคอนปฏิทิน), "เส้น" (พร้อมไอคอนแบบเลื่อนลง), "การทำงาน" (พร้อมไอคอนแบบเลื่อนลง) และปุ่มรีเฟรชพร้อมไอคอนแบบเลื่อนลง ตัวกราฟเองมีข้อความอยู่ตรงกลาง: "กราฟ CloudWatch ของคุณว่างเปล่า เลือกตัววัดบางตัวที่จะแสดงที่นี่" ตัวแก้ไขยังมีส่วนหัวสองบรรทัด บรรทัดแรกอ่านว่า "เรียกดู" "ข้อความค้นหา" (เน้นด้วยสีส้ม) "เมตริกแบบกราฟ" "ตัวเลือก" และ "แหล่งที่มา" ทางด้านซ้าย และ "เพิ่มคณิตศาสตร์" (พร้อมไอคอนดรอปดาวน์) และ "เพิ่ม แบบสอบถาม" (พร้อมไอคอนดรอปดาวน์) ทางด้านขวา บรรทัดที่สองอ่านว่า "Metrics Insights - ตัวแก้ไขแบบสอบถาม" และ "ข้อมูล" (สีน้ำเงิน) ทางด้านซ้าย และ "ตัวสร้าง" และ "ตัวแก้ไข" (โดยเลือก "ตัวแก้ไข") ทางด้านขวา ด้านล่างตัวแก้ไขคือปุ่ม "เรียกใช้" สีส้มทางด้านซ้าย และข้อความ "ใช้ Ctrl + Enter เพื่อเรียกใช้คิวรี Ctrl + Space เพื่อเติมข้อความอัตโนมัติ" ทางด้านขวา ทางขวาของหน้าเว็บมีเมนูสีขาว ซึ่งอ่านว่า "คำถาม" และ "ความช่วยเหลือ" จากบนลงล่าง
ภาพรวมของการตั้งค่าการตรวจสอบ CloudWatch ที่อธิบายข้างต้น (แสดงพร้อมข้อมูลว่างและไม่ได้เลือกเมตริก) หากคุณมีอินสแตนซ์ EBS, EC2 หรือ S3 อยู่แล้วในบัญชีของคุณ สิ่งเหล่านี้จะแสดงเป็นตัวเลือกเมตริกและจะเติมกราฟ CloudWatch ของคุณ

CloudWatch นำเสนอรูปแบบการแสดงภาพที่หลากหลายสำหรับการวิเคราะห์กิจกรรมการจัดเก็บ เช่น แผนภูมิวงกลม เส้น แท่ง แผนภูมิพื้นที่แบบเรียงซ้อน และตัวเลข การใช้ CloudWatch เพื่อระบุวอลุ่ม EBS และสแน็ปช็อตที่ไม่ใช้งานเป็นขั้นตอนง่ายๆ ในการเพิ่มประสิทธิภาพต้นทุนคลาวด์

เงินพิเศษในกระเป๋าของคุณ

แม้ว่าเครื่องมือของ AWS เช่น CloudWatch จะนำเสนอโซลูชันที่เหมาะสมสำหรับการตรวจสอบต้นทุนบนระบบคลาวด์ แต่แพลตฟอร์มภายนอกต่างๆ จะผสานรวมกับ AWS เพื่อการวิเคราะห์ที่ครอบคลุมยิ่งขึ้น ตัวอย่างเช่น แพลตฟอร์มการจัดการระบบคลาวด์ เช่น CloudHealth ของ VMWare จะแสดงรายละเอียดเกี่ยวกับส่วนการใช้จ่ายสูงสุดที่สามารถใช้สำหรับการวิเคราะห์แนวโน้ม การตรวจจับความผิดปกติ และการตรวจสอบต้นทุนและประสิทธิภาพ ฉันยังแนะนำให้คุณตั้งค่าการเตือนการเรียกเก็บเงินของ CloudWatch เพื่อตรวจจับค่าใช้จ่ายที่เพิ่มขึ้นก่อนที่จะเกินจำนวน

Amazon ให้บริการระบบคลาวด์ที่ยอดเยี่ยมมากมายที่สามารถช่วยคุณมอบหมายงานบำรุงรักษาเซิร์ฟเวอร์ ฐานข้อมูล และฮาร์ดแวร์ให้กับทีม AWS แม้ว่าค่าใช้จ่ายของแพลตฟอร์มระบบคลาวด์จะเพิ่มขึ้นอย่างง่ายดายเนื่องจากข้อบกพร่องหรือข้อผิดพลาดของผู้ใช้ แต่เครื่องมือตรวจสอบของ AWS ก็ช่วยให้นักพัฒนามีความรู้ในการป้องกันตนเองจากค่าใช้จ่ายเพิ่มเติม

เมื่อคำนึงถึงการเพิ่มประสิทธิภาพต้นทุนเหล่านี้ คุณก็พร้อมที่จะเริ่มต้นโครงการของคุณ—และประหยัดเงินหลายร้อยดอลลาร์ในกระบวนการนี้

โลโก้ AWS ที่มีคำว่า "PARTNER" และข้อความ "Advanced Tier Services" ด้านล่าง
ในฐานะพาร์ทเนอร์ที่ปรึกษาขั้นสูงใน Amazon Partner Network (APN) Toptal เสนอบริษัทต่างๆ ให้เข้าถึงผู้เชี่ยวชาญที่ได้รับการรับรองจาก AWS ได้ตามความต้องการ ทุกที่ในโลก