Gyakorlat – Erőforrások üzembe helyezési sorrendjének szabályozása

Befejeződött

Ezt a részt néhány egyszerű beállítási tevékenység végrehajtásával kezdi. A Visual Studio Code-ban egy terminál-munkamenettel csatlakozik az ingyenes Azure-tesztkörnyezet által biztosított Azure-előfizetéshez. Ezáltal hitelesítheti a parancsokat az Azure-ban.

Ez után egy egyszerű ARM-sablont fog futtatni, amely egy linuxos virtuális gépet helyez üzembe. Az üzembe helyezés befejezése után ellenőrizheti, hogy a virtuális gép fut és elérhető.

Bár a virtuális gépek kezelése gyakori feladat, azt is felfedezheti, hogy a virtuálisgép-erőforrás hálózatkezelési és tárolási összetevőket igényel, amelyeknek már a virtuális gép létrehozása előtt meg kell lenniük. Láthatja, hogy a dependsOn szerkezet hogyan teszi lehetővé az erőforrások kiosztási sorrendjének beállítását.

Beállítás

Hozzon létre egy PowerShell-munkamenetet a Visual Studio Code-ban, és csatlakozzon az ingyenes Azure-tesztkörnyezet által biztosított Azure-előfizetéshez.

Ezeket az előkészítő tevékenységeket a modul során egyszer kell elvégeznie. Ha kijelentkezik, vagy egy későbbi gyakorlat alatt megszakad a kapcsolata, visszatérhet ezekre a lépésekre.

A PowerShell megnyitása a Visual Studio Code-ban

  1. Nyissa meg a Visual Studio Code-ot.

  2. Nyisson meg egy terminálablakot a Terminál menüből.

  3. Ha a terminálablak jobb oldalán található legördülő menüben a pwsh feliratot látja, a megfelelő rendszerhéjban tud dolgozni, és a következő szakaszra ugorhat.

    Screenshot of Terminal window, terminal type.

  4. Ha nem látja, válassza ki a legördülő menüt, és válassza az Alapértelmezett rendszerhéj kiválasztása lehetőséget.

  5. Válassza a pwsh lehetőséget.

    Screenshot that shows selecting a shell from the drop-down menu.

  6. Válassza a + lehetőséget a terminálon egy új, pwsh-rendszerhéj létrehozásához.

Bejelentkezés az Azure-ba

  1. A fiókba való bejelentkezéshez futtassa a Connect-AzAccount parancsot.

    Connect-AzAccount
    

    Megnyílik egy böngészőablak.

  2. Jelölje ki a tesztkörnyezet aktiválásához használt fiókot, és amikor a rendszer rákérdez, zárja be a böngészőablakot.

Az aktív előfizetés beállítása

  1. A tesztkörnyezet azonosítóját a Get-AzSubscription paranccsal állapíthatja meg.

    Get-AzSubscription
    

    Keresse meg a Concierge Subscription-t, és másolja a második oszlopot. Az ehhez hasonlóan fog kinézni: cf49fbbc-217c-4eb6-9eb5-a6a6c68295a0.

  2. Módosítsa az aktív előfizetést a Concierge-előfizetésre a Set-AzContext paranccsal.

    Megjegyzés:

    A {Your subscription ID} helyére szúrja be a Concierge-előfizetés előző paranccsal megállapított azonosítóját.

    $subscription = Get-AzSubscription -SubscriptionId {Your subscription ID}
    Set-AzContext $subscription
    

Az alapértelmezett erőforráscsoport beállítása

Azure CLI-parancs futtatásakor általában meg kell adnia egy erőforráscsoportot.

A tesztkörnyezet biztosít Önnek egy alapértelmezett erőforráscsoportot. A későbbi Azure CLI-parancsok egyszerűbb futtatása érdekében most beállíthatja az alapértelmezett erőforráscsoportot.

Állítsa be az alapértelmezett erőforráscsoportot a Set-AzDefault parancsmaggal.

Set-AzDefault -ResourceGroupName <rgn>resource group name</rgn>

Megjegyzés:

Amikor a PowerShell használatával helyez üzembe erőforrást az Azure-ban, általában meg kell adnia egy erőforráscsoportot. Ezt a követelményt úgy kerülheti meg, hogy a Set-AzDefault parancsmag használatával beállítja az üzembe helyezés környezetét.

