Megosztás a következőn keresztül:


Rövid útmutató: Privát végpont létrehozása ARM-sablonnal

Ebben a rövid útmutatóban egy Azure Resource Manager-sablont (ARM-sablont) fog használni egy privát végpont létrehozásához.

Az Azure Resource Manager-sablon egy JavaScript Object Notation (JSON) fájl, amely meghatározza a projekt infrastruktúráját és konfigurációját. A sablon deklaratív szintaxist használ. Az üzembe helyezés létrehozásához szükséges programozási parancsok sorozatának megírása nélkül írhatja le a tervezett üzembe helyezést.

Privát végpontot az Azure Portal, az Azure PowerShell vagy az Azure CLI használatával is létrehozhat.

Ha a környezet megfelel az előfeltételeknek, és ismeri az ARM-sablonok használatát, kattintson ide az Üzembe helyezés az Azure-ban gombra. Az ARM-sablon megnyílik az Azure Portalon.

Gomb a Resource Manager-sablon Azure-ban való üzembe helyezéséhez.

A privát végpont gyorsútmutatójában létrehozott erőforrások diagramja.

Előfeltételek

Aktív előfizetéssel rendelkező Azure-fiókra van szüksége. Ha még nem rendelkezik Azure-fiókkal, hozzon létre ingyenes fiókot.

A sablon áttekintése

Ez a sablon létrehoz egy privát végpontot az Azure SQL Database egy példányához.

A rövid útmutató által használt sablon az Azure Gyorsindítási sablonokból származik.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "_generator": {
      "name": "bicep",
      "version": "0.5.6.12127",
      "templateHash": "14846974543330599630"
    }
  },
  "parameters": {
    "sqlAdministratorLogin": {
      "type": "string",
      "metadata": {
        "description": "The administrator username of the SQL logical server"
      }
    },
    "sqlAdministratorLoginPassword": {
      "type": "secureString",
      "metadata": {
        "description": "The administrator password of the SQL logical server."
      }
    },
    "vmAdminUsername": {
      "type": "string",
      "metadata": {
        "description": "Username for the Virtual Machine."
      }
    },
    "vmAdminPassword": {
      "type": "secureString",
      "metadata": {
        "description": "Password for the Virtual Machine. The password must be at least 12 characters long and have lower case, upper characters, digit and a special character (Regex match)"
      }
    },
    "VmSize": {
      "type": "string",
      "defaultValue": "Standard_D2_v3",
      "metadata": {
        "description": "The size of the VM"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location for all resources."
      }
    }
  },
  "variables": {
    "vnetName": "myVirtualNetwork",
    "vnetAddressPrefix": "10.0.0.0/16",
    "subnet1Prefix": "10.0.0.0/24",
    "subnet1Name": "mySubnet",
    "sqlServerName": "[format('sqlserver{0}', uniqueString(resourceGroup().id))]",
    "databaseName": "[format('{0}/sample-db', variables('sqlServerName'))]",
    "privateEndpointName": "myPrivateEndpoint",
    "privateDnsZoneName": "[format('privatelink{0}', environment().suffixes.sqlServerHostname)]",
    "pvtEndpointDnsGroupName": "[format('{0}/mydnsgroupname', variables('privateEndpointName'))]",
    "vmName": "[take(format('myVm{0}', uniqueString(resourceGroup().id)), 15)]",
    "publicIpAddressName": "[format('{0}PublicIP', variables('vmName'))]",
    "networkInterfaceName": "[format('{0}NetInt', variables('vmName'))]",
    "osDiskType": "StandardSSD_LRS"
  },
  "resources": [
    {
      "type": "Microsoft.Sql/servers",
      "apiVersion": "2021-11-01-preview",
      "name": "[variables('sqlServerName')]",
      "location": "[parameters('location')]",
      "tags": {
        "displayName": "[variables('sqlServerName')]"
      },
      "properties": {
        "administratorLogin": "[parameters('sqlAdministratorLogin')]",
        "administratorLoginPassword": "[parameters('sqlAdministratorLoginPassword')]",
        "version": "12.0",
        "publicNetworkAccess": "Disabled"
      }
    },
    {
      "type": "Microsoft.Sql/servers/databases",
      "apiVersion": "2021-11-01-preview",
      "name": "[variables('databaseName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Basic",
        "tier": "Basic",
        "capacity": 5
      },
      "tags": {
        "displayName": "[variables('databaseName')]"
      },
      "properties": {
        "collation": "SQL_Latin1_General_CP1_CI_AS",
        "maxSizeBytes": 104857600,
        "sampleName": "AdventureWorksLT"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', variables('sqlServerName'))]"
      ]
    },
    {
      "type": "Microsoft.Network/virtualNetworks",
      "apiVersion": "2021-05-01",
      "name": "[variables('vnetName')]",
      "location": "[parameters('location')]",
      "properties": {
        "addressSpace": {
          "addressPrefixes": [
            "[variables('vnetAddressPrefix')]"
          ]
        }
      }
    },
    {
      "type": "Microsoft.Network/virtualNetworks/subnets",
      "apiVersion": "2021-05-01",
      "name": "[format('{0}/{1}', variables('vnetName'), variables('subnet1Name'))]",
      "properties": {
        "addressPrefix": "[variables('subnet1Prefix')]",
        "privateEndpointNetworkPolicies": "Disabled"
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/virtualNetworks', variables('vnetName'))]"
      ]
    },
    {
      "type": "Microsoft.Network/privateEndpoints",
      "apiVersion": "2021-05-01",
      "name": "[variables('privateEndpointName')]",
      "location": "[parameters('location')]",
      "properties": {
        "subnet": {
          "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('vnetName'), variables('subnet1Name'))]"
        },
        "privateLinkServiceConnections": [
          {
            "name": "[variables('privateEndpointName')]",
            "properties": {
              "privateLinkServiceId": "[resourceId('Microsoft.Sql/servers', variables('sqlServerName'))]",
              "groupIds": [
                "sqlServer"
              ]
            }
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Sql/servers', variables('sqlServerName'))]",
        "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('vnetName'), variables('subnet1Name'))]",
        "[resourceId('Microsoft.Network/virtualNetworks', variables('vnetName'))]"
      ]
    },
    {
      "type": "Microsoft.Network/privateDnsZones",
      "apiVersion": "2020-06-01",
      "name": "[variables('privateDnsZoneName')]",
      "location": "global",
      "properties": {},
      "dependsOn": [
        "[resourceId('Microsoft.Network/virtualNetworks', variables('vnetName'))]"
      ]
    },
    {
      "type": "Microsoft.Network/privateDnsZones/virtualNetworkLinks",
      "apiVersion": "2020-06-01",
      "name": "[format('{0}/{1}', variables('privateDnsZoneName'), format('{0}-link', variables('privateDnsZoneName')))]",
      "location": "global",
      "properties": {
        "registrationEnabled": false,
        "virtualNetwork": {
          "id": "[resourceId('Microsoft.Network/virtualNetworks', variables('vnetName'))]"
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/privateDnsZones', variables('privateDnsZoneName'))]",
        "[resourceId('Microsoft.Network/virtualNetworks', variables('vnetName'))]"
      ]
    },
    {
      "type": "Microsoft.Network/privateEndpoints/privateDnsZoneGroups",
      "apiVersion": "2021-05-01",
      "name": "[variables('pvtEndpointDnsGroupName')]",
      "properties": {
        "privateDnsZoneConfigs": [
          {
            "name": "config1",
            "properties": {
              "privateDnsZoneId": "[resourceId('Microsoft.Network/privateDnsZones', variables('privateDnsZoneName'))]"
            }
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/privateDnsZones', variables('privateDnsZoneName'))]",
        "[resourceId('Microsoft.Network/privateEndpoints', variables('privateEndpointName'))]"
      ]
    },
    {
      "type": "Microsoft.Network/publicIPAddresses",
      "apiVersion": "2021-05-01",
      "name": "[variables('publicIpAddressName')]",
      "location": "[parameters('location')]",
      "tags": {
        "displayName": "[variables('publicIpAddressName')]"
      },
      "properties": {
        "publicIPAllocationMethod": "Dynamic"
      }
    },
    {
      "type": "Microsoft.Network/networkInterfaces",
      "apiVersion": "2021-05-01",
      "name": "[variables('networkInterfaceName')]",
      "location": "[parameters('location')]",
      "tags": {
        "displayName": "[variables('networkInterfaceName')]"
      },
      "properties": {
        "ipConfigurations": [
          {
            "name": "ipConfig1",
            "properties": {
              "privateIPAllocationMethod": "Dynamic",
              "publicIPAddress": {
                "id": "[resourceId('Microsoft.Network/publicIPAddresses', variables('publicIpAddressName'))]"
              },
              "subnet": {
                "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('vnetName'), variables('subnet1Name'))]"
              }
            }
          }
        ]
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/publicIPAddresses', variables('publicIpAddressName'))]",
        "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('vnetName'), variables('subnet1Name'))]",
        "[resourceId('Microsoft.Network/virtualNetworks', variables('vnetName'))]"
      ]
    },
    {
      "type": "Microsoft.Compute/virtualMachines",
      "apiVersion": "2021-11-01",
      "name": "[variables('vmName')]",
      "location": "[parameters('location')]",
      "tags": {
        "displayName": "[variables('vmName')]"
      },
      "properties": {
        "hardwareProfile": {
          "vmSize": "[parameters('VmSize')]"
        },
        "osProfile": {
          "computerName": "[variables('vmName')]",
          "adminUsername": "[parameters('vmAdminUsername')]",
          "adminPassword": "[parameters('vmAdminPassword')]"
        },
        "storageProfile": {
          "imageReference": {
            "publisher": "MicrosoftWindowsServer",
            "offer": "WindowsServer",
            "sku": "2019-Datacenter",
            "version": "latest"
          },
          "osDisk": {
            "name": "[format('{0}OsDisk', variables('vmName'))]",
            "caching": "ReadWrite",
            "createOption": "FromImage",
            "managedDisk": {
              "storageAccountType": "[variables('osDiskType')]"
            },
            "diskSizeGB": 128
          }
        },
        "networkProfile": {
          "networkInterfaces": [
            {
              "id": "[resourceId('Microsoft.Network/networkInterfaces', variables('networkInterfaceName'))]"
            }
          ]
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Network/networkInterfaces', variables('networkInterfaceName'))]"
      ]
    }
  ]
}

A sablon több Azure-erőforrást határoz meg:

A sablon üzembe helyezése

Helyezze üzembe az ARM-sablont az Azure-ban az alábbi lépéssel:

  1. Jelentkezzen be az Azure-ba, és nyissa meg az ARM-sablont az Üzembe helyezés az Azure-ban gombra kattintva. A sablon létrehozza a privát végpontot, az SQL Database-példányt, a hálózati infrastruktúrát és egy érvényesítendő virtuális gépet.

    Gomb a Resource Manager-sablon Azure-ban való üzembe helyezéséhez.

  2. Válassza ki az erőforráscsoportot, vagy hozzon létre egy újat.

  3. Adja meg az SQL-rendszergazda bejelentkezési nevét és jelszavát.

  4. Adja meg a virtuális gép rendszergazdájának felhasználónevét és jelszavát.

  5. Olvassa el a használati feltételekre vonatkozó nyilatkozatot. Ha elfogadja, válassza az Elfogadom a fenti feltételeket, majd válassza a Vásárlás lehetőséget. Az üzembe helyezés 20 percet vagy hosszabb időt is igénybe vehet.

Az üzembe helyezés ellenőrzése

Feljegyzés

Az ARM-sablon létrehoz egy egyedi nevet a virtuális gép myVm{uniqueid} erőforrásának és az SQL Database sqlserver{uniqueid} erőforrásának. Cserélje le a létrehozott értéket a következőre : {uniqueid}.

Kapcsolódás virtuális géphez az internetről

Csatlakozzon a virtuális gép myVm{uniqueid} virtuális gépéhez az internetről az alábbi módon:

  1. A portál keresősávjában adja meg a myVm{uniqueid} nevet.

  2. Válassza a Kapcsolódás lehetőséget. Megnyílik a virtuális géphez való csatlakozás.

  3. Válassza az RDP-fájl letöltése lehetőséget. Az Azure létrehoz egy RDP-fájlt, és letölti azt a számítógépre.

  4. Nyissa meg a letöltött RDP-fájlt.

    a. Ha a rendszer kéri, válassza a Csatlakozás lehetőséget.
    b. Adja meg a virtuális gép létrehozásakor megadott felhasználónevet és jelszót.

    Feljegyzés

    Előfordulhat, hogy a További lehetőségek lehetőséget>kell választania: A virtuális gép létrehozásakor megadott hitelesítő adatok megadásához használjon másik fiókot.

  5. Kattintson az OK gombra.

    A bejelentkezés során egy figyelmeztetés jelenhet meg a tanúsítvánnyal kapcsolatban. Ha igen, válassza az Igen vagy a Folytatás lehetőséget.

  6. Miután megjelenik a virtuális gép asztala, kis méretűre kell csökkenteni, hogy visszalépjen a helyi asztalra.

Az SQL Database-kiszolgáló privát elérése a virtuális gépről

Ha a virtuális gépről szeretne csatlakozni az SQL Database-kiszolgálóhoz a privát végpont használatával, tegye a következőket:

  1. Nyissa meg a PowerShellt a myVM{uniqueid} távoli asztalán.

  2. Futtassa az alábbi parancsot:

    nslookup sqlserver{uniqueid}.database.windows.net

    A következőhöz hasonló üzenet jelenik meg:

      Server:  UnKnown
      Address:  168.63.129.16
      Non-authoritative answer:
      Name:    sqlserver.privatelink.database.windows.net
      Address:  10.0.0.5
      Aliases:  sqlserver.database.windows.net
    
  3. Telepítse az SQL Server Management Studiót.

  4. A Csatlakozás kiszolgálóhoz panelen tegye a következőket:

    • Kiszolgálótípus esetén válassza az Adatbázismotor lehetőséget.
    • Kiszolgálónév esetén válassza az sqlserver{uniqueid}.database.windows.net lehetőséget.
    • Felhasználónévként adja meg a korábban megadott felhasználónevet.
    • A Jelszó mezőbe írja be a korábban megadott jelszót.
    • A jelszó megjegyzéséhez válassza az Igen lehetőséget.
  5. Válassza a Kapcsolódás lehetőséget.

  6. A bal oldali panelen válassza az Adatbázisok lehetőséget. Igény szerint létrehozhat vagy lekérdezhet adatokat a mintaadatbázisból.

  7. Zárja be a távoli asztali kapcsolatot a myVm{uniqueid} szolgáltatással.

Az erőforrások eltávolítása

Ha már nincs szüksége a privát végponttal létrehozott erőforrásokra, törölje az erőforráscsoportot. Ezzel eltávolítja a privát végpontot és az összes kapcsolódó erőforrást.

Az erőforráscsoport törléséhez futtassa a Remove-AzResourceGroup parancsmagot:

Remove-AzResourceGroup -Name <your resource group name>

Következő lépések

A privát végpontokat támogató szolgáltatásokkal kapcsolatos további információkért lásd: