Gyakorlat – Erőforrások üzembe helyezési sorrendjének szabályozása
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
Nyissa meg a Visual Studio Code-ot.
Nyisson meg egy terminálablakot a Terminál menüből.
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.
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.
Válassza a pwsh lehetőséget.
Válassza a + lehetőséget a terminálon egy új, pwsh-rendszerhéj létrehozásához.
Bejelentkezés az Azure-ba
A fiókba való bejelentkezéshez futtassa a
Connect-AzAccount
parancsot.Connect-AzAccount
Megnyílik egy böngészőablak.
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
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.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.
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'
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.
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:
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.
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
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
Nyissa meg a Visual Studio Code-ot.
Nyisson meg egy terminálablakot a Terminál menüből.
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.
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.
Válassza ki a kívánt rendszerhéj-típust.
A terminálban válassza a + jelet, amellyel új terminált hoz létre a választott rendszerhéjjal.
Bejelentkezés az Azure-ba
A terminálban adja ki a
az login
parancsot:az login
Megnyílik egy böngészőablak.
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.
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 acurl
parancsot:curl https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.compute/vm-simple-linux/azuredeploy.json > azuredeploy.json
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:
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
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
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.
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
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.