สิ่งที่คุณต้องรู้เกี่ยวกับ Application Load Balancer



บล็อกนี้จะให้ความรู้เชิงลึกเกี่ยวกับ Application Load Balancer แสดงให้เห็นถึงการสร้างและการใช้งาน NLB เพื่อประโยชน์ของแอปพลิเคชันของคุณ

ยิ่งนักสืบมีเบาะแสมากเท่าไหร่เขาก็จะไขคดีได้ง่ายขึ้นเท่านั้น นั่นคือวิธีการทำงานของตัวจัดสรรภาระงาน ยิ่งข้อมูลตัวจัดสรรภาระงานมีมากเท่าใดก็จะยิ่งทำงานได้ดีขึ้นเท่านั้น ในบล็อกนี้ฉันจะพูดถึง Application Load Balancer และวิธีกระจายการรับส่งข้อมูลขาเข้าโดยการเข้าถึงส่วนหัวของแพ็กเก็ตรายละเอียด HTTPS และ HTTPS ได้มากขึ้น

หัวข้อที่ครอบคลุม:





Application Load Balancer คืออะไร?

ฉันแน่ใจว่าพวกคุณเคยได้ยินเกี่ยวกับ OSI Model เป็นสถาปัตยกรรม 7 ชั้นโดยแต่ละเลเยอร์จะทำงานพิเศษในการถ่ายโอนข้อมูลทั่วโลก เลเยอร์เหล่านี้ ได้แก่ - เลเยอร์ฟิสิคัล, เลเยอร์ลิงก์ข้อมูล, เลเยอร์เครือข่าย, เลเยอร์การขนส่ง, เลเยอร์เซสชัน, เลเยอร์การนำเสนอและเลเยอร์แอปพลิเคชัน Application Load Balancer ทำงานบนเลเยอร์ที่ 7 ของ OSI Model ตามชื่อที่แนะนำ มันมีความสามารถในการตรวจสอบเนื้อหาระดับแอปพลิเคชันและกำหนดเส้นทางการรับส่งข้อมูลตามข้อมูลที่ได้รับนี้ เนื้อหาระดับแอปพลิเคชันประกอบด้วยรายละเอียดแพ็กเก็ตรายละเอียด HTTP และ HTTPS ทำให้การกำหนดเส้นทางง่ายขึ้นเร็วขึ้นและมีประสิทธิภาพมากขึ้น เป็นหนึ่งในผลิตภัณฑ์ที่ใช้กันอย่างแพร่หลาย .

การทำงานของ Application Load Balancer

Application Load Balancer ประกอบด้วย ผู้ฟัง และ กฎ . เมื่อลูกค้าส่งคำขอผู้ฟังจะรับทราบ กฎคือแนวทางที่ควบคุมการกำหนดเส้นทางของคำขอของลูกค้าแต่ละรายการเมื่อผู้ฟังได้ยิน กฎประกอบด้วยสามองค์ประกอบ - กลุ่มเป้าหมาย , ลำดับความสำคัญ และ เงื่อนไข . กลุ่มเป้าหมายประกอบด้วย เป้าหมายที่ลงทะเบียน (เซิร์ฟเวอร์ที่จะกำหนดเส้นทางการรับส่งข้อมูล) กลุ่มเป้าหมายแต่ละกลุ่มกำหนดเส้นทางการร้องขอไปยังเป้าหมายที่ลงทะเบียนตั้งแต่หนึ่งรายการขึ้นไปเช่นอินสแตนซ์ EC2 โดยใช้โปรโตคอลและหมายเลขพอร์ตที่คุณระบุ โดยพื้นฐานแล้วเมื่อผู้ฟังได้รับคำขอจะต้องดำเนินการตามลำดับความสำคัญเพื่อพิจารณาว่าจะใช้กฎใดวิเคราะห์กฎและพิจารณาจากเงื่อนไขตัดสินใจว่ากลุ่มเป้าหมายใดได้รับคำขอ



ALB - Application Load Balancer - Edureka

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

คุณสมบัติที่ทำให้ดีกว่าตัวโหลดบาลานเซอร์แบบคลาสสิก

การกำหนดเส้นทางตามเนื้อหา: Application Load Balancer ต้องเข้าถึงส่วนหัว HTTP และด้วยเหตุนี้จึงกำหนดเส้นทางการรับส่งข้อมูลตาม



รองรับแอปพลิเคชันบนคอนเทนเนอร์: ด้วยแนวคิดอันทรงพลังของการจัดคอนเทนเนอร์ผู้ใช้ส่วนใหญ่จะบรรจุไมโครเซอร์วิสลงในคอนเทนเนอร์และโฮสต์ไว้ในอินสแตนซ์ EC2 สิ่งนี้ช่วยให้อินสแตนซ์ EC2 เดียวเรียกใช้บริการหลายบริการ Application Load Balancer รองรับแอปพลิเคชันที่ใช้คอนเทนเนอร์เหล่านี้ อินสแตนซ์หนึ่งสามารถโฮสต์หลายคอนเทนเนอร์และฟังบนพอร์ตหลายพอร์ตหลังกลุ่มเป้าหมายเดียวกัน นอกจากนี้ยังทำการตรวจสอบประสิทธิภาพการทำงานระดับพอร์ตอย่างละเอียด

เมตริกที่ดีขึ้น: Application Load Balancer ทำการตรวจสอบประสิทธิภาพการทำงานแบบต่อพอร์ตและสร้างรายงาน การตรวจสอบประสิทธิภาพการทำงานระบุช่วงของการตอบสนอง HTTP ที่ยอมรับได้ การตรวจสอบความสมบูรณ์เหล่านี้จะมาพร้อมกับรหัสข้อผิดพลาดโดยละเอียด

เส้นทางตามเส้นทาง: Application Load Balancer รองรับการกำหนดเส้นทางตามเส้นทางและตามโฮสต์ซึ่งไม่ใช่กรณีของตัวโหลดบาลานเซอร์แบบคลาสสิก ยคุณสามารถกำหนดเส้นทางคำขอไปยังหลายโดเมนโดยใช้ตัวจัดสรรภาระงานเดียว

ลงทะเบียนที่อยู่ IP และฟังก์ชัน Lambda: นอกจากการลงทะเบียนอินสแตนซ์ EC2 แล้วคุณยังสามารถลงทะเบียนที่อยู่ IP และฟังก์ชัน Lambda กับเป้าหมายของคุณได้อีกด้วย และด้วยเหตุนี้คุณยังสามารถลงทะเบียนเป้าหมายที่อยู่นอก VPC ได้

จัดเตรียมโปรโตคอลและปริมาณงานเพิ่มเติม:

Application Load Balancer มีโปรโตคอลเพิ่มเติมสองโปรโตคอลคือ HTTP / 2 และ WebSocket

HTTPS / 2: โปรโตคอลนี้รองรับการร้องขอแบบมัลติเพล็กซ์ผ่านการเชื่อมต่อเดียว ซึ่งจะช่วยลดปริมาณการใช้งานเครือข่าย

WebSocket: โปรโตคอลนี้ช่วยให้คุณสามารถตั้งค่าการเชื่อมต่อ TCP ที่ยาวนานระหว่างไคลเอนต์และเซิร์ฟเวอร์ โปรโตคอลนี้มีประสิทธิภาพมากกว่าเมื่อเทียบกับวิธีการที่เก่ากว่า

การสาธิต: สร้าง Application Load Balancer และสาธิตการใช้งาน

มาทำความเข้าใจกับ Application Load Balancer ให้ดีขึ้นโดยการสร้างและใช้งาน ในการสาธิตนี้ฉันจะสร้างอินสแตนซ์ EC2 สองอินสแตนซ์ปรับใช้เว็บเซิร์ฟเวอร์ Nginx บนทั้งสองแบบด้วยเอาต์พุต HTML ที่แตกต่างกัน (แยกความแตกต่างระหว่างกันได้ง่าย) สร้างแอปพลิเคชันโหลดบาลานเซอร์ลงทะเบียนสองอินสแตนซ์นี้กับโหลดบาลานเซอร์นั้นและตรวจสอบ หากเว็บเซิร์ฟเวอร์ที่ปรับใช้บนอินสแตนซ์สามารถเข้าถึงได้จาก load balancer DNS มาเริ่มกันเลย.

ขั้นตอนที่ 1: และเชื่อมต่ออินสแตนซ์ของคุณกับ Putty หรือ cmder

ขั้นตอนที่ 2: ติดตั้งเว็บเซิร์ฟเวอร์ Nginx ทั้งสองอินสแตนซ์ ดำเนินการคำสั่งต่อไปนี้สำหรับการติดตั้ง Nginx:

$ sudo apt-get update $ sudo apt install nginx $ sudo ufw app list $ sudo ufw allow 'Nginx HTTP' $ sudo ufw status

คัดลอก IP สาธารณะของอินสแตนซ์และวางบนเบราว์เซอร์เช่น URL เพื่อตรวจสอบว่าติดตั้ง Nginx สำเร็จหรือไม่

ขั้นตอนที่ 3 : เปลี่ยนเอาต์พุต HTML ของเว็บเซิร์ฟเวอร์ Nginx เพื่อหลีกเลี่ยงความสับสนระหว่างการปรับใช้กับอินสแตนซ์ทั้งสอง

$ cd / var / www / html $ sudo vi index.nginx-debian.html

