Cloud & IT Cert Prep · درس

تحسين تكلفة S3 ونقل البيانات

طبّق S3 Intelligent-Tiering وقواعد دورة الحياة وS3 Select وCloudFront لتقليل تكاليف التخزين ونقل البيانات بدرجة كبيرة

الدرس 4 من 413 خطوة

تحسين تكلفة S3 ونقل البيانات درس مجاني في Cloud & IT Cert Prep على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cloud & IT Cert Prep، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

أساسيات تكاليف تخزين S3

تختلف تكاليف تخزين Amazon S3 اختلافًا كبيرًا باختلاف فئة التخزين ونمط الوصول. تفرض S3 رسومًا تقارب ‎$0.023 لكل GB شهريًا في الفئة Standard — وعند مقياس البيتابايت، تصبح هذه التكلفة كبيرة. والخبر الجيد هو أن S3 توفّر سبع فئات تخزين محسّنة لتواتر وصول مختلف، وتتراوح أسعارها من ‎$0.023/GB (Standard) إلى ‎$0.00099/GB (Glacier Deep Archive). ويتمثل مفتاح تحسين تكاليف S3 في مطابقة بياناتكم مع فئة التخزين المناسبة وأتمتة عمليات النقل باستخدام سياسات دورة الحياة.

# S3 storage class costs (us-east-1 approximate):
# S3 Standard:              $0.023/GB/month
# S3 Intelligent-Tiering:   $0.023/GB (frequent) + $0.0125 (infrequent)
# S3 Standard-IA:           $0.0125/GB/month + retrieval fee
# S3 One Zone-IA:           $0.01/GB/month (single AZ)
# S3 Glacier Instant:       $0.004/GB/month + retrieval fee
# S3 Glacier Flexible:      $0.0036/GB/month + retrieval time
# S3 Glacier Deep Archive:  $0.00099/GB/month + retrieval time

S3 Intelligent-Tiering

تنقل S3 Intelligent-Tiering الكائنات تلقائيًا بين مستويات الوصول استنادًا إلى أنماط الوصول الفعلية — من دون رسوم استرجاع أو حد أدنى لمدة البقاء في المستوى المتكرر. وتراقب الخدمة الوصول إلى مستوى الكائن: فالكائنات التي لم يتم الوصول إليها لمدة 30 يومًا تنتقل إلى المستوى غير المتكرر (أقل تكلفة بنسبة 40%)، وبعد 90 يومًا تنتقل إلى مستوى الأرشيف الفوري (أقل تكلفة بنسبة 68%). وتُفرض رسوم مراقبة شهرية صغيرة (‎$0.0025 لكل 1,000 كائن). استخدموا Intelligent-Tiering عندما يتعذر عليكم التنبؤ بأنماط الوصول أو عندما تكون لديكم بيانات متداولة وأخرى خاملة في الحاوية نفسها.

# Enable Intelligent-Tiering on objects
aws s3api put-object \
  --bucket my-bucket \
  --key data/report.parquet \
  --body report.parquet \
  --storage-class INTELLIGENT_TIERING

# Or set as default for entire bucket
aws s3api put-bucket-intelligent-tiering-configuration \
  --bucket my-bucket \
  --id whole-bucket-tiering \
  --intelligent-tiering-configuration '{
    "Id": "whole-bucket-tiering",
    "Status": "Enabled",
    "Tierings": [
      {"AccessTier": "ARCHIVE_ACCESS", "Days": 90},
      {"AccessTier": "DEEP_ARCHIVE_ACCESS", "Days": 180}
    ]
  }'

قواعد دورة حياة S3 للتقسيم التلقائي إلى مستويات

