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