@@ -1596,6 +1596,42 @@ Create a two-way virtual network peer between the hub and spoke two.
1596
1596
1597
1597
# [**Powershell**](#tab/powershell)
1598
1598
1599
+ Use [New-AzVirtualNetworkPeering](/powershell/module/az.network/new-azvirtualnetworkpeering) to create the peering from the hub to spoke two.
1600
+
1601
+ ```powershell
1602
+ # Create peering from hub to spoke two
1603
+ $hubVnetParams = @{
1604
+ ResourceGroupName = "test-rg"
1605
+ Name = "vnet-hub"
1606
+ }
1607
+ $hubVnet = Get-AzVirtualNetwork @hubVnetParams
1608
+
1609
+ $spokeVnetParams = @{
1610
+ ResourceGroupName = "test-rg"
1611
+ Name = "vnet-spoke-2"
1612
+ }
1613
+ $spokeVnet = Get-AzVirtualNetwork @spokeVnetParams
1614
+
1615
+ $hubToSpokeParams = @{
1616
+ Name = "vnet-hub-to-vnet-spoke-2"
1617
+ VirtualNetwork = $hubVnet
1618
+ RemoteVirtualNetworkId = $spokeVnet.Id
1619
+ AllowForwardedTraffic = $true
1620
+ AllowVirtualNetworkAccess = $true
1621
+ }
1622
+ Add-AzVirtualNetworkPeering @hubToSpokeParams
1623
+
1624
+ # Create peering from spoke two to hub
1625
+ $spokeToHubParams = @{
1626
+ Name = "vnet-spoke-2-to-vnet-hub"
1627
+ VirtualNetwork = $spokeVnet
1628
+ RemoteVirtualNetworkId = $hubVnet.Id
1629
+ AllowForwardedTraffic = $true
1630
+ AllowVirtualNetworkAccess = $true
1631
+ }
1632
+ Add-AzVirtualNetworkPeering @spokeToHubParams
1633
+ ```
1634
+
1599
1635
# [**CLI**](#tab/cli)
1600
1636
1601
1637
Use [az network vnet peering create](/cli/azure/network/vnet/peering#az_network_vnet_peering_create) to create the peering from the hub to spoke two.
@@ -1683,6 +1719,58 @@ Create a route table to force all outbound internet and inter-spoke traffic thro
1683
1719
1684
1720
# [**Powershell**](#tab/powershell)
1685
1721
1722
+ Use [New-AzRouteTable](/powershell/module/az.network/new-azroutetable) to create the route table.
1723
+
1724
+ ```powershell
1725
+ $routeTableParams = @{
1726
+ ResourceGroupName = "test-rg"
1727
+ Name = "route-table-nat-spoke-2"
1728
+ Location = "westus2"
1729
+ }
1730
+ New-AzRouteTable @routeTableParams
1731
+ ```
1732
+
1733
+ Use [Add-AzRouteConfig](/powershell/module/az.network/add-azrouteconfig) to create the route in the route table.
1734
+
1735
+ ```powershell
1736
+ $routeParams = @{
1737
+ Name = "default-via-nat-spoke-2"
1738
+ AddressPrefix = "0.0.0.0/0"
1739
+ NextHopType = "VirtualAppliance"
1740
+ NextHopIpAddress = "10.0.0.10"
1741
+ }
1742
+
1743
+ $routeTableParams = @{
1744
+ ResourceGroupName = "test-rg"
1745
+ Name = "route-table-nat-spoke-2"
1746
+ }
1747
+ $routeTable = Get-AzRouteTable @routeTableParams
1748
+
1749
+ Add-AzRouteConfig -RouteTable $routeTable -Route $routeParams
1750
+
1751
+ Set-AzRouteTable -RouteTable $routeTable
1752
+ ```
1753
+
1754
+ Use [Set-AzVirtualNetworkSubnetConfig](/powershell/module/az.network/set-azvirtualnetworksubnetconfig) to associate the route table with the subnet.
1755
+
1756
+ ```powershell
1757
+ $vnetParams = @{
1758
+ ResourceGroupName = "test-rg"
1759
+ Name = "vnet-spoke-2"
1760
+ }
1761
+ $vnet = Get-AzVirtualNetwork @vnetParams
1762
+
1763
+ $subnetParams = @{
1764
+ VirtualNetwork = $vnet
1765
+ Name = "subnet-private"
1766
+ }
1767
+ $subnet = Get-AzVirtualNetworkSubnetConfig @subnetParams
1768
+
1769
+ $subnet.RouteTable = $routeTable
1770
+
1771
+ Set-AzVirtualNetwork -VirtualNetwork $vnet
1772
+ ```
1773
+
1686
1774
# [**CLI**](#tab/cli)
1687
1775
1688
1776
Use [az network route-table create](/cli/azure/network/route-table#az_network_route_table_create) to create the route table.
@@ -1771,8 +1859,62 @@ Create a Windows Server 2022 virtual machine for the test virtual machine in spo
1771
1859
1772
1860
# [**Powershell**](#tab/powershell)
1773
1861
1774
- # [**CLI**](#tab/cli)
1862
+ Use [New-AzNetworkSecurityGroup](/powershell/module/az.network/new-aznetworksecuritygroup) to create the network security group.
1863
+
1864
+ ```powershell
1865
+ $nsgParams = @{
1866
+ ResourceGroupName = "test-rg"
1867
+ Name = "nsg-spoke-2"
1868
+ Location = "eastus2"
1869
+ }
1870
+ New-AzNetworkSecurityGroup @nsgParams
1871
+ ```
1775
1872
1873
+ Use [New-AzNetworkSecurityRuleConfig](/powershell/module/az.network/new-aznetworksecurityruleconfig) to create an inbound NSG rule for HTTP.
1874
+
1875
+ ```powershell
1876
+ $ruleParams = @{
1877
+ Name = "allow-http"
1878
+ Priority = 1000
1879
+ Direction = "Inbound"
1880
+ Access = "Allow"
1881
+ Protocol = "Tcp"
1882
+ DestinationPortRange = "80"
1883
+ }
1884
+ $nsg = Get-AzNetworkSecurityGroup -ResourceGroupName "test-rg" -Name "nsg-spoke-2"
1885
+
1886
+ $nsg | Add-AzNetworkSecurityRuleConfig @ruleParams
1887
+
1888
+ Set-AzNetworkSecurityGroup -NetworkSecurityGroup $nsg
1889
+ ```
1890
+
1891
+ Use [New-AzNetworkInterface](/powershell/module/az.network/new-aznetworkinterface) to create the network interface.
1892
+
1893
+ ```powershell
1894
+ $nicParams = @{
1895
+ ResourceGroupName = "test-rg"
1896
+ Name = "nic-2"
1897
+ SubnetId = (Get-AzVirtualNetwork -ResourceGroupName "test-rg" -Name "vnet-spoke-2").Subnets[0].Id
1898
+ NetworkSecurityGroupId = (Get-AzNetworkSecurityGroup -ResourceGroupName "test-rg" -Name "nsg-spoke-2").Id
1899
+ }
1900
+ New-AzNetworkInterface @nicParams
1901
+ ```
1902
+
1903
+ Use [New-AzVM](/powershell/module/az.compute/new-azvm) to create the Windows Server 2022 virtual machine.
1904
+
1905
+ ```powershell
1906
+ $vmParams = @{
1907
+ ResourceGroupName = "test-rg"
1908
+ Name = "vm-spoke-2"
1909
+ Image = "Win2022Datacenter"
1910
+ Size = "Standard_DS2_v2"
1911
+ AdminUsername = "azureuser"
1912
+ NetworkInterfaceIds = (Get-AzNetworkInterface -ResourceGroupName "test-rg" -Name "nic-2").Id
1913
+ }
1914
+ New-AzVM @vmParams
1915
+ ```
1916
+
1917
+ # [**CLI**](#tab/cli)
1776
1918
1777
1919
Use [az network nsg create](/cli/azure/network/nsg#az_network_nsg_create) to create the network security group.
1778
1920
@@ -1865,6 +2007,23 @@ IIS is installed on the Windows Server 2022 virtual machine to test outbound int
1865
2007
1866
2008
# [**Powershell**](#tab/powershell)
1867
2009
2010
+ Use [Set-AzVMExtension](/powershell/module/az.compute/set-azvmextension) to install IIS on the virtual machine.
2011
+
2012
+ ```powershell
2013
+ $vmExtensionParams = @{
2014
+ ResourceGroupName = "test-rg"
2015
+ VMName = "vm-spoke-2"
2016
+ Name = "CustomScriptExtension"
2017
+ Publisher = "Microsoft.Compute"
2018
+ Type = "CustomScriptExtension"
2019
+ TypeHandlerVersion = "1.10"
2020
+ Settings = @{
2021
+ "commandToExecute" = "powershell Add-WindowsFeature Web-Server; powershell Add-Content -Path ' C:\i netpub\w wwroot\d efault.htm' -Value $($env:computername)"
2022
+ }
2023
+ }
2024
+ Set-AzVMExtension @vmExtensionParams
2025
+ ```
2026
+
1868
2027
# [**CLI**](#tab/cli)
1869
2028
1870
2029
Use [az vm extension set](/cli/azure/vm/extension#az_vm_extension_set) to install IIS on the virtual machine.
@@ -1987,6 +2146,16 @@ Use Microsoft Edge to connect to the web server on **vm-spoke-1** you installed
1987
2146
1988
2147
# [**Powershell**](#tab/powershell)
1989
2148
2149
+ Use [Remove-AzResourceGroup](/powershell/module/az.resources/remove-azresourcegroup) to delete the resource group.
2150
+
2151
+ ```powershell
2152
+ $rgParams = @{
2153
+ Name = "test-rg"
2154
+ Force = $true
2155
+ }
2156
+ Remove-AzResourceGroup @rgParams
2157
+ ```
2158
+
1990
2159
# [**CLI**](#tab/cli)
1991
2160
1992
2161
Use [az group delete](/cli/azure/group#az_group_delete) to delete the resource group.
0 commit comments