Egy virtuális gép tipikus üzembe helyezésének elemei

Virtuális gép üzembe helyezésekor szem előtt kell tartania, hogy a virtuális gép működéséhez azzal együtt több más erőforrást is üzembe kell helyeznie.

A következőkben röviden összefoglaljuk a virtuális géppel együtt általában üzembe helyezendő erőforrástípusokat:

  • Microsoft.Storage/storageAccounts. Egy tárfiók az operációs rendszer és a fájlok számára biztosít lemezterületet.
  • Microsoft.Network/publicIPAddresses. Egy nyilvános IP-cím lehetővé teszi, hogy az internetről csatlakozzon a virtuális géphez.
  • Microsoft.Network/networkSecurityGroups. Egy hálózati biztonsági csoport a virtuális hálózat bejövő és kimenő forgalmának kezelésére vonatkozó szabályokat tartalmaz.
  • Microsoft.Network/virtualNetworks. A virtuális gépet egy virtuális hálózatban kell elhelyeznie. Ez az erőforrás megköveteli a hálózati biztonsági csoport előzetes üzembe helyezését.
  • Microsoft.Network/networkInterfaces. A hálózati adapterek erőforrás két másik erőforrástól, a nyilvános IP-címtől és a virtuális hálózattól függ.
  • Microsoft.Compute/virtualMachines. A virtuális gép az elsődleges üzembe helyezendő erőforrás. Két másik erőforrástól függ: a tárfióktól és a hálózati adapterektől.

Linux rendszerű virtuális gép üzembe helyezése

Ebben a szakaszban letölthet egy ARM-sablont egy megadott GitHub-adattárból. Ez a sablon egy Linux rendszerű virtuális gépet helyez üzembe a futtatásához szükséges összes erőforrással együtt.

  1. Futtassa az alábbi curl parancsot az ARM-sablon letöltéséhez:

    curl -O 'https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-linux/azuredeploy.json'
    
  2. Futtassa a ConvertTo-SecureString parancsmagot, és rendelje hozzá az eredményt egy $secure nevű PowerShell-változóhoz:

    $secure = "insecurepassword123!" | ConvertTo-SecureString -AsPlainText -Force
    

    Most már rendelkezik a jelszó titkosított változatával, amelyet később átadhat az üzembe helyezési szkriptnek.

  3. Futtassa a New-AzResourceGroupDeployment parancsot a sablon üzembe helyezéséhez:

    New-AzResourceGroupDeployment `
      -TemplateFile "./azuredeploy.json" `
      -adminUsername "azureuser" `
      -vmName "vm1" `
      -adminPasswordOrKey $secure
    

    A parancs futása néhány percet vehet igénybe. A parancs futása közben megvizsgálhatja az ARM-sablont egy külön böngészőlapon.

    Ha rákeres a dependsOn kulcsszóra, megfigyelheti az erőforrások függőségeit. A virtuális gép erőforrás például függ a hálózati adaptertől:

    "type": "Microsoft.Compute/virtualMachines",
    "apiVersion": "2020-06-01",
    "name": "[parameters('vmName')]",
    "location": "[parameters('location')]",
    "dependsOn": [
      "[resourceId('Microsoft.Network/networkInterfaces/', variables('networkInterfaceName'))]"
    ],
    

Az üzemelő példány ellenőrzése

Ellenőrizze, hogy a virtuális gép ki van építve, és elérhető SSH-n keresztül. Ehhez tegye a következőket:

  1. Az Invoke-Expression parancsmaggal kapcsolódjon a virtuális géphez SSH-n keresztül:

    Invoke-Expression (Get-AzResourceGroupDeployment -Name azuredeploy -ResourceGroupName <rgn>your resource group</rgn>).outputs.sshCommand.value
    

    Amikor a rendszer kéri, adja meg yes a csatlakozás folytatásához. Ezután adja meg a rendszergazdai jelszót. insecurepassword123!

    Fontos

    A gyakorlatban mindig használjon biztonságos jelszavakat. Használhat nyilvános kulcsú hitelesítést is, amely általában biztonságosabb a jelszóhasználatnál.

  2. A virtuális géppel való SSH-kapcsolatból futtassa a hostname parancsot a virtuális gép nevének megjelenítéséhez:

    hostname
    

    Ekkor megjelenik a virtuális gép belső állomásneve: vm1

    vm1
    
  3. Futtassa az exit parancsot az SSH-munkamenet bezárásához.

    exit
    

