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.

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

مشاركة
Service ITSkillsCenter

Application mobile Android et iOS

Création d'application mobile Android et iOS. À partir de 350 000 FCFA.

Démarrer mon projet
Publicité