AWS ELB کے ساتھ لوڈ بیلنسنگ

سب کو سلام! کورس آج سے شروع ہو رہا ہے۔ "AWS برائے ڈویلپرز", جس کے سلسلے میں ہم نے ELB کے جائزے کے لیے وقف ایک متعلقہ موضوعاتی ویبینار کا انعقاد کیا۔ ہم نے بیلنسرز کی اقسام کو دیکھا اور بیلنسر کے ساتھ کئی EC2 مثالیں تخلیق کیں۔ ہم نے استعمال کی دیگر مثالوں کا بھی مطالعہ کیا۔

AWS ELB کے ساتھ لوڈ بیلنسنگ

ویبنار سننے کے بعد، تم کروگے:

  • سمجھیں کہ AWS لوڈ بیلنس کیا ہے؛
  • لچکدار لوڈ بیلنسر اور اس کے اجزاء کی اقسام جانیں۔
  • اپنی مشق میں AWS ELB استعمال کریں۔

آپ کو یہ سب جاننے کی ضرورت کیوں ہے؟

  • مفید ہے اگر آپ AWS سرٹیفیکیشن امتحانات دینے کا ارادہ کر رہے ہیں۔
  • یہ سرورز کے درمیان بوجھ کو تقسیم کرنے کا ایک آسان طریقہ ہے۔
  • لیمبڈا کو اپنی سروس (ALB) میں شامل کرنے کا یہ ایک آسان طریقہ ہے۔

کھلے سبق کا انعقاد کیا۔ رشت تیریگلوفویب سائٹ کی ترقی اور مدد کے لیے مارکیٹنگ کمپنی میں سسٹم انجینئر۔

تعارف

لچکدار لوڈ بیلنسر کیا ہے اسے نیچے دیے گئے خاکے میں دیکھا جا سکتا ہے، جو ایک سادہ سی مثال دکھاتا ہے:

AWS ELB کے ساتھ لوڈ بیلنسنگ

لوڈ بیلنسر درخواستوں کو قبول کرتا ہے اور انہیں مختلف مواقع پر تقسیم کرتا ہے۔ ہمارے پاس ایک الگ مثال ہے، لیمبڈا فنکشنز ہیں اور ایک آٹو اسکیلنگ گروپ (سروروں کا ایک گروپ) ہے۔

AWS ELB کی اقسام

1. آئیے اہم اقسام کو دیکھیں:

کلاسیکی لوڈ بیلنسر۔ AWS کا پہلا لوڈ بیلنس، OSI Layer 4 اور Layer 7 دونوں پر کام کرتا ہے، HTTP، HTTPS، TCP اور SSL کو سپورٹ کرتا ہے۔ یہ متعدد Amazon EC2 مثالوں میں بنیادی بوجھ کا توازن فراہم کرتا ہے اور درخواست اور کنکشن دونوں سطحوں پر کام کرتا ہے۔ آئیے اسے کھولیں (گرے رنگ میں نمایاں کیا گیا):

AWS ELB کے ساتھ لوڈ بیلنسنگ

اس بیلنس کو پرانا سمجھا جاتا ہے، اس لیے اسے صرف بعض صورتوں میں استعمال کرنے کی سفارش کی جاتی ہے۔ مثال کے طور پر، ان ایپلیکیشنز کے لیے جو EC2-Classic نیٹ ورک پر بنائی گئی تھیں۔ اصولی طور پر، ہمیں اسے بنانے سے کوئی نہیں روک رہا ہے:

AWS ELB کے ساتھ لوڈ بیلنسنگ

2. نیٹ ورک لوڈ بیلنسر۔ بھاری کام کے بوجھ کے لیے موزوں، OSI لیئر 4 پر کام کرتا ہے (EKS اور ECS میں استعمال کیا جا سکتا ہے)، TCP، UDP اور TLS معاون ہیں۔

نیٹ ورک لوڈ بیلنسر ٹریفک کو Amazon VPC میں اہداف تک پہنچاتا ہے اور انتہائی کم تاخیر کے ساتھ فی سیکنڈ لاکھوں درخواستوں پر کارروائی کرنے کے قابل ہے۔ مزید برآں، یہ اچانک اور بدلتے بوجھ کے ساتھ ٹریفک کے نمونوں کو سنبھالنے کے لیے بہتر بنایا گیا ہے۔

