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


Teljes Linux rendszerű virtuális gép létrehozása az Azure CLI-vel

A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek

Ha gyorsan szeretne virtuális gépet (VM-et) létrehozni az Azure-ban, egyetlen Azure CLI-parancsot használhat, amely alapértelmezett értékeket használ a szükséges támogató erőforrások létrehozásához. A rendszer automatikusan létrehozza az olyan erőforrásokat, mint a virtuális hálózat, a nyilvános IP-cím és a hálózati biztonsági csoport szabályai. A környezet éles használatban való hatékonyabb szabályozásához előre létrehozhatja ezeket az erőforrásokat, majd hozzáadhatja hozzájuk a virtuális gépeket. Ez a cikk bemutatja, hogyan hozhat létre virtuális gépet és az egyes támogató erőforrásokat egyenként.

Győződjön meg arról, hogy telepítette a legújabb Azure CLI-t, és bejelentkezett egy Azure-fiókba az az login használatával.

Az alábbi példákban cserélje le a példaparaméterek nevét a saját értékeire. A példaparaméterek nevei közé tartozik a myResourceGroup, a myVnet és a myVM.

Erőforráscsoport létrehozása

Az Azure-erőforráscsoport olyan logikai tároló, amelybe a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat. Egy erőforráscsoportot egy virtuális gép előtt kell létrehozni, és támogatni kell a virtuális hálózati erőforrásokat. Hozza létre az erőforráscsoportot az az group create használatával. A következő példában létrehozunk egy myResourceGroup nevű erőforráscsoportot az eastus helyen:

az group create --name myResourceGroup --location eastus

Alapértelmezés szerint az Azure CLI-parancsok kimenete JSON-ban (JavaScript Object Notation) van. Ha az alapértelmezett kimenetet listára vagy táblára szeretné módosítani, használja például az az config set core.output=table parancsot. Bármelyik parancshoz hozzáadhat --output egy egyszeri módosítást kimeneti formátumban. Az alábbi példa a parancs JSON-kimenetét az group create mutatja be:

{
  "id": "/subscriptions/guid/resourceGroups/myResourceGroup",
  "location": "eastus",
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Virtuális hálózat és alhálózat létrehozása

Ezután létrehoz egy virtuális hálózatot az Azure-ban, és egy alhálózatot, amelyben létrehozhatja a virtuális gépeket. Az az network vnet create használatával hozzon létre egy myVnet nevű virtuális hálózatot a 192.168.0.0/16 címelőtaggal. Egy mySubnet nevű alhálózatot is hozzáad a 192.168.1.0/24 címelőtaggal:

az network vnet create \
    --resource-group myResourceGroup \
    --name myVnet \
    --address-prefix 192.168.0.0/16 \
    --subnet-name mySubnet \
    --subnet-prefix 192.168.1.0/24

A kimenet azt mutatja, hogy az alhálózat logikailag jön létre a virtuális hálózaton belül:

{
  "addressSpace": {
    "addressPrefixes": [
      "192.168.0.0/16"
    ]
  },
  "dhcpOptions": {
    "dnsServers": []
  },
  "etag": "W/\"e95496fc-f417-426e-a4d8-c9e4d27fc2ee\"",
  "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet",
  "location": "eastus",
  "name": "myVnet",
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "resourceGuid": "ed62fd03-e9de-430b-84df-8a3b87cacdbb",
  "subnets": [
    {
      "addressPrefix": "192.168.1.0/24",
      "etag": "W/\"e95496fc-f417-426e-a4d8-c9e4d27fc2ee\"",
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet",
      "ipConfigurations": null,
      "name": "mySubnet",
      "networkSecurityGroup": null,
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "resourceNavigationLinks": null,
      "routeTable": null
    }
  ],
  "tags": {},
  "type": "Microsoft.Network/virtualNetworks",
  "virtualNetworkPeerings": null
}

Hozzon létre egy nyilvános IP-címet

Most hozzunk létre egy nyilvános IP-címet az az network public-ip create használatával. Ez a nyilvános IP-cím lehetővé teszi a virtuális gépekhez való csatlakozást az internetről. Mivel az alapértelmezett cím dinamikus, hozzon létre egy névvel ellátott DNS-bejegyzést a --domain-name-label paraméterrel. Az alábbi példa létrehoz egy myPublicIP nevű nyilvános IP-címet a mypublicdns DNS-nevével. Mivel a DNS-névnek egyedinek kell lennie, adja meg a saját egyedi DNS-nevét:

az network public-ip create \
    --resource-group myResourceGroup \
    --name myPublicIP \
    --dns-name mypublicdns

Hozam:

{
  "publicIp": {
    "dnsSettings": {
      "domainNameLabel": "mypublicdns",
      "fqdn": "mypublicdns.eastus.cloudapp.azure.com",
      "reverseFqdn": null
    },
    "etag": "W/\"2632aa72-3d2d-4529-b38e-b622b4202925\"",
    "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP",
    "idleTimeoutInMinutes": 4,
    "ipAddress": null,
    "ipConfiguration": null,
    "location": "eastus",
    "name": "myPublicIP",
    "provisioningState": "Succeeded",
    "publicIpAddressVersion": "IPv4",
    "publicIpAllocationMethod": "Dynamic",
    "resourceGroup": "myResourceGroup",
    "resourceGuid": "4c65de38-71f5-4684-be10-75e605b3e41f",
    "tags": null,
    "type": "Microsoft.Network/publicIPAddresses"
  }
}

Hálózati biztonsági csoport létrehozása

A virtuális gépek bejövő és kimenő forgalmának szabályozásához alkalmazzon egy hálózati biztonsági csoportot egy virtuális hálózati adapterre vagy alhálózatra. Az alábbi példa az network nsg create használatával hoz létre egy myNetworkSecurityGroup nevű hálózati biztonsági csoportot:

az network nsg create \
    --resource-group myResourceGroup \
    --name myNetworkSecurityGroup

Olyan szabályokat határoz meg, amelyek engedélyezik vagy elutasítják az adott forgalmat. Ha engedélyezni szeretné a bejövő kapcsolatokat a 22-s porton (az SSH-hozzáférés engedélyezéséhez hozzon létre egy bejövő szabályt az network nsg rule create használatával). Az alábbi példa létrehoz egy myNetworkSecurityGroupRuleSSH nevű szabályt:

az network nsg rule create \
    --resource-group myResourceGroup \
    --nsg-name myNetworkSecurityGroup \
    --name myNetworkSecurityGroupRuleSSH \
    --protocol tcp \
    --priority 1000 \
    --destination-port-range 22 \
    --access allow

Ha engedélyezni szeretné a bejövő kapcsolatokat a 80-as porton (webes forgalom esetén), adjon hozzá egy másik hálózati biztonsági csoportszabályt. Az alábbi példa létrehoz egy myNetworkSecurityGroupRuleHTTP nevű szabályt:

az network nsg rule create \
    --resource-group myResourceGroup \
    --nsg-name myNetworkSecurityGroup \
    --name myNetworkSecurityGroupRuleWeb \
    --protocol tcp \
    --priority 1001 \
    --destination-port-range 80 \
    --access allow

Vizsgálja meg a hálózati biztonsági csoportot és a szabályokat az az network nsg show-val:

az network nsg show --resource-group myResourceGroup --name myNetworkSecurityGroup

Hozam:

{
  "defaultSecurityRules": [
    {
      "access": "Allow",
      "description": "Allow inbound traffic from all VMs in VNET",
      "destinationAddressPrefix": "VirtualNetwork",
      "destinationPortRange": "*",
      "direction": "Inbound",
      "etag": "W/\"3371b313-ea9f-4687-a336-a8ebdfd80523\"",
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/defaultSecurityRules/AllowVnetInBound",
      "name": "AllowVnetInBound",
      "priority": 65000,
      "protocol": "*",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "sourceAddressPrefix": "VirtualNetwork",
      "sourcePortRange": "*"
    },
    {
      "access": "Allow",
      "description": "Allow inbound traffic from azure load balancer",
      "destinationAddressPrefix": "*",
      "destinationPortRange": "*",
      "direction": "Inbound",
      "etag": "W/\"3371b313-ea9f-4687-a336-a8ebdfd80523\"",
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/defaultSecurityRules/AllowAzureLoadBalancerInBou",
      "name": "AllowAzureLoadBalancerInBound",
      "priority": 65001,
      "protocol": "*",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "sourceAddressPrefix": "AzureLoadBalancer",
      "sourcePortRange": "*"
    },
    {
      "access": "Deny",
      "description": "Deny all inbound traffic",
      "destinationAddressPrefix": "*",
      "destinationPortRange": "*",
      "direction": "Inbound",
      "etag": "W/\"3371b313-ea9f-4687-a336-a8ebdfd80523\"",
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/defaultSecurityRules/DenyAllInBound",
      "name": "DenyAllInBound",
      "priority": 65500,
      "protocol": "*",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "sourceAddressPrefix": "*",
      "sourcePortRange": "*"
    },
    {
      "access": "Allow",
      "description": "Allow outbound traffic from all VMs to all VMs in VNET",
      "destinationAddressPrefix": "VirtualNetwork",
      "destinationPortRange": "*",
      "direction": "Outbound",
      "etag": "W/\"3371b313-ea9f-4687-a336-a8ebdfd80523\"",
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/defaultSecurityRules/AllowVnetOutBound",
      "name": "AllowVnetOutBound",
      "priority": 65000,
      "protocol": "*",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "sourceAddressPrefix": "VirtualNetwork",
      "sourcePortRange": "*"
    },
    {
      "access": "Allow",
      "description": "Allow outbound traffic from all VMs to Internet",
      "destinationAddressPrefix": "Internet",
      "destinationPortRange": "*",
      "direction": "Outbound",
      "etag": "W/\"3371b313-ea9f-4687-a336-a8ebdfd80523\"",
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/defaultSecurityRules/AllowInternetOutBound",
      "name": "AllowInternetOutBound",
      "priority": 65001,
      "protocol": "*",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "sourceAddressPrefix": "*",
      "sourcePortRange": "*"
    },
    {
      "access": "Deny",
      "description": "Deny all outbound traffic",
      "destinationAddressPrefix": "*",
      "destinationPortRange": "*",
      "direction": "Outbound",
      "etag": "W/\"3371b313-ea9f-4687-a336-a8ebdfd80523\"",
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/defaultSecurityRules/DenyAllOutBound",
      "name": "DenyAllOutBound",
      "priority": 65500,
      "protocol": "*",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "sourceAddressPrefix": "*",
      "sourcePortRange": "*"
    }
  ],
  "etag": "W/\"3371b313-ea9f-4687-a336-a8ebdfd80523\"",
  "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup",
  "location": "eastus",
  "name": "myNetworkSecurityGroup",
  "networkInterfaces": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "myResourceGroup",
  "resourceGuid": "47a9964e-23a3-438a-a726-8d60ebbb1c3c",
  "securityRules": [
    {
      "access": "Allow",
      "description": null,
      "destinationAddressPrefix": "*",
      "destinationPortRange": "22",
      "direction": "Inbound",
      "etag": "W/\"9e344b60-0daa-40a6-84f9-0ebbe4a4b640\"",
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/securityRules/myNetworkSecurityGroupRuleSSH",
      "name": "myNetworkSecurityGroupRuleSSH",
      "priority": 1000,
      "protocol": "Tcp",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "sourceAddressPrefix": "*",
      "sourcePortRange": "*"
    },
    {
      "access": "Allow",
      "description": null,
      "destinationAddressPrefix": "*",
      "destinationPortRange": "80",
      "direction": "Inbound",
      "etag": "W/\"9e344b60-0daa-40a6-84f9-0ebbe4a4b640\"",
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup/securityRules/myNetworkSecurityGroupRuleWeb",
      "name": "myNetworkSecurityGroupRuleWeb",
      "priority": 1001,
      "protocol": "Tcp",
      "provisioningState": "Succeeded",
      "resourceGroup": "myResourceGroup",
      "sourceAddressPrefix": "*",
      "sourcePortRange": "*"
    }
  ],
  "subnets": null,
  "tags": null,
  "type": "Microsoft.Network/networkSecurityGroups"
}

Virtuális hálózati adapter létrehozása

A virtuális hálózati adapterek (NIC-k) programozott módon érhetők el, mert szabályok alkalmazhatók ezek használatára. A virtuális gép méretétől függően több virtuális hálózati adaptert is csatolhat egy virtuális géphez. Az alábbi az network nic create parancsban létrehoz egy myNic nevű hálózati adaptert, és társítja azt a hálózati biztonsági csoporthoz. A myPublicIP nyilvános IP-címe szintén a virtuális hálózati adapterhez van társítva.

az network nic create \
    --resource-group myResourceGroup \
    --name myNic \
    --vnet-name myVnet \
    --subnet mySubnet \
    --public-ip-address myPublicIP \
    --network-security-group myNetworkSecurityGroup

Hozam:

{
  "NewNIC": {
    "dnsSettings": {
      "appliedDnsServers": [],
      "dnsServers": [],
      "internalDnsNameLabel": null,
      "internalDomainNameSuffix": "brqlt10lvoxedgkeuomc4pm5tb.bx.internal.cloudapp.net",
      "internalFqdn": null
    },
    "enableAcceleratedNetworking": false,
    "enableIpForwarding": false,
    "etag": "W/\"04b5ab44-d8f4-422a-9541-e5ae7de8466d\"",
    "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic",
    "ipConfigurations": [
      {
        "applicationGatewayBackendAddressPools": null,
        "etag": "W/\"04b5ab44-d8f4-422a-9541-e5ae7de8466d\"",
        "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/myNic/ipConfigurations/ipconfig1",
        "loadBalancerBackendAddressPools": null,
        "loadBalancerInboundNatRules": null,
        "name": "ipconfig1",
        "primary": true,
        "privateIpAddress": "192.168.1.4",
        "privateIpAddressVersion": "IPv4",
        "privateIpAllocationMethod": "Dynamic",
        "provisioningState": "Succeeded",
        "publicIpAddress": {
          "dnsSettings": null,
          "etag": null,
          "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/publicIPAddresses/myPublicIP",
          "idleTimeoutInMinutes": null,
          "ipAddress": null,
          "ipConfiguration": null,
          "location": null,
          "name": null,
          "provisioningState": null,
          "publicIpAddressVersion": null,
          "publicIpAllocationMethod": null,
          "resourceGroup": "myResourceGroup",
          "resourceGuid": null,
          "tags": null,
          "type": null
        },
        "resourceGroup": "myResourceGroup",
        "subnet": {
          "addressPrefix": null,
          "etag": null,
          "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVnet/subnets/mySubnet",
          "ipConfigurations": null,
          "name": null,
          "networkSecurityGroup": null,
          "provisioningState": null,
          "resourceGroup": "myResourceGroup",
          "resourceNavigationLinks": null,
          "routeTable": null
        }
      }
    ],
    "location": "eastus",
    "macAddress": null,
    "name": "myNic",
    "networkSecurityGroup": {
      "defaultSecurityRules": null,
      "etag": null,
      "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup",
      "location": null,
      "name": null,
      "networkInterfaces": null,
      "provisioningState": null,
      "resourceGroup": "myResourceGroup",
      "resourceGuid": null,
      "securityRules": null,
      "subnets": null,
      "tags": null,
      "type": null
    },
    "primary": null,
    "provisioningState": "Succeeded",
    "resourceGroup": "myResourceGroup",
    "resourceGuid": "b3dbaa0e-2cf2-43be-a814-5cc49fea3304",
    "tags": null,
    "type": "Microsoft.Network/networkInterfaces",
    "virtualMachine": null
  }
}

Rendelkezésre állási csoport létrehozása

A rendelkezésre állási csoportok segítenek a virtuális gépek tartalék tartományok közötti elosztásában és a tartományok frissítésében. Annak ellenére, hogy jelenleg csak egy virtuális gépet hoz létre, ajánlott rendelkezésre állási csoportokat használni a későbbi bővítés megkönnyítése érdekében.

A tartalék tartományok olyan virtuális gépek csoportosítását határozzák meg, amelyek közös áramforrást és hálózati kapcsolót használnak. Alapértelmezés szerint a rendelkezésre állási csoportban konfigurált virtuális gépek legfeljebb három tartalék tartomány között vannak elkülönítve. Az ilyen tartalék tartományok egyikében előforduló hardverproblémák nem érintik az alkalmazást futtató összes virtuális gépet.

A frissítési tartományok a virtuális gépek és a mögöttes fizikai hardverek egy időben újraindítható csoportjait jelzik. A tervezett karbantartás során előfordulhat, hogy a frissítési tartományok újraindításának sorrendje nem egymást követő, de egyszerre csak egy frissítési tartomány lesz újraindítva.

Az Azure automatikusan osztja el a virtuális gépeket a hibák között, és frissíti a tartományokat, amikor rendelkezésre állási csoportban helyezi el őket. További információ: A virtuális gépek rendelkezésre állásának kezelése.

Hozzon létre egy rendelkezésre állási csoportot a virtuális géphez az az vm availability-set create használatával. Az alábbi példa egy myAvailabilitySet nevű rendelkezésre állási csoportot hoz létre:

az vm availability-set create \
    --resource-group myResourceGroup \
    --name myAvailabilitySet

A kimeneti jegyzetek tartalék tartományokat és frissítési tartományokat jegyeznek fel:

{
  "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/myAvailabilitySet",
  "location": "eastus",
  "managed": null,
  "name": "myAvailabilitySet",
  "platformFaultDomainCount": 2,
  "platformUpdateDomainCount": 5,
  "resourceGroup": "myResourceGroup",
  "sku": {
    "capacity": null,
    "managed": true,
    "tier": null
  },
  "statuses": null,
  "tags": {},
  "type": "Microsoft.Compute/availabilitySets",
  "virtualMachines": []
}

Virtuális gép létrehozása

Létrehozta a hálózati erőforrásokat az internetről elérhető virtuális gépek támogatásához. Most hozzon létre egy virtuális gépet, és biztonságossá tegye azt egy SSH-kulccsal. Ebben a példában hozzunk létre egy Ubuntu virtuális gépet a legutóbbi LTS alapján. Az Azure-beli virtuálisgép-rendszerképek megkeresésében leírtak szerint további képeket is találhat az az virtuálisgép-rendszerképek listájával.

Adjon meg egy hitelesítéshez használandó SSH-kulcsot. Ha nincs nyilvános SSH-kulcspárja, létrehozhatja őket, vagy a --generate-ssh-keys paraméter használatával létrehozhatja őket. Ha már rendelkezik kulcspárokkal, ez a paraméter a meglévő kulcsokat használja a következőben ~/.ssh: .

Hozza létre a virtuális gépet az összes erőforrás és információ összehozásával az az vm create paranccsal. Az alábbi példában egy myVM nevű virtuális gépet hozunk létre:

az vm create \
    --resource-group myResourceGroup \
    --name myVM \
    --location eastus \
    --availability-set myAvailabilitySet \
    --nics myNic \
    --image Ubuntu2204 \
    --admin-username azureuser \
    --generate-ssh-keys

SSH a virtuális géphez a nyilvános IP-cím létrehozásakor megadott DNS-bejegyzéssel. Ez fqdn a virtuális gép létrehozásakor jelenik meg a kimenetben:

{
  "fqdns": "mypublicdns.eastus.cloudapp.azure.com",
  "id": "/subscriptions/guid/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "macAddress": "00-0D-3A-13-71-C8",
  "powerState": "VM running",
  "privateIpAddress": "192.168.1.5",
  "publicIpAddress": "13.90.94.252",
  "resourceGroup": "myResourceGroup"
}
ssh azureuser@mypublicdns.eastus.cloudapp.azure.com

Hozam:

The authenticity of host 'mypublicdns.eastus.cloudapp.azure.com (13.90.94.252)' can't be established.
ECDSA key fingerprint is SHA256:SylINP80Um6XRTvWiFaNz+H+1jcrKB1IiNgCDDJRj6A.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'mypublicdns.eastus.cloudapp.azure.com,13.90.94.252' (ECDSA) to the list of known hosts.
Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.11.0-1016-azure x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  Get cloud support with Ubuntu Advantage Cloud Guest:
    https://www.ubuntu.com/business/services/cloud

0 packages can be updated.
0 updates are security updates.


The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

azureuser@myVM:~$

Telepítheti az NGINX-et , és megtekintheti a virtuális gép felé áramló forgalmat. Telepítse az NGINX-et az alábbiak szerint:

sudo apt-get install -y nginx

Az alapértelmezett NGINX-webhely működés közbeni megtekintéséhez nyissa meg a webböngészőt, és adja meg a teljes tartománynevet:

Alapértelmezett NGINX-webhely a virtuális gépen

Exportálás sablonként

Mi a teendő, ha most egy további fejlesztési környezetet szeretne létrehozni ugyanazokkal a paraméterekkel, vagy egy olyan éles környezetet, amely megfelel annak? A Resource Manager JSON-sablonokat használ, amelyek meghatározzák a környezet összes paraméterét. A JSON-sablonra való hivatkozással teljes környezeteket hozhat létre. JSON-sablonokat készíthet manuálisan, vagy exportálhat egy meglévő környezetet a JSON-sablon létrehozásához. Az az group export használatával exportálhatja az erőforráscsoportot az alábbiak szerint:

az group export --name myResourceGroup > myResourceGroup.json

Ez a parancs létrehozza a myResourceGroup.json fájlt az aktuális munkakönyvtárban. Amikor létrehoz egy környezetet ebből a sablonból, a rendszer az összes erőforrásnevet kéri. Ezeket a neveket feltöltheti a sablonfájlban úgy, hogy hozzáadja a --include-parameter-default-value paramétert a az group export parancshoz. Szerkessze a JSON-sablont az erőforrásnevek megadásához, vagy hozzon létre egy parameters.json fájlt , amely megadja az erőforrásneveket.

Ha környezetet szeretne létrehozni a sablonból, használja az az deployment group create parancsot az alábbiak szerint:

az deployment group create \
    --resource-group myNewResourceGroup \
    --template-file myResourceGroup.json

Érdemes lehet többet megtudni a sablonokból történő üzembe helyezésről. Megtudhatja, hogyan frissítheti növekményesen a környezeteket, hogyan használhatja a paraméterfájlt, és hogyan érheti el a sablonokat egyetlen tárolóhelyről.

Következő lépések

Most már készen áll arra, hogy megkezdje a munkát több hálózati összetevővel és virtuális géppel. Ezzel a mintakörnyezettel fejlesztheti ki az alkalmazást az itt bemutatott alapvető összetevők használatával.