مشاركة عبر


إنشاء تجمع مع تمكين تشفير القرص

عند إنشاء تجمع Azure Batch باستخدام Virtual Machine Configuration، يمكنك تشفير عُقد الحوسبة في المجموعة باستخدام مفتاح مُدار بواسطة النظام الأساسي عن طريق تحديد تكوين تشفير القرص.

تشرح هذه المقالة كيفية إنشاء تجمع دفعي مع تمكين تشفير القرص.

لماذا استخدام تجمع مع تكوين تشفير القرص؟

باستخدام تجمع Batch، يمكنك الوصول إلى البيانات وتخزينها على نظام التشغيل والأقراص المؤقتة لعقدة الحساب. سيؤدي تشفير القرص الموجود على جانب الخادم باستخدام مفتاح مُدار بواسطة النظام الأساسي إلى حماية هذه البيانات بأقل التكاليف وعلى نحوٍ مريح.

ستطبق الدُّفعة إحدى تقنيات تشفير القرص هذه على عُقد الحوسبة، بناءً على تكوين التجمع وقابلية الدعم الإقليمي.

لن تتمكن من تحديد طريقة التشفير التي سيتم تطبيقها على العُقد الموجودة في مجموعتك. بدلاً من ذلك، تقوم بتوفير الأقراص الهدف التي تريد تشفيرها على عُقدها، ويمكن لـ Batch اختيار طريقة التشفير المناسبة، ما يضمن تشفير الأقراص المحددة على عُقدة الحساب. توضح الصورة التالية كيفية قيام Batch بهذا الاختيار.

هام

إذا كنت تقوم بإنشاء مجموعتك باستخدام صورة مخصصةعلى نظام Linux، فلا يمكنك تمكين تشفير القرص إلا إذا كانت مجموعتك تستخدم حجم VM المدعوم من المضيف. ميزة Encryption At Host غير مدعومة حالياً في User Subscription Pools حتى تصبح الميزة متاحة للجمهور العام في Azure.

لقطة شاشة لإنشاء التجمع في مدخل Microsoft Azure.

تتطلب بعض تكوينات تشفير القرص أن تدعم عائلة الجهاز الظاهري للتجمع التشفير في المضيف. راجع التشفير الشامل باستخدام التشفير في المضيف لتحديد عائلات الأجهزة الظاهرية التي تدعم التشفير في المضيف.

مدخل Azure

عند إنشاء تجمع دفعي في مدخل Microsoft Azure، حدد إما OsDisk أو TemporaryDisk أو OsAndTemporaryDisk ضمن تكوين تشفير القرص.

لقطة شاشة لخيار تكوين تشفير القرص في مدخل Microsoft Azure.

بعد إنشاء التجمع، يمكنك رؤية أهداف تكوين تشفير القرص في قسم Properties الخاص بالمجمع.

لقطة شاشة تعرض أهداف تكوين تشفير القرص في مدخل Microsoft Azure.

الأمثلة

الأمثلة التالية توضح كيفية تشفير نظام التشغيل والأقراص المؤقتة على مجموعة الدفعات باستخدام Azure.ResourceManager.Batch SDK، وواجهة برمجة تطبيقات Batch REST، وواجهة تحكم Azure CLI.

Azure.ResourceManager.Batch SDK

using Azure;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Batch;
using Azure.ResourceManager.Batch.Models;

//...

public async Task SetDiskEncryption()
{
    ArmClient client = new ArmClient(new DefaultAzureCredential());

    ResourceIdentifier batchAccountResourceId =
        BatchAccountResource.CreateResourceIdentifier("subscriptionId", "resourceGroupName", "accountName");
    BatchAccountResource batchAccount = client.GetBatchAccountResource(batchAccountResourceId);

    BatchAccountPoolCollection poolCollection = batchAccount.GetBatchAccountPools();

    BatchAccountPoolData poolData = new BatchAccountPoolData()
    {
        VmSize = "standard_ds1_v2",
        DeploymentConfiguration = new BatchDeploymentConfiguration()
        {
            VmConfiguration = new BatchVmConfiguration(
                imageReference: new BatchImageReference()
                {
                    Publisher = "Canonical",
                    Offer = "UbuntuServer",
                    Sku = "22.04-LTS"
                },
                nodeAgentSkuId: "batch.node.ubuntu 22.04")
            {
                 DiskEncryptionConfiguration = new BatchDiskEncryptionConfiguration()
                 {
                     Targets = { BatchDiskEncryptionTarget.OSDisk, BatchDiskEncryptionTarget.TemporaryDisk }
                 }
            }
        }
    };

    ArmOperation<BatchAccountPoolResource> pool = await poolCollection.CreateOrUpdateAsync(
        WaitUntil.Completed, "diskencryptionPool", poolData);
}

دفعة API REST

عنوان URL لـ REST API:

POST {batchURL}/pools?api-version=2020-03-01.11.0
client-request-id: 00000000-0000-0000-0000-000000000000

نص طلب:

"pool": {
    "id": "pool2",
    "vmSize": "standard_a1",
    "virtualMachineConfiguration": {
        "imageReference": {
            "publisher": "Canonical",
            "offer": "UbuntuServer",
            "sku": "22.04-LTS"
        },
        "diskEncryptionConfiguration": {
            "targets": [
                "OsDisk",
                "TemporaryDisk"
            ]
        }
        "nodeAgentSKUId": "batch.node.ubuntu 22.04"
    },
    "resizeTimeout": "PT15M",
    "targetDedicatedNodes": 5,
    "targetLowPriorityNodes": 0,
    "taskSlotsPerNode": 3,
    "enableAutoScale": false,
    "enableInterNodeCommunication": false
}

Azure CLI

az batch pool create \
    --id diskencryptionPool \
    --vm-size Standard_DS1_V2 \
    --target-dedicated-nodes 2 \
    --image canonical:ubuntuserver:22.04-LTS \
    --node-agent-sku-id "batch.node.ubuntu 22.04" \
    --disk-encryption-targets OsDisk TemporaryDisk

الخطوات التالية