در قسمت اول، مفاهیم ابتدایی AWS Cloud رو با هم مرور کردیم و فهمیدیم که این تکنولوژی چه کاربردهایی داره و چرا یادگیریش حتی با وجود تحریمها میتونه به کار ما بیاد. هدف این بود که پایههای اصلی رایانش ابری و خدماتی که AWS ارائه میده رو بشناسیم تا درک بهتری از دنیای cloud پیدا کنیم.
در قسمت دوم، به خدمات محاسباتی AWS پرداختیم. از EC2، اصلیترین سرویس محاسباتی AWS، تا ابزارهایی مثل Auto Scaling و Load Balancer که مدیریت منابع رو بهینه میکنن. همچنین، سرویسهای کانتینری مثل ECS و EKS و تکنولوژیهای Serverless مثل Lambda و Fargate رو بررسی کردیم. هدف این بود که بفهمیم چطور AWS میتونه به شرکتها کمک کنه تا با کمترین هزینه و بالاترین انعطافپذیری به نیازهای محاسباتیشون پاسخ بدن.
در قسمت سوم، خدمات ذخیرهسازی AWS را توضیح دادم؛ سرویسهایی مثل S3، EBS و EFS که هرکدام برای نیازهای خاص ذخیرهسازی طراحی شدهاند و امنیت، پایداری و روشهای دسترسی متنوعی را ارائه میدهند.
حالا توی قسمت چهارم، به خدمات شبکهای AWS میپردازیم که شامل سرویس CloudFront، سرویس AWS Global Accelerator، مفاهیم شبکه در AWS مثل VPC، دموی VPC که دقیقا چی هست و چطور باید ساخته بشه، سرویس DNS و Route 53 و در آخرم AWS Direct Connect و AWS VPN است. این ابزارها به ما کمک میکنند تا ارتباطات سریع، امن و پایدار بین منابع مختلف را در فضای ابری AWS ایجاد کنیم. تو این قسمت، یاد میگیریم که چطور این ابزارها را برای ساخت و مدیریت شبکهای ایمن و پایدار استفاده کنیم.
خب اول ببینیم شبکههای تحویل محتوا، یا همون CDNs چی هستن. CDN یه شبکه جهانی از سرورهای متصله که تضمین میکنه محتوای سایتتون سریع به کاربرها برسه. فرض کنین CDNs یه شبکه از مسیرهای تحویل پیتزا با سرعت بالا هستن که پیتزای خوشمزه یا محتوای سایتتون رو سریع و داغ به دست کاربرها توی سراسر دنیا میرسونه.
CDN مثل این میمونه که چندین آشپزخونه پیتزا تو سطح شهر داشته باشید. این آشپزخونهها یا Edge locations، پیتزاتون رو نگه میدارن و آماده تحویل داغ و سریع به هر کسی که نزدیکه و سفارش میده.
خب سوال اینه چرا استفاده از CDN ممکنه براتون مفید باشه؟
بعضی از مزایای CDN:
حالا بیایین نسخه AWS از CDN رو ببینیم.
توی دنیای AWS، میشه گفت Amazon CloudFront همون شبکه تحویل پیتزای عالی ماست. این سرویس طوری طراحی شده که پیتزاهای دیجیتالمون مثل ویدئوها، اپلیکیشنها، یا دیتا رو سریع و ایمن به هر کسی، تو هر جایی از دنیا برسونه. CloudFront برای انتقال دادهها هزینه داره، ولی یه ترابایت اول رایگانه و تو حساب AWS Free Tier شامل میشه.
سرویس CloudFront با کش کردن محتوای شما توی چندین دیتاسنتر که بهشون Edge locations میگن، در سراسر دنیا کار میکنه. وقتی یه کاربر محتوای شما رو درخواست میکنه، CloudFront از نزدیکترین Edge locations به کاربر اون رو ارائه میده. این به شدت تأخیر (زمان لازم برای انتقال دیتا بین سرور و کاربر) رو کاهش میده.
سرویس CloudFront امنیت رو هم بالا میبره. این سرویس با AWS Shield برای محافظت در برابر حملات DDoS و فایروال وب اپلیکیشن AWS یا WAF ترکیب شده تا سایتتون رو از حملات معمول وب محافظت کنه. این یعنی علاوه بر اینکه تحویل محتوا سریع هست، امنیت بالایی هم داره و در برابر تهدیدات سایبری محافظت میکنه.
سرویس CloudFront به طور عمیق با AWS یکپارچه شده، و استفاده از سرویسهای دیگه AWS مثل S3، EC2، و Route 53 رو ساده و بهینه میکنه. این یکپارچگی باعث میشه معماری روان و قابل توسعهای داشته باشین که بتونه به راحتی با ترافیک و الگوهای استفاده مختلف سازگار بشه، مثل یه سیستم تحویل عالی که هم تو زمانهای شلوغ و هم در مواقع خلوت عملکرد خوبی داره.
بیایین نگاهی به کاربردهای واقعی CloudFront بندازیم.
سرویس Amazon CloudFront برای پخش ویدیوها خیلی کارآمده. این سرویس تضمین میکنه که بافر حداقلی وجود داشته باشه و تجربه تماشای با کیفیت و بدون وقفهای ارائه میده.
توی تجارت الکترونیک، امنیت تراکنشها اهمیت داره. CloudFront برای محافظت از انتقال دادههای حساس، مثل اطلاعات کارت اعتباری، از رمزگذاری و یکپارچگی با سرویسهای امنیتی AWS استفاده میکنه.
مواقع افزایش ترافیک، مثل بلک فرایدی یا راهاندازی یه محصول جدید، CloudFront کمک میکنه سایتها بدون مشکل از پس این افزایش بار بر بیان.
سرویس CloudFront همچنین ویژگیهای تحلیلی و گزارشدهی دقیقی ارائه میده که به شما امکان میده بینشهای ارزشمندی از رفتار کاربرهاتون به دست بیارین، مثل اینکه چه محتوایی محبوبتره و مخاطبانتون از کجا هستن.
سرویس AWS Global Accelerator یه سرویس شبکهست که ترافیک کاربرهاتون رو از طریق زیرساخت جهانی AWS هدایت میکنه و عملکرد و دسترسیپذیری اپلیکیشن شما رو بهبود میده.
اگر بخواهیم مقایسهای داشته باشیم، قبلاً گفتیم که شبکههای تحویل محتوا (CDN) مثل مسیرهای تحویل پیتزا عمل میکنند و پیتزاها را در آشپزخانههای مختلف سطح شهر (edge locations) آماده تحویل نگه میدارند تا به سرعت به دست مشتری برسند. اما AWS Global Accelerator کمی متفاوته و مثل یک مسیر ویژه و سریع برای پیتزاهای خاص عمل میکند؛ به این معنا که بهجای تحویل در هر آشپزخانه، بهترین و سریعترین مسیر رو انتخاب میکنه تا پیتزاهای مهم و حساس (یا همان ترافیک خاص) سریعتر به مقصد برسند.
سرویس CloudFront از Edge locations برای کش کردن و ذخیره محتوای ثابت استفاده میکنه تا در دسترس کاربران باشد، در حالی که Global Accelerator از همین Edge locations بهره میبره تا بهترین مسیر برای هدایت ترافیک به نزدیکترین نقطه مقصد را پیدا کند. به عبارتی، Global Accelerator روی یافتن سریعترین و پایدارترین مسیر تمرکز دارد تا ترافیک را بدون تأخیر به مقصد نهایی برساند.
بعضی از مزایای AWS Global Accelerator:
سرویس AWS Global Accelerator در این مواقع بهدردتون میخوره:
خب تو این قسمت، میخواهیم با شبکهبندی AWS آشنا بشیم و به طور خاص سرویس Amazon VPC یا همون ابر خصوصی مجازی رو بررسی کنیم. Amazon VPC در واقع فضای خصوصی شما توی فضای ابری AWS هست که مثل یه بخش امن و ایزوله از یه آشپزخونهی بزرگ عمل میکنه. این فضای خصوصی به شما کنترل کاملی روی محیط شبکه مجازیتون میده؛ میتونید چیدمان منابع (سابنتها)، قوانین دسترسی (گروههای امنیتی)، و ارتباط با دنیای بیرون مثل اینترنت گیتویها رو مدیریت کنین.
وقتی از VPC استفاده میکنیم، داریم یه شبکه خصوصی مجازی توی AWS میسازیم. این شبکه شامل بخشهای مختلفی هست که در ادامه توضیحشون میدم.
1. سابنتها (Subnets)
سابنتها بخشهای کوچیکتری از VPC هستن که شبکهی شما رو به بخشهای مجزا تقسیم میکنن. با این کار میتونید منابع رو بهتر سازماندهی کنید و لایههای امنیتی مختلفی بهشون اضافه کنین. توی هر VPC، ما میتونیم هم سابنت عمومی و هم سابنت خصوصی داشته باشیم.
2. اینترنت گیتوی (Internet Gateway) و جدولهای مسیریابی (Route Tables)
اینترنت گیتوی رو میتونید به عنوان در اصلی آشپزخونه به دنیای بیرون در نظر بگیرین که به VPC شما اجازه میده با اینترنت ارتباط برقرار کنه. حالا برای اینکه بدونیم هر ترافیکی باید به کجا بره، نیاز به یه نقشه راه داریم، که این نقش رو جدولهای مسیریابی ایفا میکنن.
3. گروههای امنیتی (Security Groups) و لیستهای کنترل دسترسی شبکه (NACLها)
برای اینکه امنیت منابع شما حفظ بشه، AWS دو لایه امنیتی اصلی ارائه میده: گروههای امنیتی و NACLها (Network ACLs).
تفاوت بین گروههای امنیتی و NACLها
تفاوت اصلی بین این دو لایه امنیتی در نحوهی عملکرد و سطح پوشششونه. گروههای امنیتی سطح جزئیتری دارن و برای هر اینستنس تنظیم میشن و حالت (State) رو حفظ میکنن؛ یعنی وقتی اجازه ورود به ترافیک داده میشه، خروجش هم مجازه. اما NACLها برای کل سابنت عمل میکنن و حالت رو حفظ نمیکنن؛ پس برای هر ترافیک ورودی و خروجی باید قوانین جداگانه تعریف بشه.
جمعبندی
در Amazon VPC، شما با استفاده از سابنتها میتونید بخشهای عمومی و خصوصی رو از هم جدا کنین و با اینترنت گیتوی و جدولهای مسیریابی، جریان ترافیک شبکه رو مدیریت کنین. به کمک گروههای امنیتی و NACLها، لایههای امنیتی بیشتری به منابع شبکهتون اضافه میکنین و کنترل کاملی روی امنیت و دسترسی دارین.
خب تا اینجای مباحث بیشتر تئوری بوده، اما حالا وقتشه که یه VPC رو تو عمل ببینیم. یادتونه که VPC رو مثل یه بخش امن و ایزوله از یه آشپزخونه ابری توصیف کردیم؟ حالا قراره بریم سراغ کنسول AWS تا ببینیم این چطوری تو فضای ابری واقعی به نظر میرسه. من وارد حساب AWS خودم شدم و میخوام برم به سرویس VPC
میتونم اینجا روش کلیک کنم یا تو نوار جستجو VPC رو تایپ کنم.
حالا سرویس VPC رو انتخاب میکنم و شما باید به صفحهای شبیه این برسین. خب برای ساخت یک VPC روی Create VPC کلیک میکنم.
ما اینجا چندتا گزینه داریم. میتونیم فقط یه VPC ایجاد کنیم و بعد بهصورت دستی سایر منابع رو ایجاد کنیم، یا میتونیم روی گزینه VPC and more کلیک کنیم که همین کار رو برای این مثال انجام میدیم. همونطور که میبینین، یه پیشنمایش بهصورت یه نقشه نمایش داده میشه که نشون میده این منابع مختلف چطور به هم متصل میشن.
در این گزینه پیشفرض، ما یه VPC داریم با چهار سابنت و دو availability zone به نام US East 1A و US East 1B. توی هر availability zone یه سابنت عمومی و یه سابنت خصوصی داریم.
و بعد یه جدول مسیریابی داریم که به سابنتهای عمومی ما تو هر availability zone متصل میشه.
همچنین جدولهای مسیریابی برای هر کدوم از سابنتهای خصوصی در هر availability zone داریم.
سمت راست این نقشه، یه اینترنت گیتوی داریم که به VPC ما اجازه میده از طریق سابنتهای عمومی
و جدول مسیریابی عمومی با اینترنت ارتباط برقرار کنه.
حالا بریم سراغ بعضی تنظیمات:
در بخش تنظیمات VPC، میتونیم برخی از گزینهها رو برای ایجاد VPC و منابع وابستهاش انتخاب کنیم.
و در ادامه تنظیمات، میتونیم نوع و تعداد سابنتها و گزینههای دیگهای رو برای VPC انتخاب کنیم:
بعد از این تنظیمات، میتونیم روی "Create VPC" کلیک کنیم تا VPC با این تنظیمات ساخته بشه.
بعد از ایجاد VPC، میریم سراغ بررسیها:
اگه به بخش امنیت برید و روی Network ACLs کلیک کنید
یه Network ACL پیشفرض برای VPC مون ایجاد شده. Network ACLs در سطح سابنت عمل میکنن و stateless هستن، یعنی تعاملات قبلی رو به خاطر نمیآرن. مثل یه جامعه بسته با نگهبانانی که تو ورودیها ایستادن و تعیین میکنن چه کسی اجازه ورود یا خروج داره. بهطور جداگانه، باید قوانین ورودی و خروجی تنظیم بشن تا ترافیک ورودی و خروجی رو کنترل کنن. این با گروههای امنیتی فرق داره که stateful هستن و تعاملات رو به خاطر میسپارن.
گروههای امنیتی (Security Groups) در سطح اینستنس عمل میکنن. این گروهها شبیه در ورودی خونه شما هستن و نگهبانها میدونن چه کسی وارد خونهتون شده. اگه اجازه عبور ترافیک در یه جهت داده بشه، ترافیک برگشتی هم باید مجاز باشه.
خب ببینیم DNS چیه؟ DNS یه سرویس توزیعشده جهانیه که نامهای قابل خوندن برای انسان، مثل amazon.com رو به آدرسهای IP عددی تبدیل میکنه. اینجا ما بهطور خاص به سرویس Amazon Route 53، میپردازیم. فرض کنید DNS مثل یه دفترچه تلفن بزرگ برای اینترنت عمل میکنه. وقتی یه آدرس وب مثل worldpizzaco.com رو تایپ میکنید، DNS پشتصحنه کار میکنه تا یه آدرس IP متناظر پیدا کنه، درست مثل اینکه شماره تلفن یه شخص رو پیدا کنین. این فرآیند برای هدایت ترافیک اینترنت حیاتی است و اطمینان میده که دستگاههای کاربران به سرورهای درست وصل بشن. توی دنیای آمازون ، Amazon Route 53 سرویس DNS پیشرفته و قابل اعتمادیه. این سرویس همچنین خدمات ثبت نام دامنه و بررسی سلامت منابع رو ارائه میده. Route 53 مثل یه دفترچه تلفن کارآمد برای سرویسهای AWS عمل میکنه و اسمهای دامنه رو به سرعت به آدرسهای IP تبدیل میکنه.
مسیریابی پیشرفته ترافیک:
تصور کنید شماره تلفن مناسب رو بر اساس موقعیت جغرافیایی یا زمان روز انتخاب کنید.
Route 53 ترافیک رو بهطور هوشمند هدایت میکنه و از روشهای مختلفی مثل مسیریابی جغرافیایی، مسیریابی مبتنی بر تأخیر، و مسیریابی وزندار استفاده میکنه.
بررسی سلامت (Health Checks):
درست مثل چک کردن خط تلفن قبل از تماس، Route 53 سلامت منابع مثل سرورهای وب رو بررسی میکنه.
این سرویس بهطور خودکار ترافیک رو از مسیرهای خراب یا ناسالم منحرف میکنه تا دسترسپذیری و عملکرد پیوستهای داشته باشین.
فایل اور DNS:
اگه نقطه انتهایی اصلی شما دچار مشکل بشه، Route 53 میتونه کاربران رو خودکار به یه مکان ثانویه هدایت کنه.
مقیاسپذیری و یکپارچگی:
به عنوان بخشی از مجموعه AWS، Route 53 بهطور خودکار با نیازهای شما مقیاسبندی میشه.
این سرویس به راحتی با سرویسهای دیگه AWS مثل Amazon EC2، Elastic Load Balancing، و Amazon S3 یکپارچه میشه و تجربه یکپارچهای رو در مدیریت ترافیک اپلیکیشنها فراهم میکنه.
کاربردهای Route 53:
مدیریت ترافیک جهانی: برای کسبوکارهایی که در سطح جهانی فعالیت میکنن، Route 53 ابزار با ارزشی برای مدیریت ترافیک در مناطق جغرافیایی مختلفه.
ثبت و مدیریت نام دامنه: علاوه بر مسیریابی و بالانس بار، Route 53 خدمات ثبت نام دامنه هم ارائه میده.
میتونین نامهای دامنه رو مستقیماً از طریق Route 53 خریداری و مدیریت کنین.
DNS خصوصی برای Amazon VPC: برای اپلیکیشنهایی که داخل یه VPC اجرا میشن، Route 53 میتونه برای مدیریت نامهای DNS داخلی EC2 مورد استفاده قرار بگیره. این ویژگی به شما اجازه میده اسمهای دامنهای که فقط داخل VPC حل میشن رو به اینستنسها اختصاص بدین.
تو این قسمت در مورد AWS Direct Connect و AWS VPN یاد میگیریم. این مدلهای شبکه ترکیبی به شما اجازه میدن زیرساخت محلیتون رو به Amazon VPC متصل کنید.
سرویس AWS Direct Connect مانند یک جاده خصوصی است که بهطور اختصاصی برای شما ساخته شده است. این سرویس اتصال مستقیم و خصوصی از دیتاسنتر شما به AWS فراهم میکند و از اینترنت عمومی عبور نمیکند. این مسیر اختصاصی باعث میشود انتقال دادهها سریعتر و قابلاعتمادتر باشد، مانند اینکه مواد اولیه مستقیماً از تأمینکننده به آشپزخانه شما بدون تأخیرهای ترافیکی برسند.
مزایای استفاده از AWS Direct Connect:
سرویس AWS VPN مثل یه وسیله نقلیه زرهی هست که مواد اولیه رو بهصورت امن از جادههای عمومی به AWS منتقل میکنه. این سرویس دادههاتون رو رمزنگاری میکنه و در طول مسیر از اینترنت به AWS محافظت میکنه.
دو نوع VPN وجود داره:
مدل Site-to-Site VPN:
این VPN یه اتصال امن بین دیتاسنتر یا دفتر شما و محیط AWS شما ایجاد میکنه. این سرویس به شبکه شما اجازه میده به فضای ابری AWS متصل بشه انگار که بخشی از دیتاسنتر خودتونه.
مدل Client VPN:
این یه سرویس VPN مدیریتشده مبتنی بر کلاینت هست که به شما اجازه میده از هر مکانی به منابع AWS یا شبکه خصوصیتون دسترسی ایمن داشته باشین. این سرویس دسترسی ایمن و مدیریتشدهای رو برای کاربرهای دورکار مثل کارکنانی که از خارج از دفتر متصل میشن، فراهم میکنه.
چه موقع از VPN استفاده کنیم و چه موقع از Direct Connect؟
خب تو قسمت چهارم ، به دنیای شبکهای AWS وارد شدیم و ابزارهایی رو بررسی کردیم که هر کدوم از این سرویسها به ما کمک میکنن تا شبکهای سریع، امن و پایدار در فضای ابری ایجاد کنیم. با این توضیحات، امیدوارم که دید بهتری نسبت به انتخاب و استفاده از این سرویسها برای بهینهسازی ارتباطات و امنیت شبکهتون در AWS پیدا کرده باشین.
قسمت اول AWS Certified Cloud Practitioner : آشنایی با مفاهیم ابتدایی AWS Cloud
قسمت دوم AWS Certified Cloud Practitioner : خدمات مبتنی بر Compute
قسمت سوم AWS Certified Cloud Practitioner: فناوری و خدمات ذخیرهسازی مثل S3
قسمت چهارم AWS Certified Cloud Practitioner: خدمات شبکه و Content Delivery
قسمت پنجم AWS Certified Cloud Practitioner : آشنایی با انواع دیتابیس در AWS
و در آخر این آدرس لینکدین و توئیتر من هست خوشحال میشم در ارتباط باشیم.
🪩 Follow Linkedin Hossein Jafari🪩
🕊 Twitter 🕊