Gratulálunk, sikeresen üzembe helyezett egy linuxos virtuális gépet egy ARM-sablon használatával. A virtuális gépek gyakran használt erőforrások, amelyek függő erőforrásokat is tartalmaznak.

Beállítás

Hozzon létre egy terminál-munkamenetet a Visual Studio Code-ban, és csatlakozzon az ingyenes Azure-tesztkörnyezet által biztosított Azure-előfizetéshez.

Ezeket az előkészítő tevékenységeket a modul során egyszer kell elvégeznie. Ha kijelentkezik, vagy egy későbbi gyakorlat alatt megszakad a kapcsolata, visszatérhet ezekre a lépésekre.

Parancshéj megnyitása a Visual Studio Code-ban

  1. Nyissa meg a Visual Studio Code-ot.

  2. Nyisson meg egy terminálablakot a Terminál menüből.

  3. Ha a legördülő menüben szerepel a kívánt rendszerhéj (például bash vagy zsh), továbbléphet a következő szakaszra.

  4. Ha nem látja, válassza ki a legördülő menüt, és válassza az Alapértelmezett rendszerhéj kiválasztása lehetőséget.

  5. Válassza ki a kívánt rendszerhéj-típust.

    Screenshot that shows selecting a shell from the drop-down menu.

  6. A terminálban válassza a + jelet, amellyel új terminált hoz létre a választott rendszerhéjjal.

Bejelentkezés az Azure-ba

  1. A terminálban adja ki a az login parancsot:

    az login
    

    Megnyílik egy böngészőablak.

  2. Jelölje ki a tesztkörnyezet aktiválásához használt fiókot, és amikor a rendszer rákérdez, zárja be a böngészőablakot.

Az aktív előfizetés beállítása

Az alábbi az account set paranccsal állítsa be aktív előfizetésként az Azure-tesztkörnyezetet:

az account set -s "Concierge Subscription"

Megjegyzés:

Ha a parancs sikertelen, futtassa az az account list --refresh --all parancsot, majd hajtsa végre újra az az account set parancsot.

Az alapértelmezett erőforráscsoport beállítása

Azure CLI-parancs futtatásakor általában meg kell adnia egy erőforráscsoportot.

A tesztkörnyezet biztosít Önnek egy alapértelmezett erőforráscsoportot. A későbbi Azure CLI-parancsok egyszerűbb futtatása érdekében most beállíthatja az alapértelmezett erőforráscsoportot.

Az alapértelmezett erőforráscsoport az alábbi az configure paranccsal állítható be:

az configure --defaults group=<rgn>resource group name</rgn>

Egy virtuális gép tipikus üzembe helyezésének elemei

Virtuális gép üzembe helyezésekor szem előtt kell tartania, hogy a virtuális gép működéséhez azzal együtt több más erőforrást is üzembe kell helyeznie.

A következőkben röviden összefoglaljuk a virtuális géppel együtt általában üzembe helyezendő erőforrástípusokat:

  • Microsoft.Storage/storageAccounts. Egy tárfiók az operációs rendszer és a fájlok számára biztosít lemezterületet.
  • Microsoft.Network/publicIPAddresses. Egy nyilvános IP-cím lehetővé teszi, hogy az internetről csatlakozzon a virtuális géphez.
  • Microsoft.Network/networkSecurityGroups. Egy hálózati biztonsági csoport a virtuális hálózat bejövő és kimenő forgalmának kezelésére vonatkozó szabályokat tartalmaz.
  • Microsoft.Network/virtualNetworks. A virtuális gépet egy virtuális hálózatban kell elhelyeznie. Ez az erőforrás megköveteli a hálózati biztonsági csoport előzetes üzembe helyezését.
  • Microsoft.Network/networkInterfaces. A hálózati adapterek erőforrás két másik erőforrástól, a nyilvános IP-címtől és a virtuális hálózattól függ.
  • Microsoft.Compute/virtualMachines. A virtuális gép az elsődleges üzembe helyezendő erőforrás. Két másik erőforrástól függ: a tárfióktól és a hálózati adapterektől.

