تحسين تكلفة AWS: وفر ما بين 30 إلى 50% من فاتورة البنية التحتية السحابية الخاصة بك

يمكنك تقليل تكاليف AWS بنسبة 30-50% من خلال الحجم الصحيح والمثيلات المحجوزة والمثيلات الموضعية والقياس التلقائي واستراتيجيات تحسين التخزين لتطبيقات الويب وتخطيط موارد المؤسسات (ERP).

E
ECOSIRE Research and Development Team
|16 مارس 20267 دقائق قراءة1.6k كلمات|

تحسين تكلفة AWS: وفر ما بين 30% إلى 50% من فاتورة البنية التحتية السحابية الخاصة بك

تهدر المؤسسة المتوسطة 32% من إنفاقها السحابي على الموارد الخاملة أو التي يتم توفيرها بشكل زائد. بالنسبة لشركة تنفق 5000 دولار أمريكي شهريًا على AWS، فإن ذلك يعني إهدار 19200 دولار أمريكي سنويًا. لا يقتصر تحسين تكلفة السحابة على تقليل التكاليف --- بل يتعلق بالدفع فقط مقابل ما تستخدمه فعليًا.

يغطي هذا الدليل النطاق الكامل لاستراتيجيات خفض تكاليف AWS، بدءًا من المكاسب السريعة التي توفر المال هذا الشهر إلى التغييرات الهيكلية التي تضاعف التوفير بمرور الوقت.

الوجبات الرئيسية

  • يؤدي تحديد الحجم الصحيح وحده إلى توفير ما بين 20 إلى 40% عن طريق مطابقة أنواع المثيلات مع الاستخدام الفعلي للموارد
  • توفر المثيلات المحجوزة وخطط التوفير خصومات بنسبة 30-60% على أعباء العمل المتوقعة
  • تعمل مثيلات Spot على تقليل تكاليف الحوسبة بنسبة 60-90% لأحمال العمل المتسامحة مع الأخطاء
  • تمنع سياسات دورة حياة التخزين تكاليف S3 من النمو إلى أجل غير مسمى

إطار تحسين التكلفة

ترتيب الأولوية

قم بالتحسين بهذا الترتيب للحصول على أقصى عائد على الاستثمار بأقل جهد:

  1. التخلص من النفايات (فوريًا، بدون مخاطر)
  2. المثيلات ذات الحجم المناسب (من أسبوع إلى أسبوعين، مخاطرة منخفضة)
  3. استخدام نماذج التسعير (خطط محجوزة، وفورية، وخطط توفير)
  4. تحسين البنية (أشهر، تتطلب هندسة)

الخطوة 1: تخلص من النفايات

البحث عن الموارد غير المستخدمة

# Find unattached EBS volumes (you are paying for storage with no use)
aws ec2 describe-volumes \
  --filters Name=status,Values=available \
  --query 'Volumes[*].{ID:VolumeId,Size:Size,Type:VolumeType}' \
  --output table

# Find unused Elastic IPs
aws ec2 describe-addresses \
  --query 'Addresses[?AssociationId==null].{IP:PublicIp,AllocationId:AllocationId}' \
  --output table

# Find idle load balancers (no targets)
aws elbv2 describe-target-groups \
  --query 'TargetGroups[*].{ARN:TargetGroupArn,Name:TargetGroupName}' \
  --output table

# Find stopped instances still consuming EBS
aws ec2 describe-instances \
  --filters Name=instance-state-name,Values=stopped \
  --query 'Reservations[*].Instances[*].{ID:InstanceId,Type:InstanceType,StopTime:StateTransitionReason}' \
  --output table

مصادر النفايات الشائعة

مصدر النفاياتالتكلفة الشهرية النموذجيةإصلاح
مجلدات EBS غير المرفقة10-100 دولار لكل مجلدحذف أو لقطة وحذف
تم إيقاف المثيلات باستخدام EBS20-200 دولار للمثيل الواحدإنهاء أو إنشاء AMI
عناوين IP المرنة غير المستخدمة3.60 دولار لكل منهماالافراج
لقطات قديمة0.05 دولار/جيجابايتسياسة دورة الحياة
بوابات NAT كبيرة الحجم32 دولارًا+ لكل بوابةالدمج، استخدم نقاط نهاية VPC
مثيلات RDS الخاملة50-500 دولار+إيقاف أو إنهاء مثيلات التطوير

الخطوة 2: تحديد الحجم الصحيح

تحليل الاستخدام الفعلي

# Get average CPU utilization over the last 14 days
aws cloudwatch get-metric-statistics \
  --namespace AWS/EC2 \
  --metric-name CPUUtilization \
  --dimensions Name=InstanceId,Value=i-0123456789abcdef0 \
  --start-time $(date -u -d '14 days ago' +%Y-%m-%dT%H:%M:%S) \
  --end-time $(date -u +%Y-%m-%dT%H:%M:%S) \
  --period 3600 \
  --statistics Average Maximum \
  --output json

مصفوفة القرار ذات الحجم الصحيح

