Disk şifrelemesi etkinleştirilmiş havuz oluşturma

Sanal Makine Yapılandırması'nı kullanarak bir Azure Batch havuzu oluşturduğunuzda, disk şifreleme yapılandırmasını belirterek havuzdaki işlem düğümlerini platform tarafından yönetilen bir anahtarla şifreleyebilirsiniz.

Bu makalede, disk şifrelemesi etkinleştirilmiş bir Batch havuzunun nasıl oluşturulacağı açıklanmaktadır.

Önemli

Azure Batch havuzları için Azure Disk Şifrelemesi (ADE), 15 Eylül 2028'de kullanımdan kaldırılacaktır. Bu tarihten önce, geçici disk şifreleme için ADE'ye dayanan havuz yapılandırmalarını ana bilgisayardaki şifrelemeye taşıyın. Kullanımdan kaldırma, yönetilen disklerin varsayılan sunucu tarafı şifrelemesini etkilemez.

Disk şifreleme yapılandırmasına sahip bir havuz neden kullanılır?

Batch havuzuyla, işletim sistemi ve işlem düğümünün geçici disklerindeki verilere erişebilir ve verileri depolayabilirsiniz. Sunucu tarafı diski platform tarafından yönetilen bir anahtarla şifrelemek, bu verileri düşük ek yük ve kolaylıkla korur.

Batch, havuz yapılandırmasına ve bölgesel desteklenebilirliğe göre işlem düğümlerine bu disk şifreleme teknolojilerinden birini uygular.

Disk şifreleme hedefleri doğrudan bir şifreleme teknolojisi seçmez. Şifrelemek istediğiniz hedef diskleri belirliyorsunuz ve Batch, havuz konfigürasyonuna göre uygulanabilir bir teknoloji seçiyor. Sanal makine güvenlik profilinde ana bilgisayarda şifrelemeyi açıkça talep edebilirsiniz. Aşağıdaki görsel, Batch'in seçimi nasıl yaptığını göstermektedir.

Önemli

Havuzunuzu Linux özel bir imajla oluşturuyorsanız, disk şifrelemeyi yalnızca havuzunuz ana bilgisayarda şifrelemeyi destekleyen bir VM boyutu kullanıyorsa etkinleştirebilirsiniz.

Kullanıcı abonelik havuzu için, havuz kaynaklarını içeren abonelikte Microsoft.Compute/EncryptionAtHost özelliğini kaydedin ve securityProfile.encryptionAtHost değerini açıkça true olarak ayarlayın. Daha fazla bilgi için bkz. Ana bilgisayarda şifreleme için ön koşullar.

Azure portalında Havuz Oluşturma işleminin ekran görüntüsü.

Bazı disk şifreleme yapılandırmaları, havuzun VM ailesinin ana makinede şifrelemeyi desteklemesini gerektirebilir. Hangi VM ailelerinin konakta şifrelemeyi desteklediğini belirlemek için, Konakta Şifreleme Kullanarak Uçtan Uca Şifrelemeye Bakın.

Note

Sunucuda şifrelemeyi desteklemeyen VM boyutlarında geçici disk şifrelemesi için Azure Disk Şifrelemesi (ADE) gereklidir. ADE, Basic, A-serisi, v6-serisi, v7-serisi (ve sonrakı) VM boyutlarında veya 2 GB'tan az belleğe sahip VM'lerde desteklenmiyor. Bu desteklenmeyen boyutlardan birinde geçici disk şifrelemesini etkinleştirirseniz, Batch havuz oluşturmayı bir hatayla AzureDiskEncryptionNotSupportedOnVMSize reddeder. ADE olmadan geçici disk şifrelemesini kullanmak için, ana bilgisayarda şifrelemeyi destekleyen bir VM boyutu ve abonelik seçin. Batch hizmet havuzu için, ana bilgisayarda şifrelemeyi açıkça devre dışı bırakmayın. Kullanıcı abonelik havuzu için, securityProfile.encryptionAtHost öğesini açıkça true olarak ayarlayın.

Azure Disk Şifrelemesi retirement

Azure Disk Şifrelemesi (ADE) for Batch pools 15 Eylül 2028'de emeklenmeye ayrıldı. Emeklilik tarihinden sonra, Batch havuzları ADE'yi desteklemez. ADE'ye bağlı olmaya devam eden havuz yapılandırmaları, Batch işlem düğümlerini sağladığında veya değiştirdiğinde kesintiler yaşayabilir.

Havuz yapılandırmanız geçici disk şifreleme talep ediyorsa ve ADE seçebiliyorsa, emeklilik tarihinden önce geçişi tamamlayın. Yerine geçecek çözüm olarak host düzeyinde şifreleme kullanın. Konaktaki şifreleme, geçici diski, ephemeral OS disklerini ve VM konağındaki işletim sistemi ile veri disklerinin önbelleklerini şifreler.

ADE emekliliği, platform tarafından yönetilen anahtarlarla dururken yönetilen disk şifrelemesini etkilemez; bu varsayılan olarak Azure yönetilen diskler için etkindir.

Havuzunuzun harekete geçmesi gerekip gerekmediğini belirleyin

Batch havuzu özellikleri, istediğiniz disk şifreleme hedeflerini gösterir, ancak Batch'in düğümler için seçtiği şifreleme teknolojisini tanımlamıyor. Aşağıdaki tabloyu kullanarak bir havuz yapılandırmasının ADE'ye bağlı olup olmadığını değerlendirin.

