سلام به همه! این دوره از امروز شروع می شود
- درک کنید که AWS Load Balancing چیست.
- انواع متعادل کننده بار الاستیک و اجزای آن را بشناسید.
- از AWS ELB در تمرین خود استفاده کنید.
اصلاً چرا باید این را بدانید؟
- اگر قصد شرکت در امتحانات گواهینامه AWS را دارید مفید است.
- این یک راه ساده برای توزیع بار بین سرورها است.
- این یک راه ساده برای افزودن لامبدا به سرویس شما (ALB) است.
یک درس آزاد برگزار کرد
معرفی
این که یک بار الاستیک متعادل کننده چیست را می توان در نمودار زیر مشاهده کرد که یک مثال ساده را نشان می دهد:
Load Balancer درخواست ها را می پذیرد و آنها را در بین نمونه ها توزیع می کند. ما یک نمونه جداگانه داریم، توابع Lambda و یک گروه AutoScaling (گروهی از سرورها) وجود دارد.
انواع AWS ELB
1. بیایید به انواع اصلی نگاه کنیم:
متعادل کننده بار کلاسیک. اولین بار متعادل کننده از AWS، بر روی لایه 4 و لایه 7 OSI کار می کند و از HTTP، HTTPS، TCP و SSL پشتیبانی می کند. تعادل بار اولیه را در چندین نمونه EC2 آمازون فراهم می کند و در هر دو سطح درخواست و اتصال کار می کند. بیایید آن را باز کنیم (با رنگ خاکستری برجسته شده است):
این متعادل کننده قدیمی در نظر گرفته می شود، بنابراین فقط در موارد خاص استفاده از آن توصیه می شود. به عنوان مثال، برای برنامه هایی که در شبکه EC2-Classic ساخته شده اند. در اصل، هیچ کس ما را از ایجاد آن باز نمی دارد:
2. شبکه Load Balancer. مناسب برای بارهای سنگین، در لایه OSI 4 کار می کند (قابل استفاده در EKS و ECS)، TCP، UDP و TLS پشتیبانی می شوند.
Network Load Balancer ترافیک را به سمت اهداف در VPC آمازون هدایت می کند و قادر است میلیون ها درخواست را در ثانیه با تأخیر بسیار کم پردازش کند. علاوه بر این، برای مدیریت الگوهای ترافیکی با بارهای ناگهانی و متغیر بهینه شده است.
3. Application Load Balancer. در لایه 7 کار می کند، از لامبدا پشتیبانی می کند، قوانین سطح سرصفحه و مسیر را پشتیبانی می کند، از HTTP و HTTPS پشتیبانی می کند.
مسیریابی درخواست پیشرفته را با تمرکز بر ارائه برنامه های کاربردی ساخته شده بر اساس معماری های مدرن، از جمله میکروسرویس ها و کانتینرها، ارائه می دهد. بر اساس محتوای درخواست، ترافیک را به سمت اهداف در آمازون VPC هدایت می کند.
برای بسیاری از کاربران، Application Load Balancer اولین انتخاب برای جایگزینی Classic Load Balancer بود، زیرا TCP به اندازه HTTP رایج نیست.
بیایید آن را نیز ایجاد کنیم، در نتیجه از قبل دو متعادل کننده بار خواهیم داشت:
اجزای تعادل بار
اجزای تعادل بار مشترک (مشترک برای همه متعادل کننده ها):
- به سیاست ورود به سیستم دسترسی پیدا کنید
- گزارش های دسترسی ELB شما. برای انجام تنظیمات، میتوانید به توضیحات بروید و دکمه «ویرایش ویژگیها» را انتخاب کنید:
سپس S3Bucket - Amazon object storage را مشخص می کنیم:
- طرح
- متعادل کننده داخلی یا خارجی نکته این است که آیا LoadBalancer شما باید آدرس های خارجی را دریافت کند تا از بیرون قابل دسترسی باشد یا می تواند متعادل کننده بار داخلی شما باشد.
- گروههای امنیتی
- کنترل دسترسی به متعادل کننده. در اصل این یک فایروال سطح بالا است.
- زیرشبکه ها
- زیر شبکه های داخل VPC شما (و بر این اساس، منطقه در دسترس بودن). زیرشبکه ها در حین ایجاد مشخص می شوند. اگر VPC ها بر اساس منطقه محدود می شوند، زیرشبکه ها توسط مناطق در دسترس محدود می شوند. هنگام ایجاد یک Load Balancer، بهتر است آن را در حداقل دو زیرشبکه ایجاد کنید (در صورت بروز مشکل در یک منطقه دسترسی کمک می کند).
- شنوندگان
- پروتکل های متعادل کننده شما همانطور که قبلاً ذکر شد، برای Load Balancer کلاسیک می تواند HTTP، HTTPS، TCP و SSL، برای Network Load Balancer - TCP، UDP و TLS، برای Application Load Balancer - HTTP و HTTPS باشد.
مثال برای متعادل کننده بار کلاسیک:
اما در Application Load Balancer ما یک رابط کمی متفاوت و منطق کلی متفاوت می بینیم:
اجزای Load Balancer v2 (ALB و NLB)
اکنون بیایید نگاهی دقیقتر به متعادلکنندههای نسخه ۲ بیندازیم Application Load Balancer و Network Load Balancer. این متعادل کننده ها ویژگی های اجزای خاص خود را دارند. به عنوان مثال، مفهومی مانند گروه های هدف ظاهر شد - نمونه ها (و توابع). به لطف این مؤلفه، ما این فرصت را داریم که مشخص کنیم می خواهیم ترافیک را به کدام یک از گروه های هدف هدایت کنیم.
به زبان ساده، در Target Groups مواردی را مشخص میکنیم که ترافیک در آنجا بیاید. اگر در همان Load Balancer کلاسیک بلافاصله شدت را به متعادل کننده متصل کنید، در Application Load Balancer ابتدا:
- ایجاد یک بار متعادل کننده؛
- ایجاد یک گروه هدف؛
- مستقیم از طریق پورت های مورد نیاز یا قوانین Load Balancer به گروه های مورد نیاز.
- در گروه های هدف شما نمونه هایی را اختصاص می دهید.
این منطق عملیاتی ممکن است پیچیده تر به نظر برسد، اما در واقع راحت تر است.
جزء بعدی است قوانین شنونده (قوانین مسیریابی). این فقط برای Application Load Balancer صدق می کند. اگر در Network Load Balancer به سادگی یک Linder ایجاد کنید و ترافیک را به یک گروه هدف خاص ارسال کند، در Application Load Balancer همه چیز
حالا بیایید چند کلمه در مورد مؤلفه بعدی بگوییم - IP الاستیک (آدرس های ثابت برای NLB). اگر قوانین مسیریابی Liener فقط بر Application Load Balancer تأثیر میگذارد، Elastic IP فقط بر روی Network Load Balancer تأثیر میگذارد.
بیایید یک Network Load Balancer ایجاد کنیم:
و درست در طول فرآیند ایجاد، خواهیم دید که به ما این فرصت داده می شود تا Elastic IP را انتخاب کنیم:
Elastic IP یک آدرس IP واحد را ارائه می دهد که می تواند در طول زمان با نمونه های مختلف EC2 مرتبط شود. اگر یک نمونه EC2 دارای یک آدرس IP الاستیک باشد و آن نمونه خاتمه یافته یا متوقف شود، می توانید بلافاصله یک نمونه EC2 جدید را با یک آدرس IP الاستیک مرتبط کنید. با این حال، برنامه فعلی شما از کار نخواهد افتاد، زیرا برنامه ها همچنان همان آدرس IP را می بینند، حتی اگر EC2 واقعی تغییر کرده باشد.
در اینجا این است
آمازون آنها را در طول زمان تغییر می دهد، شاید هر 60 ثانیه (اما در عمل، البته، کمتر). این بدان معنی است که آدرس های IP می توانند تغییر کنند. و در مورد Network Load Balancer، شما فقط می توانید یک آدرس IP را متصل کنید و آن را در قوانین، سیاست ها و غیره خود نشان دهید.
نتیجه گیری را بیاموزید
ELB توزیع خودکار ترافیک ورودی را در چندین هدف (کانتینرها، نمونه های آمازون EC2، آدرس های IP و توابع لامبدا) فراهم می کند. ELB قادر است ترافیک را با بارهای مختلف هم در یک منطقه در دسترس و هم در چندین منطقه در دسترس توزیع کند. کاربر می تواند از بین سه نوع متعادل کننده انتخاب کند که در دسترس بودن بالا، مقیاس خودکار و محافظت خوب را ارائه می دهند. همه اینها برای اطمینان از تحمل خطا در برنامه های شما مهم است.
امتیازات اصلی:
- در دسترس بودن بالا. قرارداد خدمات 99,99٪ در دسترس بودن را برای متعادل کننده بار فرض می کند. به عنوان مثال، چندین منطقه دسترسی تضمین می کند که ترافیک فقط توسط اشیاء سالم پردازش می شود. در واقع، میتوانید بار را در کل منطقه متعادل کنید و ترافیک را به سمت اهداف سالم در مناطق مختلف در دسترس هدایت کنید.
- امنیت. ELB با آمازون VPC کار می کند و قابلیت های امنیتی مختلفی را ارائه می دهد - مدیریت گواهی یکپارچه، احراز هویت کاربر و رمزگشایی SSL/TLS. همه با هم مدیریت متمرکز و انعطاف پذیر تنظیمات TLS را فراهم می کند.
- قابلیت ارتجاعی. ELB می تواند تغییرات ناگهانی در ترافیک شبکه را مدیریت کند. و در صورت تغییر بار، بدون نیاز به مداخله دستی، یکپارچگی عمیق با مقیاس خودکار به برنامه منابع کافی می دهد.
- انعطاف پذیری. می توانید از آدرس های IP برای هدایت درخواست ها به اهداف برنامه های خود استفاده کنید. این انعطافپذیری را هنگام مجازیسازی برنامههای هدف فراهم میکند، بنابراین توانایی میزبانی چندین برنامه در یک نمونه را میدهد. از آنجایی که برنامهها میتوانند از یک پورت شبکه استفاده کنند و دارای گروههای امنیتی جداگانه باشند، ارتباط بین برنامهها زمانی سادهتر میشود که مثلاً یک معماری مبتنی بر میکروسرویس داشته باشیم.
- نظارت و ممیزی. با استفاده از ویژگیهای آمازون CloudWatch میتوانید برنامهها را در زمان واقعی نظارت کنید. ما در مورد معیارها، گزارش ها، ردیابی درخواست صحبت می کنیم. به عبارت ساده، شما قادر خواهید بود مشکلات را شناسایی کنید و گلوگاه های عملکرد را به طور کاملا دقیق مشخص کنید.
- متعادل کننده بار هیبریدی. توانایی بارگذاری تعادل بین منابع داخلی و AWS با استفاده از متعادل کننده بار یکسان، انتقال یا گسترش برنامه های کاربردی در محل به ابر را آسان می کند. مدیریت خرابی نیز با استفاده از ابر ساده شده است.
اگر به جزئیات علاقه دارید، در اینجا چند پیوند مفید دیگر از وب سایت رسمی آمازون آورده شده است:
منبع: www.habr.com