Aracılığıyla paylaş


Service Fabric kümesi Resource Manager şablonu oluşturma

Azure Service Fabric kümesi, mikro hizmetlerinizin dağıtıldığı ve yönetildiği ağa bağlı bir sanal makine kümesidir. Azure'da çalışan service fabric kümesi bir Azure kaynağıdır ve Resource Manager kullanılarak dağıtılır, yönetilir ve izlenir. Bu makalede, Azure'da çalışan bir Service Fabric kümesi için Resource Manager şablonunun nasıl oluşturulduğu açıklanmaktadır. Şablon tamamlandığında kümeyi Azure'da dağıtabilirsiniz.

Küme güvenliği, küme ilk ayarlandığında yapılandırılır ve daha sonra değiştirilemez. Kümeyi ayarlamadan önce Service Fabric kümesi güvenlik senaryoları'nı okuyun. Azure'da Service Fabric, kümenizin ve uç noktalarının güvenliğini sağlamak, istemcilerin kimliğini doğrulamak ve verileri şifrelemek için x509 sertifikasını kullanır. Yönetim uç noktalarına erişimin güvenliğini sağlamak için Microsoft Entra Id de önerilir. Küme oluşturulmadan önce Microsoft Entra kiracıları ve kullanıcıları oluşturulmalıdır. Daha fazla bilgi için bkz . İstemcilerin kimliğini doğrulamak için Microsoft Entra Id'yi ayarlama.

Üretim iş yüklerini çalıştırmak için bir üretim kümesi dağıtmadan önce, önce Üretim hazırlığı denetim listesini okuduğunuzdan emin olun.

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Resource Manager şablonu oluşturma

Örnek Resource Manager şablonları GitHub'daki Azure örneklerinde kullanılabilir. Bu şablonlar, küme şablonunuz için başlangıç noktası olarak kullanılabilir.

Bu makalede beş düğümlü güvenli küme örnek şablonu ve şablon parametreleri kullanılmaktadır. bilgisayarınıza azuredeploy.json ve azuredeploy.parameters.json indirin ve her iki dosyayı da sık kullandığınız metin düzenleyicide açın.

Not

Ulusal bulutlar için (Azure Kamu, 21Vianet, Azure Germany tarafından sağlanan Microsoft Azure), şablonunuza şunları fabricSettings da eklemeniz gerekir: AADLoginEndpoint, AADTokenEndpointFormat ve AADCertEndpointFormat.

Sertifika ekleme

Sertifika anahtarlarını içeren anahtar kasasına başvurarak bir küme Resource Manager şablonuna sertifika eklersiniz. Bu anahtar kasası parametrelerini ve değerlerini resource manager şablon parametreleri dosyasına (azuredeploy.parameters.json) ekleyin.

Tüm sertifikaları sanal makine ölçek kümesi osProfile'a ekleme

Kümede yüklü olan her sertifika, ölçek kümesi kaynağının (Microsoft.Compute/virtualMachineScaleSets) osProfile bölümünde yapılandırılmalıdır. Bu eylem, kaynak sağlayıcısına sertifikayı VM'lere yüklemesini belirtir. Bu yükleme hem küme sertifikasını hem de uygulamalarınız için kullanmayı planladığınız tüm uygulama güvenlik sertifikalarını içerir:

{
  "apiVersion": "[variables('vmssApiVersion')]",
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  ...
  "properties": {
    ...
    "osProfile": {
      ...
      "secrets": [
        {
          "sourceVault": {
            "id": "[parameters('sourceVaultValue')]"
          },
          "vaultCertificates": [
            {
              "certificateStore": "[parameters('clusterCertificateStorevalue')]",
              "certificateUrl": "[parameters('clusterCertificateUrlValue')]"
            },
            {
              "certificateStore": "[parameters('applicationCertificateStorevalue')",
              "certificateUrl": "[parameters('applicationCertificateUrlValue')]"
            },
            ...
          ]
        }
      ]
    }
  }
}

Service Fabric küme sertifikasını yapılandırma

Küme kimlik doğrulama sertifikası, hem Service Fabric küme kaynağında (Microsoft.ServiceFabric/clusters) hem de sanal makine ölçek kümesi kaynağındaki sanal makine ölçek kümeleri için Service Fabric uzantısında yapılandırılmalıdır. Bu düzenleme, Service Fabric kaynak sağlayıcısının bunu küme kimlik doğrulaması ve yönetim uç noktaları için sunucu kimlik doğrulaması için yapılandırmasına olanak tanır.

Sanal makine ölçek kümesi kaynağının sertifika bilgilerini ekleme

{
  "apiVersion": "[variables('vmssApiVersion')]",
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  ...
  "properties": {
    ...
    "virtualMachineProfile": {
      "extensionProfile": {
        "extensions": [
          {
            "name": "[concat('ServiceFabricNodeVmExt_',variables('vmNodeType0Name'))]",
            "properties": {
              ...
              "settings": {
                ...
                "certificate": {
                  "commonNames": ["[parameters('certificateCommonName')]"],
                  "x509StoreName": "[parameters('clusterCertificateStoreValue')]"
                },
                ...
              }
            }
          }
        ]
      }
    }
  }
}

Sertifika bilgilerini Service Fabric küme kaynağına ekleme

