إنشاء حساب خدمات الوسائط والتخزين باستخدام ارتباط خاص باستخدام قالب ARM

media services logo v3


هل تبحث عن وثائق خدمات الوسائط v2 ؟
هل تواجه مشكلة؟ راجع دليل استكشاف الأخطاء وإصلاحها للحصول على حلول للمشكلات المتعلقة باستخدام خدمات الوسائط.
يمكن العثور على نماذج التعليمات البرمجية في صفحة Samples .

إنشاء حساب خدمات الوسائط وحساب التخزين مع ارتباطات خاصة إلى شبكة ظاهرية. يقوم قالب Azure Resource Manager (ARM) أيضا بإعداد DNS لكل من الارتباطات الخاصة. وأخيرا، ينشئ القالب جهازا ظاهريا للسماح للمستخدم بتجربة الارتباطات الخاصة.

المتطلبات الأساسية

قراءة التشغيل السريع: إنشاء قوالب ARM ونشرها باستخدام مدخل Microsoft Azure.

التقييدات

  • بالنسبة لخدمات الوسائط، يقوم القالب بإعداد ارتباط خاص فقط لتسليم المفتاح.
  • لم يتم إنشاء مجموعة أمان الشبكة للجهاز الظاهري.
  • لم يتم تكوين التحكم في الوصول إلى الشبكة لحساب التخزين أو تسليم المفتاح.

ينشئ القالب:

  • حساب خدمات الوسائط وحساب تخزين (كالمعتاد)
  • شبكة ظاهرية مع شبكة فرعية
  • لكل من حساب خدمات الوسائط وحساب التخزين:
    • نقاط النهاية الخاصة
    • مناطق DNS الخاصة
    • الارتباطات بين الارتباطات (لتوصيل مناطق DNS الخاصة بالشبكة الظاهرية)
    • مجموعات منطقة DNS الخاصة (لتشغيل الإنشاء التلقائي لسجلات DNS في مناطق DNS الخاصة)
  • جهاز ظاهري (مع عنوان IP عام مرتبط وواجهة شبكة)

تدعم Azure Media Services العديد من تعريفات نهج Azure المستندة إلى حالة الاستخدام المضمنة.

تتوفر تعريفات النهج التالية للاستخدام مع الارتباطات الخاصة:

الاسم
(مدخل Microsoft Azure)
الوصف التأثيرات إصدار
(GitHub)
يجب لحسابات Azure Media Services أن تستخدم واجهة برمجة تطبيقات Azure التي تدعم رابطاً خاصاً يجب إنشاء حسابات Media Services باستخدام واجهة برمجة التطبيقات التي تدعم رابطاً خاصاً. التدقيق، رفض، معطل 1.0.0
يجب أن تستخدم Azure Media Services رابطاً خاصاً يتيح لك Azure Private Link توصيل شبكاتك الظاهرية بخدمات Azure من دون عنوان IP عام في المصدر أو الوجهة. يعالج النظام الأساسي لـ Private Link الاتصال بين المستهلك والخدمات عبر شبكة Azure الأساسية. من خلال تعيين نقاط النهاية الخاصة لـ Media Services، يمكنك تقليل مخاطر تسرب البيانات. تعرف على المزيد عن الروابط الخاصة على: https://aka.ms/mediaservicesprivatelinkdocs. AuditIfNotExists، معطل 1.0.0
تكوين Azure App Services لاستخدام مناطق DNS الخاصة استخدام المناطق الخاصة لنظام أسماء النطاقات "DNS" لتجاوز دقة نظام أسماء النطاقات "DNS" لنقطة نهاية خاصة. ترتبط منطقة خاصة لنظام أسماء النطاقات "DNS" بشبكتك الظاهرية لتحليل حساب Media Services. تعرّف على المزيد من خلال: ⁧⁩⁧ https://aka.ms/mediaservicesprivatelinkdocs ⁩⁧⁩. DeployIfNotExists، معطل 1.0.0
تكوين خدمات Azure Media Services مع نقاط النهاية الخاصة تعمل نقاط النهاية الخاصة على توصيل شبكاتك الظاهرية بخدمات Azure بدون عنوان IP عام في المصدر أو الوجهة. من خلال تعيين نقاط النهاية الخاصة لـ Media Services، يمكنك تقليل مخاطر تسرب البيانات. تعرف على المزيد عن الروابط الخاصة على: https://aka.ms/mediaservicesprivatelinkdocs. DeployIfNotExists، معطل 1.0.0