تؤتمت قواعد دورة حياة S3 عمليات نقل الكائنات وانتهائها استنادًا إلى عمرها. وتحدّدون القواعد حسب البادئة أو العلامة، ثم تحدّدون عمليات النقل عند حدود أيام معينة. ومن أمثلة دورة حياة الأرشفة المعتادة: Standard → Standard-IA (بعد 30 يومًا) → Glacier Instant Retrieval (بعد 90 يومًا) → Deep Archive (بعد 365 يومًا) → Delete (بعد 2555 يومًا). ويمكن أن يؤدي ذلك بمرور الوقت إلى خفض تكاليف التخزين لكل GB من ‎$0.023 إلى ‎$0.00099 — أي خفض بنسبة 95% لبيانات الأرشيف. ويبلغ الحد الأدنى لحجم الكائن عند النقل إلى IA وGlacier ‏128KB (ولا يكون نقل الكائنات الأصغر فعالًا من حيث التكلفة).

# Lifecycle rule: transition logs to archive
aws s3api put-bucket-lifecycle-configuration \
  --bucket app-logs-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "log-archive",
      "Filter": {"Prefix": "logs/"},
      "Status": "Enabled",
      "Transitions": [
        {"Days": 30,  "StorageClass": "STANDARD_IA"},
        {"Days": 90,  "StorageClass": "GLACIER_IR"},
        {"Days": 365, "StorageClass": "DEEP_ARCHIVE"}
      ],
      "Expiration": {"Days": 2555}
    }]
  }'

S3 Select وGlacier Select

تتيح S3 Select استرجاع البيانات التي تحتاجون إليها فقط من كائن S3 باستخدام تعبيرات SQL، بدلًا من تنزيل الكائن بأكمله. فإذا كان لديكم ملف CSV بحجم 10 GB وتحتاجون إلى 100 صف فقط، يمكن لـ S3 Select استرجاع هذه الصفوف وحدها — مما يقلّل تكاليف نقل البيانات ووقت معالجة التطبيق بشكل كبير. وتنفّذ Glacier Select الأمر نفسه للكائنات الموجودة في Glacier. وتدعم S3 Select تنسيقات CSV وJSON وParquet. وتكون هذه الإمكانية قيّمة بشكل خاص في مسارات تحليلات البيانات، حيث لا تصل استعلامات كثيرة إلا إلى مجموعة فرعية من كل ملف بيانات.

# S3 Select: query a CSV object using SQL expression
aws s3api select-object-content \
  --bucket analytics-data \
  --key sales/2026-06.csv \
  --expression-type SQL \
  --expression "SELECT * FROM S3Object WHERE region = 'us-east'" \
  --input-serialization 'CSV={FileHeaderInfo=USE}' \
  --output-serialization 'CSV={}' \
  output.csv

# Only the matching rows are returned
# Saves data transfer cost vs downloading entire file

S3 Multipart Upload وTransfer Acceleration

بالنسبة إلى عمليات تحميل الكائنات الكبيرة، تقسّم S3 Multipart Upload الكائنات إلى أجزاء (بحد أدنى 5 MB لكل جزء) تُحمّل بالتوازي، مما يحسّن معدل النقل ويتيح استئناف عمليات التحميل. ويمكن إعادة محاولة تحميل الأجزاء الفاشلة دون إعادة بدء عملية التحميل بأكملها. احرصوا على تنظيف عمليات التحميل متعددة الأجزاء غير المكتملة باستخدام قواعد دورة الحياة لتجنب تحمّل رسوم الأجزاء غير المكتملة. وتوجّه S3 Transfer Acceleration عمليات التحميل عبر مواقع الحافة التابعة لـ AWS CloudFront لتسريع التحميل من المواقع البعيدة — وهي مفيدة للمستخدمين الذين يحمّلون ملفات كبيرة من أنحاء العالم، لكنها تضيف تكلفة (من ‎$0.04 إلى ‎$0.08 لكل GB إضافي). استخدموها فقط عندما يوفّر التسريع تحسنًا قابلًا للقياس.

# Multipart upload example
aws s3api create-multipart-upload \
  --bucket my-bucket --key large-file.zip

