Создание пула с включенным шифрованием дисков

При создании пула пакетной службы Azure с помощью конфигурации виртуальной машины можно зашифровать вычисленные узлы в пуле с помощью ключа, управляемого платформой, указав конфигурацию шифрования диска.

В этой статье объясняется, как создать пул Batch с включенным шифрованием дисков.

Зачем использовать пул с конфигурацией шифрования дисков?

С помощью пула пакетной обработки вы можете получать доступ и хранить данные на ОС и временных дисках вычислительного узла. Шифрование серверного диска ключом, управляемым платформой, защитит эти данные с низкими накладными расходами и удобством.

Служба Batch применяет одну из этих технологий шифрования дисков на вычислительных узлах в зависимости от конфигурации пула и региональной поддержки.

Вы не сможете указать, какой метод шифрования будет применяться к узлам в вашем пуле. Вместо этого вы указываете целевые диски, которые хотите зашифровать на их узлах, и Batch может выбрать соответствующий метод шифрования, так что указанные диски будут зашифрованы на вычислительном узле. На следующем рисунке показано, как Batch принимает этот выбор.

Внимание

При создании пула с пользовательским образом Linux можно включить шифрование дисков только в том случае, если пул использует размер виртуальной машины, поддерживающий шифрование на узле. Шифрование на узле в настоящее время не поддерживается в пулах подписок пользователей, пока эта функция не станет общедоступной в Azure.

Снимок экрана создания пула в портале Azure.

Для некоторых конфигураций шифрования дисков требуется, чтобы семейство виртуальных машин пула поддерживало шифрование на узле. См. сквозное шифрование с использованием шифрования на узле, чтобы определить, какие семейства виртуальных машин поддерживают шифрование на узле.

Портал Azure

При создании пула Batch в портале Azure выберите OsDisk, TemporaryDisk или OsAndTemporaryDisk в разделе «Конфигурация шифрования дисков».

Снимок экрана с параметром конфигурации шифрования диска на портале Azure.

После создания пула можно увидеть целевые объекты конфигурации шифрования дисков в разделе Свойства пула.

Снимок экрана, на котором изображены целевые объекты конфигурации шифрования диска на портале Azure.

Примеры

В следующих примерах показано, как шифровать ОС и временные диски в пуле пакетной службы с помощью пакета SDK Azure.ResourceManager.Batch, REST API пакетной службы и 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);
}

REST API для пакетной обработки

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

Следующие шаги