Condividi tramite


Creare un pool con la crittografia disco abilitata

Quando si crea un pool di Azure Batch usando la configurazione della macchina virtuale, è possibile crittografare i nodi di calcolo nel pool con una chiave gestita dalla piattaforma specificando la configurazione della crittografia del disco.

Questo articolo illustra come creare un pool di Batch con crittografia dischi abilitata.

Perché usare un pool con la configurazione della crittografia del disco?

Con un pool di Batch è possibile accedere e archiviare i dati nel sistema operativo e nei dischi temporanei del nodo di calcolo. La crittografia del disco lato server con una chiave gestita dalla piattaforma consente di proteggere questi dati in modo pratico e con sovraccarico ridotto.

Batch applicherà una di queste tecnologie di crittografia dei dischi nei nodi di calcolo, in base alla configurazione del pool e alla supporto a livello di area.

Non sarà possibile specificare il metodo di crittografia che verrà applicato ai nodi del pool. Specificare invece i dischi di destinazione da crittografare nei nodi e Batch può scegliere il metodo di crittografia appropriato, assicurandosi che i dischi specificati siano crittografati nel nodo di calcolo. L'immagine seguente illustra il modo in cui Batch fa questa scelta.

Importante

Se si sta creando il pool con un'immagine personalizzata Linux, è possibile abilitare la crittografia del disco solo se il pool usa una crittografia alle dimensioni della macchina virtuale supportate dall'host. La crittografia in host non è attualmente supportata nei pool di sottoscrizioni utente fino a quando la funzionalità non diventa disponibile pubblicamente in Azure.

Screenshot della creazione del pool nel portale di Azure.

Alcune configurazioni di crittografia del disco richiedono che la famiglia di macchine virtuali del pool supporti la crittografia nell'host. Consultare Crittografia end-to-end utilizzando la crittografia all'host per identificare quali famiglie di macchine virtuali supportano la crittografia all'host.

Portale di Azure

Quando si crea un pool di Batch nel portale di Azure, selezionare OsDisk, TemporaryDisk o OsAndTemporaryDisk in Configurazione crittografia dischi.

Screenshot dell'opzione Configurazione crittografia disco nel portale di Azure.

Dopo aver creato il pool, è possibile visualizzare le destinazioni di configurazione della crittografia del disco nella sezione Proprietà del pool.

Screenshot che mostra le opzioni di configurazione della crittografia del disco nel portale di Azure.

Esempi

Gli esempi seguenti illustrano come crittografare il sistema operativo e i dischi temporanei in un pool di Batch usando Azure.ResourceManager.Batch SDK, l'API REST batch e l'interfaccia della riga di comando di Azure.

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 Batch REST

URL DELL'API REST:

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

Corpo della richiesta:

"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
}

Interfaccia della riga di comando di Azure

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

Passaggi successivi