# Abort incomplete multipart uploads via lifecycle
aws s3api put-bucket-lifecycle-configuration \
  --bucket my-bucket \
  --lifecycle-configuration '{
    "Rules": [{
      "ID": "cleanup-incomplete-uploads",
      "Status": "Enabled",
      "AbortIncompleteMultipartUpload": {"DaysAfterInitiation": 7}
    }]
  }'

فهم تكاليف نقل البيانات

تُعد تكاليف نقل البيانات من أكثر بنود فواتير AWS إثارة للدهشة. القواعد الأساسية هي: نقل البيانات الواردة (إلى AWS) مجاني. وتبلغ تكلفة نقل البيانات الصادرة إلى الإنترنت نحو ‎$0.09/GB (لأول 10 TB شهريًا). وتبلغ تكلفة نقل البيانات بين المناطق نحو ‎$0.02/GB. أما نقل البيانات بين مناطق التوافر داخل المنطقة نفسها فتبلغ تكلفته ‎$0.01/GB في كل اتجاه. والنقل داخل منطقة التوافر نفسها مجاني. صمّموا البنى لتقليل نقل البيانات بين المناطق والنقل المتجه إلى الإنترنت — ولهذا تُعد عمليات النشر الإقليمية وCloudFront بالغة الأهمية لتقديم المحتوى بكفاءة من حيث التكلفة.

# Data transfer cost examples (us-east-1):
# Internet (outbound):       $0.09/GB (first 10 TB)
# CloudFront -> internet:    $0.0085/GB (much cheaper!)
# Cross-region:              $0.02/GB
# Cross-AZ (same region):    $0.01/GB each direction
# Same AZ:                   $0.00/GB (free)
# S3 -> CloudFront:          $0.00/GB (free!)

# Cost reduction tip:
# S3 -> CloudFront -> users
# vs
# EC2 -> internet -> users
# CloudFront is 10x cheaper for data egress

CloudFront لخفض تكاليف نقل البيانات

يؤدي تقديم المحتوى عبر Amazon CloudFront إلى خفض تكاليف نقل البيانات بشكل كبير بطريقتين. أولًا، تفرض CloudFront رسوم خروج أقل من EC2 أو الوصول المباشر إلى S3 عبر الإنترنت (نحو ‎$0.0085/GB مقارنةً بـ ‎$0.09/GB). ثانيًا، تخزّن CloudFront المحتوى مؤقتًا في مواقع الحافة، مما يقلّل عدد مرات تقديم البيانات من المصدر — وقد تتيح تقديم المحتوى نفسه ملايين المرات من الذاكرة المؤقتة مع جلب واحد فقط من المصدر. كما أن نقل البيانات من S3 إلى CloudFront مجاني. وهذا يجعل CloudFront أداة لتحسين التكاليف، وليس أداة لتحسين الأداء فحسب.

# Cost comparison for 100 TB/month of outbound traffic:
# Direct from EC2/S3 to internet:
#   100,000 GB x $0.09/GB = $9,000/month

# Via CloudFront (assuming 80% cache hit rate):
#   20,000 GB origin pull: free (S3->CF) or $0.02 (EC2->CF)
#   100,000 GB CF->internet: 100,000 x $0.0085 = $850
#   Total: ~$1,250 vs $9,000 = 86% savings

# Create CloudFront distribution with S3 origin
aws cloudfront create-distribution \
  --distribution-config file://cf-config.json

نقاط نهاية VPC لتجنب تكاليف NAT Gateway

يمكن أن تصبح رسوم معالجة البيانات في NAT Gateway (‎$0.045/GB) تكلفة كبيرة عندما تصل مثيلات EC2 في الشبكات الفرعية الخاصة بشكل متكرر إلى S3 أو DynamoDB. وبدلًا من ذلك، استخدموا VPC Gateway Endpoints لـ S3 وDynamoDB — فهي توجّه حركة المرور عبر العمود الفقري لشبكة AWS من دون تكلفة، ولا تتطلب NAT Gateway لهذه الخدمات. بالإضافة إلى ذلك، تؤدي VPC Interface Endpoints ‏(PrivateLink) لخدمات AWS الأخرى إلى إلغاء رسوم معالجة NAT Gateway لحركة مرور تلك الخدمة، مع العلم أن نقاط النهاية من نوع Interface نفسها تفرض تكلفة ساعية صغيرة.