3. ایپلیکیشن لوڈ بیلنسر. لیئر 7 پر کام کرتا ہے، لیمبڈا سپورٹ رکھتا ہے، ہیڈر اور پاتھ لیول رولز کو سپورٹ کرتا ہے، HTTP اور HTTPS کو سپورٹ کرتا ہے۔
مائیکرو سروسز اور کنٹینرز سمیت جدید فن تعمیر پر بنی ایپلی کیشنز کی فراہمی پر توجہ مرکوز کرنے والی ایڈوانس ریکوسٹ روٹنگ فراہم کرتا ہے۔ درخواست کے مواد کی بنیاد پر Amazon VPC میں ٹریفک کو اہداف کی طرف ہدایت کرتا ہے۔

بہت سے صارفین کے لیے، کلاسک لوڈ بیلنسر کو تبدیل کرنے کے لیے ایپلیکیشن لوڈ بیلنسر پہلا انتخاب تھا، کیونکہ TCP HTTP کی طرح عام نہیں ہے۔

آئیے اسے بھی بنائیں، جس کے نتیجے میں ہمارے پاس پہلے سے ہی دو لوڈ بیلنسرز ہوں گے:

AWS ELB کے ساتھ لوڈ بیلنسنگ

لوڈ بیلنس اجزاء

کامن لوڈ بیلنس اجزاء (تمام بیلنسرز کے لیے عام):

  • لاگنگ پالیسی تک رسائی حاصل کریں۔

- آپ کے ELB رسائی کے لاگز۔ سیٹنگز بنانے کے لیے، آپ تفصیل پر جا کر "صفات میں ترمیم کریں" بٹن کو منتخب کر سکتے ہیں:

AWS ELB کے ساتھ لوڈ بیلنسنگ

پھر ہم S3Bucket - Amazon آبجیکٹ اسٹوریج کی وضاحت کرتے ہیں:

AWS ELB کے ساتھ لوڈ بیلنسنگ

  • منصوبہ

- اندرونی یا بیرونی بیلنسر۔ نکتہ یہ ہے کہ آیا آپ کے LoadBlancer کو باہر سے قابل رسائی ہونے کے لیے بیرونی پتے حاصل کرنے چاہئیں، یا یہ آپ کا اندرونی بوجھ بیلنسر ہو سکتا ہے۔

  • سیکورٹی گروپ

- بیلنسر تک رسائی کا کنٹرول۔ بنیادی طور پر یہ ایک اعلیٰ سطحی فائر وال ہے۔

AWS ELB کے ساتھ لوڈ بیلنسنگ

AWS ELB کے ساتھ لوڈ بیلنسنگ

  • سبطینٹس

- آپ کے VPC کے اندر ذیلی نیٹ (اور، اس کے مطابق، دستیابی زون)۔ سب نیٹ تخلیق کے دوران بیان کیے گئے ہیں۔ اگر VPCs علاقے کے لحاظ سے محدود ہیں، تو سب نیٹس دستیابی کے زون کے لحاظ سے محدود ہیں۔ لوڈ بیلنسر بناتے وقت، اسے کم از کم دو سب نیٹس میں بنانا بہتر ہے (ایک دستیابی زون کے ساتھ مسائل پیدا ہونے پر مدد ملتی ہے)؛

  • سنا

- آپ کا بیلنس پروٹوکول۔ جیسا کہ پہلے ذکر کیا گیا ہے، کلاسک لوڈ بیلنسر کے لیے یہ HTTP، HTTPS، TCP اور SSL ہو سکتا ہے، نیٹ ورک لوڈ بیلنس کے لیے - TCP، UDP اور TLS، ایپلیکیشن لوڈ بیلنسر کے لیے - HTTP اور HTTPS۔

کلاسک لوڈ بیلنسر کی مثال:

AWS ELB کے ساتھ لوڈ بیلنسنگ

لیکن ایپلیکیشن لوڈ بیلنسر میں ہم قدرے مختلف انٹرفیس اور عام طور پر مختلف منطق دیکھتے ہیں:

AWS ELB کے ساتھ لوڈ بیلنسنگ

لوڈ بیلنسر v2 اجزاء (ALB اور NLB)

آئیے اب ورژن 2 بیلنسرز ایپلیکیشن لوڈ بیلنسر اور نیٹ ورک لوڈ بیلنس کو قریب سے دیکھتے ہیں۔ ان بیلنسرز کی اپنی جزوی خصوصیات ہیں۔ مثال کے طور پر، ٹارگٹ گروپس جیسا تصور ظاہر ہوا - مثالیں (اور افعال)۔ اس جزو کی بدولت، ہمارے پاس یہ بتانے کا موقع ہے کہ ہم کس ٹارگٹ گروپس کی طرف ٹریفک بھیجنا چاہتے ہیں۔

AWS ELB کے ساتھ لوڈ بیلنسنگ

AWS ELB کے ساتھ لوڈ بیلنسنگ

آسان الفاظ میں، ٹارگٹ گروپس میں ہم ان مثالوں کی وضاحت کرتے ہیں جہاں ٹریفک آئے گی۔ اگر اسی کلاسک لوڈ بیلنسر میں آپ شدت کو فوری طور پر بیلنسر سے جوڑتے ہیں، تو پھر ایپلیکیشن لوڈ بیلنسر میں آپ سب سے پہلے:

  • ایک لوڈ بیلنسر بنائیں؛
  • ایک ہدف گروپ بنائیں؛
  • مطلوبہ ٹارگٹ گروپس کو مطلوبہ بندرگاہوں یا لوڈ بیلنسر قوانین کے ذریعے براہ راست؛
  • ٹارگٹ گروپس میں جو آپ مثالیں تفویض کرتے ہیں۔

یہ آپریٹنگ منطق زیادہ پیچیدہ لگ سکتی ہے، لیکن حقیقت میں یہ زیادہ آسان ہے۔

اگلا جزو ہے۔ سننے والے کے اصول (روٹنگ کے قوانین)۔ یہ صرف ایپلیکیشن لوڈ بیلنسر پر لاگو ہوتا ہے۔ اگر نیٹ ورک لوڈ بیلنسر میں آپ صرف ایک سننے والا بناتے ہیں، اور یہ ٹریفک کو ایک مخصوص ٹارگٹ گروپ کو بھیجتا ہے، تو پھر ایپلیکیشن لوڈ بیلنسر میں سب کچھ زیادہ مزہ اور آسان.

AWS ELB کے ساتھ لوڈ بیلنسنگ

اب اگلے جزو کے بارے میں چند الفاظ کہتے ہیں۔ لچکدار IP (NLB کے لیے جامد پتے)۔ اگر سننے والے کے قواعد روٹنگ کے قواعد صرف ایپلیکیشن لوڈ بیلنسر کو متاثر کرتے ہیں، تو لچکدار IP نے صرف نیٹ ورک لوڈ بیلنسر کو متاثر کیا۔

آئیے ایک نیٹ ورک لوڈ بیلنسر بنائیں:

AWS ELB کے ساتھ لوڈ بیلنسنگ

AWS ELB کے ساتھ لوڈ بیلنسنگ

اور صرف تخلیق کے عمل کے دوران ہم دیکھیں گے کہ ہمیں لچکدار IP کو منتخب کرنے کا موقع دیا گیا ہے:

AWS ELB کے ساتھ لوڈ بیلنسنگ

لچکدار IP ایک واحد IP پتہ فراہم کرتا ہے جو وقت کے ساتھ ساتھ مختلف EC2 مثالوں سے منسلک ہو سکتا ہے۔ اگر کسی EC2 مثال میں لچکدار IP ایڈریس ہے اور اس مثال کو ختم یا روک دیا گیا ہے، تو آپ فوری طور پر ایک نئے EC2 مثال کو لچکدار IP ایڈریس کے ساتھ منسلک کر سکتے ہیں۔ تاہم، آپ کی موجودہ ایپلیکیشن کام کرنا بند نہیں کرے گی، کیونکہ ایپلیکیشنز کو اب بھی وہی IP ایڈریس نظر آتا ہے، چاہے اصلی EC2 بدل گیا ہو۔

یہاں ایک اور استعمال کیس اس موضوع پر کہ لچکدار IP کی ضرورت کیوں ہے۔ دیکھو، ہمیں 3 IP پتے نظر آتے ہیں، لیکن وہ یہاں ہمیشہ کے لیے نہیں رہیں گے۔

AWS ELB کے ساتھ لوڈ بیلنسنگ

ایمیزون انہیں وقت کے ساتھ تبدیل کرتا ہے، شاید ہر 60 سیکنڈ میں (لیکن عملی طور پر، یقیناً، کم اکثر)۔ اس کا مطلب ہے کہ IP پتے تبدیل ہو سکتے ہیں۔ اور نیٹ ورک لوڈ بیلنسر کے معاملے میں، آپ صرف ایک IP ایڈریس کو پابند کر سکتے ہیں اور اسے اپنے قواعد، پالیسیوں وغیرہ میں بتا سکتے ہیں۔

AWS ELB کے ساتھ لوڈ بیلنسنگ

نتائج اخذ کریں۔

