Azure PowerShell kullanarak bir sanal ağı ExpressRoute bağlantı hattına bağlama

Bu makale, Resource Manager dağıtım modelini ve PowerShell'i kullanarak sanal ağları (VNet) Azure ExpressRoute bağlantı hatlarına bağlamanıza yardımcı olur. Sanal ağlar aynı abonelikte veya başka bir aboneliğin parçası olabilir. Bu öğreticide ayrıca bir sanal ağ bağlantısının nasıl güncelleştirilecekleri de gösterilir.

ExpressRoute bağlantı hattına bağlı bir sanal ağı gösteren diyagram.

Önkoşullar

  • Yapılandırmaya başlamadan önce önkoşulları, yönlendirme gereksinimlerini ve iş akışlarını gözden geçirin.

  • Etkin bir ExpressRoute bağlantı hattınızın olması gerekir.

    • ExpressRoute bağlantı hattı oluşturmak ve bağlantı hattınızın bağlantı sağlayıcınız tarafından etkinleştirilmesini sağlamak için yönergeleri izleyin.
    • Bağlantı hattınız için Azure özel eşlemesini yapılandırdığınızdan emin olun. Yönlendirme yönergeleri için yönlendirmeyi yapılandırma makalesine bakın.
    • Azure özel eşlemenin yapılandırıldığından ve uçtan uca bağlantı için ağınızla Microsoft arasında BGP eşlemesi oluşturduğuna emin olun.
    • Bir sanal ağınız ve sanal ağ geçidinin oluşturulduğu ve tam olarak sağlandığına emin olun. ExpressRoute için sanal ağ geçidi oluşturmak için yönergeleri izleyin. ExpressRoute için sanal ağ geçidi VPN'yi değil GatewayType'ı ExpressRoutekullanır.
  • Standart bir ExpressRoute bağlantı hattına en fazla 10 sanal ağ bağlayabilirsiniz. Standart bir ExpressRoute bağlantı hattı kullanılırken tüm sanal ağlar aynı jeopolitik bölgede olmalıdır.

  • Tek bir sanal ağ en fazla 16 ExpressRoute bağlantı hattına bağlanabilir. Bağlandığınız her ExpressRoute bağlantı hattı için yeni bir bağlantı nesnesi oluşturmak için bu makaledeki adımları kullanın. ExpressRoute bağlantı hatları aynı abonelikte, farklı aboneliklerde veya her ikisinin bir karışımında olabilir.

  • ExpressRoute premium eklentisini etkinleştirirseniz, ExpressRoute bağlantı hattının jeopolitik bölgesinin dışındaki sanal ağları bağlayabilirsiniz. Premium eklenti, seçilen bant genişliğine bağlı olarak ExpressRoute bağlantı hattınıza 10'dan fazla sanal ağ bağlamanıza olanak tanır. Premium eklenti hakkında daha fazla bilgi için SSS bölümüne bakın.

  • ExpressRoute bağlantı hattından hedef ExpressRoute sanal ağ geçidine bağlantı oluşturmak için, yerel veya eşlenmiş sanal ağlardan tanıtılan adres alanı sayısının 200'e eşit veya daha az olması gerekir. Bağlantı başarıyla oluşturulduktan sonra, yerel veya eşlenmiş sanal ağlara 1.000'e kadar daha fazla adres alanı ekleyebilirsiniz.

  • ExpressRoute üzerinden sanal ağlar arasında bağlantı için kılavuzu gözden geçirin.

Azure PowerShell ile çalışma

Bu makaledeki adımlar ve örnekler Azure PowerShell Az modüllerini kullanır. Az modüllerini bilgisayarınıza yerel olarak yüklemek için bkz . Azure PowerShell'i yükleme. Yeni Az modülü hakkında daha fazla bilgi edinmek için bkz . Yeni Azure PowerShell Az modülüne giriş. PowerShell cmdlet'leri sık sık güncelleştirilir. En son sürümü çalıştırmıyorsanız, yönergelerde belirtilen değerler başarısız olabilir. Sisteminizde Yüklü PowerShell sürümlerini bulmak için cmdlet'ini Get-Module -ListAvailable Az kullanın.

Azure Cloud Shell'i kullanarak Azure PowerShell veya CLI'yı yerel olarak yüklemek yerine çoğu PowerShell cmdlet'ini ve CLI komutunu çalıştırabilirsiniz. Azure Cloud Shell, yaygın Azure araçlarının önceden yüklenmiş olduğu ve hesabınızla birlikte kullanılacak şekilde yapılandırılmış ücretsiz bir etkileşimli kabukdur. Bu makalede yer alan tüm kodları Azure Cloud Shell'de çalıştırmak için bir Cloud Shell oturumu açın, kodu kopyalamak için kod bloğundaki Kopyala düğmesini kullanın ve Windows ve Linux'ta Ctrl+Shift+V veya macOS üzerinde Cmd+Shift+V ile Cloud Shell oturumuna yapıştırın. Yapıştırılan metin otomatik olarak yürütülmedi, kodu çalıştırmak için Enter tuşuna basın.

Cloud Shell’i başlatmanın birkaç yolu vardır:

Seçenek Bağlantı
Kod bloğunun sağ üst köşesindeki Deneyin’e tıklayın. Bu makaledeki Cloud Shell
Cloud Shell’i tarayıcınızda açın. https://shell.azure.com/powershell
Azure portalının sağ üst kısmındaki menüde yer alan Cloud Shell düğmesine tıklayın. Portalda Cloud Shell

Sanal ağ bağlama

En yüksek dayanıklılık (Önerilen): Sanal ağınıza en yüksek dayanıklılık düzeyini sağlar. Sanal ağ geçidinden farklı ExpressRoute konumlarındaki iki farklı ExpressRoute bağlantı hattına iki yedekli bağlantı sağlar.

Betiği kopyalama

En fazla dayanıklılık bağlantısı oluşturmak için GitHub'dan kurulum betiğini kopyalayın.

# Clone the setup script from GitHub.
git clone https://github.com/Azure-Samples/azure-docs-powershell-samples/ 
# Change to the directory where the script is located.
CD azure-docs-powershell-samples/expressroute/

Yüksek kullanılabilirlik bağlantıları oluşturmak için New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 betiğini çalıştırın. Aşağıdaki örnekte, iki ExpressRoute bağlantı hattına iki yeni bağlantının nasıl oluşturulacağı gösterilmektedir.

$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
$circuit1 = Get-AzExpressRouteCircuit -Name "MyCircuit1" -ResourceGroupName "MyRG"
$circuit2 = Get-AzExpressRouteCircuit -Name "MyCircuit2" -ResourceGroupName "MyRG"
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"

highAvailabilitySetup/New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 -SubscriptionId $SubscriptionId -ResourceGroupName "MyRG" -Location "West EU" -Name1 "ERConnection1" -Name2 "ERConnection2" -Peer1 $circuit1.Peerings[0] -Peer2 $circuit2.Peerings[0] -RoutingWeight1 10 -RoutingWeight2 10 -VirtualNetworkGateway1 $gw

Yeni bir bağlantı oluşturmak ve mevcut bir bağlantı kullanmak istiyorsanız aşağıdaki örneği kullanabilirsiniz. Bu örnek, ikinci bir ExpressRoute bağlantı hattına yeni bir bağlantı oluşturur ve ilk ExpressRoute bağlantı hattına var olan bir bağlantıyı kullanır.

$SubscriptionId = Get-AzureSubscription -SubscriptionName "<SubscriptionName>"
$circuit1 = Get-AzExpressRouteCircuit -Name "MyCircuit1" -ResourceGroupName "MyRG"
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = Get-AzVirtualNetworkGatewayConnection -Name "ERConnection1" -ResourceGroupName "MyRG"

highAvailabilitySetup/New-AzHighAvailabilityVirtualNetworkGatewayConnections.ps1 -SubscriptionId $SubscriptionId -ResourceGroupName "MyRG" -Location "West EU" -Name2 "ERConnection2" -Peer2 $circuit1.Peerings[0] -RoutingWeight2 10 -VirtualNetworkGateway1 $gw -ExistingVirtualNetworkGatewayConnection $connection

Farklı abonelikteki bir sanal ağı devreye bağlama

ExpressRoute bağlantı hattını birden çok abonelikte paylaşabilirsiniz. Aşağıdaki şekilde, birden çok abonelikte ExpressRoute bağlantı hatları için paylaşımın nasıl çalıştığına ilişkin basit bir şema gösterilmektedir.

Not

Azure bağımsız bulutları ile Genel Azure bulutu arasında sanal ağların bağlanması desteklenmez. Yalnızca aynı buluttaki farklı aboneliklerden sanal ağları bağlayabilirsiniz.

Büyük buluttaki küçük bulutların her biri, bir kuruluştaki farklı departmanlara ait abonelikleri temsil etmek için kullanılır. Kuruluştaki departmanların her biri hizmetlerini dağıtmak için kendi aboneliklerini kullanır ancak şirket içi ağınıza geri bağlanmak için tek bir ExpressRoute bağlantı hattını paylaşabilir. Tek bir departman (bu örnekte: BT) ExpressRoute bağlantı hattına sahip olabilir. Kuruluştaki diğer abonelikler ExpressRoute bağlantı hattını kullanabilir.

Not

ExpressRoute bağlantı hattı için bağlantı ve bant genişliği ücretleri abonelik sahibine uygulanır. Tüm sanal ağlar aynı bant genişliğini paylaşır.

Abonelikler arası bağlantı

Yönetim - devre sahipleri ve devre kullanıcıları

'Bağlantı hattı sahibi', ExpressRoute bağlantı hattı kaynağının yetkili bir Power User'dır. Devre sahibi, 'devre kullanıcıları' tarafından kullanılabilecek yetkilendirmeler oluşturabilir. Bağlantı hattı kullanıcıları, ExpressRoute bağlantı hattıyla aynı abonelik içinde olmayan sanal ağ geçitlerinin sahipleridir. Devre kullanıcıları yetkilendirmeleri kullanabilir (sanal ağ başına bir yetkilendirme).

Devre sahibi, yetkilendirmeleri istediği zaman değiştirme ve iptal etme gücüne sahiptir. Yetkilendirmenin iptali, erişimi iptal edilen abonelikten tüm bağlantı bağlantılarının silinmesine neden olur.

Not

Bağlantı hattı sahibi yerleşik bir RBAC rolü değildir veya ExpressRoute kaynağında tanımlanmaz. Bağlantı hattı sahibinin tanımı, aşağıdaki erişime sahip herhangi bir roldür:

  • Microsoft.Network/expressRouteCircuits/authorizations/write
  • Microsoft.Network/expressRouteCircuits/authorizations/read
  • Microsoft.Network/expressRouteCircuits/authorizations/delete

Buna Katkıda Bulunan, Sahip ve Ağ Katkıda Bulunanı gibi yerleşik roller dahildir. Farklı yerleşik roller için ayrıntılı açıklama.

Devre sahibi işlemleri

Yetkilendirme oluşturmak için

Devre sahibi, sanal ağ geçitlerini ExpressRoute bağlantı hattına bağlamak için devre kullanıcısı tarafından kullanılacak bir yetkilendirme anahtarı oluşturan bir yetkilendirme oluşturur. Yetkilendirme yalnızca bir bağlantı için geçerlidir.

Aşağıdaki cmdlet kod parçacığında yetkilendirmenin nasıl oluşturulacağı gösterilmektedir:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
Add-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization1"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$auth1 = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization1"

Önceki komutlara verilen yanıt yetkilendirme anahtarını ve durumunu içerir:

Name                   : MyAuthorization1
Id                     : /subscriptions/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/resourceGroups/ERCrossSubTestRG/providers/Microsoft.Network/expressRouteCircuits/CrossSubTest/authorizations/MyAuthorization1
Etag                   : &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 
AuthorizationKey       : ####################################
AuthorizationUseStatus : Available
ProvisioningState      : Succeeded

Yetkilendirmeleri gözden geçirmek için

Bağlantı hattı sahibi, aşağıdaki cmdlet'i çalıştırarak belirli bir bağlantı hattında verilen tüm yetkilendirmeleri gözden geçirebilir:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit

Yetkilendirme eklemek için

Bağlantı hattı sahibi aşağıdaki cmdlet'i kullanarak yetkilendirme ekleyebilir:

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
Add-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit -Name "MyAuthorization2"
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"
$authorizations = Get-AzExpressRouteCircuitAuthorization -ExpressRouteCircuit $circuit

Yetkilendirmeleri silmek için

Devre sahibi aşağıdaki cmdlet'i çalıştırarak kullanıcıya yönelik yetkilendirmeleri iptal edebilir/silebilir:

Remove-AzExpressRouteCircuitAuthorization -Name "MyAuthorization2" -ExpressRouteCircuit $circuit
Set-AzExpressRouteCircuit -ExpressRouteCircuit $circuit

Devre kullanıcı işlemleri

Devre kullanıcısının eş kimliğine ve bağlantı hattı sahibinden bir yetkilendirme anahtarına ihtiyacı vardır. Yetkilendirme anahtarı bir GUID'dir.

Eş Kimliği aşağıdaki komuttan denetlenebilir:

Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG"

Bağlantı yetkilendirmesini kullanmak için

Bağlantı hattı kullanıcısı, bağlantı yetkilendirmesini kullanmak için aşağıdaki cmdlet'i çalıştırabilir:

$id = "/subscriptions/********************************/resourceGroups/ERCrossSubTestRG/providers/Microsoft.Network/expressRouteCircuits/MyCircuit"    
$gw = Get-AzVirtualNetworkGateway -Name "ExpressRouteGw" -ResourceGroupName "MyRG"
$connection = New-AzVirtualNetworkGatewayConnection -Name "ERConnection" -ResourceGroupName "RemoteResourceGroup" -Location "East US" -VirtualNetworkGateway1 $gw -PeerId $id -ConnectionType ExpressRoute -AuthorizationKey "^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^"

Bağlantı yetkilendirmesini serbest bırakmak için

ExpressRoute bağlantı hattını sanal ağa bağlayan bağlantıyı silerek yetkilendirmeyi serbest bırakabilirsiniz.

Sanal ağ bağlantısını değiştirme

Sanal ağ bağlantısının belirli özelliklerini güncelleştirebilirsiniz.

Bağlantı kalınlığını güncelleştirmek için

Sanal ağınız birden çok ExpressRoute bağlantı hattına bağlanabilir. Aynı ön eki birden fazla ExpressRoute bağlantı hattından alabilirsiniz. Bu ön eki hedefleyen trafiğin gönderileceği bağlantıyı seçmek için, bir bağlantının RoutingWeight'ını değiştirebilirsiniz. Trafik, en yüksek RoutingWeight ile bağlantı üzerinden gönderilir.

$connection = Get-AzVirtualNetworkGatewayConnection -Name "MyVirtualNetworkConnection" -ResourceGroupName "MyRG"
$connection.RoutingWeight = 100
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

RoutingWeight aralığı 0 ile 32000 arasındadır. Varsayılan değer 0'tir.

ExpressRoute FastPath Yapılandırması

Sanal ağ geçidiniz Ultra Performans veya ErGw3AZ ise ExpressRoute FastPath'i etkinleştirebilirsiniz. FastPath, saniye başına paket sayısı ve şirket içi ağınızla sanal ağınız arasındaki saniyedeki bağlantılar gibi veri yolu performansını geliştirir.

Yeni bir bağlantıda FastPath'i yapılandırma

$circuit = Get-AzExpressRouteCircuit -Name "MyCircuit" -ResourceGroupName "MyRG" 
$gw = Get-AzVirtualNetworkGateway -Name "MyGateway" -ResourceGroupName "MyRG" 
$connection = New-AzVirtualNetworkGatewayConnection -Name "MyConnection" -ResourceGroupName "MyRG" -ExpressRouteGatewayBypass -VirtualNetworkGateway1 $gw -PeerId $circuit.Id -ConnectionType ExpressRoute -Location "MyLocation" 

FastPath'i etkinleştirmek için mevcut bağlantıyı güncelleştirme

$connection = Get-AzVirtualNetworkGatewayConnection -Name "MyConnection" -ResourceGroupName "MyRG" 
$connection.ExpressRouteGatewayBypass = $True
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Sanal Ağ Eşleme ve UDR desteğiyle FastPath trafiği doğrudan "uç" Sanal Ağ dağıtılan VM'lere gönderir (Sanal Ağ Eşleme yoluyla bağlanır) ve GatewaySubnet'te yapılandırılan tüm UDR'leri kabul eder. Bu özellik genel kullanıma sunuldu (GA).

FastPath ve Özel Bağlantı ile ExpressRoute üzerinden gönderilen Özel Bağlantı trafik, veri yolundaki ExpressRoute sanal ağ geçidini atlar. Bu özelliklerin her ikisi de etkinleştirildiğinde, FastPath trafiği doğrudan bir "uç" Sanal Ağ dağıtılan Özel Uç Noktaya gönderir.

Bu senaryolar, 10 Gb/sn ve 100 Gb/sn ExpressRoute Direct bağlantı hatlarıyla ilişkili sınırlı senaryolar için Genel Kullanıma sunulmuştur. Etkinleştirmek için aşağıdaki yönergeleri izleyin:

  1. Aboneliğinizi kaydetme isteğinde bulunmak için bu Microsoft Formunu doldurun. İsteklerin tamamlanması 4 haftaya kadar sürebilir, bu nedenle dağıtımları uygun şekilde planlayın.
  2. 1. Adım'dan bir onay aldıktan sonra, hedef Azure aboneliğinde aşağıdaki Azure PowerShell komutunu çalıştırın.
$connection = Get-AzVirtualNetworkGatewayConnection -ResourceGroupName <resource-group> -ResourceName <connection-name>
$connection.ExpressRouteGatewayBypass = $true
$connection.EnablePrivateLinkFastPath = $true
Set-AzVirtualNetworkGatewayConnection -VirtualNetworkGatewayConnection $connection

Not

FastPath kullanarak trafiğinizin hedefe ulaştığını doğrulamak için Bağlantı İzleyicisi kullanabilirsiniz.

Not

Sınırlı GA senaryoları için FastPath Özel Bağlantı desteğinin etkinleştirilmesi 4 hafta kadar sürebilir. Lütfen dağıtımlarınızı önceden planlayın.

Sanal ağ eşleme ve UDR'ler için FastPath desteği yalnızca ExpressRoute Direct bağlantılarında kullanılabilir.

Not

FastPath'i zaten yapılandırdıysanız ve sınırlı GA özelliklerine kaydolmak istiyorsanız, aşağıdakileri yapmanız gerekir:

  1. Azure PowerShell komutlarıyla FastPath özelliklerinden birine kaydolun.
  2. Hedef bağlantıda FastPath'i devre dışı bırakın ve yeniden etkinleştirin.
  3. Sınırlı GA özelliği arasında geçiş yapmak için aboneliği hedef önizleme PowerShell komutuyla kaydedin ve ardından bağlantıda FastPath'i devre dışı bırakın ve yeniden etkinleştirin.

Kaynakları temizleme

ExpressRoute bağlantısına artık ihtiyacınız yoksa, ağ geçidinin bulunduğu abonelikten komutunu kullanarak Remove-AzVirtualNetworkGatewayConnection ağ geçidi ile bağlantı hattı arasındaki bağlantıyı kaldırın.

Remove-AzVirtualNetworkGatewayConnection "MyConnection" -ResourceGroupName "MyRG"

Sonraki adımlar

Bu öğreticide, bir sanal ağı aynı abonelikteki ve farklı bir abonelikteki bir bağlantı hattına nasıl bağlayabileceğinizi öğrendiniz. ExpressRoute ağ geçitleri hakkında daha fazla bilgi için bkz. ExpressRoute sanal ağ geçitleri.

PowerShell kullanarak Microsoft eşlemesi filtrelerini yapılandırmayı, yönlendirmeyi öğrenmek için sonraki öğreticiye ilerleyin.