Cara memantau koneksi titik-ke-situs untuk Virtual WAN
Bagian ini mendokumentasikan cara membuat Buku Kerja Azure yang menampilkan data relevan klien VPN Pengguna yang terhubung ke Azure Virtual WAN.
Sebelum Anda mulai
Untuk melengkapi langkah-langkah dalam artikel ini, Anda harus memiliki WAN virtual, hub, dan VPN Gateway Pengguna. Untuk membuat sumber daya, ikuti langkah-langkah dalam artikel ini: Membuat WAN virtual, hub, dan gateway
Arsitektur solusi buku kerja
Saat Anda bekerja dengan Azure Virtual WAN dan melihat metrik, paling sering dilakukan dari dalam konteks buku kerja Azure. Dalam solusi ini, kita akan menggunakan apa yang sudah tersedia di buku kerja Azure dan memperkayanya dengan detail lebih lanjut, terutama tentang koneksi aktif.
AzureDiagnostics: Log ini diterima dengan mengaktifkan Debugging P2S melalui pengaturan debug Azure Monitor dan mengaktifkan log berikut: GatewayDiagnosticLog, IKEDiagnosticLog, P2SDiagnosticLog, AllMetrics. Beberapa log berisik dan mahal dalam hal biaya Analitik Log, khususnya IKEDiagnostics.
Get-AzP2sVpnGatewayDetailedConnectionHealth: Ini adalah perintah PowerShell (berjalan di aplikasi fungsi) untuk mendapatkan detail sesi aktif. Perintah ini hanya mendukung penyimpanan data di akun penyimpanan berdasarkan Kunci SAS.
Gambar berikut menunjukkan komponen yang terlibat dalam solusi yang disarankan:
Layanan VPN berjalan di gateway VPN Azure vWAN P2S. Layanan ini memiliki pengaturan metrik dan debug terkait yang dapat dibaca dari dalam buku kerja Azure. Untuk mendapatkan informasi tambahan yang dapat diberikan oleh perintah PowerShell, kami memilih untuk menjalankan perintah ini di aplikasi fungsi Azure. Dari aplikasi fungsi, kami menyimpan output di akun penyimpanan Azure.
Output yang disimpan di akun penyimpanan diambil dari dalam buku kerja dengan menggunakan fungsi khusus yang disebut "externaldata".
Membuat akun penyimpanan Azure
Di portal, di bilah Sumber daya pencarian, ketik Akun penyimpanan.
Pilih Akun Penyimpanan dari hasil. Pada halaman akun Penyimpanan, pilih + Buat untuk membuka halaman Buat akun penyimpanan.
Di halaman Buat WAN, pada tab Dasar, isi bidang. Ubah contoh nilai untuk diterapkan ke lingkungan Anda.
- Langganan: Pilih langganan yang ingin Anda gunakan
- Grup Sumber Daya: Buat yang baru atau gunakan yang sudah ada
- Nama akun penyimpanan: Ketik nama panggilan akun penyimpanan yang Anda inginkan
- Wilayah: Pilih wilayah untuk akun penyimpanan Anda
- Performa: Standar atau Premium. Standar memadai untuk tujuan pemantauan kami
- Redundansi: Memilih antara penyimpanan yang redundan secara Lokal, penyimpanan yang redundan secara Geografis, penyimpanan yang redundan secara Zona, dan penyimpanan yang redundan secara Geografis dan Zona
Setelah selesai mengisi bidang, di bagian bawah halaman, pilih Selanjutnya: Tingkat lanjut>.
Pada halaman Tingkat lanjut, lengkapi bidang berikut.
- Memerlukan transfer aman untuk operasi REST API: Pilih Aktifkan.
- Mengaktifkan akses publik blob: Pilih Dinonaktifkan.
- Mengaktifkan akses kunci akun penyimpanan: Pilih Aktifkan.
- Default ke otorisasi Azure Active Directory di portal Microsoft Azure: Pilih Diaktifkan.
- Versi TLS minimum: Pilih Versi 1.2.
Pilih Tinjau + Buat di bagian bawah layar untuk menjalankan validasi.
Setelah lolos validasi, pilih Buat untuk membuat akun penyimpanan.
Membuat kontainer
Setelah penyebaran selesai, masuk ke sumber daya.
Di panel kiri, pilih Kontainer di bawah Penyimpanan data.
Pilih + Kontainer untuk membuat kontainer baru.
Ketik Nama untuk kontainer Anda dan pilih Buat.
Membuat dan mengunggah blob ke kontainer
Di komputer Anda, buka aplikasi editor teks seperti Notepad.
Biarkan file teks kosong dan pilih File -> Simpan Sebagai.
Simpan file teks kosong dengan nama pilihan Anda diikuti oleh ekstensi .json.
Kembali ke bagian Kontainer di portal.
Pilih pada baris kedua, yang sesuai dengan kontainer yang Anda buat (bukan $logs).
Jika Anda melihat pesan peringatan merah ini bertuliskan ""Anda tidak memiliki izin ..."", maka pilih Beralih ke tombol Akses sebagai metode autentikasi Anda. Tombolnya terletak tepat di bawah kotak peringatan merah.
Pilih Unggah.
Pilih file yang sesuai dengan file JSON kosong Anda di komputer Anda dan pilih Mengunggah.
Setelah file diunggah, pilih pada file JSON dan masuk ke tab Hasilkan SAS.
Di bawah Metode masuk, pilih Kunci akun.
Di bawah Izin, berikan kunci izin berikut: Baca, Tambahkan, Buat, dan Tulis.
Pilih tanggal dan waktu Kedaluwarsa untuk kunci.
Pilih Buat token SAS dan URL.
Salin dan tempel Token SAS Blob dan URL SAS Blob di lokasi yang aman.
Membuat aplikasi fungsi Azure
Di portal, di bilah Sumber Daya pencarian, ketik Aplikasi Fungsi.
Pilih Aplikasi Fungsi dari hasil. Pada halaman Aplikasi Fungsi, pilih + Buat untuk membuka halaman Membuat Aplikasi Fungsi.
Di halaman Buat WAN, pada tab Dasar, isi bidang. Ubah contoh nilai untuk diterapkan ke lingkungan Anda.
- Langganan: Pilih langganan yang ingin Anda gunakan
- Grup Sumber Daya: Buat yang baru atau gunakan yang sudah ada
- Nama Aplikasi Fungsi: Pilih nama untuk Aplikasi Fungsi
- Terbitkan: Pilih Kode
- Tumpukan runtime bahasa umum: Pilih PowerShell Core
- Versi: Pilih 7.0 (atau versi pilihan Anda)
- Wilayah: Pilih wilayah pilihan Anda
Tab yang tersisa bersifat opsional untuk diubah, sehingga Anda dapat memilih Tinjau + buat lalu pilih Buat saat validasi selesai.
Masuk ke sumber daya Aplikasi Fungsi.
Pilih Identitas di bawah Pengaturan di panel kiri. Alihkan tombol Status ke On untuk Sistem yang ditetapkan dan pilih Simpan.
Pilih Konfigurasi di bagian Pengaturan di panel kiri.
Buat 7 entri berikut dengan memasukkan Nama dan Nilai, lalu pilih OK setelah setiap nilai.
Nama Nilai "resourcegroup" grup sumber daya Anda "sasuri" @Microsoft.KeyVault(SecretUri=https://\<keyvaultname>.vault.azure.net/secrets/sasuri/\<version>)
--> perbarui sesuai setelah keyvault dibuat di bagian berikutnya."subscription" ID langganan Anda "tenantname" ID penyewa Anda "vpngw" Nama ini seperti -eastus-ps2-gw <guid>. Anda dapat memperolehnya dari pengaturan VPN Pengguna vWAN HUB. Pilih Simpan.
Pilih Fungsi di panel kiri dan pilih + Buat.
Isi bidang.
- Lingkungan Pengembangan: Berkembang di portal
- Templat: Pemicu Timer
- Fungsi Baru: Pilih nama untuk Fungsi
- Jadwal: Masukkan ekspresi cron format '{second} {minute} {hour} {day} {month} {day of the week}' untuk menentukan jadwal
Pilih Kode + Uji di panel kiri, dan ketik kode berikut dalam file run.ps1. Pilih Simpan.
# Input bindings are passed in via param block. param($Timer) # Get the current universal time in the default string format. $currentUTCtime = (Get-Date).ToUniversalTime() # The 'IsPastDue' property is "true" when the current function invocation is later than scheduled. if($Timer.IsPastDue){ Write-Host "PowerShell timer is running late!" } ## Write an information log with current time. Write-Host "PowerShell timer trigger function ran! TIME:$currentUTCtime" $tenantname = $env:appsetting_tenantname $subscription = $env:appsetting_subscription $resourceGroup = $env:appsetting_resourcegroup $vpngw = $env:appsetting_vpngw $sasuri = $env:appsetting_sasuri Write-Host "Connecting to Managed Identity..." connect-azaccount -tenant $tenantname -identity -subscription $subscription Write-Host "Executing File Update..." Get-AzP2sVpnGatewayDetailedConnectionHealth -name $vpngw -ResourceGroupName $resourceGroup -OutputBlobSasUrl $sasuri Write-Host "Function Execution Completed!"
Masuk kembali ke halaman Aplikasi Fungsi dan pilih di Editor App Service di panel kiri di bawah Alat Pengembangan. Kemudian, pilih Go -->.
Buka requirements.psd1 dan batalkan komentar baris yang dimulai dengan 'Az' ... seperti yang ditunjukkan.
Agar perintah get-AzP2sVpnGatewayDetailedConnectionHealth berhasil, Anda harus memiliki izin yang tepat untuk informasi tersebut. Masuk ke grup sumber daya Anda dan pilih "Microsoft Azure Access Control Service (IAM)" di panel kiri. Ini sesuai dengan manajemen identitas dan akses. Tetapkan akses baca FunctionApp melalui grup sumber daya.
Buat Azure Key Vault
Di portal, di bilah Sumber daya pencarian, ketik Brankas kunci.
Pilih + Buat dari hasil untuk membuka halaman Buat brankas kunci.
Pada tab Dasar, isi bidangnya. Ubah contoh nilai untuk diterapkan ke lingkungan Anda.
- Langganan: Pilih langganan yang ingin digunakan.
- Grup Sumber Daya: Buat yang baru atau gunakan yang sudah ada.
- Nama akun penyimpanan: Ketik nama brankas kunci yang Anda inginkan.
- Wilayah: Pilih wilayah untuk akun penyimpanan Anda.
- Tingkat harga: Standar atau Premium. Standar memadai untuk tujuan pemantauan kami.
Pilih Berikutnya: Kebijakan akses >.
Di bawah Model izin, pilih Kebijakan akses brankas.
Biarkan opsi di bawah Akses sumber daya sebagai dinonaktifkan.
Di bawah Kebijakan akses, pilih + Buat.
Pilih Berikutnya untuk masuk ke tab Prinsipal. Ketik nama aplikasi fungsi Anda dan pilih.
Pilih Berikutnya dua kali untuk sampai ke tab keempat: Tinjau + buat dan pilih Buat di bagian bawah.
Anda sekarang akan melihat kebijakan akses yang baru dibuat, di bawah bagian Kebijakan akses. Memodifikasi nilai default di bawah tab Jaringan bersifat opsional, jadi pilih Tinjau + buat di sudut kiri bawah.
Buka Rahasia di bawah Objek di bawah panel kiri sumber daya brankas kunci. Pilih + Hasilkan/Impor dan tambahkan rahasia sebagai berikut:
- Nama: sasuri
- nilai: <SASURI>
- Diaktifkan: Ya
Kembali ke tab Konfigurasi untuk Aplikasi Fungsi dan ubah entri berikut. Nilai berasal dari bidang Pengidentifikasi Rahasia yang muncul setelah mengklik rahasia:
- Nama: "sasuri"
- Nilai:
@Microsoft.KeyVault(SecretUri=https://\<keyvaultname>.vault.azure.net/secrets/sasuri/\<version>)
Membuat Buku Kerja Azure
Buku kerja Azure sekarang siap dibuat. Kami akan menggunakan campuran fungsionalitas bawaan dan detail sesi tambahan dari solusi aplikasi fungsi kami.
Masuk ke sumber daya Azure Virtual WAN Anda dan pilih Insight di bawah Monitor di panel kiri. Pilih di Buku Kerja lalu pilih + Baru.
Tambahkan kueri berikut ke dalam buku kerja. Ganti "SASURI" dengan uri sas Anda.
let P2Svpnconnections = (externaldata (resource:string, UserNameVpnConnectionHealths: dynamic) [ @"SASURI" ] with(format="multijson")); P2Svpnconnections | mv-expand UserNameVpnConnectionHealths | extend Username = parse_json(UserNameVpnConnectionHealths).UserName | extend VpnConnectionHealths = parse_json(parse_json(UserNameVpnConnectionHealths).VpnConnectionHealths) | mv-expand VpnConnectionHealths | extend VpnConnectionId = parse_json(VpnConnectionHealths).VpnConnectionId, VpnConnectionDuration = parse_json(VpnConnectionHealths).VpnConnectionDuration, VpnConnectionTime = parse_json(VpnConnectionHealths).VpnConnectionTime, PublicIpAddress = parse_json(VpnConnectionHealths).PublicIpAddress, PrivateIpAddress = parse_json(VpnConnectionHealths).PrivateIpAddress, MaxBandwidth = parse_json(VpnConnectionHealths).MaxBandwidth, EgressPacketsTransferred = parse_json(VpnConnectionHealths).EgressPacketsTransferred, EgressBytesTransferred = parse_json(VpnConnectionHealths).EgressBytesTransferred, IngressPacketsTransferred = parse_json(VpnConnectionHealths).IngressPacketsTransferred, IngressBytesTransferred = parse_json(VpnConnectionHealths).IngressBytesTransferred, MaxPacketsPerSecond = parse_json(VpnConnectionHealths).MaxPacketsPerSecond | extend PubIp = tostring(split(PublicIpAddress, ":").[0]) | project Username, VpnConnectionId, VpnConnectionDuration, VpnConnectionTime, PubIp, PublicIpAddress, PrivateIpAddress, MaxBandwidth, EgressPacketsTransferred, EgressBytesTransferred, IngressPacketsTransferred, IngressBytesTransferred, MaxPacketsPerSecond;
Untuk melihat hasilnya, pilih tombol biru Jalankan Kueri untuk melihat hasilnya.
Jika Anda melihat kesalahan berikut, masuk kembali ke file (vpnstatfile.json) di blob kontainer penyimpanan, dan hasilkan kembali URL SAS. Kemudian tempelkan URL SAS yang diperbarui dalam kueri.
Simpan buku kerja untuk kembali lagi nanti.
Untuk metrik berikut, Anda harus mengaktifkan pembuatan log diagnostik dengan menambahkan pengaturan diagnostik di portal Microsoft Azure. Isi bidang yang diperlukan untuk langganan dan grup sumber daya. Untuk jenis sumber daya, ketik "microsoft.network/p2svpngateways". Tambahkan pengaturan diagnostik (atau edit pengaturan diagnostik saat ini) untuk gateway titik-ke situs yang ingin Anda pantau.
Aktifkan allLogs dan allMetrics, dan pilih untuk mengirim ke "Ruang kerja Analitik Log" sebagai tujuan. Beberapa log berisik dan mungkin mahal (khususnya IKEDiagnosticLog). Karenanya, jangan ragu untuk mengaktifkan hanya log tertentu yang ingin Anda lihat alih-alih mengaktifkan allLogs.
Contoh kueri
Bagian berikut menampilkan contoh kueri.
Koneksi pengguna P2S yang berhasil dengan IP
Autentikasi EAP (Extensible Authentication Protocol) berhasil
Info pengguna P2S VPN
Koneksi P2S VPN yang sukses per pengguna
Koneksi VPN P2S
Koneksi VPN P2S yang berhasil
Koneksi VPN P2S yang gagal
Penghitungan koneksi VPN oleh P2SDiagnosticLog
IKEDiagnosticLog
Detail diagnostik IKE tambahan
Statistik VPN P2S
Langkah berikutnya
Untuk mempelajari lebih lanjut tentang pertanyaan yang sering diajukan, lihat halaman Tanya Jawab Umum Virtual WAN.