ایجاد یک وب سرور امن در AWS: راهنمای گام به گام استقرار یک برنامه وب امن و مقیاس پذیر در AWS با استفاده از خدمات AWS

Summarize this content to 400 words in Persian Lang
استقرار یک برنامه وب امن و مقیاس پذیر در AWS ممکن است چالش برانگیز به نظر برسد، اما با راهنمایی مناسب، قابل دستیابی است. این مقاله یک رویکرد ساختاریافته برای راهاندازی یک وب سرور کاملاً کاربردی با استفاده از خدمات AWS مانند Amazon VPC، IAM، EC2 و Systems Manager دنبال میکند.
مرحله 1: معماری خود را طراحی کنیدقبل از پرش به پیاده سازی، لحظه ای را به بررسی نمودار معماری برنامه وب خود اختصاص دهید. همانطور که ما هر سرویس AWS را پیکربندی می کنیم، شما را راهنمایی می کند.
نکات کلیدی:
یک VPC و زیرشبکه ایجاد کنید
آمازون VPC یک شبکه مجازی منطقی ایزوله شده است که شما تعریف می کنید و به شما امکان می دهد منابع AWS را در یک محیط ایمن و ایزوله راه اندازی کنید. ما از جادوگر VPC برای راهاندازی سریع کل شبکه مجازی برای وب سرور خود، از جمله شبکههای فرعی، مسیریابی و سایر منابع استفاده میکنیم.
راه اندازی گروه های امنیتی
گروه های امنیتی ترافیک ورودی و خروجی را برای منابع مرتبط مانند سرورها کنترل می کنند. VPC شما دارای یک گروه امنیتی پیشفرض است، اما میتوانید گروههای اضافی را با قوانین ورودی و خروجی سفارشی ایجاد کنید.
ما دو گروه امنیتی برای ایمن سازی وب سایت خود ایجاد خواهیم کرد. یکی از منابع موجود در زیرشبکه های عمومی محافظت می کند و تنها به ترافیک لازم اجازه می دهد. دیگری به طور خاص نمونه وب سرور را ایمن می کند.
نقش های IAM را پیکربندی کنید
AWS Identity and Access Management (IAM) سرویسی برای کنترل ایمن دسترسی به خدمات AWS است. با IAM، میتوانید کاربران، اعتبارنامههای امنیتی مانند کلیدهای دسترسی و مجوزهایی را که کنترل میکنند به منابع AWS و برنامههای کاربردی که میتوانند به آنها دسترسی داشته باشند را به صورت متمرکز مدیریت کنید.
ما IAM را برای کنترل دقیق منابع AWS که سرور وب ما میتواند به آن دسترسی داشته باشد، پیکربندی میکنیم و فقط مجوزهای لازم را میدهیم.
یک نمونه EC2 را راه اندازی کنید
Amazon Elastic Compute Cloud (Amazon EC2) ظرفیت محاسباتی مقیاسپذیر و درخواستی را در سرویسهای وب آمازون (AWS) Cloud فراهم میکند. استفاده از Amazon EC2 هزینههای سختافزاری را کاهش میدهد تا بتوانید برنامهها را سریعتر توسعه و اجرا کنید. میتوانید از Amazon EC2 برای راهاندازی سرورهای مجازی به تعداد مورد نیاز، پیکربندی امنیت و شبکه و مدیریت فضای ذخیرهسازی استفاده کنید.
در بخش بعدی، ما وب سرور خود را با استفاده از Amazon EC2 مستقر خواهیم کرد.
مدیریت نمونه با AWS Systems Manager
Session Manager یک قابلیت مدیریت کامل AWS Systems Manager است. با Session Manager، میتوانید نمونههای Amazon Elastic Compute Cloud (Amazon EC2)، دستگاههای لبه، سرورهای داخلی و ماشینهای مجازی (VM) خود را مدیریت کنید.
ما از Session Manager برای دسترسی ایمن به وب سرور برای اهداف مدیریتی استفاده خواهیم کرد.
ایجاد تعادل بار برنامه
AWS انواع مختلفی از متعادل کننده های بار را برای توزیع ترافیک در زیرساخت شما ارائه می دهد.
در این بخش، یک Application Load Balancer (ALB) را راه اندازی می کنیم. با ALB، ما می توانیم ترافیک وب ورودی را به نمونه وب سرور EC2 خود هدایت کنیم. متعادل کننده بار پیکربندی شبکه و سیاست های امنیتی را کنترل می کند تا ارتباط امن بین کلاینت ها و وب سرور را امکان پذیر کند.
S3 Bucket را ایجاد کنید و فایل ها را روی آن آپلود کنید
سرویس ذخیره سازی ساده آمازون (Amazon S3) یک سرویس ذخیره سازی اشیا است که مقیاس پذیری، در دسترس بودن داده ها، امنیت و عملکرد پیشرو در صنعت را ارائه می دهد. میلیونها مشتری در هر اندازه و صنعت، هر مقدار داده را برای تقریباً هر موردی، مانند دریاچههای داده، برنامههای کاربردی ابری، و برنامههای تلفن همراه ذخیره، مدیریت، تجزیه و تحلیل و محافظت میکنند.
ما فایلها را در یک سطل آمازون S3 ذخیره میکنیم و به کاربران این امکان را میدهیم که مستقیماً از وبسایت به آنها دسترسی داشته باشند.
تنظیمات خود را تست کنید
به وب سایت مراجعه کنید!
بیایید شیرجه بزنیم!
دستورالعمل ها
به کنسول مدیریت AWS بروید و سرویس VPC را پیدا کنید.
روی Create VPC کلیک کنید Select VPC and more. با این کار جادوگر VPC راه اندازی می شود.
** کار عالی! **شما با موفقیت زیرساخت شبکه را برای وب سرور جدید ما راه اندازی کردید.
اکنون به صفحه مراجعه کنید گروه های امنیتی بخشی از سرویس آمازون EC2.
اکنون دو گروه امنیتی را با تنظیمات زیر در اینجا ایجاد کنید
اولی است نام گروه امنیتی گروه امنیتی Load Balancer
پس از تعریف تمامی قوانین بر روی ایجاد کلیک کنید
در مرحله بعد، این فرآیند را برای ایجاد یک گروه امنیتی با تنظیمات زیر تکرار کنید.
مطمئن شوید که این قانون را به گروه دوم اضافه کنید WebserverSecurityGroup
پس از آن تأیید کنید که هر دو گروه امنیتی ایجاد شده اند.
عالی، ما دو گروه امنیتی جدید برای محدود کردن ترافیک به پورت های خاص ایجاد کرده ایم. بعداً در راه اندازی از آنها استفاده خواهیم کرد.
اکنون ما IAM را به گونهای پیکربندی میکنیم که به شدت کنترل کند که سرور وب ما به چه منابع AWS دسترسی دارد و فقط مجوزهای لازم را میدهد.
یک نقش IAM جدید ایجاد کنید و آن را با نمایه نمونه EC2 برای وب سرور مرتبط کنید.Roles را انتخاب کنید، سپس روی Create role کلیک کنید.
EC2 Role را برای AWS Systems Manager انتخاب کنید و روی Next کلیک کنید
مدیر سیستم های AWS سرویسی است که به شما امکان می دهد نمونه های EC2 خود را بدون نیاز به دسترسی از طریق اینترنت عمومی به طور ایمن مدیریت و مدیریت کنید. این نقش مجوزهای لازم را برای مدیریت سیستم ها برای اتصال و مدیریت نمونه وب سرور ما اعطا می کند.
تایید کنید که AmazonSSMMmanagedInstanceCore سیاست به نقش اضافه شده و روی Next کلیک کنید
تبریک می گویم! شما یک نقش IAM ایجاد کرده اید که با نمایه نمونه EC2 برای وب سرور ما مرتبط می شود. این نقش مجوزهای لازم را برای نمونه برای دسترسی به سایر منابع AWS و همچنین اجازه مدیریت امن از طریق مدیریت سیستم های AWS را بدون نیاز به افشای مستقیم نمونه در اینترنت عمومی فراهم می کند.
اکنون ما وب سرور خود را با استفاده از Amazon EC2 مستقر خواهیم کرد
به سرویس EC2 مراجعه کنید.
نکاتی را که باید هنگام پیکربندی EC2 به خاطر بسپارید
مشتریان انعطاف پذیری دارند تا نمونه های آمازون EC2 را با انتخاب گسترده ای از سیستم عامل ها و تصاویر از پیش پیکربندی شده راه اندازی کنند.برای وب سرور ساده خود، ما آن را انتخاب می کنیم Amazon Linux 2023 AMI (Amazon Machine Image) در معماری 64 بیتی (x86).
به طور معمول، یک جفت کلید برای فعال کردن دسترسی ایمن SSH به نمونه EC2 ایجاد می کنید. اما در این مورد، از جفت کلید صرفنظر میکنیم، زیرا از AWS Systems Manager برای اتصال استفاده میکنیم، نه مستقیم SSH.ادامه بدون جفت کلید را انتخاب کنید (توصیه نمی شود)
در تنظیمات شبکه، روی دکمه ویرایش کلیک کنید تا شبکه نمونه EC2 را پیکربندی کنید. نمونه جدید را با آمازون VPC و زیر شبکه خصوصی ما زودتر راه اندازی کردیم
جزئیات پیشرفته را بزرگ کنید
. در زیر نمایه نمونه IAM، WebServerInstanceProfile را انتخاب کنید.** این نمایه نمونه ای است که قبلا ایجاد کردیم و به ما امکان می دهد به طور خصوصی به سرور متصل شویم.
ما می خواهیم سرور اسکریپتی را روی بوت اجرا کند که اجزای وب سرور PHP لازم را نصب کند. ما می توانیم این کار را با مشخص کردن داده های کاربر انجام دهیم.کد زیر را در قسمت اطلاعات کاربر وارد کنید.
yum update -y
yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpmsystemctl amazon-ssm-agent را فعال می کند
dnf install -y httpd wget php-json phpchkconfig httpd روشن استsystemctl httpd را شروع کنیدsystemctl httpd را فعال کنید
wget https://docs.aws.amazon.com/aws-sdk-php/v3/download/aws.zipaws.zip -d /var/www/html/sdk را از حالت فشرده خارج کنیدrm aws.zip
اگر [ ! -f /var/www/html/index.html ]; سپسrm index.htmlفیسی دی /var/www/htmlwget https://ws-assets-prod-iad-r-iad-ed304a55c2ca1aee.s3.us-east-1.amazonaws.com/2aa53d6e-6814-4705-ba90-04dfa93fc4a3/index.php
به روز رسانی dnf -y
پس از آن کلیک کنید راه اندازی نمونه برای تکمیل پیکربندی و راه اندازی وب سرور جدید.
هنگامی که نمونه راه اندازی شد، یک پیام موفقیت آمیز خواهید دید. روی شناسه نمونه آمازون EC2 که زیر آن خط کشیده شده کلیک کنید تا به داشبورد EC2 برگردید.
کار عالی! شما با موفقیت وب سرور را ایجاد کردید و از تمام مؤلفه های اساسی که قبلاً راه اندازی کردیم استفاده کردید.
حالا ما استفاده خواهیم کرد مدیر جلسه برای دسترسی ایمن به وب سرور برای اهداف مدیریتی.Session Manager یک قابلیت مدیریت کامل AWS Systems Manager است. با Session Manager، میتوانید نمونههای Amazon Elastic Compute Cloud (Amazon EC2)، دستگاههای لبه، سرورهای داخلی و ماشینهای مجازی (VM) خود را مدیریت کنید.
در داشبورد آمازون EC2، نمونه وب سرور را انتخاب کنید. متوجه خواهید شد که فقط یک آدرس IP خصوصی، عمومی نیست.
حال خود را انتخاب کنید نمونه EC2 و روی Connect کلیک کنید
لحظه ای به تعجب در پوسته وب سرور، سپس دستورات زیر را اجرا کنید:
echo -n 'آدرس IPv4 خصوصی: ' && ifconfig enX0 | grep -i mask | awk '{print $2}'| cut -f2 -d: && \echo -n 'آدرس IPv4 عمومی: ' && curl checkip.amazonaws.com
اکنون از منوی ناوبری، بر روی آن کلیک کنید پیوند Load Balancers، سپس کلیک کنید ایجاد متعادل کننده بار.
Application Load Balancer (ALB) در لایه برنامه عمل می کند و قابلیت های پیشرفته مسیریابی ترافیک را ارائه می دهد، برخلاف سایر گزینه های متعادل کننده بار مانند Network Load Balancer که در لایه شبکه کار می کند.
روی Create در زیر کلیک کنید Application Load Balancer.
Application load balancer را با تنظیمات اولیه و شبکه زیر پیکربندی کنید:
یک گروه هدف اهدافی را تعریف می کند (مثلاً نمونه های EC2) که متعادل کننده بار ترافیک را به آنها هدایت می کند. گروه هدف جدید را با تنظیمات زیر پیکربندی کنید:
انتخاب کنید mywebserver و در زیر روی عبارت در حال انتظار کلیک کنید. این کار متعادل کننده بار را برای هدایت ترافیک وب از اینترنت به نمونه وب سرور EC2 پیکربندی می کند.
روی ایجاد کلیک کنید گروه هدف برای نهایی کردن تنظیمات، سپس تب مرورگر را ببندید تا به پیکربندی load balancer بازگردید.
در قسمت Listeners and Routing روی دکمه refresh کلیک کرده و آن را انتخاب کنید WebServerTargetGroup ما فقط ایجاد کردیم
تنظیمات باقیمانده را به عنوان پیش فرض بگذارید و روی Create load balancer کلیک کنید
عالی! شما یک Application Load Balancer ایجاد کرده اید. برای این کارگاه، پیکربندی شده است تا ترافیک وب ورودی HTTP (پورت 80) را از اینترنت به نمونه وب سرور EC2 شما هدایت کند. در یک محیط تولید، میخواهید بار متعادل کننده را برای استفاده از HTTPS برای ارتباط امن پیکربندی کنید.
به تب Listeners and Rules بروید و روی آن کلیک کنید پیوند WebServerTargetGroup. بررسی کنید که یک هدف سالم در لیست وجود دارد.
در ابتدا
نکته
اگر متعادل کننده بار به طور کامل تهیه نشده است یا گروه هدف نمونه سالمی را نشان نمی دهد، چند دقیقه به آن فرصت دهید تا خودش را مرتب کند – معمولاً 3-5 دقیقه طول می کشد.
بالاخره یکی هست سالم هدف ذکر شده است.
اکنون بیایید URL عمومی برای متعادل کننده بار را پیدا کنیم. شما می توانید این را در زیر پیدا کنید نام DNS در صفحه Load Balancer.
نام DNS را از صفحه Load Balancer کپی کنید و آن را در یک برگه مرورگر جدید قرار دهید.
اکنون آن را در یک برگه مرورگر جدید قرار دهید.
صفحه زیر ظاهر می شود** ما یک وب سایت کارآمد داریم!** می توانید از هر دستگاهی به آدرس DNS عمومی load balancer مراجعه کنید. وقتی این کار را انجام دادید، وب سایت را با گزینه هایی برای انجام اقدامات مختلف خواهید دید. گزینه اول مربوط به فضای ذخیره سازی آمازون S3 است، پس بیایید با تهیه فضای ذخیره سازی لازم ادامه دهیم.
اکنون به صفحه مراجعه کنید سرویس آمازون S3.
یک نام منحصر به فرد به سطل خود بدهید درست مانند این مورد که من استفاده کردم awslearningclubmust
تنظیمات دیگر را به عنوان پیش فرض بگذارید، سپس روی ایجاد سطل کلیک کنید.
بعد، بیایید چند فایل را در سطل آپلود کنیم. فایل های مورد نیاز را از اینجا دانلود کنید [(https://ws-assets-prod-iad-r-iad-ed304a55c2ca1aee.s3.us-east-1.amazonaws.com/2aa53d6e-6814-4705-ba90-04dfa93fc4a3/UnzipAndUpload.zip)]آنها را از حالت محلی خارج کنید.
یا می توانید فایل های خود را آپلود کنید
پس از آپلود اشیاء در سطل خود، اکنون به تستر اتصال EC2 خود بروید، URL DNS را در مرورگر خود بچسبانید، قبل از آن نام سطل خود را مانند این مورد قرار دهید. awslearningclubmust و منطقه شما us-east-1
روی Browse کلیک کنید. جالب است، به نظر می رسد خطایی رخ داده است. آیا می توانید بررسی کنید و بفهمید چه چیزی ممکن است باعث آن شود؟و همانطور که انتظار می رفت برای دسترسی به این صفحه با خطای زیر مواجه شدید.
اما نگران نباشید اینجا آخرین پیچ استبه سرویس IAM مراجعه کنید.
در زیر خطمشیهای مجوز، روی افزودن مجوزها کلیک کنید و ضمیمه سیاستها را انتخاب کنید
s3 را جستجو کنید. خط مشی مدیریت شده AmazonS3ReadOnlyAccess AWS را انتخاب کنید و روی افزودن مجوزها کلیک کنید
به وب سایت برگردید و دوباره از مرورگر شی سطل آمازون S3 استفاده کنید.
کار خارق العاده! شما اجرای کامل وب سرور و ادغام S3 را تکمیل کرده اید و توانایی خود را برای استقرار یک برنامه وب مبتنی بر AWS نشان می دهد. این تجربه عملی شما را با مهارت های ارزشمندی در زمینه هایی مانند شبکه، امنیت، محاسبه کنید، و ذخیره سازی.
دانش خود را آزمایش کنید
منطقه دسترسی چیست و چرا از بیش از یک منطقه استفاده می شود؟
یک منطقه دسترسی گروهی از یک یا چند مرکز داده در یک منطقه AWS است. استفاده از چندین منطقه در دسترس بودن، افزونگی و در دسترس بودن بالا را برای منابع شما فراهم می کند و از خرابی در یک مکان محافظت می کند.
حداکثر تعداد زیرشبکه در آمازون VPC چقدر است؟
جادوگر VPC محدودیت هایی دارد، اما در صورت نیاز می توانید تا 200 زیرشبکه در هر VPC ایجاد کنید.
**تفاوت نقش IAM و مجوز IAM چیست؟
**نقش IAM محفظهای است که مجوزهای IAM را در خود نگه میدارد، که اقدامات و منابع مجاز خاص را که باید توسط نهادهای مورد اعتماد در نظر گرفته شود را تعریف میکند.
مزایای کلیدی استفاده از AWS Systems Manager برای مدیریت نمونه وب سرور چیست؟
مزیت کلیدی استفاده از AWS Systems Manager توانایی مدیریت و نگهداری ایمن نمونه وب سرور بدون قرار دادن پورت های مدیریتی در معرض اینترنت عمومی، همراه با طیف وسیعی از قابلیت های اداری دیگر است.
هدف راه اندازی IAM که به تازگی تکمیل کردیم دنبال کردن چه اصل امنیتی است؟
اصل امنیتی که IAM و فرآیندی که ما دنبال کردیم به آن پایبند است اصل کمترین امتیاز; تنها اعطای حداقل مجوزهای لازم برای نمونه EC2 برای انجام عملکردهای مورد نیاز خود.
تقریباً چند نوع نمونه مختلف آمازون EC2 موجود است؟
وجود دارد 800 نوع نمونه آمازون EC2 برای انتخاب، به شما امکان می دهد محاسبات، حافظه، ذخیره سازی و قابلیت های شبکه مناسب را برای مطابقت با نیازهای حجم کاری خاص خود انتخاب کنید.
قوانین ورودی و خروجی پیشفرض هنگام ایجاد یک گروه امنیتی جدید چیست؟
بهطور پیشفرض، یک گروه امنیتی جدید ایجاد شده، تمام ترافیک ورودی را رد میکند و به همه ترافیکهای خروجی اجازه میدهد.
استقرار یک برنامه وب امن و مقیاس پذیر در AWS ممکن است چالش برانگیز به نظر برسد، اما با راهنمایی مناسب، قابل دستیابی است. این مقاله یک رویکرد ساختاریافته برای راهاندازی یک وب سرور کاملاً کاربردی با استفاده از خدمات AWS مانند Amazon VPC، IAM، EC2 و Systems Manager دنبال میکند.
مرحله 1: معماری خود را طراحی کنید
قبل از پرش به پیاده سازی، لحظه ای را به بررسی نمودار معماری برنامه وب خود اختصاص دهید. همانطور که ما هر سرویس AWS را پیکربندی می کنیم، شما را راهنمایی می کند.
نکات کلیدی:
- یک VPC و زیرشبکه ایجاد کنید
آمازون VPC یک شبکه مجازی منطقی ایزوله شده است که شما تعریف می کنید و به شما امکان می دهد منابع AWS را در یک محیط ایمن و ایزوله راه اندازی کنید. ما از جادوگر VPC برای راهاندازی سریع کل شبکه مجازی برای وب سرور خود، از جمله شبکههای فرعی، مسیریابی و سایر منابع استفاده میکنیم.
- راه اندازی گروه های امنیتی
گروه های امنیتی ترافیک ورودی و خروجی را برای منابع مرتبط مانند سرورها کنترل می کنند. VPC شما دارای یک گروه امنیتی پیشفرض است، اما میتوانید گروههای اضافی را با قوانین ورودی و خروجی سفارشی ایجاد کنید.
ما دو گروه امنیتی برای ایمن سازی وب سایت خود ایجاد خواهیم کرد. یکی از منابع موجود در زیرشبکه های عمومی محافظت می کند و تنها به ترافیک لازم اجازه می دهد. دیگری به طور خاص نمونه وب سرور را ایمن می کند.
- نقش های IAM را پیکربندی کنید
AWS Identity and Access Management (IAM) سرویسی برای کنترل ایمن دسترسی به خدمات AWS است. با IAM، میتوانید کاربران، اعتبارنامههای امنیتی مانند کلیدهای دسترسی و مجوزهایی را که کنترل میکنند به منابع AWS و برنامههای کاربردی که میتوانند به آنها دسترسی داشته باشند را به صورت متمرکز مدیریت کنید.
ما IAM را برای کنترل دقیق منابع AWS که سرور وب ما میتواند به آن دسترسی داشته باشد، پیکربندی میکنیم و فقط مجوزهای لازم را میدهیم.
-
یک نمونه EC2 را راه اندازی کنید
Amazon Elastic Compute Cloud (Amazon EC2) ظرفیت محاسباتی مقیاسپذیر و درخواستی را در سرویسهای وب آمازون (AWS) Cloud فراهم میکند. استفاده از Amazon EC2 هزینههای سختافزاری را کاهش میدهد تا بتوانید برنامهها را سریعتر توسعه و اجرا کنید. میتوانید از Amazon EC2 برای راهاندازی سرورهای مجازی به تعداد مورد نیاز، پیکربندی امنیت و شبکه و مدیریت فضای ذخیرهسازی استفاده کنید.
در بخش بعدی، ما وب سرور خود را با استفاده از Amazon EC2 مستقر خواهیم کرد.
- مدیریت نمونه با AWS Systems Manager
Session Manager یک قابلیت مدیریت کامل AWS Systems Manager است. با Session Manager، میتوانید نمونههای Amazon Elastic Compute Cloud (Amazon EC2)، دستگاههای لبه، سرورهای داخلی و ماشینهای مجازی (VM) خود را مدیریت کنید.
ما از Session Manager برای دسترسی ایمن به وب سرور برای اهداف مدیریتی استفاده خواهیم کرد.
- ایجاد تعادل بار برنامه
AWS انواع مختلفی از متعادل کننده های بار را برای توزیع ترافیک در زیرساخت شما ارائه می دهد.
در این بخش، یک Application Load Balancer (ALB) را راه اندازی می کنیم. با ALB، ما می توانیم ترافیک وب ورودی را به نمونه وب سرور EC2 خود هدایت کنیم. متعادل کننده بار پیکربندی شبکه و سیاست های امنیتی را کنترل می کند تا ارتباط امن بین کلاینت ها و وب سرور را امکان پذیر کند.
- S3 Bucket را ایجاد کنید و فایل ها را روی آن آپلود کنید
سرویس ذخیره سازی ساده آمازون (Amazon S3) یک سرویس ذخیره سازی اشیا است که مقیاس پذیری، در دسترس بودن داده ها، امنیت و عملکرد پیشرو در صنعت را ارائه می دهد. میلیونها مشتری در هر اندازه و صنعت، هر مقدار داده را برای تقریباً هر موردی، مانند دریاچههای داده، برنامههای کاربردی ابری، و برنامههای تلفن همراه ذخیره، مدیریت، تجزیه و تحلیل و محافظت میکنند.
ما فایلها را در یک سطل آمازون S3 ذخیره میکنیم و به کاربران این امکان را میدهیم که مستقیماً از وبسایت به آنها دسترسی داشته باشند.
- تنظیمات خود را تست کنید
به وب سایت مراجعه کنید!
بیایید شیرجه بزنیم!
دستورالعمل ها
به کنسول مدیریت AWS بروید و سرویس VPC را پیدا کنید.
روی Create VPC کلیک کنید Select VPC and more. با این کار جادوگر VPC راه اندازی می شود.
** کار عالی! **شما با موفقیت زیرساخت شبکه را برای وب سرور جدید ما راه اندازی کردید.
اکنون به صفحه مراجعه کنید گروه های امنیتی بخشی از سرویس آمازون EC2.
اکنون دو گروه امنیتی را با تنظیمات زیر در اینجا ایجاد کنید
اولی است نام گروه امنیتی گروه امنیتی Load Balancer
پس از تعریف تمامی قوانین بر روی ایجاد کلیک کنید
در مرحله بعد، این فرآیند را برای ایجاد یک گروه امنیتی با تنظیمات زیر تکرار کنید.
مطمئن شوید که این قانون را به گروه دوم اضافه کنید WebserverSecurityGroup
پس از آن تأیید کنید که هر دو گروه امنیتی ایجاد شده اند.
عالی، ما دو گروه امنیتی جدید برای محدود کردن ترافیک به پورت های خاص ایجاد کرده ایم. بعداً در راه اندازی از آنها استفاده خواهیم کرد.
اکنون ما IAM را به گونهای پیکربندی میکنیم که به شدت کنترل کند که سرور وب ما به چه منابع AWS دسترسی دارد و فقط مجوزهای لازم را میدهد.
یک نقش IAM جدید ایجاد کنید و آن را با نمایه نمونه EC2 برای وب سرور مرتبط کنید.
Roles را انتخاب کنید، سپس روی Create role کلیک کنید.
EC2 Role را برای AWS Systems Manager انتخاب کنید و روی Next کلیک کنید
مدیر سیستم های AWS سرویسی است که به شما امکان می دهد نمونه های EC2 خود را بدون نیاز به دسترسی از طریق اینترنت عمومی به طور ایمن مدیریت و مدیریت کنید. این نقش مجوزهای لازم را برای مدیریت سیستم ها برای اتصال و مدیریت نمونه وب سرور ما اعطا می کند.
تایید کنید که AmazonSSMMmanagedInstanceCore سیاست به نقش اضافه شده و روی Next کلیک کنید
تبریک می گویم! شما یک نقش IAM ایجاد کرده اید که با نمایه نمونه EC2 برای وب سرور ما مرتبط می شود. این نقش مجوزهای لازم را برای نمونه برای دسترسی به سایر منابع AWS و همچنین اجازه مدیریت امن از طریق مدیریت سیستم های AWS را بدون نیاز به افشای مستقیم نمونه در اینترنت عمومی فراهم می کند.
اکنون ما وب سرور خود را با استفاده از Amazon EC2 مستقر خواهیم کرد
به سرویس EC2 مراجعه کنید.
نکاتی را که باید هنگام پیکربندی EC2 به خاطر بسپارید
مشتریان انعطاف پذیری دارند تا نمونه های آمازون EC2 را با انتخاب گسترده ای از سیستم عامل ها و تصاویر از پیش پیکربندی شده راه اندازی کنند.
برای وب سرور ساده خود، ما آن را انتخاب می کنیم Amazon Linux 2023 AMI (Amazon Machine Image) در معماری 64 بیتی (x86).
به طور معمول، یک جفت کلید برای فعال کردن دسترسی ایمن SSH به نمونه EC2 ایجاد می کنید. اما در این مورد، از جفت کلید صرفنظر میکنیم، زیرا از AWS Systems Manager برای اتصال استفاده میکنیم، نه مستقیم SSH.
ادامه بدون جفت کلید را انتخاب کنید (توصیه نمی شود)
در تنظیمات شبکه، روی دکمه ویرایش کلیک کنید تا شبکه نمونه EC2 را پیکربندی کنید. نمونه جدید را با آمازون VPC و زیر شبکه خصوصی ما زودتر راه اندازی کردیم
جزئیات پیشرفته را بزرگ کنید
. در زیر نمایه نمونه IAM، WebServerInstanceProfile را انتخاب کنید.** این نمایه نمونه ای است که قبلا ایجاد کردیم و به ما امکان می دهد به طور خصوصی به سرور متصل شویم.
ما می خواهیم سرور اسکریپتی را روی بوت اجرا کند که اجزای وب سرور PHP لازم را نصب کند. ما می توانیم این کار را با مشخص کردن داده های کاربر انجام دهیم.
کد زیر را در قسمت اطلاعات کاربر وارد کنید.
yum update -y
yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
systemctl amazon-ssm-agent را فعال می کند
dnf install -y httpd wget php-json php
chkconfig httpd روشن است
systemctl httpd را شروع کنید
systemctl httpd را فعال کنید
wget https://docs.aws.amazon.com/aws-sdk-php/v3/download/aws.zip
aws.zip -d /var/www/html/sdk را از حالت فشرده خارج کنید
rm aws.zip
اگر [ ! -f /var/www/html/index.html ]; سپس
rm index.html
فی
سی دی /var/www/html
wget https://ws-assets-prod-iad-r-iad-ed304a55c2ca1aee.s3.us-east-1.amazonaws.com/2aa53d6e-6814-4705-ba90-04dfa93fc4a3/index.php
به روز رسانی dnf -y
پس از آن کلیک کنید راه اندازی نمونه برای تکمیل پیکربندی و راه اندازی وب سرور جدید.
هنگامی که نمونه راه اندازی شد، یک پیام موفقیت آمیز خواهید دید. روی شناسه نمونه آمازون EC2 که زیر آن خط کشیده شده کلیک کنید تا به داشبورد EC2 برگردید.
کار عالی! شما با موفقیت وب سرور را ایجاد کردید و از تمام مؤلفه های اساسی که قبلاً راه اندازی کردیم استفاده کردید.
حالا ما استفاده خواهیم کرد مدیر جلسه برای دسترسی ایمن به وب سرور برای اهداف مدیریتی.
Session Manager یک قابلیت مدیریت کامل AWS Systems Manager است. با Session Manager، میتوانید نمونههای Amazon Elastic Compute Cloud (Amazon EC2)، دستگاههای لبه، سرورهای داخلی و ماشینهای مجازی (VM) خود را مدیریت کنید.
در داشبورد آمازون EC2، نمونه وب سرور را انتخاب کنید. متوجه خواهید شد که فقط یک آدرس IP خصوصی، عمومی نیست.
حال خود را انتخاب کنید نمونه EC2 و روی Connect کلیک کنید
لحظه ای به تعجب در پوسته وب سرور، سپس دستورات زیر را اجرا کنید:
echo -n 'آدرس IPv4 خصوصی: ' && ifconfig enX0 | grep -i mask | awk '{print $2}'| cut -f2 -d: && \
echo -n 'آدرس IPv4 عمومی: ' && curl checkip.amazonaws.com
اکنون از منوی ناوبری، بر روی آن کلیک کنید پیوند Load Balancers، سپس کلیک کنید ایجاد متعادل کننده بار.
Application Load Balancer (ALB) در لایه برنامه عمل می کند و قابلیت های پیشرفته مسیریابی ترافیک را ارائه می دهد، برخلاف سایر گزینه های متعادل کننده بار مانند Network Load Balancer که در لایه شبکه کار می کند.
روی Create در زیر کلیک کنید Application Load Balancer.
Application load balancer را با تنظیمات اولیه و شبکه زیر پیکربندی کنید:
یک گروه هدف اهدافی را تعریف می کند (مثلاً نمونه های EC2) که متعادل کننده بار ترافیک را به آنها هدایت می کند. گروه هدف جدید را با تنظیمات زیر پیکربندی کنید:
انتخاب کنید mywebserver و در زیر روی عبارت در حال انتظار کلیک کنید. این کار متعادل کننده بار را برای هدایت ترافیک وب از اینترنت به نمونه وب سرور EC2 پیکربندی می کند.
روی ایجاد کلیک کنید گروه هدف برای نهایی کردن تنظیمات، سپس تب مرورگر را ببندید تا به پیکربندی load balancer بازگردید.
در قسمت Listeners and Routing روی دکمه refresh کلیک کرده و آن را انتخاب کنید WebServerTargetGroup ما فقط ایجاد کردیم
تنظیمات باقیمانده را به عنوان پیش فرض بگذارید و روی Create load balancer کلیک کنید
عالی! شما یک Application Load Balancer ایجاد کرده اید. برای این کارگاه، پیکربندی شده است تا ترافیک وب ورودی HTTP (پورت 80) را از اینترنت به نمونه وب سرور EC2 شما هدایت کند. در یک محیط تولید، میخواهید بار متعادل کننده را برای استفاده از HTTPS برای ارتباط امن پیکربندی کنید.
به تب Listeners and Rules بروید و روی آن کلیک کنید پیوند WebServerTargetGroup. بررسی کنید که یک هدف سالم در لیست وجود دارد.
در ابتدا
نکته
اگر متعادل کننده بار به طور کامل تهیه نشده است یا گروه هدف نمونه سالمی را نشان نمی دهد، چند دقیقه به آن فرصت دهید تا خودش را مرتب کند – معمولاً 3-5 دقیقه طول می کشد.
بالاخره یکی هست سالم هدف ذکر شده است.
اکنون بیایید URL عمومی برای متعادل کننده بار را پیدا کنیم. شما می توانید این را در زیر پیدا کنید نام DNS در صفحه Load Balancer.
نام DNS را از صفحه Load Balancer کپی کنید و آن را در یک برگه مرورگر جدید قرار دهید.
اکنون آن را در یک برگه مرورگر جدید قرار دهید.
صفحه زیر ظاهر می شود** ما یک وب سایت کارآمد داریم!** می توانید از هر دستگاهی به آدرس DNS عمومی load balancer مراجعه کنید. وقتی این کار را انجام دادید، وب سایت را با گزینه هایی برای انجام اقدامات مختلف خواهید دید. گزینه اول مربوط به فضای ذخیره سازی آمازون S3 است، پس بیایید با تهیه فضای ذخیره سازی لازم ادامه دهیم.
اکنون به صفحه مراجعه کنید سرویس آمازون S3.
یک نام منحصر به فرد به سطل خود بدهید درست مانند این مورد که من استفاده کردم awslearningclubmust
تنظیمات دیگر را به عنوان پیش فرض بگذارید، سپس روی ایجاد سطل کلیک کنید.
بعد، بیایید چند فایل را در سطل آپلود کنیم. فایل های مورد نیاز را از اینجا دانلود کنید
[(https://ws-assets-prod-iad-r-iad-ed304a55c2ca1aee.s3.us-east-1.amazonaws.com/2aa53d6e-6814-4705-ba90-04dfa93fc4a3/UnzipAndUpload.zip)]آنها را از حالت محلی خارج کنید.
یا می توانید فایل های خود را آپلود کنید
پس از آپلود اشیاء در سطل خود، اکنون به تستر اتصال EC2 خود بروید، URL DNS را در مرورگر خود بچسبانید، قبل از آن نام سطل خود را مانند این مورد قرار دهید. awslearningclubmust و منطقه شما us-east-1
روی Browse کلیک کنید. جالب است، به نظر می رسد خطایی رخ داده است. آیا می توانید بررسی کنید و بفهمید چه چیزی ممکن است باعث آن شود؟
و همانطور که انتظار می رفت برای دسترسی به این صفحه با خطای زیر مواجه شدید.
اما نگران نباشید اینجا آخرین پیچ است
به سرویس IAM مراجعه کنید.
در زیر خطمشیهای مجوز، روی افزودن مجوزها کلیک کنید و ضمیمه سیاستها را انتخاب کنید
s3 را جستجو کنید. خط مشی مدیریت شده AmazonS3ReadOnlyAccess AWS را انتخاب کنید و روی افزودن مجوزها کلیک کنید
به وب سایت برگردید و دوباره از مرورگر شی سطل آمازون S3 استفاده کنید.
کار خارق العاده! شما اجرای کامل وب سرور و ادغام S3 را تکمیل کرده اید و توانایی خود را برای استقرار یک برنامه وب مبتنی بر AWS نشان می دهد. این تجربه عملی شما را با مهارت های ارزشمندی در زمینه هایی مانند شبکه، امنیت، محاسبه کنید، و ذخیره سازی.
دانش خود را آزمایش کنید
- منطقه دسترسی چیست و چرا از بیش از یک منطقه استفاده می شود؟
یک منطقه دسترسی گروهی از یک یا چند مرکز داده در یک منطقه AWS است. استفاده از چندین منطقه در دسترس بودن، افزونگی و در دسترس بودن بالا را برای منابع شما فراهم می کند و از خرابی در یک مکان محافظت می کند.
- حداکثر تعداد زیرشبکه در آمازون VPC چقدر است؟
جادوگر VPC محدودیت هایی دارد، اما در صورت نیاز می توانید تا 200 زیرشبکه در هر VPC ایجاد کنید.
- **تفاوت نقش IAM و مجوز IAM چیست؟
**نقش IAM محفظهای است که مجوزهای IAM را در خود نگه میدارد، که اقدامات و منابع مجاز خاص را که باید توسط نهادهای مورد اعتماد در نظر گرفته شود را تعریف میکند.
- مزایای کلیدی استفاده از AWS Systems Manager برای مدیریت نمونه وب سرور چیست؟
مزیت کلیدی استفاده از AWS Systems Manager توانایی مدیریت و نگهداری ایمن نمونه وب سرور بدون قرار دادن پورت های مدیریتی در معرض اینترنت عمومی، همراه با طیف وسیعی از قابلیت های اداری دیگر است.
- هدف راه اندازی IAM که به تازگی تکمیل کردیم دنبال کردن چه اصل امنیتی است؟
اصل امنیتی که IAM و فرآیندی که ما دنبال کردیم به آن پایبند است اصل کمترین امتیاز; تنها اعطای حداقل مجوزهای لازم برای نمونه EC2 برای انجام عملکردهای مورد نیاز خود.
- تقریباً چند نوع نمونه مختلف آمازون EC2 موجود است؟
وجود دارد 800 نوع نمونه آمازون EC2 برای انتخاب، به شما امکان می دهد محاسبات، حافظه، ذخیره سازی و قابلیت های شبکه مناسب را برای مطابقت با نیازهای حجم کاری خاص خود انتخاب کنید.
قوانین ورودی و خروجی پیشفرض هنگام ایجاد یک گروه امنیتی جدید چیست؟
بهطور پیشفرض، یک گروه امنیتی جدید ایجاد شده، تمام ترافیک ورودی را رد میکند و به همه ترافیکهای خروجی اجازه میدهد.