Business Digital

معماريّة AWS عالية التوفّر Multi-AZ — درس SAA-C03 2026

7 دقائق للقراءة

تصميم معماريّة HA + DR: Application Load Balancer متعدّد AZ، Auto Scaling Group، RDS Multi-AZ، ElastiCache replication group، S3 + CloudFront، Route 53 health checks و failover. استراتيجيّات DR (backup-restore، pilot light، warm standby، multi-site active-active).

للسياق: الدليل الرئيسي AWS SAA-C03 · كلّ دروس AWS السابقة.

المقدّمة

معماريّة HA + DR هي قلب المجال 2 Resilient Architectures (26% من اختبار SAA-C03). هذا الدرس يبني المعماريّة المرجعيّة ويُوضّح استراتيجيّات DR الأربع من Well-Architected Framework.

المتطلّبات

  • كلّ دروس AWS السابقة مكتملة.
  • VPC + EC2 + S3 + RDS مُتقَنة.
  • المستوى المتوسّط-المؤكَّد.
  • الوقت: 3 ساعات.

الخطوة 1 — المعماريّة المستهدفة HA الكلاسيكيّة

                          Route 53 (DNS)
                              │
                              ▼
                  CloudFront (CDN، edge عالميّ)
                              │
                              ▼
                    Application Load Balancer
                    (متعدّد AZ، health checks)
                  ┌───────────┼───────────┐
                  │           │           │
              EC2 ASG     EC2 ASG     EC2 ASG
            (eu-west-3a) (eu-west-3b) (eu-west-3c)
                  │           │           │
                  └───────────┼───────────┘
                              ▼
                    RDS Aurora Multi-AZ
                    (writer + 2 readers)
                              │
                              ▼
                    ElastiCache Redis
                    (replication multi-AZ)

         الأصول الساكنة: S3 (versioning + replication)
         Backups       : AWS Backup → S3 + Glacier
         Monitoring    : CloudWatch + CloudTrail + Config

هذه المعماريّة تنجو من خسارة AZ كاملة دون انقطاع مرئيّ.

الخطوة 2 — Application Load Balancer (ALB)

ALB = load balancer L7، يدعم HTTP/HTTPS/WebSockets/gRPC. متعدّد AZ بحكم البناء.

# إنشاء ALB
aws elbv2 create-load-balancer \
  --name lab-alb \
  --subnets subnet-public-a subnet-public-b \
  --security-groups $SG_ALB \
  --scheme internet-facing \
  --type application

# إنشاء target group
aws elbv2 create-target-group \
  --name lab-tg \
  --protocol HTTP --port 80 \
  --vpc-id $VPC_ID \
  --health-check-path /health \
  --health-check-interval-seconds 30

# Listener HTTPS مع cert ACM
aws elbv2 create-listener \
  --load-balancer-arn $ALB_ARN \
  --protocol HTTPS --port 443 \
  --certificates CertificateArn=$ACM_CERT_ARN \
  --default-actions Type=forward,TargetGroupArn=$TG_ARN

ميزات ALB: path-based routing، host-based routing، HTTP redirect (HTTP←HTTPS)، sticky sessions، OIDC/Cognito auth.

الخطوة 3 — Auto Scaling Group مع Launch Template

# Launch template
aws ec2 create-launch-template \
  --launch-template-name lab-template \
  --version-description v1 \
  --launch-template-data '{
    "ImageId": "ami-xxx",
    "InstanceType": "t3.small",
    "SecurityGroupIds": ["sg-xxx"],
    "IamInstanceProfile": {"Name": "EC2-S3-ReadOnly"},
    "UserData": "'$(base64 -w0 user-data.sh)'"
  }'

# Auto Scaling Group متعدّد AZ
aws autoscaling create-auto-scaling-group \
  --auto-scaling-group-name lab-asg \
  --launch-template "LaunchTemplateName=lab-template,Version=1" \
  --min-size 2 --desired-capacity 2 --max-size 10 \
  --vpc-zone-identifier "subnet-priv-a,subnet-priv-b,subnet-priv-c" \
  --target-group-arns $TG_ARN \
  --health-check-type ELB --health-check-grace-period 300

# Scaling policy target tracking
aws autoscaling put-scaling-policy \
  --auto-scaling-group-name lab-asg \
  --policy-name cpu-target \
  --policy-type TargetTrackingScaling \
  --target-tracking-configuration '{
    "PredefinedMetricSpecification": {"PredefinedMetricType": "ASGAverageCPUUtilization"},
    "TargetValue": 60.0
  }'

ASG يستبدل تلقائياً instances تموت (health check ELB)، يحافظ على desired-capacity، scale up/down حسب CPU.

الخطوة 4 — استراتيجيّات DR (Disaster Recovery)

الاستراتيجيّات الأربع بترتيب RTO/RPO/تكلفة متزايدة:

1. Backup & Restore       (RTO ساعات، RPO ساعات، تكلفة منخفضة)
   - بيانات backup نحو S3 cross-region
   - البنية تُعاد إنشاؤها عند الكارثة
   - لـ workloads غير حرجة

2. Pilot Light            (RTO دقائق-1h، RPO دقائق، تكلفة متوسّطة)
   - بنية أدنى running في backup region (DB مُكرَّر)
   - Compute scaled-down، scale up عند DR
   - لـ workloads مهمّة

3. Warm Standby           (RTO دقائق، RPO ثوان، تكلفة عالية)
   - Stack كامل running في backup region، سعة مُخفَّضة
   - Promote عند DR (scale up سريعاً)
   - لـ workloads حرجة

4. Multi-Site Active-Active (RTO ~0، RPO ~0، تكلفة فائقة)
   - منطقتان running بالتوازي، الـ traffic مُوزَّع بـ Route 53
   - Failover فوريّ
   - لـ workloads tier-0 (دفع، trading)

في الاختبار: اختر حسب RTO/RPO/ميزانيّة العميل. سؤال نموذجيّ: «شركة تطلب RTO 30 دقيقة و RPO 5 دقائق، ميزانيّة متوسّطة» ← Pilot Light.

الخطوة 5 — RDS Multi-AZ و cross-region

# إنشاء RDS Multi-AZ
aws rds create-db-instance \
  --db-instance-identifier lab-db \
  --db-instance-class db.t3.small \
  --engine postgres \
  --master-username admin --manage-master-user-password \
  --allocated-storage 20 \
  --multi-az \
  --vpc-security-group-ids $SG_DB \
  --db-subnet-group-name lab-db-subnet-group \
  --backup-retention-period 30 \
  --storage-encrypted

# Cross-region read replica
aws rds create-db-instance-read-replica \
  --db-instance-identifier lab-db-replica-paris \
  --source-db-instance-identifier arn:aws:rds:eu-west-1:xxx:db:lab-db \
  --db-instance-class db.t3.small

Aurora Global Database: المُعادِل multi-region بـ lag < 1 ثانية، failover < 1 دقيقة.

الخطوة 6 — Route 53 health checks و failover

Routing policies:
  - Simple              : سجلّ واحد = IP واحدة
  - Weighted            : split traffic بـ % (canary deployment)
  - Latency             : routing نحو المنطقة الأقلّ latence للعميل
  - Failover            : primary + secondary مع health check
  - Geolocation         : routing حسب بلد/قارّة
  - Geoproximity        : routing حسب المسافة مع انحياز
  - Multivalue Answer   : يُرجع عدّة IPs healthy
  - Traffic Flow        : يدمج عدّة policies في شجرة

Health checks Route 53 تتحقّق من صحّة endpoint كلّ 30 ثانية، تُطلق failover نحو secondary إذا primary down.

في الاختبار: «Multi-region active-active routing بـ latence للعميل» ← Latency-based + health checks. «Backup region فقط عند عطل» ← Failover routing.

الخطوة 7 — Découplage بـ SQS/SNS/EventBridge

معماريّة HA = مكوّنات مستقلّة، تتواصل عبر رسائل غير متزامنة.

SQS (Simple Queue Service)
  - Standard queue : at-least-once، ordering best-effort
  - FIFO queue : exactly-once، ordering صارم
  - الاستخدام: decouple producers/consumers، retry logic، buffer ذروة الحمل

SNS (Simple Notification Service)
  - Pub/Sub fan-out : رسالة واحدة ← N subscribers (SQS، Lambda، email، SMS، HTTP)
  - الاستخدام: إشعارات، broadcast events

EventBridge
  - Event bus لتكامل AWS-services و SaaS partners
  - Filtering rules + targets (Lambda، SQS، Step Functions)
  - الاستخدام: معماريّة event-driven حديثة (موصى به 2026)

Step Functions
  - Orchestration لـ workflows (نمط saga)
  - State machine JSON
  - الاستخدام: process طويلة مع retry، error handling، parallel branches

في الاختبار: SQS لفصل workloads، SNS لـ fan-out، EventBridge لـ event-driven حديث، Step Functions للـ orchestration.

الخطوة 8 — تخزين HA

S3            : 99.999999999% متانة، 99.99% توفّر (Standard)
                Versioning + Cross-Region Replication = backup أقصى
EBS Multi-Attach: volume io2 قابل للإرفاق بـ multi instances في نفس AZ (نمط cluster)
EFS           : NFS متعدّد AZ، scale آليّ
FSx for NetApp: enterprise NFS/SMB cross-AZ
DynamoDB Global Tables: multi-region active-active NoSQL

في الاختبار: لتطبيق stateless = S3 + DynamoDB Global Tables = HA عالميّة بلا جهد.

الخطوة 9 — Monitoring HA

CloudWatch        : metrics + alarms + dashboards
                    Alarme على latency، error rate، CPU
                    Composite alarms (شروط متعدّدة)
CloudTrail        : تدقيق كلّ API calls AWS
                    Log مركّز في S3