متوسط ​​وحدة المعالجة المركزيةذروة وحدة المعالجة المركزيةالعمل
<10%<30%تصغير الحجم بخطوتين (على سبيل المثال، من xlarge إلى متوسط)
10-30%<60%تصغير الحجم بخطوة واحدة (على سبيل المثال، من XL إلى كبير)
30-60%<80%الحجم الحالي مناسب
>60%>80%فكر في تكبير الحجم أو القياس التلقائي

تحسين نوع المثيل

المثيل الحاليالحجم الصحيحالتوفير الشهري
m5.xlarge (140 دولارًا)m5.large (70 دولارًا)70 دولارًا (50٪)
r5.2xlarge (365 دولارًا)r6g.xlarge (146 دولارًا)219 دولارًا (60٪)
t3.large (60 دولارًا)t3.medium (30 دولارًا)30 دولارًا (50٪)
c5.xlarge (124 دولارًا)c6g.large (62 دولارًا)62 دولارًا (50٪)

يوفر الانتقال إلى مثيلات Graviton (ARM) (r6g، c6g، m6g) توفيرًا إضافيًا في التكلفة بنسبة 20% مع أداء متساوٍ أو أفضل لمعظم أحمال العمل.


الخطوة 3: نماذج التسعير

المثيلات المحجوزة مقابل خطط التوفير

ميزةالمثيلات المحجوزةحساب خطط الادخارخطط التوفير EC2
خصم30-60%30-54%40-60%
المرونةنوع/منطقة المثيل المحددةأي عائلة/منطقة مثيلعائلة/منطقة مثيل محددة
الالتزامسنة أو 3 سنواتسنة أو 3 سنواتسنة أو 3 سنوات
الأفضل لـأعباء عمل مستقرة ويمكن التنبؤ بهاأعباء عمل مختلطةعائلات مثيلة محددة

التوصية: ابدأ بخطط Compute Savings لتحقيق المرونة. التزم بالحد الأدنى من الاستخدام الأساسي الذي تثق به.

مثيلات البقعة

توفر مثيلات Spot خصومات بنسبة 60-90% ولكن يمكن مقاطعتها بإشعار مدته دقيقتين.

صالح ل:

  • بناء العدائين CI/CD
  • معالجة الدفعات وخطوط أنابيب البيانات
  • بيئات التطوير والتدريج
  • خوادم ويب عديمة الحالة خلف موازن التحميل (مع إمكانية الرجوع عند الطلب)

ليس جيدًا لـ:

  • قواعد البيانات
  • تطبيقات مثيل واحد
  • أعباء عمل محددة دون نقاط تفتيش
# Launch template with Spot Instance
Resources:
  SpotFleet:
    Type: AWS::EC2::SpotFleet
    Properties:
      SpotFleetRequestConfigData:
        AllocationStrategy: lowestPrice
        TargetCapacity: 5
        LaunchSpecifications:
          - InstanceType: t3.large
            ImageId: ami-0123456789abcdef0
          - InstanceType: t3.xlarge
            ImageId: ami-0123456789abcdef0
          - InstanceType: m5.large
            ImageId: ami-0123456789abcdef0

الخطوة 4: تحسين التخزين

سياسات دورة حياة S3

{
  "Rules": [
    {
      "ID": "ArchiveOldBackups",
      "Status": "Enabled",
      "Filter": {
        "Prefix": "backups/"
      },
      "Transitions": [
        {
          "Days": 30,
          "StorageClass": "STANDARD_IA"
        },
        {
          "Days": 90,
          "StorageClass": "GLACIER"
        },
        {
          "Days": 365,
          "StorageClass": "DEEP_ARCHIVE"
        }
      ],
      "Expiration": {
        "Days": 730
      }
    }
  ]
}

تسعير فئة التخزين S3

فئة التخزينالسعر لكل جيجابايت/شهراسترجاعالأفضل لـ
قياسي0.023 دولارفوريالبيانات النشطة
ستاندرد-IA0.0125 دولارفوري (0.01 دولار/جيجابايت استرجاع)الوصول الشهري
الجليدية الفورية0.004 دولارفوري (0.03 دولار/جيجابايت استرجاع)وصول ربع سنوي
نهر جليدي0.004 دولار1-12 ساعةالوصول السنوي
الأرشيف العميق0.00099 دولار12 ساعةالامتثال على المدى الطويل

تحسين نظام EBS

# Convert gp2 volumes to gp3 (20% cheaper, better performance)
for vol_id in $(aws ec2 describe-volumes --filters Name=volume-type,Values=gp2 --query 'Volumes[*].VolumeId' --output text); do
  echo "Converting $vol_id from gp2 to gp3"
  aws ec2 modify-volume --volume-id "$vol_id" --volume-type gp3
done

الخطوة 5: القياس التلقائي

القياس على أساس الجدول الزمني

تشهد معظم تطبيقات B2B حركة مرور أقل بنسبة 70% خارج ساعات العمل:

# Scale down at night
aws autoscaling put-scheduled-action \
  --auto-scaling-group-name production-asg \
  --scheduled-action-name scale-down-night \
  --recurrence "0 20 * * 1-5" \
  --desired-capacity 2 \
  --min-size 1

# Scale up in the morning
aws autoscaling put-scheduled-action \
  --auto-scaling-group-name production-asg \
  --scheduled-action-name scale-up-morning \
  --recurrence "0 7 * * 1-5" \
  --desired-capacity 5 \
  --min-size 3

جدولة بيئة التطوير

إيقاف البيئات غير الإنتاجية خارج ساعات العمل:

# Stop dev/staging instances at 7 PM
aws ec2 stop-instances --instance-ids i-dev123 i-staging456

# Start at 8 AM
aws ec2 start-instances --instance-ids i-dev123 i-staging456

التوفير الشهري: تشغيل مثيلات التطوير 10 ساعات في اليوم بدلاً من 24 يوفر 58%.


القائمة المرجعية لمراجعة التكلفة الشهرية

  • قم بمراجعة AWS Cost Explorer بحثًا عن الحالات الشاذة
  • التحقق من الموارد غير المستخدمة (وحدات التخزين، عناوين IP، اللقطات)
  • التحقق من صحة توصيات الحجم الصحيح (AWS Compute Optimizer)
  • مراجعة تغطية المثيل المحجوز / خطة التوفير
  • التحقق من نمو تخزين S3 وفعالية سياسة دورة الحياة
  • مراجعة تكاليف نقل البيانات (غالبًا 10-15% من إجمالي الفاتورة)
  • التحقق من أن حدود القياس التلقائي تتوافق مع أنماط حركة المرور الحالية
  • التحقق من وجود الموارد المعزولة من عمليات النشر الفاشلة

الأسئلة المتداولة

ما هو أسرع ربح لخفض تكلفة AWS؟

حذف الموارد غير المستخدمة. تحتوي معظم حسابات AWS على مئات الدولارات شهريًا من وحدات تخزين EBS غير المرتبطة، وعناوين IP المرنة غير المستخدمة، واللقطات القديمة، والمثيلات المتوقفة. يستغرق هذا أقل من ساعة ويوفر المال على الفور. ثاني أسرع فوز هو تحويل وحدات تخزين gp2 EBS إلى gp3 --- نفس الأداء أو أفضل بتكلفة أقل بنسبة 20%.

هل يجب أن نستخدم Savings Plans أم المثيلات المحجوزة؟

حساب خطط الادخار لمعظم الشركات. إنها توفر خصومات مماثلة للمثيلات المحجوزة ولكن بمزيد من المرونة --- فأنت لست مقيدًا بنوع مثيل محدد. استخدم مثيلات EC2 المحجوزة فقط عندما تكون متأكدًا من أنواع المثيلات لمدة 1-3 سنوات.

كيف يمكننا تتبع تكاليف AWS حسب المشروع أو الفريق؟

استخدم علامات موارد AWS. ضع علامة على كل مورد باستخدام العلامات project، team، environment، وcost-center. تمكين علامات تخصيص التكلفة في وحدة تحكم الفوترة. قم بإنشاء تقارير Cost Explorer مجمعة حسب العلامة لمعرفة الإنفاق حسب المشروع. فرض وضع العلامات باستخدام قواعد AWS Config التي تحدد الموارد غير المميزة.

هل النقل إلى الحاويات أكثر فعالية من حيث التكلفة؟

تعمل الحاويات على تحسين استخدام الموارد بنسبة 30-50% مقارنة بتشغيل تطبيق واحد لكل خادم. تعمل ECS Fargate وEKS على تبسيط إدارة الحاويات ولكن مع إضافة التسعير لكل مهمة. بالنسبة لمعظم الشركات الصغيرة والمتوسطة، يوفر EC2 مع Docker Compose أفضل توازن بين البساطة والتكلفة. راجع دليل نشر Docker للحصول على تفاصيل التنفيذ.


ما يأتي بعد ذلك

يعد تحسين التكلفة ممارسة مستمرة، وليس مشروعًا لمرة واحدة. قم بجدولة مراجعات التكلفة الشهرية ودمج مراقبة التكلفة في إعداد تنبيه الإنتاج. للحصول على استراتيجية البنية التحتية الكاملة، راجع دليل DevOps للشركات الصغيرة.

اتصل بـ ECOSIRE للحصول على استشارات تحسين تكلفة AWS، أو استكشف خدمات دعم Odoo للبنية التحتية المُدارة مع تحسين التكلفة المضمن.


تم النشر بواسطة ECOSIRE - مساعدة الشركات على تحسين الإنفاق على البنية التحتية السحابية.

E

بقلم

ECOSIRE Research and Development Team

بناء منتجات رقمية بمستوى المؤسسات في ECOSIRE. مشاركة رؤى حول تكاملات Odoo وأتمتة التجارة الإلكترونية وحلول الأعمال المدعومة بالذكاء الاصطناعي.

الدردشة على الواتساب