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.

NAT ağ geçidi hızlı başlangıcında oluşturulan kaynakların diyagramı.

Ö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.

# 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.

  1. Azure Portal’ında oturum açın.

  2. Portalın üst kısmındaki arama kutusuna Genel IP girin. Arama sonuçlarında Genel IP adresleri'ni seçin.

  3. public-ip-nat öğesini seçin.

  4. Genel IP adresini not edin:

    NAT ağ geçidinin genel IP adresini bulma

  5. Portalın üst kısmındaki arama kutusuna Sanal makine yazın. Arama sonuçlarında Sanal makineler'i seçin.

  6. vm-1'i seçin.

  7. Genel Bakış sayfasında Bağlan'ı ve ardından Bastion sekmesini seçin.

  8. Bastion Kullan'ı seçin.

  9. VM oluşturma sırasında girilen kullanıcı adını ve parolayı girin. Bağlan'ı seçin.

  10. Bash istemine aşağıdaki komutu girin:

    curl ifconfig.me
    
  11. 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: