Menggunakan PowerShell untuk mengelola Traffic Manager

Azure Resource Manager adalah antarmuka manajemen pilihan untuk layanan di Azure. Profil Azure Traffic Manager dapat dikelola menggunakan API dan alat berbasis Azure Resource Manager.

Catatan

Kami menyarankan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Model sumber daya

Azure Traffic Manager dikonfigurasi menggunakan kumpulan pengaturan yang disebut profil Traffic Manager. Profil ini berisi pengaturan DNS, pengaturan perutean lalu lintas, pengaturan pemantauan titik akhir, dan daftar titik akhir layanan tempat lalu lintas dirutekan.

Setiap profil Traffic Manager diwakili oleh sumber daya jenis 'TrafficManagerProfiles'. Pada tingkat REST API, URI untuk setiap profil adalah sebagai berikut:

https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Network/trafficManagerProfiles/{profile-name}?api-version={api-version}

Menyiapkan Azure PowerShell

Catatan

Kami menyarankan agar Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Lihat Menginstal Azure PowerShell untuk memulai. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Instruksi ini menggunakan Microsoft Azure PowerShell. Artikel berikut menjelaskan cara menginstal dan mengonfigurasi Azure PowerShell.

Contoh dalam artikel ini mengasumsikan Anda sudah memiliki grup sumber daya. Anda dapat membuat grup sumber daya menggunakan perintah berikut:

New-AzResourceGroup -Name MyRG -Location "West US"

Catatan

Azure Resource Manager mengharuskan semua grup sumber daya memiliki lokasi. Lokasi ini digunakan sebagai default untuk sumber daya yang dibuat di grup sumber daya tersebut. Namun, karena sumber daya profil Traffic Manager bersifat global, bukan regional, pilihan lokasi grup sumber daya tidak berdampak pada Azure Traffic Manager.

Buat profil Azure Traffic Manager

Untuk membuat profil Traffic Manager, gunakan cmdlet New-AzTrafficManagerProfile:

$TmProfile = New-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG -TrafficRoutingMethod Performance -RelativeDnsName contoso -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"

Tabel berikut ini menjelaskan parameter:

Parameter Deskripsi
Nama Nama sumber daya untuk sumber daya profil Traffic Manager. Profil dalam grup sumber daya yang sama harus memiliki nama yang unik. Nama ini terpisah dari nama DNS yang digunakan untuk kueri DNS.
ResourceGroupName Nama grup sumber daya yang berisi sumber daya profil.
TrafficRoutingMethod Menentukan metode perutean lalu lintas yang digunakan untuk menentukan titik akhir mana yang dikembalikan sebagai respons kueri DNS. Nilai yang mungkin adalah 'Performance', 'Weighted', atau 'Priority'.
RelativeDnsName Menentukan bagian nama host dari nama DNS yang disediakan oleh profil Traffic Manager ini. Nilai ini dikombinasikan dengan nama domain DNS yang digunakan oleh Azure Traffic Manager untuk membentuk nama domain yang sepenuhnya memenuhi syarat (FQDN) dari profil. Misalnya, mengatur nilai 'contoso' menjadi 'contoso.trafficmanager.net.'
TTL Menentukan Waktu Hidup (TTL) DNS, dalam detik. TTL ini memberi tahu penyelesai DNS Lokal dan klien DNS tentang seberapa lama pembuatan cache respons DNS untuk profil Traffic Manager ini.
MonitorProtocol Menentukan protokol yang akan digunakan untuk memantau kesehatan titik akhir. Nilai yang mungkin adalah 'HTTP' dan 'HTTPS'.
MonitorPort Menentukan port TCP yang digunakan untuk memantau kesehatan titik akhir.
MonitorPath Menentukan jalur yang terkait dengan nama domain titik akhir yang digunakan untuk memeriksa kesehatan titik akhir.

Cmdlet membuat profil Traffic Manager di Azure dan mengembalikan objek profil yang sesuai ke PowerShell. Pada titik ini, profil tidak berisi titik akhir. Untuk informasi selengkapnya tentang menambahkan titik akhir ke profil Traffic Manager, lihat Menambahkan Titik Akhir Traffic Manager.

Mendapatkan Profil Traffic Manager

Untuk mengambil objek profil Traffic Manager yang ada, gunakan cmdlet Get-AzTrafficManagerProfle:

$TmProfile = Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG

