Business Digital

تخزين Azure (Blob، Files، Disks، Immutability) — درس AZ-104 2026

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

إتقان Azure Storage: Storage Account، Blob (Hot/Cool/Archive)، Files (SMB/NFS)، Disks (Managed Disks)، Tables، Queues. Lifecycle، immutability blob، تشفير، AzCopy، Storage Explorer، أنواع Storage Account.

للسياق: الدليل الرئيسي Azure AZ-104 · Tenant Azure مجّاني.

المقدّمة

Azure Storage هو مكافئ S3 + EBS + EFS مدموجة في خدمة واحدة. المجال 2 Implement and Manage Storage (15-20% AZ-104). هذا الدرس يُغطّي 5 خدمات Azure Storage وحالات الاستعمال.

المتطلّبات

  • Tenant Azure مُهيَّأ.
  • Azure CLI شغّال.
  • المستوى المتوسّط.
  • الوقت: ساعتان.

الخطوة 1 — Storage Account والأنواع

كلّ شيء في Azure Storage يمرّ عبر Storage Account. الـ SA يحوي: Containers (Blob)، Shares (Files)، Tables، Queues.

Performance tier  : Standard (HDD، اقتصاديّ) | Premium (SSD، latency منخفض)
Replication:
  LRS (Locally Redundant)         : 3 نسخ في datacenter واحد
  ZRS (Zone Redundant)            : 3 نسخ في 3 AZ من منطقة واحدة
  GRS (Geo Redundant)             : LRS + نسخة async في المنطقة الشريكة
  RA-GRS (Read-Access GRS)        : GRS مع وصول قراءة على الثانوية
  GZRS                            : ZRS + GRS (الأكثر متانة)
  RA-GZRS                         : RA + GZRS
Account kind:
  StorageV2 (موصى به)             : كلّ الخدمات، كلّ tiers
  BlobStorage (legacy)            : Blob فقط
  FileStorage                     : Premium Files
  BlockBlobStorage                : Premium Blob
# إنشاء Storage Account
az storage account create \
  --resource-group lab-storage \
  --name labstorageacct2026 \
  --location francecentral \
  --sku Standard_LRS \
  --kind StorageV2 \
  --access-tier Hot

في الاختبار: اختر replication حسب RTO/RPO. GRS لـ DR cross-region. ZRS لـ HA نفس المنطقة. LRS للاقتصاد.

الخطوة 2 — Blob Storage: tiers و lifecycle

Hot    : وصول عالي التكرار. ~0.018 USD/Go/شهر
Cool   : > 30 يوم. ~0.01 USD/Go + رسوم retrieval
Cold   : > 90 يوم. ~0.0036 USD/Go (منذ 2023)
Archive: > 180 يوم. ~0.00099 USD/Go، retrieval 1-15h
# Container Blob
az storage container create --account-name labstorageacct2026 --name documents

# Upload
az storage blob upload --account-name labstorageacct2026 --container-name documents --file ./contract.pdf --name contract.pdf

# Set tier
az storage blob set-tier --account-name labstorageacct2026 --container-name documents --name contract.pdf --tier Cool

Lifecycle policy آليّ:

cat > lifecycle.json <<EOF
{
  "rules": [{
    "name": "moveToCoolThenArchive",
    "type": "Lifecycle",
    "definition": {
      "filters": { "blobTypes": ["blockBlob"] },
      "actions": {
        "baseBlob": {
          "tierToCool": { "daysAfterModificationGreaterThan": 30 },
          "tierToArchive": { "daysAfterModificationGreaterThan": 180 },
          "delete": { "daysAfterModificationGreaterThan": 2555 }
        }
      }
    }
  }]
}
EOF

az storage account management-policy create \
  --resource-group lab-storage \
  --account-name labstorageacct2026 \
  --policy @lifecycle.json

الخطوة 3 — Immutability و soft delete

للامتثال التنظيمي (SEC 17a-4، banking):

# تفعيل immutable storage مع versioning
az storage account update --name labstorageacct2026 --enable-versioning true

# Time-based retention policy
az storage container immutability-policy create \
  --account-name labstorageacct2026 \
  --container-name compliance-logs \
  --period 2555 \
  --allow-protected-append-writes true

Soft delete blob: retention قابل للإعداد 1-365 يوماً. Soft delete container/share: استرداد containers محذوفة عرضياً.

الخطوة 4 — Azure Files

SMB / NFS storage as a service، قابل للمشاركة على multi-VM.

# إنشاء share
az storage share-rm create \
  --resource-group lab-storage \
  --storage-account labstorageacct2026 \
  --name shared-data \
  --quota 100

# Mount على Linux
SAS_KEY=$(az storage account keys list -g lab-storage -n labstorageacct2026 --query "[0].value" -o tsv)
sudo mount -t cifs //labstorageacct2026.file.core.windows.net/shared-data /mnt/azure-share \
  -o vers=3.0,username=labstorageacct2026,password=$SAS_KEY,dir_mode=0777,file_mode=0777,serverino,nosharesock

# Mount على Windows
# net use Z: \\labstorageacct2026.file.core.windows.net\shared-data /user:labstorageacct2026 <KEY>

NFS: يتطلّب Premium FileStorage account، غير متاح في Standard.

الخطوة 5 — Managed Disks (تذكير درس VM)

أقراص مُرفَقة بـ VMs. راجع درس VM Azure للتفاصيل. Performance tiers: Standard HDD، Standard SSD، Premium SSD v1/v2، Ultra Disk.

الخطوة 6 — Tables و Queues

خدمات NoSQL legacy Azure (قبل Cosmos DB).

Tables  : key-value NoSQL، schémaless، scalable
          ⚠️ Cosmos DB Table API موصى به في 2026 (نفس الأنماط، أكثر ميزات)
Queues  : message queue بسيطة
          ⚠️ Service Bus Queues موصى به في 2026 لميزات enterprise

في الاختبار: اعرف الوجود، لكن Cosmos DB و Service Bus هما الخياران الحديثان.

الخطوة 7 — AzCopy: نسخ عالي الأداء

# تثبيت AzCopy
wget -O azcopy.tar.gz https://aka.ms/downloadazcopy-v10-linux
tar -xf azcopy.tar.gz
sudo mv ./azcopy*/azcopy /usr/local/bin/

# Copy ملفّ نحو blob
azcopy login
azcopy copy ./large-file.zip "https://labstorageacct2026.blob.core.windows.net/documents/"

# Copy bucket entier
azcopy sync ./local-folder "https://labstorageacct2026.blob.core.windows.net/documents/" --recursive

# Copy cross-account
azcopy copy "https://source.blob.core.windows.net/container?SAS" "https://dest.blob.core.windows.net/container?SAS" --recursive

AzCopy يستعمل parallelism multi-thread، أسرع 10x من az storage blob upload للملفّات الكبيرة.

الخطوة 8 — Encryption و Security

Encryption at rest (default):
  - Microsoft-managed keys (MMK)        : افتراضي، مجّاني، AES-256
  - Customer-managed keys (CMK)         : مفتاحك في Azure Key Vault، rotation، audit
  - Customer-provided keys (CPK)        : مفتاحك تقدّمه عند كلّ request

Encryption in transit:
  - HTTPS only                          : forcer TLS, default depuis 2023

Network restrictions:
  - Storage firewall                    : autoriser IPs/vNets spécifiques
  - Private Endpoints                   : accès via IP privée du vNet seulement
# Forcer HTTPS only
az storage account update --name labstorageacct2026 --https-only true

# Firewall + private endpoint
az storage account update --name labstorageacct2026 --default-action Deny
MY_IP=$(curl -s https://api.ipify.org)
az storage account network-rule add --account-name labstorageacct2026 --ip-address $MY_IP

الخطوة 9 — SAS (Shared Access Signatures)

URL مؤقّتة بصلاحيّات مُقَيَّدة لكائن خاصّ.

# Generate SAS pour blob (1 hour)
az storage blob generate-sas \
  --account-name labstorageacct2026 \
  --container-name documents \
  --name contract.pdf \
  --permissions r --expiry $(date -u -d "1 hour" '+%Y-%m-%dT%H:%MZ')

# URL avec SAS = accès lecture pendant 1h

Use case: download lien temporaire pour client final, signature de document, etc.

الخطوة 10 — Cleanup

az group delete --name lab-storage --yes --no-wait

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

الخطأ الحلّ
اسم Storage Account مأخوذ فريد عالميّاً، أضف random suffix
Archive tier retrieval lent 1-15h normal، plan en advance
SAS expirée regénérer، vérifier UTC time
Files mount échoue vérifier port 445 ouvert dans NSG/firewall ISP
Lifecycle policy ne s’applique pas attendre 24h، Azure async

تكيّفات إقليميّة

PME: Storage Account LRS + lifecycle vers Cool/Archive. 1 To stockage ~10 USD/شهر.

Banques: GZRS replication + immutable storage + CMK encryption + Private Endpoints. Compliance PCI DSS.

ESN: Azure Files Premium NFS pour partage NFS multi-VM (project shares).

أسئلة شائعة

Storage Account ou Cosmos DB pour NoSQL? Cosmos DB pour features modernes. Storage Tables pour legacy uniquement.

Encryption activée par défaut? Oui depuis 2023, MMK AES-256 sur tous nouveaux SA.

Combien de SA par subscription? 250 par région par défaut, augmentable.

للتعمّق


الكلمات المفتاحيّة: Azure Storage، Blob Hot Cool Archive، Files SMB NFS، Managed Disks، lifecycle policy، immutable storage، AzCopy، SAS، Private Endpoints.


تعميق

Banque ivoirienne: GZRS + immutable storage 7 سنوات + Private Endpoints + CMK rotation. Compliance audit Banque Centrale.

E-commerce Dakar: Blob Hot pour products + Cool لـ archives + CDN Azure Front Door devant. Latency < 50ms من غرب إفريقيا.

Fintech: Storage Account + Private Endpoint + Customer-managed keys + lifecycle 30j Cool/180j Archive. Compliance + توفير 70%.

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

Azure Storage Explorer، AzCopy v10، Azure Backup، Azure File Sync، Storage Insights، Defender for Storage، Azure Policy لـ governance.

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

مشاركة