Havuz yapılandırması ADE bağımlılığı Action
diskEncryptionConfiguration belirlenmemiştir ya da TemporaryDisk hedeflere dahil edilmiyor Yapılandırma, geçici disk şifrelemesi için ADE'ye bağlı değildir. Bu emeklilik için herhangi bir işlem gerekmemektedir.
Batch hizmeti havuzu ayırma modu TemporaryDisk istendiğinde, VM boyutu ana bilgisayarda şifrelemeyi destekler ve ana bilgisayarda şifreleme açıkça devre dışı bırakılmaz. Batch host üzerinde şifrelemeyi seçer. Geçiş gerekmez. Konak düzeyinde şifrelemeyi destekleyen bir VM boyutu kullanmaya devam edin.
Toplu hizmet havuzu ayırma modu TemporaryDisk isteniyor ve VM boyutu ana bilgisayarda şifrelemeyi desteklemiyor Konfigürasyon ADE'ye bağlı olabilir. Konak düzeyinde şifrelemeyi destekleyen bir VM boyutuna geçiş yapın.
Kullanıcı abonelik havuzu tahsisi modu, TemporaryDisk isteniyor ve securityProfile.encryptionAtHost ayarlanmamıştır true Konfigürasyon ADE'ye bağlı olabilir. Batch, kullanıcı abonelik havuzları için hostta otomatik olarak şifrelemeyi etkinleştirmiyor. Havuz aboneliğinde konakta şifreleme özelliğini kaydedin ve konakta şifrelemeyi açıkça etkinleştirin.
securityProfile.encryptionAtHost açıkça false olarak ayarlanmış ve TemporaryDisk istenmiştir Konfigürasyon ADE'ye bağlı olabilir. Desteklenen bir VM boyutu kullanın ve encryptionAtHost .true

Bir VM boyutunun ana bilgisayarda şifrelemeyi destekleyip desteklemediğini belirlemek için Desteklenen VM boyutları sayfasına bakınız.

Yeni havuzları yapılandırma

Geçici disk şifrelemesi gerektiren yeni havuzlar için, ana bilgisayarda şifrelemeyi destekleyen bir VM boyutu seçin. Ana bilgisayarda şifrelemeyi açıkça devre dışı bırakmayın.

Kullanıcı abonelik havuzları için, havuz kaynaklarını içeren abonelikte Microsoft.Compute/EncryptionAtHost özelliğini de kaydedin ve securityProfile.encryptionAtHost öğesini true olarak ayarlayın.

Mevcut bir havuzu konak düzeyinde şifrelemeye taşıyın

Mevcut bir havuzu Batch havuzunu silmeden güncelleyebiliyorsunuz. Güncelleme, havuzu yeniden ölçeklendirdiğinizde temel işlem dağıtımının yerini alır.

  1. Havuzda yeni işleri planlamayı bırakın ve çalıştırılan görevlerin bitmesini bekleyin ya da bunları başka bir havuza taşıyın.
  2. Hem ayrılmış hem de Spot veya düşük öncelikli hedef düğüm sayımlarını sıfıra indirin.
  3. Havuz ayırım durumu Steady olana ve mevcut düğüm sayıları sıfır olana kadar bekleyin.
  4. Şunları yapmak için Batch Management Plane Pool - Update API sürüm 2024-07-01 veya sonrasını kullanın:
    • Mevcut boyut desteklemiyorsa, ana bilgisayarda şifrelemeyi destekleyen bir VM boyutu seçin.
    • deploymentConfiguration.virtualMachineConfiguration.securityProfile.encryptionAtHost değerini true olarak ayarlayın.
    • Gerekli disk şifreleme hedeflerini ve diğer sanal makine yapılandırma özelliklerini koruyun.
  5. Havuzu gerekli hedef düğüm sayılarına göre boyutlandırın. Batch, güncellenmiş yapılandırmayı kullanarak yeni bir temel hesaplama dağıtımı oluşturur.

Örneğin, bir Yönetim Düzlemi PATCH talebinin ilgili kısmı şudur:

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

Havuzun koruması gereken mevcut sanal makine yapılandırma özelliklerini, örneğin görüntü referansı, düğüm ajanı SKU, işletim sistemi disk ayarları, konteyner yapılandırması, uzantılar ve veri diskleri dahil edin. Bir üretim havuzunu güncellemeden önce, mevcut yapılandırmasını alın ve tüm gerekli değerlerle isteği oluşturun.

Sıfır düğüm güncellemeleri ve güncelleme davranışı hakkında daha fazla bilgi için Batch havuzu özelliklerini güncelleştirme bölümüne bakınız.

Azure portal

Azure portalında batch havuzu oluştururken, Disk Şifreleme Yapılandırması altında OsDisk, TemporaryDisk veya OsAndTemporaryDisk'i seçin.

Azure portalında Disk Şifreleme Yapılandırması seçeneğinin ekran görüntüsü.

Havuz oluşturulduktan sonra, havuzun Özellikler bölümünde disk şifreleme yapılandırma hedeflerini görebilirsiniz.

Azure portalında disk şifreleme yapılandırma hedeflerini gösteren ekran görüntüsü.

Örnekler

Aşağıdaki örneklerde Azure.ResourceManager.Batch SDK'sı, Batch REST API'sini ve Azure CLI'yı kullanarak bir Batch havuzundaki işletim sisteminin ve geçici disklerin nasıl şifrelenmesi gösterilmektedir.

Azure.ResourceManager.Batch SDK'sı

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);
}

Toplu REST API

REST API URL'si:

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

İstek metni:

"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

Sonraki adımlar