ELB متعدد اہداف (کنٹینرز، Amazon EC2 مثالوں، IP پتے، اور Lambda فنکشنز) پر آنے والی ٹریفک کی خودکار تقسیم فراہم کرتا ہے۔ ELB ایک واحد دستیابی زون کے اندر اور متعدد دستیابی زونز میں مختلف بوجھ کے ساتھ ٹریفک کو تقسیم کرنے کے قابل ہے۔ صارف تین قسم کے بیلنسرز میں سے انتخاب کر سکتا ہے جو زیادہ دستیابی، آٹو سکیلنگ اور اچھا تحفظ فراہم کرتے ہیں۔ یہ سب کچھ آپ کی درخواستوں کی غلطی برداشت کو یقینی بنانے کے لیے اہم ہے۔

اہم فوائد:

  • اچھی فراہمی. سروس کا معاہدہ لوڈ بیلنسر کے لیے 99,99% دستیابی کو فرض کرتا ہے۔ مثال کے طور پر، ایک سے زیادہ دستیابی والے زون اس بات کو یقینی بناتے ہیں کہ ٹریفک صرف صحت مند اشیاء کے ذریعے عمل میں آئے۔ درحقیقت، آپ مختلف دستیابی زونز میں ٹریفک کو صحت مند اہداف کی طرف ری ڈائریکٹ کرتے ہوئے پورے خطے میں بوجھ کو متوازن کر سکتے ہیں۔
  • حفاظت. ELB Amazon VPC کے ساتھ کام کرتا ہے، مختلف حفاظتی صلاحیتیں فراہم کرتا ہے - مربوط سرٹیفکیٹ مینجمنٹ، صارف کی تصدیق، اور SSL/TLS ڈکرپشن۔ سبھی مل کر TLS ترتیبات کا مرکزی اور لچکدار انتظام فراہم کرتے ہیں۔
  • لچک. ELB نیٹ ورک ٹریفک میں اچانک تبدیلیوں کو سنبھال سکتا ہے۔ اور آٹو اسکیلنگ کے ساتھ گہرا انضمام ایپلی کیشن کو کافی وسائل فراہم کرتا ہے اگر بوجھ بدل جاتا ہے، بغیر دستی مداخلت کی ضرورت۔
  • لچک. آپ اپنی ایپلیکیشنز کے اہداف کی درخواستوں کو روٹ کرنے کے لیے IP ایڈریس استعمال کر سکتے ہیں۔ یہ ٹارگٹ ایپلی کیشنز کو ورچوئلائز کرتے وقت لچک فراہم کرتا ہے، اس طرح ایک ہی موقع پر متعدد ایپلی کیشنز کی میزبانی کرنے کی صلاحیت فراہم کرتا ہے۔ چونکہ ایپلی کیشنز ایک ہی نیٹ ورک پورٹ استعمال کر سکتی ہیں اور ان میں علیحدہ سیکورٹی گروپس ہیں، ایپلیکیشنز کے درمیان بات چیت اس وقت آسان ہو جاتی ہے جب ہمارے پاس مائیکرو سروسز پر مبنی فن تعمیر ہوتا ہے۔
  • نگرانی اور آڈٹ. آپ Amazon CloudWatch کی خصوصیات کا استعمال کرتے ہوئے حقیقی وقت میں ایپلی کیشنز کی نگرانی کر سکتے ہیں۔ ہم میٹرکس، لاگ، درخواست سے باخبر رہنے کے بارے میں بات کر رہے ہیں۔ آسان الفاظ میں، آپ مسائل کی نشاندہی کر سکیں گے اور کارکردگی کی رکاوٹوں کو بالکل درست طریقے سے نشاندہی کر سکیں گے۔
  • ہائبرڈ بوجھ توازن. اسی لوڈ بیلنسر کا استعمال کرتے ہوئے آن پریمیسس وسائل اور AWS کے درمیان بیلنس لوڈ کرنے کی صلاحیت آن پریمیسس ایپلی کیشنز کو کلاؤڈ پر منتقل کرنا یا پھیلانا آسان بناتی ہے۔ کلاؤڈ کا استعمال کرتے ہوئے ناکامی سے نمٹنے کو بھی آسان بنایا گیا ہے۔

اگر آپ تفصیلات میں دلچسپی رکھتے ہیں تو، ایمیزون کی سرکاری ویب سائٹ سے چند مزید مفید لنکس یہ ہیں:

  1. لچکدار لوڈ توازن.
  2. لچکدار لوڈ توازن کی صلاحیتیں.

ماخذ: www.habr.com

نیا تبصرہ شامل کریں