เปลี่ยนเนื้อหาของแท็ก H1 เป็น“ ยินดีต้อนรับสู่ Nginx! - เซิร์ฟเวอร์ 1”. ทำเช่นเดียวกันกับอินสแตนซ์อื่น ๆ ยกเว้นเปลี่ยนเป็น“ ยินดีต้อนรับสู่ Nginx! - เซิร์ฟเวอร์ 2”.

ขั้นตอนที่ 4: สร้าง Application Load Balancer ในบานหน้าต่างนำทางภายใต้ โหลดบาลานซ์ เลือก โหลดบาลานเซอร์ และคลิกที่ สร้าง ภายใต้ Application Load Balancer

คุณจะถูกนำทางไปยังหน้าอื่นเลือก สร้างตัวจัดสรรภาระงาน นั่นเอง

มากำหนดค่า Load Balancer กัน สำหรับชื่อให้พิมพ์ชื่อที่คุณต้องการให้ตัวจัดสรรภาระงานของคุณมี สำหรับ Scheme ให้เลือก Internet-facing หรือ Internal ในกรณีนี้ฉันเลือกใช้อินเทอร์เน็ต โดยทั่วไปการหันหน้าไปทางอินเทอร์เน็ตจะกำหนดเส้นทางคำขอจากลูกค้าไปยังเป้าหมายผ่านทางอินเทอร์เน็ต

ค่าเริ่มต้นของสตริงใน java

สำหรับ Listeners ค่าเริ่มต้นคือยอมรับการรับส่งข้อมูล TCP บนพอร์ต 80 และฉันกำลังดำเนินการต่อโดยใช้การกำหนดค่าตัวฟังเริ่มต้นเดียวกัน ในกรณีที่คุณต้องการเพิ่มผู้ฟังอื่นคุณสามารถเลือกได้ เพิ่ม Listener .

สำหรับ Availability Zone ให้เลือก VPC ที่คุณใช้สร้างอินสแตนซ์ EC2 เลือก Availability Zone และซับเน็ตสำหรับ Availability Zone สำหรับแต่ละ Availability Zone ที่ใช้สร้างอินสแตนซ์ EC2

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

คลิกที่ ถัดไป: กำหนดการตั้งค่าความปลอดภัย . คุณอาจเห็นคำเตือน แต่คุณสามารถเพิกเฉยได้

ในขั้นตอนนี้คุณสามารถกำหนดค่าความปลอดภัยของตัวจัดสรรภาระงานของคุณได้ สร้างกลุ่มความปลอดภัยใหม่ หรือ เลือกกลุ่มความปลอดภัยที่มีอยู่ . ในกรณีนี้ฉันได้เลือกกลุ่มความปลอดภัยที่มีอยู่แล้ว

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

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

คลิกที่ ถัดไป: ลงทะเบียนเป้าหมาย เพื่อเพิ่มเป้าหมายของคุณ (ในกรณีนี้คืออินสแตนซ์) ไปยังตัวจัดสรรภาระงานของคุณ

เลือกอินสแตนซ์ที่คุณต้องการเพิ่มเป็นเป้าหมายจากนั้นคลิกที่ เพิ่มลงทะเบียน

ตอนนี้เป้าหมายของคุณ (อินสแตนซ์) ได้รับการลงทะเบียนกับ Load Balancer แล้ว

คลิกที่ ถัดไป: ตรวจสอบ . ตรวจสอบตัวจัดสรรภาระงานของคุณจากนั้นคลิกที่ สร้าง .

ตอนนี้ตัวจัดสรรภาระงานของคุณถูกสร้างขึ้นแล้วและคุณสามารถตรวจสอบสถานะได้

เย้เย้ !! คุณได้สร้าง Application Load Balancer สำเร็จแล้ว ตอนนี้ให้เราตรวจสอบว่าใช้งานได้จริงหรือไม่

ขั้นตอนที่ 5: คัดลอกชื่อ DNS ของตัวจัดสรรภาระงานของคุณและวางบนเบราว์เซอร์เช่น URL คุณควรเห็นผลลัพธ์ของอินสแตนซ์แรก

ตอนนี้ไปที่เบราว์เซอร์อื่นและวางชื่อ DNS เดียวกันคุณจะเห็นผลลัพธ์ของอินสแตนซ์ที่สอง

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

เรามาถึงจุดสิ้นสุดของบล็อก Application Load Balancer ฉันหวังว่าพวกคุณจะเข้าใจแนวคิดเบื้องหลังบริการที่น่าทึ่งนี้โดย Amazon สำหรับบล็อกดังกล่าวเพิ่มเติมโปรดไปที่“ '.

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

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับหรือโพสต์คำถามของคุณได้ที่ . ที่ Edureka Community เรามีผู้คลั่งไคล้เทคโนโลยีมากกว่า 1,00,000 คนพร้อมให้ความช่วยเหลือ

วิธีใช้บริการตอนนี้