{
  "apiVersion": "2018-02-01",
  "type": "Microsoft.ServiceFabric/clusters",
  "name": "[parameters('clusterName')]",
  "location": "[parameters('clusterLocation')]",
  "dependsOn": [
    "[concat('Microsoft.Storage/storageAccounts/', variables('supportLogStorageAccountName'))]"
  ],
  "properties": {
    "certificateCommonNames": {
        "commonNames": [
        {
            "certificateCommonName": "[parameters('certificateCommonName')]",
            "certificateIssuerThumbprint": ""
        }
        ],
        "x509StoreName": "[parameters('certificateStoreValue')]"
    },
    ...
  }
}

İstemci erişimi için Microsoft Entra Kimliğini kullanmak üzere Microsoft Entra yapılandırması ekleme

Sertifika anahtarlarını içeren anahtar kasasına başvurarak Microsoft Entra yapılandırmasını bir küme Resource Manager şablonuna eklersiniz. Bu Microsoft Entra parametrelerini ve değerlerini bir Resource Manager şablon parametreleri dosyasına (azuredeploy.parameters.json) ekleyin.

Not

Linux'ta, kümeyi oluşturmadan önce Microsoft Entra kiracıları ve kullanıcıları oluşturulmalıdır. Daha fazla bilgi için bkz . İstemcilerin kimliğini doğrulamak için Microsoft Entra Id'yi ayarlama.

{
  "apiVersion": "2018-02-01",
  "type": "Microsoft.ServiceFabric/clusters",
  "name": "[parameters('clusterName')]",
  ...
  "properties": {
    "certificateCommonNames": {
        "commonNames": [
        {
            "certificateCommonName": "[parameters('certificateCommonName')]",
            "certificateIssuerThumbprint": ""
        }
        ],
        "x509StoreName": "[parameters('certificateStoreValue')]"
    },
    ...
    "azureActiveDirectory": {
      "tenantId": "[parameters('aadTenantId')]",
      "clusterApplication": "[parameters('aadClusterApplicationId')]",
      "clientApplication": "[parameters('aadClientApplicationId')]"
    },
    ...
  }
}

Parametre dosyasını değerlerle doldurun

Son olarak, parametre dosyasını doldurmak için anahtar kasasından ve Azure AD PowerShell komutlarından çıkış değerlerini kullanın.

Azure service fabric RM PowerShell modüllerini kullanmayı planlıyorsanız küme sertifika bilgilerini doldurmanız gerekmez. Sistemin küme güvenliği için otomatik olarak imzalanan sertifika oluşturmasını istiyorsanız, bunları null olarak tutmanız yeterlidir.

Not

RM modüllerinin bu boş parametre değerlerini alması ve doldurması için parametre adları aşağıdaki adlarla çok eşleşmektedir

"clusterCertificateThumbprint": {
    "value": ""
},
"certificateCommonName": {
    "value": ""
},
"clusterCertificateUrlValue": {
    "value": ""
},
"sourceVaultvalue": {
    "value": ""
},

Uygulama sertifikaları kullanıyorsanız veya anahtar kasasına yüklediğiniz mevcut bir kümeyi kullanıyorsanız, bu bilgileri almanız ve doldurmanız gerekir.

RM modüllerinin sizin için Microsoft Entra yapılandırmasını oluşturma özelliği yoktur, bu nedenle istemci erişimi için Microsoft Entra Id kullanmayı planlıyorsanız, bunu doldurmanız gerekir.

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        ...
        "clusterCertificateStoreValue": {
            "value": "My"
        },
        "clusterCertificateThumbprint": {
            "value": "<thumbprint>"
        },
        "clusterCertificateUrlValue": {
            "value": "https://myvault.vault.azure.net:443/secrets/myclustercert/4d087088df974e869f1c0978cb100e47"
        },
        "applicationCertificateStorevalue": {
            "value": "My"
        },
        "applicationCertificateUrlValue": {
            "value": "https://myvault.vault.azure.net:443/secrets/myapplicationcert/2e035058ae274f869c4d0348ca100f08"
        },
        "sourceVaultvalue": {
            "value": "/subscriptions/<guid>/resourceGroups/mycluster-keyvault/providers/Microsoft.KeyVault/vaults/myvault"
        },
        "aadTenantId": {
            "value": "<guid>"
        },
        "aadClusterApplicationId": {
            "value": "<guid>"
        },
        "aadClientApplicationId": {
            "value": "<guid>"
        },
        ...
    }
}

Şablonunuzu test edin

Resource Manager şablonunuzu bir parametre dosyasıyla test etmek için aşağıdaki PowerShell komutunu kullanın:

Test-AzResourceGroupDeployment -ResourceGroupName "myresourcegroup" -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json

Sorunlarla karşılaşırsanız ve şifreli iletiler alırsanız seçenek olarak "-Debug" kullanın.

Test-AzResourceGroupDeployment -ResourceGroupName "myresourcegroup" -TemplateFile .\azuredeploy.json -TemplateParameterFile .\azuredeploy.parameters.json -Debug

Aşağıdaki diyagramda anahtar kasanızın ve Microsoft Entra yapılandırmanızın Resource Manager şablonunuzla nerelere sığdığı gösterilmektedir.

Resource Manager bağımlılık eşlemesi

Sonraki adımlar

Kümeniz için bir şablonunuz olduğuna göre, kümeyi Azure'a dağıtmayı öğrenin. Henüz yapmadıysanız, bir üretim kümesi dağıtmadan önce Üretim hazırlığı denetim listesini okuyun.

Bu makalede dağıtılan kaynakların JSON söz dizimi ve özellikleri hakkında bilgi edinmek için bkz: