PowerShell kullanarak sanal ağları sanal ağ eşlemesi ile bağlama
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. | |
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 portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. |
Azure Cloud Shell'i kullanmak için:
Cloud Shell'i başlatın.
Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.
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.
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 değerinin Bağlı olduğunu görürsünüz. Azure ayrıca vnet-1-vnet-2 eşlemesinin eşleme durumunu Bağlandı olarak değiştirdi. vnet-1-vnet-2 eşlemesi için eşleme durumunun Get-AzVirtualNetworkPeering ile Bağlandı 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ğlı olana 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:
- VM'ye bir genel IP adresi atanır.
- VM, giden kuralları olan veya olmayan standart bir yük dengeleyicinin arka uç havuzuna yerleştirilir.
- VM'nin alt a bilgisayarına bir Azure NAT Gateway kaynağı atanı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.