يصمّم وينفّذ معماريات سحابية على AWS وفق Well-Architected Framework، مع تحسين التكلفة والأمان. مناسب لتصميم البنية، ترحيل أحمال العمل، ضبط التكاليف، تطبيق الامتثال والتعافي من الكوارث، واستكشاف مشاكل الخدمات والأداء.
---
name: aws-cloud-expert
description: |
يصمّم وينفّذ معماريات سحابية على AWS مع التركيز على Well-Architected Framework، وتحسين التكاليف، والأمان. استخدمه عند:
1. تصميم أو مراجعة معمارية البنية التحتية على AWS
2. ترحيل أحمال العمل إلى AWS أو بين خدمات AWS
3. تحسين تكاليف AWS مثل اختيار الحجم المناسب، Reserved Instances، وSavings Plans
4. تطبيق أمان AWS أو متطلبات الامتثال أو التعافي من الكوارث
5. استكشاف مشاكل خدمات AWS أو الأداء ومعالجتها
---
**المنطقة**: us-east-1
**المنطقة الثانوية**: us-west-2
**البيئة**: production
**نطاق VPC CIDR**: 10.0.0.0/16
**نوع المثيل**: t3.medium
# إطار اتخاذ قرارات معمارية AWS
## مصفوفة اختيار الخدمة
| نوع حمل العمل | الخدمة الأساسية | البديل | عامل القرار |
|---------------|-----------------|--------|-------------|
| واجهة API بلا حالة | Lambda + API Gateway | ECS Fargate | مدة الطلب >15 دقيقة -> ECS |
| تطبيق ويب ذو حالة | ECS/EKS | EC2 Auto Scaling | وجود خبرة بالحاويات -> ECS/EKS |
| معالجة دفعية | Step Functions + Lambda | AWS Batch | GPU/تشغيل طويل -> Batch |
| بث لحظي | Kinesis Data Streams | MSK (Kafka) | وجود Kafka مسبقًا -> MSK |
| موقع ويب ثابت | S3 + CloudFront | Amplify | تطبيق متكامل (Full-stack) -> Amplify |
| قاعدة بيانات علائقية | Aurora | RDS | توافر عالٍ -> Aurora |
| مخزن مفتاح-قيمة | DynamoDB | ElastiCache | زمن استجابة أقل من ملي ثانية -> ElastiCache |
| مستودع بيانات | Redshift | Athena | استعلامات غير مجدولة -> Athena |
## شجرة قرار الحوسبة
```
البداية: ما نمط حمل العمل عندك؟
|
+-> مبني على الأحداث، مدة تنفيذ أقل من 15 دقيقة
| +-> Lambda
| راعِ: الذاكرة 512MB، التنفيذات المتزامنة، البدء البارد (Cold starts)
|
+-> حاويات تعمل لفترات طويلة
| +-> هل تحتاج Kubernetes؟
| +-> نعم: EKS (مُدار) أو K8s مُدار ذاتيًا على EC2
| +-> لا: ECS Fargate (بدون خوادم) أو ECS EC2 (لتحسين التكلفة)
|
+-> تحتاج GPU/HPC/AMI مخصّصة
| +-> EC2 مع عائلة المثيلات المناسبة
| g4dn/p4d (ML), c6i (compute), r6i (memory), i3en (storage)
|
+-> مهام دفعية مبنية على الطوابير
+-> AWS Batch مع Spot instances (توفير يصل إلى 90%)
```
## بنية الشبكات
### نمط تصميم VPC
```
production VPC (10.0.0.0/16)
|
+-- شبكات فرعية عامة (10.0.0.0/24, 10.0.1.0/24, 10.0.2.0/24)
| +-- ALB, NAT Gateways, Bastion Host (عند الحاجة)
|
+-- شبكات فرعية خاصة (10.0.10.0/24, 10.0.11.0/24, 10.0.12.0/24)
| +-- طبقة التطبيق (ECS, EC2, Lambda VPC)
|
+-- شبكات فرعية للبيانات (10.0.20.0/24, 10.0.21.0/24, 10.0.22.0/24)
+-- RDS, ElastiCache، ومخازن بيانات أخرى
```
### قواعد مجموعات الأمان (Security Groups)
| الطبقة | مصدر الدخول | المنافذ |
|--------|-------------|---------|
| ALB | 0.0.0.0/0 | 443 |
| App | ALB SG | 8080 |
| Data | App SG | 5432 |
### VPC Endpoints لتحسين التكلفة
أنشئها دائمًا للخدمات عالية الحركة:
- S3 Gateway Endpoint (مجاني)
- DynamoDB Gateway Endpoint (مجاني)
- Interface Endpoints: ECR, Secrets Manager, SSM, CloudWatch Logs
## قائمة فحص تحسين التكاليف
### إجراءات فورية (الأسبوع الأول)
- [ ] فعّل Cost Explorer واضبط الميزانيات مع التنبيهات
- [ ] راجع الموارد غير المستخدمة وأوقفها (تقرير الموارد الخاملة في Cost Explorer)
- [ ] اضبط أحجام مثيلات EC2 حسب الحاجة (توصيات AWS Compute Optimizer)
- [ ] احذف وحدات تخزين EBS غير المرتبطة واللقطات (snapshots) القديمة
- [ ] راجع رسوم معالجة البيانات في NAT Gateway
### مرجع سريع لتقدير التكلفة
| المورد | تقدير التكلفة الشهرية |
|--------|------------------------|
| t3.medium (عند الطلب) | ~$30 |
| t3.medium (RI لسنة واحدة) | ~$18 |
| Lambda (مليون استدعاء، 1 ثانية، 512MB) | ~$8 |
| RDS db.t3.medium (Multi-AZ) | ~$100 |
| Aurora Serverless v2 (متوسط 8 ACU) | ~$350 |
| NAT Gateway + 100GB بيانات | ~$50 |
| S3 (1TB Standard) | ~$23 |
| CloudFront (نقل 1TB) | ~$85 |
## تطبيق الأمان
### أفضل ممارسات IAM
```
المبدأ: أقل امتياز مع رفض صريح عند الحاجة
1. استخدم أدوار IAM (IAM roles) للتطبيقات، وليس مستخدمي IAM (IAM users)
2. اشترط MFA لكل المستخدمين الأشخاص
3. استخدم حدود الأذونات (permission boundaries) للإدارة المفوّضة
4. طبّق SCPs على مستوى AWS Organizations
5. نفّذ مراجعات وصول دورية باستخدام IAM Access Analyzer
```
### مثال لنمط سياسة IAM
```json
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowS3BucketAccess",
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::my-bucket/*",
"Condition": {
"StringEquals": {"aws:PrincipalTag/Environment": "production"}
}
}
]
}
```
### قائمة فحص الأمان
- [ ] فعّل CloudTrail في جميع المناطق مع التحقق من سلامة ملفات السجلات
- [ ] اضبط قواعد AWS Config لمراقبة الامتثال
- [ ] فعّل GuardDuty لاكتشاف التهديدات
- [ ] استخدم Secrets Manager أو Parameter Store للقيم السرية، ولا تستخدم متغيرات البيئة
- [ ] فعّل التشفير عند السكون لكل مخازن البيانات
- [ ] افرض TLS 1.2+ لكل الاتصالات
- [ ] طبّق VPC Flow Logs لمراقبة الشبكة
- [ ] استخدم Security Hub لعرض أمني مركزي
## أنماط التوافر العالي
### معمارية Multi-AZ (هدف 99.99%)
```
Region: us-east-1
|
+-- AZ-a +-- AZ-b +-- AZ-c
| | |
ALB (active) ALB (active) ALB (active)
| | |
ECS Tasks (2) ECS Tasks (2) ECS Tasks (2)
| | |
Aurora Writer Aurora Reader Aurora Reader
```
### معمارية متعددة المناطق (هدف 99.999%)
```
Primary: us-east-1 Secondary: us-west-2
| |
Route 53 (failover routing) Route 53 (health checks)
| |
CloudFront CloudFront
| |
Full stack Full stack (passive or active)
| |
Aurora Global Database -------> Aurora Read Replica
(async replication)
```
### مصفوفة قرار RTO/RPO
| المستوى | هدف RTO | هدف RPO | الاستراتيجية |
|---------|---------|---------|---------------|
| Tier 1 (حرج) | <15 min | <1 min | متعدد المناطق نشط-نشط |
| Tier 2 (مهم) | <1 ساعة | <15 دقيقة | متعدد المناطق نشط-خامل |
| Tier 3 (قياسي) | <4 ساعات | <1 ساعة | Multi-AZ مع نسخ احتياطي عبر المناطق |
| Tier 4 (غير حرج) | <24 ساعة | <24 ساعة | منطقة واحدة مع نسخ احتياطي/استعادة |
## المراقبة وقابلية الرصد
### تطبيق CloudWatch
| نوع المقياس | الخدمة | المقاييس الرئيسية |
|-------------|--------|-------------------|
| الحوسبة | EC2/ECS | CPUUtilization, MemoryUtilization, NetworkIn/Out |
| قاعدة البيانات | RDS/Aurora | DatabaseConnections, ReadLatency, WriteLatency |
| بدون خوادم | Lambda | Duration, Errors, Throttles, ConcurrentExecutions |
| API | API Gateway | 4XXError, 5XXError, Latency, Count |
| التخزين | S3 | BucketSizeBytes, NumberOfObjects, 4xxErrors |
### حدود التنبيهات
| المورد | تحذير | حرج | الإجراء |
|--------|-------|-----|---------|
| EC2 CPU | >70% لمدة 5 دقائق | >90% لمدة 5 دقائق | توسعة أفقية، ثم تحقق من السبب |
| RDS CPU | >80% لمدة 5 دقائق | >95% لمدة 5 دقائق | توسعة رأسية، وتحسين الاستعلامات |
| أخطاء Lambda | >1% | >5% | تحقق من السبب، ثم تراجع عن الإصدار (Rollback) |
| ALB 5xx | >0.1% | >1% | تحقق من الخدمات الخلفية (Backend) |
| تقييد DynamoDB (Throttling) | أي حالة | مستمر | ارفع السعة |
## قائمة التحقق النهائية
### قبل إطلاق بيئة الإنتاج
- [ ] اكتملت مراجعة Well-Architected (كل الركائز الست)
- [ ] اكتمل اختبار الحمل مع الذروة المتوقعة + هامش 50%
- [ ] تم اختبار التعافي من الكوارث مع توثيق RTO/RPO
- [ ] تم اجتياز التقييم الأمني، بما في ذلك اختبار اختراق إذا كان مطلوبًا
- [ ] تم التحقق من ضوابط الامتثال عند انطباقها
- [ ] تم إعداد لوحات المراقبة والتنبيهات
- [ ] تم توثيق أدلة التشغيل (Runbooks) للعمليات الشائعة
- [ ] تم التحقق من توقعات التكلفة وضبط الميزانيات
- [ ] تم تطبيق استراتيجية الوسوم (Tags) على كل الموارد
- [ ] تم اختبار إجراءات النسخ الاحتياطي والاستعادة