Linux rendszerű virtuális gép üzembe helyezése

Ebben a szakaszban letölthet egy Azure Resource Manager-sablont egy megadott GitHub-adattárból. Ez a sablon egy Linux rendszerű virtuális gépet helyez üzembe a futtatásához szükséges összes erőforrással együtt.

  1. Futtassa az alábbi wget parancsot az ARM-sablon letöltéséhez:

    wget https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-linux/azuredeploy.json
    

    Ha a wget nincs telepítve, futtathatja ezt a curl parancsot:

    curl https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-linux/azuredeploy.json > azuredeploy.json
    
  2. Futtassa az az deployment group create parancsot a sablon üzembe helyezéséhez:

    az deployment group create \
      --template-file azuredeploy.json \
      --parameters adminUsername=azureuser vmName=vm1 adminPasswordOrKey='insecurepassword123!'
    

    A parancs futása néhány percet vehet igénybe. A parancs futása közben megvizsgálhatja az ARM-sablont egy külön böngészőlapon.

    Ha rákeres a dependsOn kulcsszóra, megfigyelheti az erőforrások függőségeit. A virtuális gép erőforrás például függ a hálózati adaptertől:

    "type": "Microsoft.Compute/virtualMachines",
    "apiVersion": "2020-06-01",
    "name": "[parameters('vmName')]",
    "location": "[parameters('location')]",
    "dependsOn": [
      "[resourceId('Microsoft.Network/networkInterfaces/', variables('networkInterfaceName'))]"
    ],
    

Az üzemelő példány ellenőrzése

Ellenőrizze, hogy a virtuális gép ki van építve, és elérhető SSH-n keresztül. Ehhez tegye a következőket:

  1. Futtassa a következő az deployment group list parancsot az előfizetésben lévő üzembe helyezési csoportok kilistázásához:

    az deployment group list --output table
    

    Egyetlen, azuredeploy nevű üzembe helyezési csoport jelenik meg:

    Name         ResourceGroup                               State      Timestamp                         Mode
    -----------  ------------------------------------------  ---------  --------------------------------  -----------
    azuredeploy  learn-1ef901aa-3f6a-46aa-8e93-a7f11e5192b8  Succeeded  2020-11-24T17:55:39.762517+00:00  Incremental
    
  2. Futtassa az alábbi az deployment group show parancsot a virtuális géphez való csatlakozásra használható SSH-parancs megjelenítéséhez:

    az deployment group show \
      --name azuredeploy \
      --query properties.outputs.sshCommand.value \
      --output tsv
    

    Ezt a tulajdonságot az ARM-sablon az output szakaszban definiálja. Példa:

    ssh azureuser@simplelinuxvm-a33zb3sc332ue.westus.cloudapp.azure.com
    
  3. Adja ki újra a parancsot, ezúttal a $() szintaxissal, az SSH-parancs végrehajtásához:

    $(az deployment group show \
      --name azuredeploy \
      --query properties.outputs.sshCommand.value \
      --output tsv)
    

    Amikor a rendszer kéri, adja meg yes a csatlakozás folytatásához. Ezután adja meg a rendszergazdai jelszót. insecurepassword123!

    Fontos

    A gyakorlatban mindig használjon biztonságos jelszavakat. Használhat nyilvános kulcsú hitelesítést is, amely általában biztonságosabb a jelszóhasználatnál.

  4. A virtuális géppel való SSH-kapcsolatból futtassa a hostname parancsot a virtuális gép nevének megjelenítéséhez:

    hostname
    

    Ekkor megjelenik a virtuális gép belső állomásneve: vm1

    vm1
    
  5. Futtassa az exit parancsot az SSH-munkamenet bezárásához.

    exit
    

Gratulálunk, sikeresen üzembe helyezett egy linuxos virtuális gépet egy ARM-sablon használatával. A virtuális gépek gyakran használt erőforrások, amelyek függő erőforrásokat is tartalmaznak.