Bagikan melalui


Kebijakan titik akhir layanan jaringan virtual untuk Microsoft Azure HDInsight

Artikel ini menyediakan informasi tentang cara menerapkan kebijakan titik akhir layanan di jaringan virtual dengan Microsoft Azure HDInsight.

Latar belakang

Microsoft Azure HDInsight memungkinkan Anda membuat kluster di jaringan virtual Anda sendiri. Jika Anda perlu mengizinkan lalu lintas keluar dari jaringan virtual Anda ke layanan Azure lainnya seperti akun penyimpanan, Anda dapat membuat kebijakan titik akhir layanan. Kebijakan titik akhir layanan yang dibuat melalui portal Microsoft Azure, hanya memungkinkan Anda membuat kebijakan untuk satu akun, semua akun dalam langganan, atau semua akun dalam grup sumber daya.

Namun, sebagai layanan terkelola, Microsoft Azure HDInsight mengumpulkan data dan file log dari setiap kluster di akun penyimpanan tertentu di setiap wilayah. Agar data ini dapat menjangkau Microsoft Azure HDInsight dari jaringan virtual Anda, Anda perlu membuat kebijakan titik akhir layanan yang memungkinkan lalu lintas keluar ke titik pengumpulan data tertentu yang dikelola oleh Microsoft Azure HDInsight.

Kebijakan titik akhir layanan untuk Microsoft Azure HDInsight

Kebijakan titik akhir layanan ini mendukung fungsionalitas berikut:

  • Kumpulan log dan telemetri pada pembuatan kluster, eksekusi pekerjaan, dan operasi platform seperti penskalaan.
  • Melampirkan hard disk virtual (VHD) ke node kluster yang baru dibuat untuk penyediaan perangkat lunak dan pustaka pada kluster Anda.

Jika kebijakan titik akhir layanan tidak dibuat untuk mengaktifkan aliran data ini, pembuatan kluster mungkin gagal dan Microsoft Azure HDInsight tidak akan dapat memberikan dukungan untuk kluster Anda.

Buat kebijakan titik akhir layanan untuk Microsoft Azure HDInsight

Pastikan bahwa kebijakan titik akhir layanan yang benar dilampirkan ke jaringan virtual Anda sebelum membuat kluster baru. Jika tidak, pembuatan kluster mungkin gagal atau mengakibatkan kesalahan.

