อินสแตนซ์ ELB ของ Amazon หลายรายการโดยใช้กลุ่มการปรับขนาดอัตโนมัติกลุ่มเดียวกัน

ฉันมีอินสแตนซ์ Amazon ELB 2 รายการโดยใช้กลุ่มปรับขนาดอัตโนมัติกลุ่มเดียวกัน

ฉันได้ตั้งค่าประเภทการตรวจสุขภาพเป็น ELB สำหรับกลุ่มการปรับขนาดอัตโนมัติ

ในแต่ละอินสแตนซ์ EC2 จาก ASG ฉันมีเว็บแอปพลิเคชัน 2 ตัว (โฮสต์ใน IIS แต่ฉันไม่คิดว่ามันเกี่ยวข้องจริงๆ)

เมื่อฉันเตรียมทุกอย่างให้พร้อมและทำงานแล้ว ฉันจะปิด IIS บนอินสแตนซ์ใดอินสแตนซ์หนึ่งเหล่านั้น เพื่อให้การตรวจสอบสภาพจาก ELB ทั้งสองล้มเหลวสำหรับอินสแตนซ์ EC2 เฉพาะนั้น (ASG ยังคงมองว่าอินสแตนซ์นั้น มีประสิทธิภาพดี แต่ ELB มองว่า ไม่ให้บริการ)

ASG ของฉันมี

Desired instances: 2
Min: 2
Max: 4

ฉันคาดหวังว่าอินสแตนซ์ EC2 จะถูกยกเลิกและ ASG จะสร้างอินสแตนซ์ใหม่ แต่สิ่งนี้จะไม่เกิดขึ้น

มีความคิดอะไรบ้าง? ขอบคุณ

PS: มันทำงานได้ดีสำหรับ 1 อินสแตนซ์ ELB และ 1 ASG โดยมีเว็บแอปพลิเคชันเดียวภายใต้ IIS


person Mihai    schedule 23.04.2014    source แหล่งที่มา
comment
ดูเหมือนเป็นกรณีมุม มีเหตุผลใดบ้างที่คุณสองแอปพลิเคชันเว็บบนเซิร์ฟเวอร์เดียวกัน?   -  person Rico    schedule 23.04.2014


คำตอบ (2)


จาก เอกสาร:

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

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

แน่นอนว่านี่คือ AWS คุณสามารถใช้ API เพื่อเขียนโค้ดเพื่อตรวจจับสิ่งนี้และยุติ (ตั้งค่าที่ไม่แข็งแรง) อินสแตนซ์ที่มีปัญหาซึ่งใช้งานได้กับ ELB หนึ่งและไม่ใช่อีก ELB

หรือแนวทางที่สะอาดกว่าคือแยกส่วนนี้เพื่อแยก ASG แต่ละรายการด้วย ELB เดียว

person Tom Feiner    schedule 23.04.2014
comment
ขอบคุณสำหรับคำตอบ. ฉันได้ตั้งค่าการตรวจสอบสภาพเป็น ELB ในกลุ่มการปรับขนาดอัตโนมัติแล้ว และจะทำงานได้ดีหากฉันใช้ ASG นั้นกับอินสแตนซ์ ELB เพียง 1 รายการ แต่ถ้าฉันใช้มันกับอินสแตนซ์ ELB 2 ตัวและเว็บแอปพลิเคชันแยกกัน 2 ตัวบนอินสแตนซ์ EC2 แต่ละตัว ASG จะไม่ยุติการทำงานของเครื่องที่ไม่ตอบสนองต่อการตรวจสุขภาพ - person Mihai; 24.04.2014

ประเภทการตรวจสอบสภาพ ASG เริ่มต้นคือการตรวจสอบสถานะอินสแตนซ์ EC2 เพียงลองตั้งค่าเป็น ELB เพื่อพิจารณาผลการตรวจสอบสภาพของ ELB สำหรับการขยาย/เข้า โปรดดูที่: http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/as-add-elb-healthcheck.html

person ymchen    schedule 12.11.2014