Hızlı Başlangıç: Azure PowerShell kullanarak NAT ağ geçidi oluşturma
Bu hızlı başlangıçta, PowerShell kullanarak NAT ağ geçidi oluşturmayı öğrenin. NAT Gateway hizmeti, Azure'daki sanal makineler için giden bağlantı sağlar.
Önkoşullar
Etkin aboneliği olan bir Azure hesabı. Ücretsiz hesap oluşturun.
Azure Cloud Shell veya Azure PowerShell.
Bu hızlı başlangıçtaki adımlar, Azure Cloud Shell'de Azure PowerShell cmdlet'lerini etkileşimli olarak çalıştırır. Cloud Shell'de komutları çalıştırmak için kod bloğunun sağ üst köşesindeki CloudShell'i Aç'ı seçin. Kodu kopyalamak için Kopyala'yı seçin ve çalıştırmak için Cloud Shell'e yapıştırın. Cloud Shell'i Azure portalından da çalıştırabilirsiniz.
Cmdlet'leri çalıştırmak için Azure PowerShell'i yerel olarak da yükleyebilirsiniz. Bu makaledeki adımlar Için Azure PowerShell modülü sürüm 5.4.1 veya üzeri gerekir. Yüklü sürümünüzü bulmak için komutunu çalıştırın
Get-Module -ListAvailable Az
. Yükseltmeniz gerekiyorsa bkz . Azure PowerShell modülünü güncelleştirme.
Kaynak grubu oluşturma
New-AzResourceGroup ile bir kaynak grubu oluşturun. Azure kaynak grubu, Azure kaynaklarının dağıtıldığı ve yönetildiği bir mantıksal kapsayıcıdır.
Aşağıdaki örnek, eastus2 konumunda test-rg adlı bir kaynak grubu oluşturur:
$rsg = @{
Name = 'test-rg'
Location = 'eastus2'
}
New-AzResourceGroup @rsg
NAT ağ geçidini oluşturma
Bu bölümde NAT ağ geçidini ve destekleyici kaynakları oluşturacağız.
İnternet'e erişmek için NAT ağ geçidi için bir veya daha fazla genel IP adresine ihtiyacınız vardır. Test-rg içinde public-ip-nat adlı bir genel IP adresi kaynağı oluşturmak için New-AzPublicIpAddress komutunu kullanın.
New-AzNatGateway ile genel bir Azure NAT ağ geçidi oluşturun. Bu komutun sonucu, public-ip-nat genel IP adresini kullanan nat-gateway adlı bir ağ geçidi kaynağı oluşturur. Boşta kalma zaman aşımı 10 dakika olarak ayarlanır.
New-AzVirtualNetwork kullanarak test-rg içinde New-AzVirtualNetworkSubnetConfig komutunu kullanarak subnet-1 adlı bir alt ağ ile vnet-1 adlı bir sanal ağ oluşturun. Sanal ağın IP adresi alanı 10.0.0.0/16'dır. Sanal ağ içindeki alt ağ 10.0.0.0/24'dür.
Sanal makineye erişmek için bastion adlı bir Azure Bastion konağı oluşturun. Savunma konağı oluşturmak için New-AzBastion kullanın. New-AzPublicIpAddress ile savunma konağı için bir genel IP adresi oluşturun.
## Create public IP address for NAT gateway ##
$ip = @{
Name = 'public-ip-nat'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
Zone = 1,2,3
}
$publicIP = New-AzPublicIpAddress @ip
## Create NAT gateway resource ##
$nat = @{
ResourceGroupName = 'test-rg'
Name = 'nat-gateway'
IdleTimeoutInMinutes = '10'
Sku = 'Standard'
Location = 'eastus2'
PublicIpAddress = $publicIP
}
$natGateway = New-AzNatGateway @nat
## Create subnet config and associate NAT gateway to subnet##
$subnet = @{
Name = 'subnet-1'
AddressPrefix = '10.0.0.0/24'
NatGateway = $natGateway
}
$subnetConfig = New-AzVirtualNetworkSubnetConfig @subnet
## Create Azure Bastion subnet. ##
$bastsubnet = @{
Name = 'AzureBastionSubnet'
AddressPrefix = '10.0.1.0/26'
}
$bastsubnetConfig = New-AzVirtualNetworkSubnetConfig @bastsubnet
## Create the virtual network ##
$net = @{
Name = 'vnet-1'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
AddressPrefix = '10.0.0.0/16'
Subnet = $subnetConfig,$bastsubnetConfig
}
$vnet = New-AzVirtualNetwork @net
## Create public IP address for bastion host. ##
$ip = @{
Name = 'public-ip'
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Sku = 'Standard'
AllocationMethod = 'Static'
Zone = 1,2,3
}
$publicip = New-AzPublicIpAddress @ip
## Create bastion host ##
$bastion = @{
Name = 'bastion'
ResourceGroupName = 'test-rg'
PublicIpAddressRgName = 'test-rg'
PublicIpAddressName = 'public-ip'
VirtualNetworkRgName = 'test-rg'
VirtualNetworkName = 'vnet-1'
Sku = 'Basic'
}
New-AzBastion @bastion
Savunma ana bilgisayarının dağıtılması birkaç dakika sürebilir. Sonraki bölüme geçmeden önce savunma konasının dağıtılması için bekleyin.
Sanal makine
Bu bölümde, NAT ağ geçidini test etmek ve giden bağlantının genel IP adresini doğrulamak için bir sanal makine oluşturacaksınız.
New-AzNetworkInterface ile bir ağ arabirimi oluşturun.
Get-Credential ile VM için bir yönetici kullanıcı adı ve parolası ayarlayın.
Sanal makineyi şu şekilde oluşturun:
# Set the administrator and password for the VMs. ##
$cred = Get-Credential
## Place the virtual network into a variable. ##
$vnet = Get-AzVirtualNetwork -Name 'vnet-1' -ResourceGroupName 'test-rg'
## Create network interface for virtual machine. ##
$nic = @{
Name = "nic-1"
ResourceGroupName = 'test-rg'
Location = 'eastus2'
Subnet = $vnet.Subnets[0]
}
$nicVM = New-AzNetworkInterface @nic
## Create a virtual machine configuration for VMs ##
$vmsz = @{
VMName = 'vm-1'
VMSize = 'Standard_DS1_v2'
}
$vmos = @{
ComputerName = 'vm-1'
Credential = $cred
}
$vmimage = @{
PublisherName = 'Canonical'
Offer = '0001-com-ubuntu-server-jammy'
Skus = '22_04-lts-gen2'
Version = 'latest'
}
$vmConfig = New-AzVMConfig @vmsz `
| Set-AzVMOperatingSystem @vmos -Linux `
| Set-AzVMSourceImage @vmimage `
| Add-AzVMNetworkInterface -Id $nicVM.Id
## Create the virtual machine for VMs ##
$vm = @{
ResourceGroupName = 'test-rg'
Location = 'eastus2'
VM = $vmConfig
}
New-AzVM @vm
Sonraki bölüme geçmeden önce sanal makine oluşturma işleminin tamamlanmasını bekleyin.
NAT ağ geçidini test edin
Bu bölümde NAT ağ geçidini test edin. İlk olarak NAT ağ geçidinin genel IP'sini bulursunuz. Ardından test sanal makinesine bağlanır ve NAT ağ geçidi üzerinden giden bağlantıyı doğrularsınız.
Azure Portal’ında oturum açın.
Portalın üst kısmındaki arama kutusuna Genel IP girin. Arama sonuçlarında Genel IP adresleri'ni seçin.
public-ip-nat öğesini seçin.
Genel IP adresini not edin:
Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i seçin.
vm-1'i seçin.
Genel Bakış sayfasında Bağlan'ı ve ardından Bastion sekmesini seçin.
Bastion Kullan'ı seçin.
VM oluşturma sırasında girilen kullanıcı adını ve parolayı girin. Bağlan'ı seçin.
Bash istemine aşağıdaki komutu girin:
curl ifconfig.me
Komut tarafından döndürülen IP adresinin NAT ağ geçidinin genel IP adresiyle eşleşir olduğunu doğrulayın.
azureuser@vm-1:~$ curl ifconfig.me 20.7.200.36
Kaynakları temizleme
Bu uygulamayı kullanmaya devam etmeyecekseniz aşağıdaki adımları izleyerek sanal ağı, sanal makineyi ve NAT ağ geçidini silin:
Remove-AzResourceGroup -Name 'test-rg' -Force
Sonraki adımlar
Azure NAT Gateway hakkında daha fazla bilgi için bkz: