Skip to content

Commit 489d7e1

Browse files
authored
Merge pull request #266194 from ShawnJackson/six-quick-create-articles
[AQ] edit pass: Six quickstarts about creating a virtual network
2 parents 49cfda7 + c512396 commit 489d7e1

13 files changed

+223
-226
lines changed

articles/azure-app-configuration/howto-set-up-private-access.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ This command will prompt your web browser to launch and load an Azure sign-in pa
7070

7171
1. Select **Next : Virtual Network >**.
7272

73-
1. Select an existing **Virtual network** to deploy the private endpoint to. If you don't have a virtual network, [create a virtual network](../private-link/create-private-endpoint-portal.md#create-a-virtual-network-and-bastion-host).
73+
1. Select an existing **Virtual network** to deploy the private endpoint to. If you don't have a virtual network, [create a virtual network](../private-link/create-private-endpoint-portal.md).
7474

7575
1. Select a **Subnet** from the list.
7676

articles/managed-grafana/how-to-set-up-private-access.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ In this guide, you'll learn how to disable public access to your Azure Managed G
2929
Public access is enabled by default when you create an Azure Grafana workspace. Disabling public access prevents all traffic from accessing the resource unless you go through a private endpoint.
3030

3131
> [!NOTE]
32-
> When private access (preview) is enabled, pinging charts using the [*Pin to Grafana*](../azure-monitor/visualize/grafana-plugin.md#pin-charts-from-the-azure-portal-to-azure-managed-grafana) feature will no longer work as the Azure portal cant access an Azure Managed Grafana workspace on a private IP address.
32+
> When private access (preview) is enabled, pinging charts using the [*Pin to Grafana*](../azure-monitor/visualize/grafana-plugin.md#pin-charts-from-the-azure-portal-to-azure-managed-grafana) feature will no longer work as the Azure portal can't access an Azure Managed Grafana workspace on a private IP address.
3333
3434
### [Portal](#tab/azure-portal)
3535

@@ -82,7 +82,7 @@ Once you have disabled public access, set up a [private endpoint](../private-lin
8282

8383
1. Select **Next : Virtual Network >**.
8484

85-
1. Select an existing **Virtual network** to deploy the private endpoint to. If you don't have a virtual network, [create a virtual network](../private-link/create-private-endpoint-portal.md#create-a-virtual-network-and-bastion-host).
85+
1. Select an existing **Virtual network** to deploy the private endpoint to. If you don't have a virtual network, [create a virtual network](../private-link/create-private-endpoint-portal.md).
8686

8787
1. Select a **Subnet** from the list.
8888

articles/virtual-network/quick-create-bicep.md

Lines changed: 39 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 'Quickstart: Use Bicep to create a virtual network'
2+
title: 'Quickstart: Use Bicep templates to create a virtual network'
33
titleSuffix: Azure Virtual Network
44
description: Use Bicep templates to create a virtual network and virtual machines, and deploy Azure Bastion to securely connect from the internet.
55
services: virtual-network
@@ -13,7 +13,7 @@ ms.custom: mode-arm, devx-track-bicep
1313

1414
# Quickstart: Use Bicep templates to create a virtual network
1515

16-
This quickstart shows you how to create a virtual network with two virtual machines (VMs), and then deploy Azure Bastion on the virtual network, by using Bicep templates. You then securely connect to the VMs from the internet by using Azure Bastion, and communicate privately between the VMs.
16+
This quickstart shows you how to create a virtual network with two virtual machines (VMs), and then deploy Azure Bastion on the virtual network, by using Bicep templates. You then securely connect to the VMs from the internet by using Bastion and start private communication between the VMs.
1717

1818
A virtual network is the fundamental building block for private networks in Azure. Azure Virtual Network enables Azure resources like VMs to securely communicate with each other and the internet.
1919

@@ -23,11 +23,11 @@ A virtual network is the fundamental building block for private networks in Azur
2323

2424
- An Azure account with an active subscription. You can [create an account for free](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
2525

26-
- To deploy the Bicep files, either Azure CLI or PowerShell installed.
26+
- To deploy the Bicep files, either the Azure CLI or Azure PowerShell installed:
2727

2828
# [CLI](#tab/azure-cli)
2929

30-
1. [Install Azure CLI locally](/cli/azure/install-azure-cli) to run the commands. You need Azure CLI version 2.0.28 or later. Run [az version](/cli/azure/reference-index?#az-version) to find your installed version and dependent libraries, and run [az upgrade](/cli/azure/reference-index?#az-upgrade) to upgrade.
30+
1. [Install the Azure CLI locally](/cli/azure/install-azure-cli) to run the commands. You need Azure CLI version 2.0.28 or later. Run [az version](/cli/azure/reference-index?#az-version) to find your installed version and dependent libraries, and run [az upgrade](/cli/azure/reference-index?#az-upgrade) to upgrade.
3131

3232
1. Sign in to Azure by using the [az login](/cli/azure/reference-index#az-login) command.
3333

@@ -45,7 +45,7 @@ A virtual network is the fundamental building block for private networks in Azur
4545

4646
## Create the virtual network and VMs
4747

48-
This quickstart uses the [Two VMs in VNET](https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.compute/2-vms-internal-load-balancer/main.bicep) Bicep template from [Azure Quickstart Templates](https://github.com/Azure/azure-quickstart-templates) to create the virtual network, resource subnet, and VMs. The Bicep template defines the following Azure resources:
48+
This quickstart uses the [Two VMs in VNET](https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.compute/2-vms-internal-load-balancer/main.bicep) Bicep template from [Azure Resource Manager Quickstart Templates](https://github.com/Azure/azure-quickstart-templates) to create the virtual network, resource subnet, and VMs. The Bicep template defines the following Azure resources:
4949

5050
- [Microsoft.Network virtualNetworks](/azure/templates/microsoft.network/virtualnetworks): Creates an Azure virtual network.
5151
- [Microsoft.Network virtualNetworks/subnets](/azure/templates/microsoft.network/virtualnetworks/subnets): Creates a subnet for the VMs.
@@ -62,7 +62,7 @@ Review the Bicep file:
6262
### Deploy the Bicep template
6363

6464
1. Save the Bicep file to your local computer as *main.bicep*.
65-
1. Deploy the Bicep file by using either Azure CLI or Azure PowerShell.
65+
1. Deploy the Bicep file by using either the Azure CLI or Azure PowerShell:
6666

6767
# [CLI](#tab/azure-cli)
6868

@@ -88,17 +88,17 @@ When the deployment finishes, a message indicates that the deployment succeeded.
8888

8989
## Deploy Azure Bastion
9090

91-
Azure Bastion uses your browser to connect to VMs in your virtual network over secure shell (SSH) or remote desktop protocol (RDP) by using their private IP addresses. The VMs don't need public IP addresses, client software, or special configuration. For more information about Azure Bastion, see [Azure Bastion](~/articles/bastion/bastion-overview.md).
91+
Bastion uses your browser to connect to VMs in your virtual network over Secure Shell (SSH) or Remote Desktop Protocol (RDP) by using their private IP addresses. The VMs don't need public IP addresses, client software, or special configuration. For more information about Bastion, see [What is Azure Bastion?](~/articles/bastion/bastion-overview.md).
9292

93-
>[!NOTE]
94-
>[!INCLUDE [Pricing](../../includes/bastion-pricing.md)]
93+
> [!NOTE]
94+
> [!INCLUDE [Pricing](../../includes/bastion-pricing.md)]
9595
96-
Use the [Azure Bastion as a service](https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.network/azure-bastion/main.bicep) Bicep template from [Azure Quickstart Templates](https://github.com/Azure/azure-quickstart-templates) to deploy and configure Azure Bastion in your virtual network. This Bicep template defines the following Azure resources:
96+
Use the [Azure Bastion as a Service](https://github.com/Azure/azure-quickstart-templates/blob/master/quickstarts/microsoft.network/azure-bastion/main.bicep) Bicep template from [Azure Resource Manager Quickstart Templates](https://github.com/Azure/azure-quickstart-templates) to deploy and configure Bastion in your virtual network. This Bicep template defines the following Azure resources:
9797

98-
- [Microsoft.Network virtualNetworks/subnets](/azure/templates/microsoft.network/virtualnetworks/subnets): Creates an AzureBastionSubnet subnet.
98+
- [Microsoft.Network virtualNetworks/subnets](/azure/templates/microsoft.network/virtualnetworks/subnets): Creates an **AzureBastionSubnet** subnet.
9999
- [Microsoft.Network bastionHosts](/azure/templates/microsoft.network/bastionhosts): Creates the Bastion host.
100-
- [Microsoft.Network publicIPAddresses](/azure/templates/microsoft.network/publicipaddresses): Creates a public IP address for the Azure Bastion host.
101-
- [Microsoft Network networkSecurityGroups](/azure/templates/microsoft.network/networksecuritygroups): Controls the network security group (NSG) settings.
100+
- [Microsoft.Network publicIPAddresses](/azure/templates/microsoft.network/publicipaddresses): Creates a public IP address for the Bastion host.
101+
- [Microsoft Network networkSecurityGroups](/azure/templates/microsoft.network/networksecuritygroups): Controls the settings for network security groups.
102102

103103
Review the Bicep file:
104104

@@ -114,9 +114,9 @@ Review the Bicep file:
114114
- Line 12: Change `param vnetNewOrExisting string` from `'new'` to `'existing'`.
115115
- Line 15: Change `param bastionSubnetIpPrefix string` from `'10.1.1.0/26'` to `'10.0.1.0/26'`.
116116
- Line 18: Change `param bastionHostName string` to `param bastionHostName = 'VNet-bastion'`.
117-
118-
The first 18 lines of your Bicep file should now look like this:
119-
117+
118+
The first 18 lines of your Bicep file should now look like this example:
119+
120120
```bicep
121121
@description('Name of new or existing vnet to which Azure Bastion should be deployed')
122122
param vnetName string = 'VNet'
@@ -141,7 +141,7 @@ Review the Bicep file:
141141

142142
1. Save the *bastion.bicep* file.
143143

144-
1. Deploy the Bicep file by using either Azure CLI or Azure PowerShell.
144+
1. Deploy the Bicep file by using either the Azure CLI or Azure PowerShell:
145145

146146
# [CLI](#tab/azure-cli)
147147

@@ -163,12 +163,12 @@ Review the Bicep file:
163163

164164
When the deployment finishes, a message indicates that the deployment succeeded.
165165

166-
>[!NOTE]
167-
>VMs in a virtual network with a Bastion host don't need public IP addresses. Bastion provides the public IP, and the VMs use private IPs to communicate within the network. You can remove the public IPs from any VMs in Bastion-hosted virtual networks. For more information, see [Dissociate a public IP address from an Azure VM](ip-services/remove-public-ip-address-vm.md).
166+
> [!NOTE]
167+
> VMs in a virtual network with a Bastion host don't need public IP addresses. Bastion provides the public IP, and the VMs use private IPs to communicate within the network. You can remove the public IPs from any VMs in Bastion-hosted virtual networks. For more information, see [Dissociate a public IP address from an Azure VM](ip-services/remove-public-ip-address-vm.md).
168168
169169
## Review deployed resources
170170

171-
Use Azure CLI, Azure PowerShell, or the Azure portal to review the deployed resources.
171+
Use the Azure CLI, Azure PowerShell, or the Azure portal to review the deployed resources:
172172

173173
# [CLI](#tab/azure-cli)
174174

@@ -184,10 +184,10 @@ Get-AzResource -ResourceGroupName TestRG
184184

185185
# [Portal](#tab/azure-portal)
186186

187-
1. In the [Azure portal](https://portal.azure.com), search for and select *resource groups*, and on the **Resource groups** page, select **TestRG** from the list of resource groups.
188-
1. On the **Overview** page for **TestRG**, review all the resources that you created, including the virtual network, the two VMs, and the Azure Bastion host.
189-
1. Select the **VNet** virtual network, and on the **Overview** page for **VNet**, note the defined address space of **10.0.0.0/16**.
190-
1. Select **Subnets** from the left menu, and on the **Subnets** page, note the deployed subnets of **backendSubnet** and **AzureBastionSubnet** with the assigned values from the Bicep files.
187+
1. In the [Azure portal](https://portal.azure.com), search for and select **resource groups**. On the **Resource groups** page, select **TestRG** from the list of resource groups.
188+
1. On the **Overview** page for **TestRG**, review all the resources that you created, including the virtual network, the two VMs, and the Bastion host.
189+
1. Select the **VNet** virtual network. On the **Overview** page for **VNet**, note the defined address space of **10.0.0.0/16**.
190+
1. On the left menu, select **Subnets**. On the **Subnets** page, note the deployed subnets of **backendSubnet** and **AzureBastionSubnet** with the assigned values from the Bicep files.
191191

192192
---
193193

@@ -199,13 +199,13 @@ Get-AzResource -ResourceGroupName TestRG
199199

200200
1. At the top of the **BackendVM1** page, select the dropdown arrow next to **Connect**, and then select **Bastion**.
201201

202-
:::image type="content" source="./media/quick-create-bicep/connect-to-virtual-machine.png" alt-text="Screenshot of connecting to VM1 with Azure Bastion." border="true":::
202+
:::image type="content" source="./media/quick-create-bicep/connect-to-virtual-machine.png" alt-text="Screenshot of connecting to the first virtual machine with Azure Bastion." border="true":::
203203

204-
1. On the **Bastion** page, enter the username and password you created for the VM, and then select **Connect**.
204+
1. On the **Bastion** page, enter the username and password that you created for the VM, and then select **Connect**.
205205

206206
## Communicate between VMs
207207

208-
1. From the desktop of BackendVM1, open PowerShell.
208+
1. From the desktop of **BackendVM1**, open PowerShell.
209209

210210
1. Enter `ping BackendVM0`. You get a reply similar to the following message:
211211

@@ -222,21 +222,21 @@ Get-AzResource -ResourceGroupName TestRG
222222
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
223223
```
224224

225-
The ping fails because it uses the Internet Control Message Protocol (ICMP). By default, ICMP isn't allowed through Windows firewall.
225+
The ping fails because it uses the Internet Control Message Protocol (ICMP). By default, ICMP isn't allowed through Windows Firewall.
226226

227-
1. To allow ICMP to inbound through Windows firewall on this VM, enter the following command:
227+
1. To allow ICMP inbound through Windows Firewall on this VM, enter the following command:
228228

229229
```powershell
230230
New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4
231231
```
232232

233-
1. Close the Bastion connection to BackendVM1.
233+
1. Close the Bastion connection to **BackendVM1**.
234234

235-
1. Repeat the steps in [Connect to a VM](#connect-to-a-vm) to connect to BackendVM0.
235+
1. Repeat the steps in [Connect to a VM](#connect-to-a-vm) to connect to **BackendVM0**.
236236

237-
1. From PowerShell on BackendVM0, enter `ping BackendVM1`.
237+
1. From PowerShell on **BackendVM0**, enter `ping BackendVM1`.
238238

239-
This time you get a success reply similar to the following message, because you allowed ICMP through the firewall on VM1.
239+
This time you get a success reply similar to the following message, because you allowed ICMP through the firewall on **BackendVM1**.
240240

241241
```cmd
242242
PS C:\Users\BackendVM0> ping BackendVM1
@@ -253,11 +253,11 @@ Get-AzResource -ResourceGroupName TestRG
253253
Minimum = 0ms, Maximum = 2ms, Average = 0ms
254254
```
255255

256-
1. Close the Bastion connection to BackendVM0.
256+
1. Close the Bastion connection to **BackendVM0**.
257257

258258
## Clean up resources
259259

260-
When you're done with the virtual network, use Azure CLI, Azure PowerShell, or the Azure portal to delete the resource group and all its resources.
260+
When you finish with the virtual network, use the Azure CLI, Azure PowerShell, or the Azure portal to delete the resource group and all its resources:
261261

262262
# [CLI](#tab/azure-cli)
263263

@@ -275,15 +275,16 @@ Remove-AzResourceGroup -Name TestRG
275275

276276
1. In the Azure portal, on the **Resource groups** page, select the **TestRG** resource group.
277277
1. At the top of the **TestRG** page, select **Delete resource group**.
278-
1. On the **Delete a resource group** page, under **Enter resource group name to confirm deletion**, enter *TestRG*, and then select **Delete**.
278+
1. On the **Delete a resource group** page, under **Enter resource group name to confirm deletion**, enter **TestRG**, and then select **Delete**.
279279
1. Select **Delete** again.
280280

281281
---
282282

283283
## Next steps
284284

285-
In this quickstart, you created a virtual network with two subnets, one containing two VMs and the other for Azure Bastion. You deployed Azure Bastion and used it to connect to the VMs, and securely communicated between the VMs. To learn more about virtual network settings, see [Create, change, or delete a virtual network](manage-virtual-network.md).
285+
In this quickstart, you created a virtual network that has two subnets: one that contains two VMs and the other for Bastion. You deployed Bastion, and you used it to connect to the VMs and start communication between the VMs. To learn more about virtual network settings, see [Create, change, or delete a virtual network](manage-virtual-network.md).
286+
287+
Private communication between VMs is unrestricted in a virtual network. To learn more about configuring various types of VM communications in a virtual network, continue to the next article:
286288

287-
Private communication between VMs is unrestricted in a virtual network. Continue to the next article to learn more about configuring different types of VM network communications.
288289
> [!div class="nextstepaction"]
289290
> [Filter network traffic](tutorial-filter-network-traffic.md)

0 commit comments

Comments
 (0)