Cmdlet ini mengembalikan objek profil Traffic Manager.

Memperbarui Profil Traffic Manager

Memodifikasi profil Traffic Manager mengikuti proses 3 langkah:

  1. Ambil profil menggunakan Get-AzTrafficManagerProfile atau gunakan profil yang dikembalikan oleh New-AzTrafficManagerProfile.
  2. Ubah profil. Anda dapat menambahkan dan menghapus titik akhir atau mengubah parameter titik akhir atau profil. Perubahan ini adalah operasi offline. Anda hanya mengubah objek lokal dalam memori yang mewakili profil.
  3. Terapkan perubahan Anda dengan menggunakan cmdlet Set-AzTrafficManagerProfile.

Semua properti profil dapat diubah kecuali RelativeDnsName profil. Untuk mengubah RelativeDnsName, Anda harus menghapus profil dan profil baru dengan nama baru.

Contoh berikut menunjukkan cara mengubah TTL profil:

$TmProfile = Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG
$TmProfile.Ttl = 300
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile

Ada tiga jenis titik akhir Traffic Manager:

  1. Titik akhir Azure adalah layanan yang dihost di Azure
  2. Titik akhir eksternal adalah layanan yang dihost di luar Azure
  3. Titik akhir bersarang digunakan untuk membangun hierarki bersarang profil Traffic Manager. Titik akhir bertumpuk memungkinkan konfigurasi perutean lalu lintas tingkat lanjut untuk aplikasi yang kompleks.

Dalam ketiga kasus, titik akhir dapat ditambahkan dengan dua cara:

  1. Menggunakan proses 3 langkah yang dijelaskan sebelumnya. Manfaat dari metode ini adalah bahwa beberapa perubahan titik akhir dapat dilakukan dalam satu pembaruan.
  2. Menggunakan cmdlet New-AzTrafficManagerEndpoint. Cmdlet ini menambahkan titik akhir ke profil Traffic Manager yang ada dalam satu operasi.

Menambahkan Titik Akhir Azure

Titik akhir Azure merujuk layanan yang dihost di Azure. Dua jenis titik akhir Azure didukung:

  1. Azure App Service
  2. Sumber daya PublicIpAddress Azure (yang dapat dilampirkan ke penyeimbangan muatan atau NIC komputer virtual). PublicIpAddress harus memiliki nama DNS yang ditetapkan untuk digunakan di Traffic Manager.

Dalam setiap kasus:

  • Layanan ini ditentukan menggunakan parameter 'targetResourceId' Add-AzTrafficManagerEndpointConfig atau New-AzTrafficManagerEndpoint.
  • 'Target' dan 'EndpointLocation' disiratkan oleh TargetResourceId.
  • Menentukan 'Bobot' bersifat opsional. Bobot hanya digunakan jika profil dikonfigurasi untuk menggunakan metode perutean lalu lintas 'Weighted'. Jika tidak, bobot diabaikan. Jika ditentukan, nilai harus berupa angka antara 1 dan 1000. Nilai defaultnya adalah '1'.
  • Menentukan 'Prioritas' bersifat opsional. Prioritas hanya digunakan jika profil dikonfigurasi untuk menggunakan metode perutean lalu lintas 'Priority'. Jika tidak, bobot diabaikan. Nilai yang valid adalah dari 1 hingga 1000 dengan nilai yang lebih rendah menunjukkan prioritas yang lebih tinggi. Jika ditentukan untuk satu titik akhir, titik akhir harus ditentukan untuk semua titik akhir. Jika dihilangkan, nilai default yang dimulai dari '1' diterapkan dalam urutan sesuai titik akhir yang dicantumkan.

Contoh 1: Menambahkan titik akhir App Service menggunakan Add-AzTrafficManagerEndpointConfig

Dalam contoh ini, kita membuat profil Traffic Manager dan menambahkan dua titik akhir App Service menggunakan cmdlet Add-AzTrafficManagerEndpointConfig.

$TmProfile = New-AzTrafficManagerProfile -Name myprofile -ResourceGroupName MyRG -TrafficRoutingMethod Performance -RelativeDnsName myapp -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"
$webapp1 = Get-AzWebApp -Name webapp1
Add-AzTrafficManagerEndpointConfig -EndpointName webapp1ep -TrafficManagerProfile $TmProfile -Type AzureEndpoints -TargetResourceId $webapp1.Id -EndpointStatus Enabled
$webapp2 = Get-AzWebApp -Name webapp2
Add-AzTrafficManagerEndpointConfig -EndpointName webapp2ep -TrafficManagerProfile $TmProfile -Type AzureEndpoints -TargetResourceId $webapp2.Id -EndpointStatus Enabled
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile

Contoh 2: Menambahkan titik akhir publicIpAddress menggunakan New-AzTrafficManagerEndpoint

Dalam contoh ini, sumber daya alamat IP publik ditambahkan ke profil Traffic Manager. Alamat IP publik harus memiliki nama DNS yang dikonfigurasi, dan dapat dikaitkan ke NIC VM atau ke penyeimbang muatan.

$ip = Get-AzPublicIpAddress -Name MyPublicIP -ResourceGroupName MyRG
New-AzTrafficManagerEndpoint -Name MyIpEndpoint -ProfileName MyProfile -ResourceGroupName MyRG -Type AzureEndpoints -TargetResourceId $ip.Id -EndpointStatus Enabled

Menambahkan Titik Akhir Eksternal

Traffic Manager menggunakan titik akhir eksternal untuk mengarahkan lalu lintas ke layanan yang dihost di luar Azure. Seperti halnya titik akhir Azure, titik akhir eksternal dapat ditambahkan menggunakan Add-AzTrafficManagerEndpointConfig yang diikuti oleh Set-AzTrafficManagerProfile, atau New-AzTrafficManagerEndpoint.

Saat menentukan titik akhir eksternal:

  • Nama domain titik akhir harus ditentukan menggunakan parameter 'Target'
  • Jika metode perutean lalu lintas 'Performa' digunakan, 'EndpointLocation' diperlukan. Jika tidak, EndpointLocation bersifat opsional. Nilai harus nama wilayah Azure yang valid.
  • 'Bobot' dan 'Prioritas' bersifat opsional.

Contoh 1: Menambahkan titik akhir eksternal menggunakan Add-AzTrafficManagerEndpointConfig dan Set-AzTrafficManagerProfile

Dalam contoh ini, kita membuat profil Traffic Manager, menambahkan dua titik akhir eksternal, dan menerapkan perubahan.

$TmProfile = New-AzTrafficManagerProfile -Name myprofile -ResourceGroupName MyRG -TrafficRoutingMethod Performance -RelativeDnsName myapp -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"
Add-AzTrafficManagerEndpointConfig -EndpointName eu-endpoint -TrafficManagerProfile $TmProfile -Type ExternalEndpoints -Target app-eu.contoso.com -EndpointLocation "North Europe" -EndpointStatus Enabled
Add-AzTrafficManagerEndpointConfig -EndpointName us-endpoint -TrafficManagerProfile $TmProfile -Type ExternalEndpoints -Target app-us.contoso.com -EndpointLocation "Central US" -EndpointStatus Enabled
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile

Contoh 2: Menambahkan titik akhir eksternal menggunakan New-AzTrafficManagerEndpoint

Dalam contoh ini, kita menambahkan titik akhir eksternal ke profil yang sudah ada. Profil ditentukan menggunakan nama profil dan grup sumber daya.

New-AzTrafficManagerEndpoint -Name eu-endpoint -ProfileName MyProfile -ResourceGroupName MyRG -Type ExternalEndpoints -Target app-eu.contoso.com -EndpointStatus Enabled

Menambahkan titik akhir 'Bersarang'

Setiap profil Traffic Manager menentukan satu metode perutean lalu lintas. Namun, ada skenario yang membutuhkan perutean lalu lintas yang lebih canggih daripada perutean yang disediakan oleh satu profil Traffic Manager. Anda dapat membuat sarang profil Traffic Manager untuk menggabungkan keuntungan dari lebih dari satu metode perutean lalu lintas. Profil bersarang memungkinkan Anda untuk mengambil alih perilaku Traffic Manager default untuk mendukung penyebaran aplikasi yang lebih besar dan lebih kompleks. Untuk contoh yang lebih terperinci, lihat Profil Traffic Manager Bersarang.

Titik akhir bersarang dikonfigurasi di profil induk, menggunakan jenis titik akhir tertentu, 'NestedEndpoints'. Saat menentukan titik akhir bertumpuk:

  • Titik akhir harus ditentukan menggunakan parameter 'targetResourceId'
  • Jika metode perutean lalu lintas 'Performa' digunakan, 'EndpointLocation' diperlukan. Jika tidak, EndpointLocation bersifat opsional. Nilai harus nama wilayah Azure yang valid.
  • 'Bobot' dan 'Prioritas' bersifat opsional, seperti untuk titik akhir Azure.
  • Parameter 'MinChildEndpoints' bersifat opsional. Nilai defaultnya adalah '1'. Jika jumlah titik akhir yang tersedia berada di bawah ambang ini, profil induk menganggap profil anak 'terdegradasi' dan mengalihkan lalu lintas ke titik akhir lainnya di profil induk.

Contoh 1: Menambahkan titik akhir bersarang menggunakan Add-AzTrafficManagerEndpointConfig dan Set-AzTrafficManagerProfile

Dalam contoh ini, kita membuat profil anak dan induk Traffic Manager baru, menambahkan anak sebagai titik akhir bersarang ke induk, dan menerapkan perubahan.

$child = New-AzTrafficManagerProfile -Name child -ResourceGroupName MyRG -TrafficRoutingMethod Priority -RelativeDnsName child -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"
$parent = New-AzTrafficManagerProfile -Name parent -ResourceGroupName MyRG -TrafficRoutingMethod Performance -RelativeDnsName parent -Ttl 30 -MonitorProtocol HTTP -MonitorPort 80 -MonitorPath "/"
Add-AzTrafficManagerEndpointConfig -EndpointName child-endpoint -TrafficManagerProfile $parent -Type NestedEndpoints -TargetResourceId $child.Id -EndpointStatus Enabled -EndpointLocation "North Europe" -MinChildEndpoints 2
Set-AzTrafficManagerProfile -TrafficManagerProfile $parent

Singkatnya, dalam contoh ini, kita tidak menambahkan titik akhir lain ke profil anak atau induk.

Contoh 2: Menambahkan titik akhir bersarang menggunakan New-AzTrafficManagerEndpoint

Dalam contoh ini, kita menambahkan profil anak yang sudah ada sebagai titik akhir bersarang ke profil induk yang sudah ada. Profil ditentukan menggunakan nama profil dan grup sumber daya.

$child = Get-AzTrafficManagerEndpoint -Name child -ResourceGroupName MyRG
New-AzTrafficManagerEndpoint -Name child-endpoint -ProfileName parent -ResourceGroupName MyRG -Type NestedEndpoints -TargetResourceId $child.Id -EndpointStatus Enabled -EndpointLocation "North Europe" -MinChildEndpoints 2

Menambahkan titik akhir dari langganan lain

Traffic Manager dapat bekerja dengan titik akhir dari langganan yang berbeda. Anda perlu beralih ke langganan dengan titik akhir yang ingin Anda tambahkan untuk mengambil input yang diperlukan ke Traffic Manager. Selanjutnya Anda perlu beralih ke langganan dengan profil Traffic Manager, dan menambahkan titik akhir ke langganan tersebut. Contoh di bawah ini memperlihatkan cara melakukan ini dengan alamat IP publik.

Set-AzContext -SubscriptionId $EndpointSubscription
$ip = Get-AzPublicIpAddress -Name $IpAddressName -ResourceGroupName $EndpointRG

Set-AzContext -SubscriptionId $trafficmanagerSubscription
New-AzTrafficManagerEndpoint -Name $EndpointName -ProfileName $ProfileName -ResourceGroupName $TrafficManagerRG -Type AzureEndpoints -TargetResourceId $ip.Id -EndpointStatus Enabled

Memperbarui Titik Akhir Traffic Manager

Ada dua cara untuk memperbarui titik akhir Traffic Manager yang ada:

  1. Dapatkan profil Traffic Manager menggunakan Get-AzTrafficManagerProfile, perbarui properti titik akhir dalam profil, dan terapkan perubahan menggunakan Set-AzTrafficManagerProfile. Metode ini memiliki manfaat untuk dapat memperbarui lebih dari satu titik akhir dalam satu operasi.
  2. Dapatkan titik akhir Traffic Manager menggunakanGet-AzTrafficManagerEndpoint, perbarui properti titik akhir, dan terapkan perubahan menggunakan Set-AzTrafficManagerEndpoint. Metode ini lebih sederhana, karena tidak memerlukan pengindeksan ke array Titik Akhir di profil.

Contoh 1: Memperbarui titik akhir menggunakan Get-AzTrafficManagerProfile dan Set-AzTrafficManagerProfile

Dalam contoh ini, kita mengubah prioritas pada dua titik akhir dalam profil yang ada.

$TmProfile = Get-AzTrafficManagerProfile -Name myprofile -ResourceGroupName MyRG
$TmProfile.Endpoints[0].Priority = 2
$TmProfile.Endpoints[1].Priority = 1
Set-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile

Contoh 2: Memperbarui titik akhir menggunakan Get-AzTrafficManagerEndpoint dan Set-AzTrafficManagerEndpoint

Dalam contoh ini, kita mengubah bobot titik akhir tunggal di profil yang sudah ada.

$endpoint = Get-AzTrafficManagerEndpoint -Name myendpoint -ProfileName myprofile -ResourceGroupName MyRG -Type ExternalEndpoints
$endpoint.Weight = 20
Set-AzTrafficManagerEndpoint -TrafficManagerEndpoint $endpoint

Mengaktifkan dan Menonaktifkan Titik Akhir dan Profil

Traffic Manager memungkinkan titik akhir individu diaktifkan dan dinonaktifkan, serta memungkinkan mengaktifkan dan menonaktifkan seluruh profil. Perubahan ini dapat dilakukan dengan mendapatkan/memperbarui/mengatur titik akhir atau sumber daya profil. Untuk menyederhanakan operasi umum ini, perubahan juga didukung melalui cmdlet khusus.

Contoh 1: Mengaktifkan dan menonaktifkan profil Traffic Manager

Untuk mengaktifkan profil Traffic Manager, gunakan Enable-AzTrafficManagerProfile. Profil dapat ditentukan menggunakan objek profil. Objek profil dapat diteruskan melalui alur atau menggunakan parameter '-TrafficManagerProfile'. Dalam contoh ini, kita menentukan profil berdasarkan profil dan nama grup sumber daya.

Enable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup

Untuk menonaktifkan profil Traffic Manager:

Disable-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyResourceGroup

Cmdlet Disable-AzTrafficManagerProfile meminta konfirmasi. Perintah ini dapat ditahan menggunakan parameter '-Force'.

Contoh 2: Mengaktifkan dan menonaktifkan titik akhir Traffic Manager

Untuk mengaktifkan titik akhir Traffic Manager, gunakan Enable-AzTrafficManagerEndpoint. Ada dua cara untuk menentukan titik akhir

  1. Menggunakan objek TrafficManagerEndpoint yang diteruskan melalui alur atau menggunakan parameter '-TrafficManagerEndpoint'
  2. Menggunakan nama titik akhir, jenis titik akhir, nama profil, dan nama grup sumber daya:
Enable-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG

Demikian pula, untuk menonaktifkan titik akhir Traffic Manager:

Disable-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG -Force

Seperti halnya Disable-AzTrafficManagerProfile, cmdlet Disable-AzTrafficManagerEndpoint meminta konfirmasi. Perintah ini dapat ditahan menggunakan parameter '-Force'.

Menghapus Titik Akhir Traffic Manager

Untuk menghapus titik akhir individu, gunakan cmdlet Remove-AzTrafficManagerEndpoint:

Remove-AzTrafficManagerEndpoint -Name MyEndpoint -Type AzureEndpoints -ProfileName MyProfile -ResourceGroupName MyRG

Cmdlet ini meminta konfirmasi. Perintah ini dapat ditahan menggunakan parameter '-Force'.

Menghapus Profil Traffic Manager

Untuk menghapus profil Traffic Manager, gunakan cmdlet Remove-AzTrafficManagerProfile, yang menentukan profil dan nama grup sumber daya:

Remove-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG [-Force]

Cmdlet ini meminta konfirmasi. Perintah ini dapat ditahan menggunakan parameter '-Force'.

Profil yang akan dihapus juga dapat ditentukan menggunakan objek profil:

$TmProfile = Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG
Remove-AzTrafficManagerProfile -TrafficManagerProfile $TmProfile [-Force]

Urutan ini juga dapat disalurkan:

Get-AzTrafficManagerProfile -Name MyProfile -ResourceGroupName MyRG | Remove-AzTrafficManagerProfile [-Force]

Langkah berikutnya

Pemantauan Traffic Manager

Pertimbangan performa Traffic Manager