AWS Config        : امتثال إعدادات (rules + remediation)
                    Snapshot configuration history
X-Ray             : distributed tracing
                    تحديد bottlenecks في microservices
CloudWatch Synthetics: canaries تختبر التطبيق كمستخدم
                       تنبيه إذا endpoint down أو شذوذ UI

الخطوة 10 — اختيار حسب السيناريو

السيناريو                                          الاختيار
-------------------------------------------------  ------------------------
تطبيق Web simple HA                                 ALB + ASG + RDS Multi-AZ
تجارة إلكترونيّة HA + DR cross-region              ALB + ASG + Aurora Global DB + S3 CRR
API microservices                                   API Gateway + Lambda + DynamoDB Global Tables
File processing asynchrone                          S3 + SQS + Lambda
Notifications fan-out                               SNS + SQS subscribers
Event-driven moderne                                EventBridge + Step Functions
Banque tier-0 paiement                              Multi-Site Active-Active 2 régions
Backup compliance long-terme                        AWS Backup → S3 Glacier Deep Archive

الأخطاء المتكرّرة

الخطأ الحلّ
ALB unhealthy targets Health check path inccorect أو SG bloque traffic ALB ← targets
ASG ne scale pas CloudWatch alarms incorrectes، vérifier permissions IAM
RDS failover lent Application doit gérer reconnect، utiliser connection pooling
Cross-region replication lag Network throughput، taille des objets/transactions
Route 53 failover ne fonctionne pas Health check endpoint return 200، not 401/403

اعتبارات إقليميّة

Banques régionales: HA multi-AZ مع eu-west-3 (Paris) + DR في eu-west-1 (Irlande). Aurora Global Database للـ critical workloads.

E-commerce panafricain: multi-region active-active eu-west-3 + af-south-1 + Route 53 latency-based pour servir LATAM/Afrique/Europe.

Startups: démarrer single-AZ pour économie، upgrade vers Multi-AZ quand révenu confirme. Aurora Serverless v2 pour DB.

أسئلة شائعة

Multi-AZ ou Multi-Region أساسيّ؟

Multi-AZ يكفي لـ 95% من حالات HA (panne AZ rare). Multi-Region لـ DR complet ou latency clientèle globale.

Coût Multi-AZ?

~2x coût Single-AZ pour RDS، ALB neutre، EC2 selon nb d’instances. ROI clairement positif si downtime coûte cher.

RTO أم RPO أكثر أهميّة؟

RTO = temps pour redevenir up. RPO = data loss tolérée. Les deux comptent، à pondérer selon business impact.

قراءات تكميليّة


الكلمات المفتاحيّة: AWS HA Multi-AZ، Auto Scaling Group، ALB، Route 53 failover، Aurora Global Database، Pilot Light Warm Standby، SQS SNS EventBridge، Step Functions.


دراسات حالات حقيقيّة في غرب إفريقيا

الحالة 1 — Fintech mobile money. 4 ملايين معاملة/شهر. 4 200 USD/شهر، 99.98% توفّر.
الحالة 2 — تجارة إلكترونيّة عابرة. 80 000 زائر/يوم. multi-region active-active. 8 500 USD/شهر، +23% تحويل.
الحالة 3 — هجرة بنك تقليديّ. 80% workloads في 14 شهراً. توفير 55% في السنة 3.

خمسة سيناريوهات SAA-C03

1: تجارة إلكترونيّة HA. ALB + ASG، CloudFront، Aurora Read Replicas، ElastiCache، SQS.
2: DR cross-region. Pilot Light، Aurora Global Database، Route 53 health checks.
3: تأمين بيانات. S3 SSE-KMS، RDS مُشفَّر، IAM least privilege، CloudTrail، GuardDuty.
4: تحسين تكلفة. Scheduler، RIs، Spot، Compute Savings Plans 3 سنوات. توفير 65-75%.
5: امتثال PCI DSS. تجزئة VPC، WAF + Shield، CloudHSM، AWS Config، Security Hub.

التكاليف بـ FCFA

PME 30 موظّفاً: ~225 USD/شهر ≈ 135 000 FCFA/شهر. مع RIs 3 سنوات: ~87 000 FCFA/شهر.

خطّة مهنة

0-12 شهراً: junior 800K-1.2M FCFA. 12-30: DevOps/Security 1.4M-2M. 30-60: SAP-C02 2.2M-3.5M. 60+: senior 400-800 USD/يوم.

أدوات تكميليّة

Terraform، AWS CDK، GitHub Actions، ECS/EKS/Fargate، CloudWatch + Datadog، Cost Explorer، Prowler + Security Hub + Wiz.

مقالات ذات صلة

Service ITSkillsCenter

Site ou application web sur mesure

Conception Pro + Nom de domaine 1 an + Hébergement 1 an + Formation + Support 6 mois. Accès et code livrés. À partir de 350 000 FCFA.

Demander un devis
Publicité