Buat pool dengan enkripsi disk yang diaktifkan

Saat Anda membuat kumpulan Azure Batch menggunakan Konfigurasi Komputer Virtual, Anda dapat mengenkripsi simpul komputasi di kumpulan dengan kunci yang dikelola platform dengan menentukan konfigurasi enkripsi diska.

Artikel ini menjelaskan cara membuat kumpulan Batch dengan enkripsi diska diaktifkan.

Penting

Azure Disk Encryption (ADE) untuk Azure Batch pools akan pensiun pada 15 September 2028. Sebelum tanggal tersebut, migrasikan konfigurasi pool yang bergantung pada ADE untuk enkripsi disk sementara ke enkripsi di host. Pensiun tidak memengaruhi enkripsi default di sisi server pada disk yang dikelola.

Mengapa menggunakan kumpulan dengan konfigurasi enkripsi diska?

Dengan kumpulan Batch, Anda dapat mengakses dan menyimpan data pada OS dan disk sementara node komputasi. Mengenkripsi disk sisi server dengan kunci yang dikelola platform akan melindungi data ini dengan overhead dan kenyamanan rendah.

Batch akan menerapkan salah satu teknologi enkripsi diska ini pada simpul komputasi, berdasarkan konfigurasi kumpulan dan dukungan regional.

Target enkripsi disk tidak secara langsung memilih teknologi enkripsi. Anda menentukan disk target yang ingin Anda enkripsi, dan Batch memilih teknologi yang sesuai berdasarkan konfigurasi pool. Anda dapat secara eksplisit meminta enkripsi di host dalam profil keamanan mesin virtual. Gambar berikut menggambarkan bagaimana Batch melakukan seleksi.

Penting

Jika Anda membuat pool dengan citra kustom Linux, Anda hanya dapat mengaktifkan enkripsi disk jika pool Anda menggunakan ukuran VM yang mendukung enkripsi di host.

Untuk pool langganan pengguna, daftarkan fitur Microsoft.Compute/EncryptionAtHost dalam langganan yang berisi sumber daya pool, dan atur securityProfile.encryptionAtHost ke true secara eksplisit. Untuk informasi lebih lanjut, lihat Prasyarat untuk enkripsi di host.

Cuplikan layar Pembuatan Pool di portal Azure.

Beberapa konfigurasi enkripsi disk mengharuskan keluarga VM dalam kumpulan mendukung enkripsi di sisi host. Lihat Enkripsi menyeluruh menggunakan enkripsi di host untuk menentukan keluarga VM mana yang mendukung enkripsi di host.

Note

Enkripsi disk sementara pada ukuran VM yang tidak mendukung enkripsi di host memerlukan Azure Disk Encryption (ADE). ADE tidak didukung pada ukuran VM Basic, A-series, v6-series, v7-series (dan setelahnya), atau pada VM dengan memori kurang dari 2 GB. Jika Anda mengaktifkan enkripsi disk sementara pada salah satu ukuran yang tidak didukung ini, Batch menolak pembuatan pool dengan kesalahan AzureDiskEncryptionNotSupportedOnVMSize . Untuk menggunakan enkripsi disk sementara tanpa ADE, pilih ukuran VM dan langganan yang mendukung enkripsi di host. Untuk pool layanan Batch, jangan secara eksplisit menonaktifkan enkripsi di host. Untuk pool langganan pengguna, atur securityProfile.encryptionAtHost ke true secara eksplisit.

Penghentian Azure Disk Encryption

Azure Disk Encryption (ADE) untuk Batch pools akan pensiun pada 15 September 2028. Setelah tanggal penghentian, Batch pools tidak mendukung ADE. Konfigurasi pool yang masih bergantung pada ADE dapat mengalami gangguan saat Batch menyediakan atau menggantikan compute node.

Selesaikan migrasi sebelum tanggal penghentian jika konfigurasi pool Anda meminta enkripsi disk sementara dan dapat memilih ADE. Gunakan enkripsi di host sebagai pengganti. Enkripsi di host mengenkripsi disk sementara, disk OS ephemeral, serta cache disk OS dan data di host VM.

Pensiun ADE tidak memengaruhi enkripsi disk yang dikelola saat diam dengan kunci yang dikelola platform, yang secara default diaktifkan untuk disk yang dikelola Azure.

Tentukan apakah pool Anda memerlukan tindakan

Properti Batch pool menampilkan target enkripsi disk yang Anda minta, tetapi tidak mengidentifikasi teknologi enkripsi yang dipilih Batch untuk node. Gunakan tabel berikut untuk menilai apakah konfigurasi pool dapat bergantung pada ADE.

