PowerShell kullanarak sanal ağ eşlemesi ile sanal ağları Bağlan

Sanal ağ eşlemesi ile sanal ağları birbirine bağlayabilirsiniz. Sanal ağlar eşlendikten sonra, kaynaklar aynı sanal ağ üzerindeymiş gibi, aynı gecikme süresi ve bant genişliği ile her iki sanal ağdaki kaynaklar birbiriyle iletişim kurabilir.

Bu makalede şunları öğreneceksiniz:

  • İki sanal ağ oluşturma

  • Sanal ağ eşlemesi iki sanal ağı bağlama

  • Her sanal ağa sanal makine (VM) dağıtma

  • Sanal makineler arasında iletişim

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Azure Cloud Shell için Deneyin örneğini gösteren ekran görüntüsü.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Azure Cloud Shell'i başlatma düğmesi.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Azure portalında Cloud Shell düğmesini gösteren ekran görüntüsü

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

PowerShell'i yerel olarak yükleyip kullanmayı seçerseniz, bu makale Için Azure PowerShell modülünün 1.0.0 veya sonraki bir sürümü gerekir. Yüklü sürümü bulmak için Get-Module -ListAvailable Az komutunu çalıştırın. Yükseltmeniz gerekirse, bkz. Azure PowerShell modülünü yükleme. PowerShell'i yerel olarak çalıştırıyorsanız Azure bağlantısı oluşturmak için Connect-AzAccount komutunu da çalıştırmanız gerekir.

Sanal ağlar oluşturma

Sanal ağ oluşturmadan önce, sanal ağ ve bu makalede oluşturulan diğer tüm kaynaklar için bir kaynak grubu oluşturmanız gerekir. New-AzResourceGroup ile bir kaynak grubu oluşturun. Aşağıdaki örnek eastus konumunda test-rg adlı bir kaynak grubu oluşturur.

$resourceGroup = @{
    Name = "test-rg"
    Location = "EastUS"
}
New-AzResourceGroup @resourceGroup

New-AzVirtualNetwork ile bir sanal ağ oluşturun. Aşağıdaki örnek, 10.0.0.0/16 adres ön ekiyle vnet-1 adlı bir sanal ağ oluşturur.

$vnet1 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    Name = "vnet-1"
    AddressPrefix = "10.0.0.0/16"
}
$virtualNetwork1 = New-AzVirtualNetwork @vnet1

Add-AzVirtualNetworkSubnetConfig ile bir alt ağ yapılandırması oluşturun. Aşağıdaki örnek, 10.0.0.0/24 adres ön ekiyle bir alt ağ yapılandırması oluşturur:

$subConfig = @{
    Name = "subnet-1"
    AddressPrefix = "10.0.0.0/24"
    VirtualNetwork = $virtualNetwork1
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subConfig

Alt ağı oluşturan Set-AzVirtualNetwork ile sanal ağa alt ağ yapılandırmasını yazın:

$virtualNetwork1 | Set-AzVirtualNetwork

10.1.0.0/16 adres ön eki ve bir alt ağa sahip bir sanal ağ oluşturun:

# Create the virtual network.
$vnet2 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    Name = "vnet-2"
    AddressPrefix = "10.1.0.0/16"
}
$virtualNetwork2 = New-AzVirtualNetwork @vnet2

# Create the subnet configuration.
$subConfig = @{
    Name = "subnet-1"
    AddressPrefix = "10.1.0.0/24"
    VirtualNetwork = $virtualNetwork2
}
$subnetConfig = Add-AzVirtualNetworkSubnetConfig @subConfig

# Write the subnet configuration to the virtual network.
$virtualNetwork2 | Set-AzVirtualNetwork

Sanal ağları eşleme

Add-AzVirtualNetworkPeering ile eşleme oluşturun. Aşağıdaki örnek, vnet-1 ile vnet-2 arasında eşler.

$peerConfig1 = @{
    Name = "vnet-1-to-vnet-2"
    VirtualNetwork = $virtualNetwork1
    RemoteVirtualNetworkId = $virtualNetwork2.Id
}
Add-AzVirtualNetworkPeering @peerConfig1

Önceki komut yürütüldükten sonra döndürülen çıktıda PeeringState'in Başlatıldı olduğunu görürsünüz. Eşleme, vnet-2'den vnet-1'e eşlemeyi oluşturana kadar Başlatıldı durumunda kalır. vnet-2 ile vnet-1 arasında bir eşleme oluşturun.

$peerConfig2 = @{
    Name = "vnet-2-to-vnet-1"
    VirtualNetwork = $virtualNetwork2
    RemoteVirtualNetworkId = $virtualNetwork1.Id
}
Add-AzVirtualNetworkPeering @peerConfig2

Önceki komut yürütüldükten sonra döndürülen çıktıda PeeringState'inBağlan olduğunu görürsünüz. Azure ayrıca vnet-1-vnet-2 eşlemesinin eşleme durumunu Bağlan olarak değiştirdi. vnet-1-vnet-2 eşlemesi için eşleme durumunun Get-AzVirtualNetworkPeering ile Bağlan olarak değiştiğini onaylayın.

$peeringState = @{
    ResourceGroupName = "test-rg"
    VirtualNetworkName = "vnet-1"
}
Get-AzVirtualNetworkPeering @peeringState | Select PeeringState

Her iki sanal ağdaki eşlemeler için PeeringState Bağlan kadar bir sanal ağdaki kaynaklar diğer sanal ağdaki kaynaklarla iletişim kuramaz.

Sanal makineleri oluşturma

Sonraki bir adımda aralarında iletişim kurabilmeniz için her sanal ağ üzerinde bir sanal makine oluşturun.

Birinci sanal makineyi oluşturma

New-AzVM ile vm oluşturma. Aşağıdaki örnek, vnet-1 sanal ağında vm-1 adlı bir VM oluşturur. seçeneği -AsJob vm'yi arka planda oluşturur, böylece sonraki adıma devam edebilirsiniz. İstendiğinde, sanal makinenin kullanıcı adını ve parolasını girin.

$vm1 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    VirtualNetworkName = "vnet-1"
    SubnetName = "subnet-1"
    ImageName = "Win2019Datacenter"
    Name = "vm-1"
}
New-AzVm @vm1 -AsJob

İkinci sanal makineyi oluşturma

$vm2 = @{
    ResourceGroupName = "test-rg"
    Location = "EastUS"
    VirtualNetworkName = "vnet-2"
    SubnetName = "subnet-1"
    ImageName = "Win2019Datacenter"
    Name = "vm-2"
}
New-AzVm @vm2

Sanal makinenin oluşturulması birkaç dakika sürer. Azure vm-2 oluşturup PowerShell'e çıkış döndürene kadar sonraki adımlarla devam etmeyin.

Not

Azure, genel IP adresi atanmamış veya bir iç temel Azure yük dengeleyicinin arka uç havuzunda yer alan VM'ler için varsayılan bir giden erişim IP'si sağlar. Varsayılan giden erişim IP mekanizması, yapılandırılamayan bir giden IP adresi sağlar.

Aşağıdaki olaylardan biri gerçekleştiğinde varsayılan giden erişim IP'si devre dışı bırakılır:

Sanal makine ölçek kümelerini esnek düzenleme modunda kullanarak oluşturduğunuz VM'lerin varsayılan giden erişimi yoktur.

Azure'daki giden bağlantılar hakkında daha fazla bilgi için bkz . Azure'da varsayılan giden erişim ve giden bağlantılar için Kaynak Ağ Adresi Çevirisi'ni (SNAT) kullanma.

Sanal makineler arasında iletişim

Vm'nin genel IP adresine İnternet'ten bağlanabilirsiniz. Bir VM'nin genel IP adresini döndürmek için Get-AzPublicIpAddress komutunu kullanın. Aşağıdaki örnek, vm-1 VM'sinin genel IP adresini döndürür:

$ipAddress = @{
    ResourceGroupName = "test-rg"
    Name = "vm-1"
}
Get-AzPublicIpAddress @ipAddress | Select IpAddress

Yerel bilgisayarınızdan vm-1 VM ile uzak masaüstü oturumu oluşturmak için aşağıdaki komutu kullanın. <publicIpAddress> değerini önceki komutta döndürülen IP adresi ile değiştirin.

mstsc /v:<publicIpAddress>

Uzak Masaüstü Protokolü (.rdp) dosyası oluşturulur ve açılır. Kullanıcı adını ve parolayı girin (VM'yi oluştururken girdiğiniz kimlik bilgilerini belirtmek için Diğer seçenekler'i ve ardından Farklı bir hesap kullan'ı seçmeniz gerekebilir) ve ardından Tamam'a tıklayın. Oturum açma işlemi sırasında bir sertifika uyarısı alabilirsiniz. Bağlantıya devam etmek için Evet veya Devam’a tıklayın.

vm-1'de, Sonraki bir adımda PowerShell kullanarak vm-2'den bu VM'ye ping işlemi yapabilmeniz için Windows Güvenlik Duvarı aracılığıyla İnternet Denetim İletisi Protokolü'ne (ICMP) olanak tanıyın:

New-NetFirewallRule –DisplayName "Allow ICMPv4-In" –Protocol ICMPv4

Bu makaledeki VM'ler arasında iletişim kurmak için ping kullanılsa da, üretim dağıtımları için Windows Güvenlik Duvarı üzerinden ICMP'ye izin vermek önerilmez.

vm-2'ye bağlanmak için, vm-1'de bir komut isteminden aşağıdaki komutu girin:

mstsc /v:10.1.0.4

vm-1'de ping'i etkinleştirmişsiniz. Artık vm-2'de bir komut isteminden IP adresine göre vm-1'e ping yapabilirsiniz.

ping 10.0.0.4

Dört yanıt alırsınız. RDP oturumlarınızın hem vm-1 hem de vm-2 ile bağlantısını kesin.

Kaynakları temizleme

Artık gerekli olmadığında Remove-AzResourcegroup komutunu kullanarak kaynak grubunu ve içerdiği tüm kaynakları kaldırın.

Remove-AzResourceGroup -Name test-rg -Force

Sonraki adımlar

Bu makalede, sanal ağ eşlemesi ile aynı Azure bölgesindeki iki ağı bağlamayı öğrendiniz. Farklı desteklenen bölgelerde ve farklı Azure aboneliklerinde sanal ağları eşleyebilir ve eşleme ile hub ve bağlı bileşen ağ tasarımları oluşturabilirsiniz. Sanal ağ eşlemesi hakkında daha fazla bilgi için bkz. Sanal ağ eşlemesine genel bakış ve Sanal ağ eşlemelerini yönetme.

Kendi bilgisayarınızı VPN aracılığıyla bir sanal ağa bağlayabilir ve bir sanal ağdaki veya eşlenmiş sanal ağlardaki kaynaklarla etkileşim kurabilirsiniz. Sanal ağ makalelerinde ele alınan görevlerin birçoğunun tamamlanması için yeniden kullanılabilir betikler için bkz . betik örnekleri.