راجع نهج Azure لخدمات الوسائط للحصول على قائمة كاملة بجميع تعريفات النهج المضمنة وحالات الاستخدام.

للحصول على تفاصيل حول كيفية نشر تعريفات نهج Azure واستخدامها، راجع المقالة "ما هو نهج Azure؟"

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "vmName": {
      "type": "string"
    },
    "vmAdminUsername": {
      "type": "string"
    },
    "vmAdminPassword": {
      "type": "secureString"
    },
    "vmSize": {
      "type": "string",
      "defaultValue": "Standard_D2_v3"
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]"
    },
    "storageAccountName": {
      "type": "string"
    },
    "mediaServicesAccountName": {
      "type": "string"
    }
  },
  "functions": [],
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2021-01-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2"
    },
    {
      "type": "Microsoft.Media/mediaservices",
      "apiVersion": "2020-05-01",
      "name": "[parameters('mediaServicesAccountName')]",
      "location": "[parameters('location')]",
      "properties": {
        "storageAccounts": [
          {
            "type": "Primary",
            "id": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
          }
        ]
      },
      "identity": {
        "type": "SystemAssigned"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]"
      ]
    },
    {
      "type": "Microsoft.Network/virtualNetworks",
      "apiVersion": "2020-08-01",
      "name": "myVnet",
      "location": "[parameters('location')]",
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "10.0.0.0/16"
          ]
        },
        "subnets": [
          {
            "name": "mySubnet",
            "properties": {
              "addressPrefix": "10.0.0.0/24",
              "privateEndpointNetworkPolicies": "Disabled"
            }
          }
        ]
      }
    },
    {
      "type": "Microsoft.Network/privateEndpoints",
      "apiVersion": "2020-08-01",
      "name": "storagePrivateEndpoint",
      "location": "[parameters('location')]",
      "properties": {
        "subnet": {
          "id": "[reference(resourceId('Microsoft.Network/virtualNetworks', 'myVnet')).subnets[0].id]"
        },
        "privateLinkServiceConnections": [
          {
            "name": "storagePrivateEndpointConnection",
            "properties": {
              "privateLinkServiceId": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]",
              "groupIds": [
                "blob"
              ]
            }
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]",
        "[resourceId('Microsoft.Network/virtualNetworks', 'myVnet')]"
      ]
    },
    {
      "type": "Microsoft.Network/privateDnsZones",
      "apiVersion": "2020-06-01",
      "name": "privatelink.blob.core.windows.net",
      "location": "global"
    },
    {
      "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
      "apiVersion": "2020-06-01",
      "name": "[format('{0}/storageDnsZoneLink', 'privatelink.blob.core.windows.net')]",
      "location": "global",
      "properties": {
        "registrationEnabled": false,
        "virtualNetwork": {
          "id": "[resourceId('Microsoft.Network/virtualNetworks', 'myVnet')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/privateDnsZones', 'privatelink.blob.core.windows.net')]",
        "[resourceId('Microsoft.Network/virtualNetworks', 'myVnet')]"
      ]
    },
    {
      "type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
      "apiVersion": "2020-08-01",
      "name": "[format('{0}/storagePrivateDnsZoneGroup', 'storagePrivateEndpoint')]",
      "properties": {
        "privateDnsZoneConfigs": [
          {
            "name": "config1",
            "properties": {
              "privateDnsZoneId": "[resourceId('Microsoft.Network/privateDnsZones', 'privatelink.blob.core.windows.net')]"
            }
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/privateDnsZones', 'privatelink.blob.core.windows.net')]",
        "[resourceId('Microsoft.Network/privateEndpoints', 'storagePrivateEndpoint')]"
      ]
    },
    {
      "type": "Microsoft.Network/privateEndpoints",
      "apiVersion": "2020-08-01",
      "name": "mediaServicesPrivateEndpoint",
      "location": "[parameters('location')]",
      "properties": {
        "subnet": {
          "id": "[reference(resourceId('Microsoft.Network/virtualNetworks', 'myVnet')).subnets[0].id]"
        },
        "privateLinkServiceConnections": [
          {
            "name": "mediaServicesPrivateEndpointConnection",
            "properties": {
              "privateLinkServiceId": "[resourceId('Microsoft.Media/mediaservices', parameters('mediaServicesAccountName'))]",
              "groupIds": [
                "keydelivery"
              ]
            }
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Media/mediaservices', parameters('mediaServicesAccountName'))]",
        "[resourceId('Microsoft.Network/virtualNetworks', 'myVnet')]"
      ]
    },
    {
      "type": "Microsoft.Network/privateDnsZones",
      "apiVersion": "2020-06-01",
      "name": "privatelink.media.azure.net",
      "location": "global"
    },
    {
      "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
      "apiVersion": "2020-06-01",
      "name": "[format('{0}/mediaServicesDnsZoneLink', 'privatelink.media.azure.net')]",
      "location": "global",
      "properties": {
        "registrationEnabled": false,
        "virtualNetwork": {
          "id": "[resourceId('Microsoft.Network/virtualNetworks', 'myVnet')]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/privateDnsZones', 'privatelink.media.azure.net')]",
        "[resourceId('Microsoft.Network/virtualNetworks', 'myVnet')]"
      ]
    },
    {
      "type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
      "apiVersion": "2020-08-01",
      "name": "[format('{0}/mediaServicesPrivateDnsZoneGroup', 'mediaServicesPrivateEndpoint')]",
      "properties": {
        "privateDnsZoneConfigs": [
          {
            "name": "config1",
            "properties": {
              "privateDnsZoneId": "[resourceId('Microsoft.Network/privateDnsZones', 'privatelink.media.azure.net')]"
            }
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/privateDnsZones', 'privatelink.media.azure.net')]",
        "[resourceId('Microsoft.Network/privateEndpoints', 'mediaServicesPrivateEndpoint')]"
      ]
    },
    {
      "type": "Microsoft.Network/publicIPAddresses",
      "apiVersion": "2020-08-01",
      "name": "publicIp",
      "location": "[parameters('location')]",
      "properties": {
        "publicIPAllocationMethod": "Dynamic",
        "dnsSettings": {
          "domainNameLabel": "[toLower(parameters('vmName'))]"
        }
      }
    },
    {
      "type": "Microsoft.Network/networkInterfaces",
      "apiVersion": "2020-08-01",
      "name": "vmNetworkInterface",
      "location": "[parameters('location')]",
      "properties": {
        "ipConfigurations": [
          {
            "name": "ipConfig1",
            "properties": {
              "privateIPAllocationMethod": "Dynamic",
              "publicIPAddress": {
                "id": "[resourceId('Microsoft.Network/publicIPAddresses', 'publicIp')]"
              },
              "subnet": {
                "id": "[reference(resourceId('Microsoft.Network/virtualNetworks', 'myVnet')).subnets[0].id]"
              }
            }
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/publicIPAddresses', 'publicIp')]",
        "[resourceId('Microsoft.Network/virtualNetworks', 'myVnet')]"
      ]
    },
    {
      "type": "Microsoft.Compute/virtualMachines",
      "apiVersion": "2020-12-01",
      "name": "myVM",
      "location": "[parameters('location')]",
      "properties": {
        "hardwareProfile": {
          "vmSize": "[parameters('vmSize')]"
        },
        "osProfile": {
          "computerName": "[parameters('vmName')]",
          "adminUsername": "[parameters('vmAdminUsername')]",
          "adminPassword": "[parameters('vmAdminPassword')]"
        },
        "storageProfile": {
          "imageReference": {
            "publisher": "MicrosoftWindowsServer",
            "offer": "WindowsServer",
            "sku": "2019-Datacenter",
            "version": "latest"
          },
          "osDisk": {
            "name": "osDisk",
            "caching": "ReadWrite",
            "createOption": "FromImage",
            "managedDisk": {
              "storageAccountType": "Standard_LRS"
            },
            "diskSizeGB": 128
          }
        },
        "networkProfile": {
          "networkInterfaces": [
            {
              "id": "[resourceId('Microsoft.Network/networkInterfaces', 'vmNetworkInterface')]"
            }
          ]
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/networkInterfaces', 'vmNetworkInterface')]"
      ]
    }
  ],
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.3.126.58533",
      "templateHash": "2006367938138350540"
    }
  }
}