0Pricing
AWS for Backend Developers (EC2, S3, RDS, Lambda) · درس

إصدار S3 وسياسات دورة الحياة

طبّق حماية البيانات باستخدام الإصدار، وحسّن تكاليف التخزين باستخدام قواعد دورة الحياة لنقل الكائنات وانتهائها.

إصدار S3 وسياسات دورة الحياة درس مجاني في AWS for Backend Developers (EC2, S3, RDS, Lambda) على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AWS for Backend Developers (EC2, S3, RDS, Lambda)، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AWS for Backend Developers (EC2, S3, RDS, Lambda) 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

Protect Your S3 Data

We often store important files in S3. But what if a file is accidentally deleted or overwritten? What if we need older versions?

  • AWS S3 offers powerful features to protect your data and manage it efficiently.
  • This lesson introduces S3 Versioning for data recovery and Lifecycle Policies for cost optimization.
  • These tools help ensure your data is safe and that you're only paying for what you need.

Understand S3 Versioning

  • S3 Versioning keeps multiple versions of an object in the same bucket.
  • When enabled, every time you modify or delete an object, S3 creates a new version instead of overwriting the old one.
  • This acts like a safety net, allowing you to recover from unintended deletions or overwrites.

Each version of an object has a unique version ID.

Turn On Versioning for Buckets

Versioning is configured at the bucket level. Once enabled, it applies to all objects in that bucket.

  • You can enable versioning through the AWS Management Console, AWS CLI, or SDKs.

Important: Versioning cannot be fully disabled once enabled, only suspended. Suspending means new objects won't get new versions, but existing versions remain.

How Object Versions are Stored

When versioning is active:

  • Uploading a new object creates its first version.
  • Uploading an object with the same name creates a new, 'current' version, while the old one becomes a 'non-current' version.
  • Deleting an object doesn't remove it; instead, a 'delete marker' is placed as the current version. The actual object versions are preserved.

You can recover an object by deleting its delete marker or retrieving a specific older version.

Suspend, Don't Disable

Once enabled, S3 Versioning cannot be fully disabled. You can only suspend it.

  • Suspending versioning means new objects uploaded to the bucket will not have new versions created.
  • Existing versions of objects remain in the bucket.
  • If you upload an object with the same name as an existing object after suspension, the new object will overwrite the old object's current version (if it existed), and no new version ID will be generated for the new object.

Optimize Storage with Lifecycles

S3 Lifecycle Policies automate the management of your objects throughout their lifetime.

  • They help you save costs by moving objects to cheaper storage classes (like S3 Standard-IA or Glacier) or by deleting objects that are no longer needed.
  • Lifecycle rules are defined for a specific bucket and can apply to all objects or a subset based on a prefix or tags.

Transition Objects to Cheaper Storage

A common use of lifecycle policies is to transition objects between different S3 storage classes.

  • For example, you might move objects from S3 Standard (frequently accessed) to S3 Standard-IA (infrequently accessed) after 30 days.
  • Then, after 90 days, you might transition them to S3 Glacier (archive storage) for long-term, low-cost retention.
  • This helps balance access needs with cost efficiency.

Expire Objects Automatically

Another key function of lifecycle policies is to expire (permanently delete) objects automatically.

  • You can set a rule to delete objects after a specified number of days from their creation.
  • This is useful for temporary files, logs, or backups that are only needed for a limited time.
  • Expiration rules can also apply to previous (non-current) versions of objects, ensuring old data is eventually cleaned up.

Practical Lifecycle Examples

  • Logs Archiving: Move application logs from S3 Standard to S3 Standard-IA after 30 days, then to Glacier after 90 days, and finally delete after 365 days.
  • Temporary Files: Delete objects in a "temp/" prefix after 7 days.
  • Old Backups: Keep only the last 30 days of daily backups, expiring older ones.

These policies automate compliance and cost management.

Lifecycle with Versioned Buckets

Lifecycle policies work hand-in-hand with versioning. You can define rules for:

  • Current versions: Transition or expire the active version of an object.
  • Non-current versions: Transition or expire older versions of objects. This is crucial for cleaning up after versioning has served its purpose.

For example, you might keep current versions in S3 Standard, but delete non-current versions after 60 days to save storage costs.

Check Your Knowledge

You have an S3 bucket with versioning enabled. You upload image.jpg (Version 1). Later, you upload a new image.jpg (Version 2). What is the state of Version 1 of image.jpg?

Recap: Protect & Optimize

In this lesson, you learned about two crucial S3 features:

  • S3 Versioning: Acts as a safety net, keeping multiple versions of your objects to protect against accidental deletions and overwrites.
  • S3 Lifecycle Policies: Automate cost optimization by transitioning objects to cheaper storage classes and expiring old data, ensuring you only pay for what you need.

Combine these to manage your S3 data effectively!

الأسئلة الشائعة

هل درس «إصدار S3 وسياسات دورة الحياة» مجاني؟

نعم — نص درس «إصدار S3 وسياسات دورة الحياة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AWS for Backend Developers (EC2, S3, RDS, Lambda)، انتقل إلى CoddyKit PRO. تتضمن دورة AWS for Backend Developers (EC2, S3, RDS, Lambda) 4 دروس في المجموع.

ماذا ستتعلم في «إصدار S3 وسياسات دورة الحياة»؟

طبّق حماية البيانات باستخدام الإصدار، وحسّن تكاليف التخزين باستخدام قواعد دورة الحياة لنقل الكائنات وانتهائها. تتمرن على AWS for Backend Developers (EC2, S3, RDS, Lambda) مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AWS for Backend Developers (EC2, S3, RDS, Lambda)؟

لا تُشترط خبرة سابقة. AWS for Backend Developers (EC2, S3, RDS, Lambda) على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «إصدار S3 وسياسات دورة الحياة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AWS for Backend Developers (EC2, S3, RDS, Lambda) هذا؟

نعم. كل درس في AWS for Backend Developers (EC2, S3, RDS, Lambda) يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. شرح حاويات وكائنات S3
  2. إصدار S3 وسياسات دورة الحياة
  3. تأمين الوصول إلى بيانات S3
  4. استضافة المواقع الثابتة وتسليمها عبر CDN
← العودة إلى AWS for Backend Developers (EC2, S3, RDS, Lambda)