Konfigurasi kumpulan Ketergantungan ADE Action
diskEncryptionConfiguration tidak ditetapkan, atau TemporaryDisk tidak termasuk dalam target-targetnya Konfigurasi ini tidak bergantung pada ADE untuk enkripsi disk sementara. Tidak perlu melakukan tindakan apa pun untuk penghentian ini.
Mode alokasi pool layanan batch yang diminta adalah TemporaryDisk, ukuran VM mendukung enkripsi di host, dan enkripsi di host tidak secara eksplisit dinonaktifkan Batch memilih enkripsi pada host. Tidak diperlukan migrasi. Lanjutkan menggunakan ukuran VM yang mendukung enkripsi di host.
Mode alokasi TemporaryDisk pool layanan batch diminta, dan ukuran VM tidak mendukung enkripsi di host Konfigurasi dapat bergantung pada ADE. Migrasi ke ukuran VM yang mendukung enkripsi di host.
Mode alokasi kolam langganan pengguna, TemporaryDisk diminta, dan securityProfile.encryptionAtHost tidak diatur ke true Konfigurasi dapat bergantung pada ADE. Batch tidak secara otomatis mengaktifkan enkripsi di host untuk pool langganan pengguna. Daftarkan fitur encryption-at-host dalam langganan pool dan aktifkan fitur encryption at host secara eksplisit.
securityProfile.encryptionAtHost secara eksplisit diatur ke dan falseTemporaryDisk diminta Konfigurasi dapat bergantung pada ADE. Gunakan ukuran VM yang didukung dan atur encryptionAtHost ke true.

Untuk menentukan apakah ukuran VM mendukung enkripsi di host, lihat Ukuran VM yang didukung.

Konfigurasi pool baru

Untuk pool baru yang memerlukan enkripsi disk sementara, pilih ukuran VM yang mendukung enkripsi di host. Jangan secara eksplisit menonaktifkan enkripsi di host.

Untuk pool langganan pengguna, juga daftarkan fitur Microsoft.Compute/EncryptionAtHost tersebut dalam langganan yang berisi sumber daya pool dan atur securityProfile.encryptionAtHost ke true.

Migrasikan pool yang sudah ada ke enkripsi di host

Anda dapat memperbarui pool yang sudah ada tanpa menghapus pool Batch. Pembaruan ini menggantikan penerapan komputasi yang mendasarinya saat Anda menskalakan pool ke luar lagi.

  1. Berhenti menjadwalkan pekerjaan baru di pool, dan tunggu tugas yang berjalan selesai atau pindahkan ke pool lain.
  2. Ubah jumlah node target khusus maupun Spot atau prioritas rendah menjadi nol.
  3. Tunggu sampai status alokasi pool adalah Steady dan jumlah node saat ini nol.
  4. Gunakan Batch Management Plane Pool - Update API versi 2024-07-01 atau yang lebih baru untuk:
    • Pilih ukuran VM yang mendukung enkripsi di host, jika ukuran saat ini tidak mendukungnya.
    • Atur deploymentConfiguration.virtualMachineConfiguration.securityProfile.encryptionAtHost ke true.
    • Pertahankan target enkripsi disk yang diperlukan dan properti konfigurasi mesin virtual lainnya.
  5. Ubah ukuran pool ke jumlah node target yang diperlukan. Batch membuat deployment komputasi dasar baru dengan menggunakan konfigurasi yang diperbarui.

Sebagai contoh, bagian yang relevan dari permintaan Management Plane PATCH adalah:

{
  "properties": {
    "vmSize": "<encryption-at-host-supported-vm-size>",
    "deploymentConfiguration": {
      "virtualMachineConfiguration": {
        "imageReference": {
          "publisher": "<publisher>",
          "offer": "<offer>",
          "sku": "<sku>",
          "version": "<version>"
        },
        "nodeAgentSkuId": "<node-agent-sku-id>",
        "diskEncryptionConfiguration": {
          "targets": [
            "OsDisk",
            "TemporaryDisk"
          ]
        },
        "securityProfile": {
          "encryptionAtHost": true
        }
      }
    }
  }
}

Caution

Sertakan properti konfigurasi mesin virtual yang sudah ada yang harus dipertahankan oleh pool, seperti referensi gambar, SKU agen node, pengaturan disk OS, konfigurasi kontainer, ekstensi, dan disk data. Sebelum Anda memperbarui pool produksi, ambil konfigurasi saat ini dan bangun permintaan dengan semua nilai yang diperlukan.

Untuk informasi lebih lanjut tentang pembaruan zero-node dan perilaku pembaruan, lihat Memperbarui properti kumpulan Batch.

portal Azure

Saat membuat kumpulan Batch di portal Azure, pilih OsDisk, TemporaryDisk, atau OsAndTemporaryDisk di bawah Konfigurasi Enkripsi Disk.

Cuplikan layar opsi Konfigurasi Enkripsi Disk di portal Microsoft Azure.

Setelah kumpulan dibuat, Anda dapat melihat target konfigurasi enkripsi diska di bagian Properti kumpulan.

Cuplikan layar memperlihatkan target konfigurasi enkripsi diska di portal Microsoft Azure.

Contoh

Contoh berikut menunjukkan cara mengenkripsi OS dan disk sementara pada kumpulan Batch menggunakan Azure.ResourceManager.Batch SDK, REST API Batch, dan 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 Batch

URL REST API:

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

Isi permintaan:

"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

Langkah berikutnya