AWS CloudFormation: ایجاد یک سطل S3 با چرخه حیات و سیاست های کنترل دسترسی

خدمات وب آمازون (AWS) CloudFormation به شما امکان می دهد ایجاد و مدیریت منابع AWS را با استفاده از الگوهای زیرساخت به عنوان کد به طور خودکار انجام دهید. با استفاده از CloudFormation، میتوانید یک سطل S3 با چرخه حیات از پیش تعریفشده و سیاستهای کنترل دسترسی ایجاد کنید، و مطمئن شوید که فضای ذخیرهسازی شما ایمن، بهینهسازی هزینه و مطابق با خطمشیهای سازمانی است. برای رسیدن به این هدف، بیایید به یک راهنمای عملی بپردازیم.
https://www.youtube.com/watch?v=baKoP51DF-A
مرحله 1: اصول را درک کنید
AWS CloudFormation از الگوهای YAML یا JSON برای تعریف منابع و تنظیمات آنها استفاده می کند. برای این آموزش، ما:
-
یک سطل S3 ایجاد کنید.
-
یک خطمشی چرخه حیات را به انتقال اشیا به ذخیرهسازی کمهزینه ضمیمه کنید یا آنها را پس از یک زمان مشخص حذف کنید.
-
یک خط مشی کنترل دسترسی برای تعریف مجوزها تنظیم کنید.
مرحله 2: نوشتن الگوی CloudFormation
در اینجا نمونه ای از الگوی YAML برای ایجاد یک سطل S3 با خط مشی چرخه حیات و خط مشی کنترل دسترسی است.
AWSTemplateFormatVersion: '2010-09-09'
Description: Create an S3 bucket with lifecycle and access control policies
Resources:
MyS3Bucket:
Type: 'AWS::S3::Bucket'
Properties:
BucketName: my-cloudformation-s3-bucket
AccessControl: Private
LifecycleConfiguration:
Rules:
- Id: MoveToGlacier
Status: Enabled
Transitions:
- TransitionInDays: 30
StorageClass: GLACIER
ExpirationInDays: 365
S3BucketPolicy:
Type: 'AWS::S3::BucketPolicy'
Properties:
Bucket: !Ref MyS3Bucket
PolicyDocument:
Version: '2012-10-17'
Statement:
- Effect: Allow
Principal: '*'
Action: 's3:GetObject'
Resource: !Sub "arn:aws:s3:::${MyS3Bucket}/*"
مرحله 3: اجزای کلیدی توضیح داده شد
1. S3 Bucket Resource
. BucketName: نام منحصر به فرد سطل شما.
. AccessControl: به عنوان Private پیکربندی شده است تا اطمینان حاصل شود که اشیا برای عموم قابل دسترسی نیستند.
2. Lifecycle Configuration
. پس از 30 روز، اشیاء را به صورت خودکار به کلاس ذخیره سازی S3 Glacier منتقل می کند.
. اشیاء را 365 روز پس از ایجاد حذف می کند و هزینه های ذخیره سازی را کاهش می دهد.
3. سیاست سطل
. دسترسی فقط خواندنی (s3:GetObject) را به همه کاربران برای اشیاء موجود در سطل اعطا می کند. برای امنیت بیشتر، آن را در صورت نیاز اصلاح کنید.
مرحله 4: قالب را مستقر کنید
- قالب را آپلود کنید
. وارد کنسول مدیریت AWS شوید و به سرویس CloudFormation بروید.
. روی «ایجاد پشته» کلیک کنید و «با منابع جدید (استاندارد)» را انتخاب کنید.
2. الگو را ارائه دهید
. فایل YAML را آپلود کنید یا آن را مستقیماً در ویرایشگر قالب قرار دهید.
3. Stack Details را مشخص کنید
. یک نام پشته (به عنوان مثال، S3BucketWithPolicies) ارائه کنید.
- بررسی و ایجاد تنظیمات پیکربندی خود را بررسی کنید، مجوزهای IAM را تأیید کنید و روی «ایجاد پشته» کلیک کنید.
5. نظارت بر استقرار
. منتظر بمانید تا فرآیند ایجاد پشته کامل شود. وضعیت باید به “CREATE_COMPLETE” تغییر کند.
مرحله 5: تنظیم را تأیید کنید
- سطل S3 را تأیید کنید
. به سرویس S3 بروید و تأیید کنید که سطل ایجاد شده است.
2. Lifecycle Policy را بررسی کنید
. در تنظیمات سطل، بررسی کنید که قانون چرخه حیات برای اشیاء در حال انقضا و انتقال فعال است.
3. کنترل دسترسی را بررسی کنید
. خط مشی سطل را آزمایش کنید تا مطمئن شوید که مجوزهای دسترسی طبق برنامه عمل می کنند.
بهترین شیوه ها
1. از الگوهای پارامتری استفاده کنید
مقادیر ثابت (مثلاً نام سطل) را با پارامترها جایگزین کنید تا قالب قابل استفاده مجدد باشد.
2. Logging را فعال کنید
. ثبت دسترسی به سرور را برای ردیابی درخواستها به سطل خود برای اهداف ممیزی فعال کنید.
3. دسترسی ایمن
. از دادن مجوزهای بیش از حد گسترده خودداری کنید. دسترسی را با استفاده از نقش های IAM یا اصول خاص محدود کنید.
4. نظارت بر هزینه ها
. از AWS Cost Explorer برای نظارت بر صرفه جویی در هزینه از انتقال اشیا به کلاس های ذخیره سازی کم هزینه استفاده کنید.
با استفاده از CloudFormation برای ایجاد یک سطل S3 با چرخه حیات و سیاست های کنترل دسترسی، می توانید زیرساخت AWS خود را خودکار و استاندارد کنید. این رویکرد نه تنها در زمان صرفه جویی می کند، بلکه تضمین می کند که پیکربندی های شما به بهترین شیوه ها پایبند هستند و فضای ذخیره سازی ابری شما را ایمن و کارآمد می کند.