Gunakan proses berikut untuk membuat kebijakan titik akhir layanan yang diperlukan:

  1. Tentukan wilayah tempat Anda akan membuat kluster Microsoft Azure HDInsight.

  2. Cari wilayah tersebut dalam daftar sumber daya kebijakan titik akhir layanan, yang memberikan semua grup sumber daya untuk akun penyimpanan manajemen Microsoft Azure HDInsight.

  3. Pilih daftar grup sumber daya untuk wilayah Anda. Contoh sumber daya untuk Canada Central ditampilkan di bawah ini:

    "Canada Central":[
        "/subscriptions/235d341f-7fb9-435c-9bdc-034b7306c9b4/resourceGroups/Default-Storage-WestUS",
        "/subscriptions/da0c4c68-9283-4f88-9c35-18f7bd72fbdd/resourceGroups/GenevaWarmPathManageRG",
        "/subscriptions/6a853a41-3423-4167-8d9c-bcf37dc72818/resourceGroups/GenevaWarmPathManageRG",
        "/subscriptions/c8845df8-14d1-4a46-b6dd-e0c44ae400b0/resourceGroups/Default-Storage-CanadaCentral",
        "/subscriptions/c8845df8-14d1-4a46-b6dd-e0c44ae400b0/resourceGroups/cancstorage",
        "/subscriptions/c8845df8-14d1-4a46-b6dd-e0c44ae400b0/resourceGroups/GenevaWarmPathManageRG",
        "/subscriptions/fb3429ab-83d0-4bed-95e9-1a8e9455252c/resourceGroups/DistroStorageRG/providers/Microsoft.Storage/storageAccounts/hdi31distrorelease",
        "/subscriptions/fb3429ab-83d0-4bed-95e9-1a8e9455252c/resourceGroups/DistroStorageRG/providers/Microsoft.Storage/storageAccounts/bigdatadistro"
    ],
    
  4. Sisipkan daftar grup sumber daya ke dalam skrip penyetelan yang ditulis di Azure CLI atau Azure PowerShell.

    $subscriptionId = "<subscription id>"
    $rgName="<resource group name> "
    $location="<location name>"
    $vnetName="<vnet name>"
    $subnetName="<subnet name>"
    $sepName="<service endpoint policy name>"
    $sepDefName="<service endpoint policy definition name>"
    
    # Set to the right subscription ID
    az account set --subscription $subscriptionId
    
    # setup service endpoint on the virtual network subnet
    az network vnet subnet update -g $rgName --vnet-name $vnetName -n $subnetName --service-endpoints Microsoft.Storage
    
    # Create Service Endpoint Policy
    az network service-endpoint policy create -g $rgName  -n $sepName -l $location
    
    # Insert the list of HDInsight owned resources for the region your clusters will be created in.
    # Be sure to get the most recent list of resource groups from the [list of service endpoint policy resources](https://github.com/Azure-Samples/hdinsight-enterprise-security/blob/main/hdinsight-service-endpoint-policy-resources.json)
    [String[]]$resources = @("/subscriptions/235d341f-7fb9-435c-9bdc-034b7306c9b4/resourceGroups/Default-Storage-WestUS",`
    "/subscriptions/da0c4c68-9283-4f88-9c35-18f7bd72fbdd/resourceGroups/GenevaWarmPathManageRG",`
    "/subscriptions/6a853a41-3423-4167-8d9c-bcf37dc72818/resourceGroups/GenevaWarmPathManageRG",`
    "/subscriptions/c8845df8-14d1-4a46-b6dd-e0c44ae400b0/resourceGroups/Default-Storage-CanadaCentral",`
    "/subscriptions/c8845df8-14d1-4a46-b6dd-e0c44ae400b0/resourceGroups/cancstorage",`
    "/subscriptions/c8845df8-14d1-4a46-b6dd-e0c44ae400b0/resourceGroups/GenevaWarmPathManageRG",
    "/subscriptions/fb3429ab-83d0-4bed-95e9-1a8e9455252c/resourceGroups/DistroStorageRG/providers/Microsoft.Storage/storageAccounts/hdi31distrorelease",
    "/subscriptions/fb3429ab-83d0-4bed-95e9-1a8e9455252c/resourceGroups/DistroStorageRG/providers/Microsoft.Storage/storageAccounts/bigdatadistro")
    
    #Assign service resources to the SEP policy.
    az network service-endpoint policy-definition create -g $rgName --policy-name $sepName -n $sepDefName --service "Microsoft.Storage" --service-resources $resources
    
    # Associate a subnet to the service endpoint policy just created. If there is a delay in updating it to subnet, you can use the Azure portal to associate the policy with the subnet.
    az network vnet subnet update -g $rgName --vnet-name $vnetName -n $subnetName --service-endpoint-policy $sepName
    

    Jika Anda lebih memilih untuk menyiapkan kebijakan titik akhir layanan Anda menggunakan PowerShell, gunakan cuplikan kode berikut.

    #Script to assign SEP 
    $subscriptionId = "<subscription id>"
    $rgName = "<resource group name>"
    $vnetName = "<vnet name>"
    $subnetName = "<subnet Name"
    $location = "Canada Central"
    
    # Connect to your Azure Account
    Connect-AzAccount
    
    # Select the Subscription that you want to use
    Select-AzSubscription -SubscriptionId $subscriptionId
    
    # Retrieve VNet Config
    $vnet = Get-AzVirtualNetwork -ResourceGroupName $rgName -Name $vnetName
    
    # Retrieve Subnet Config
    $subnet = Get-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $vnet
    
    # Insert the list of HDInsight owned resources for the region your clusters will be created in.
    # Be sure to get the most recent list of resource groups from the [list of service endpoint policy resources](https://github.com/Azure-Samples/hdinsight-enterprise-security/blob/main/hdinsight-service-endpoint-policy-resources.json)
    [String[]]$resources = @("/subscriptions/235d341f-7fb9-435c-9bdc-034b7306c9b4/resourceGroups/Default-Storage-WestUS",
    "/subscriptions/da0c4c68-9283-4f88-9c35-18f7bd72fbdd/resourceGroups/GenevaWarmPathManageRG",
    "/subscriptions/6a853a41-3423-4167-8d9c-bcf37dc72818/resourceGroups/GenevaWarmPathManageRG",
    "/subscriptions/c8845df8-14d1-4a46-b6dd-e0c44ae400b0/resourceGroups/Default-Storage-CanadaCentral",
    "/subscriptions/c8845df8-14d1-4a46-b6dd-e0c44ae400b0/resourceGroups/cancstorage",
    "/subscriptions/c8845df8-14d1-4a46-b6dd-e0c44ae400b0/resourceGroups/GenevaWarmPathManageRG",
    "/subscriptions/fb3429ab-83d0-4bed-95e9-1a8e9455252c/resourceGroups/DistroStorageRG/providers/Microsoft.Storage/storageAccounts/hdi31distrorelease",
    "/subscriptions/fb3429ab-83d0-4bed-95e9-1a8e9455252c/resourceGroups/DistroStorageRG/providers/Microsoft.Storage/storageAccounts/bigdatadistro")
    
    #Declare service endpoint policy definition
    $sepDef = New-AzServiceEndpointPolicyDefinition -Name "SEPHDICanadaCentral" -Description "Service Endpoint Policy Definition" -Service "Microsoft.Storage" -ServiceResource $resources
    
    # Service Endpoint Policy
    $sep= New-AzServiceEndpointPolicy -ResourceGroupName $rgName -Name "SEPHDICanadaCentral" -Location $location -ServiceEndpointPolicyDefinition $sepDef
    
    # Associate a subnet to the service endpoint policy just created. If there is a delay in updating it to subnet, you can use the Azure portal to associate the policy with the subnet.
    Set-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $vnet -AddressPrefix $subnet.AddressPrefix -ServiceEndpointPolicy $sep
    

Penting

Sebaiknya Anda mendapatkan daftar sumber daya kebijakan titik akhir layanan terbaru secara terjadwal secara manual atau melalui otomatisasi. Ini akan mencegah masalah CRUD saat grup sumber daya tambahan ditambahkan atau dihapus dari file JSON.

Langkah berikutnya