# Create VPC Gateway Endpoint for S3 (free!)
aws ec2 create-vpc-endpoint \
  --vpc-id vpc-12345 \
  --service-name com.amazonaws.us-east-1.s3 \
  --vpc-endpoint-type Gateway \
  --route-table-ids rtb-private-AZ1 rtb-private-AZ2

# Traffic from EC2 in private subnet to S3:
# WITHOUT endpoint: EC2 -> NAT GW ($0.045/GB) -> S3
# WITH endpoint:    EC2 -> S3 via VPC endpoint ($0.00/GB)

# For DynamoDB:
aws ec2 create-vpc-endpoint \
  --service-name com.amazonaws.us-east-1.dynamodb \
  --vpc-endpoint-type Gateway

تحسين تكاليف طلبات S3

تفرض S3 رسومًا على كل طلب API بالإضافة إلى الرسوم المفروضة على كل GB مخزّن. وتبلغ تكلفة طلبات PUT وCOPY وPOST وLIST ‏‎$0.005 لكل 1,000 طلب، بينما تبلغ تكلفة طلبات GET وSELECT ‏‎$0.0004 لكل 1,000 طلب. وبالنسبة إلى التطبيقات التي تجري ملايين الطلبات، تتراكم هذه التكاليف. ويمكن تحسينها من خلال: تجميع الكائنات الصغيرة في كائنات أكبر (لتقليل عدد الطلبات)، واستخدام CloudFront لتقديم الاستجابات المخزّنة مؤقتًا (لتقليل طلبات GET إلى المصدر)، وتجنب عمليات سرد الكائنات متى أمكن (إذ إن LIST مكلف)، واستخدام S3 Batch Operations للعمليات المجمّعة بدلًا من ملايين استدعاءات API الفردية.

# S3 Batch Operations: process millions of objects at once
aws s3control create-job \
  --account-id 123456789012 \
  --manifest '{
    "Spec":{"Format":"S3BatchOperations_CSV_20180820","Fields":["Bucket","Key"]},
    "Location":{"ObjectArn":"arn:aws:s3:::manifest-bucket/manifest.csv","ETag":"abc123"}
  }' \
  --operation '{
    "S3CopyObject": {
      "TargetResource": "arn:aws:s3:::destination-bucket",
      "StorageClass": "GLACIER"
    }
  }' \
  --report '{"Bucket":"arn:aws:s3:::report-bucket","Enabled":true}'

AWS DataSync لنقل البيانات

بالنسبة إلى عمليات نقل البيانات واسعة النطاق بين البيئات المحلية وAWS، أو بين خدمات AWS، تُعد AWS DataSync أكثر فعالية من حيث التكلفة من كتابة كود نقل مخصص. تستخدم DataSync بروتوكولًا مصممًا خصيصًا لهذا الغرض، ويحقق معدل نقل يصل إلى 10 أضعاف معدل أدوات المصدر المفتوح، كما يتضمن التحقق من صحة البيانات والجدولة والمراقبة مدمجة. وتُفرض على البيانات المنقولة عبر DataSync إلى S3 أو EFS أو FSx رسوم نقل البيانات القياسية في AWS — لكن كفاءة DataSync تعني إتمام عمليات النقل بسرعة أكبر، مما يقلّل وقت الحوسبة في EC2 (وتكلفته) اللازم لعمليات الترحيل الكبيرة.

# Create DataSync task to copy S3 bucket to another region
aws datasync create-task \
  --source-location-arn arn:aws:datasync:us-east-1:123:location/loc-source \
  --destination-location-arn arn:aws:datasync:us-west-2:123:location/loc-dest \
  --name 'DR-replication' \
  --options '{
    "VerifyMode": "ONLY_FILES_TRANSFERRED",
    "OverwriteMode": "ALWAYS",
    "TransferMode": "CHANGED"
  }'

# DataSync pricing: $0.0125/GB transferred

Storage Lens لرؤية S3

توفر Amazon S3 Storage Lens رؤية على مستوى المؤسسة لاستخدام تخزين S3 ومقاييس النشاط عبر الحسابات والمناطق. وتكشف فرص تحسين التكاليف، مثل تحديد الحاويات التي لا تتضمن قواعد دورة حياة، أو الحاويات التي تحتوي على عمليات تحميل متعددة الأجزاء غير مكتملة، أو توزيع فئات التخزين. وتتوفر لوحة المعلومات الافتراضية في S3 Storage Lens مجانًا؛ بينما تضيف لوحة معلومات المقاييس المتقدمة (‎$0.20 لكل مليون كائن) إمكانية التعمق حسب البادئة ومقاييس عمر البيانات. استخدموا Storage Lens نقطة بداية لأي تمرين لتحسين تكاليف S3، لتحديد الحاويات الأعلى تأثيرًا.

# Enable S3 Storage Lens dashboard
aws s3control put-storage-lens-configuration \
  --account-id 123456789012 \
  --config-id default \
  --storage-lens-configuration '{
    "Id": "default",
    "IsEnabled": true,
    "DataExport": {
      "S3BucketDestination": {
        "AccountId": "123456789012",
        "Arn": "arn:aws:s3:::my-storage-lens-export",
        "Format": "CSV",
        "OutputSchemaVersion": "V_1"
      }
    }
  }'

تحقق سريع

اختبروا مدى فهمكم لمفاهيم AWS Solutions Architect (SAA-C03) الواردة في هذا الدرس.

مراجعة الدرس

تعلّمتم في هذا الدرس ما يلي: تقلّل S3 Intelligent-Tiering وقواعد دورة الحياة تكاليف التخزين من خلال نقل البيانات تلقائيًا إلى فئات تخزين أقل تكلفة، وتقلّل CloudFront تكاليف نقل البيانات بشكل كبير مقارنةً بتقديمها مباشرةً من S3 أو EC2، وتلغي VPC Gateway Endpoints رسوم NAT Gateway لحركة المرور الخاصة بـ S3 وDynamoDB. وتوفر S3 Storage Lens رؤية لفرص التحسين. في الجزء التالي، سنستكشف KMS وACM وأنماط التشفير.

البدء مجانًا

تعلم Cloud & IT Cert Prep مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
150
الدروس
600

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

هل درس «تحسين تكلفة S3 ونقل البيانات» مجاني؟

نعم — نص درس «تحسين تكلفة S3 ونقل البيانات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cloud & IT Cert Prep، انتقل إلى CoddyKit PRO. تتضمن دورة Cloud & IT Cert Prep 4 دروس في المجموع.

ماذا ستتعلم في «تحسين تكلفة S3 ونقل البيانات»؟

طبّق S3 Intelligent-Tiering وقواعد دورة الحياة وS3 Select وCloudFront لتقليل تكاليف التخزين ونقل البيانات بدرجة كبيرة تتمرن على Cloud & IT Cert Prep مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cloud & IT Cert Prep؟

لا تُشترط خبرة سابقة. Cloud & IT Cert Prep على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

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

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

هل يمكنني كتابة وتشغيل أكواد في درس Cloud & IT Cert Prep هذا؟

نعم. كل درس في Cloud & IT Cert Prep يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

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

  1. تحديد الحجم المناسب وCompute Optimizer
  2. المثيلات المحجوزة وخطط التوفير وSpot
  3. Cost Explorer والميزانيات وعلامات تخصيص التكلفة
  4. تحسين تكلفة S3 ونقل البيانات
← العودة إلى Cloud & IT Cert Prep