Menyiapkan backend Service Fabric di API Management menggunakan portal Azure

Artikel ini memperlihatkan cara mengonfigurasi layanan Service Fabric sebagai backend API kustom menggunakan portal Microsoft Azure. Untuk tujuan demonstrasi, ini menunjukkan cara mengatur layanan dasar tanpa ASP.NET Layanan Andal Inti sebagai backend Service Fabric.

Untuk latar belakang, lihat Backends di API Management.

Prasyarat

Prasyarat untuk mengonfigurasi layanan sampel dalam kluster Service Fabric yang menjalankan Windows sebagai backend kustom:

  • Lingkungan pengembangan Windows - Instal Visual Studio 2019 dan Pengembangan Azure, ASP.NET dan pengembangan web, dan beban kerja Pengembangan lintas platform .NET Core. Kemudian siapkan lingkungan pengembangan .NET.

  • Kluster Service Fabric - Lihat Tutorial: Menyebarkan kluster Service Fabric yang menjalankan Windows ke jaringan virtual Azure. Anda dapat membuat kluster dengan sertifikat X.509 yang ada atau untuk tujuan pengujian membuat sertifikat baru yang ditandatangani sendiri. Kluster dibuat dalam jaringan maya.

  • Aplikasi Service Fabric Contoh - Buat aplikasi Web API dan sebarkan ke kluster Service Fabric seperti yang dijelaskan dalam Mengintegrasikan API Management dengan Service Fabric di Azure.

    Langkah ini membuat ASP.NET Core Reliable Service stateless tanpa status dasar menggunakan templat proyek Web API default. Kemudian, Anda mengekspos titik akhir HTTP untuk layanan ini melalui Azure API Management.

    Perhatikan nama aplikasi, misalnya fabric:/myApplication/myService.

  • Instans API Management - Instans API Management yang sudah ada atau baru di tingkat Premium atau Pengembang dan di wilayah yang sama dengan kluter Service Fabric. Jika Anda membutuhkannya, buat instans API Management.

  • Jaringan virtual - Tambahkan instans API Management Anda ke jaringan virtual yang Anda buat untuk kluster Service Fabric Anda. API Management memerlukan subnet khusus di jaringan virtual.

    Untuk langkah-langkah untuk mengaktifkan konektivitas jaringan virtual untuk instans API Management, lihat Cara menggunakan Azure API Management dengan jaringan virtual.

Membuat backend - portal

Tambahkan sertifikat kluster Service Fabric ke API Management

Sertifikat kluster Service Fabric disimpan dan dikelola dalam brankas kunci Azure yang terkait dengan kluster. Tambahkan sertifikat ini ke instans API Management Anda sebagai sertifikat klien.

Untuk langkah-langkah dalam menambahkan sertifikat ke instans API Management Anda, lihat Cara mengamankan layanan backend menggunakan autentikasi sertifikat klien di Azure API Management.

Catatan

Sebaiknya tambahkan sertifikat ke API Management dengan mereferensikan sertifikat vault utama.

Menambahkan backend Service Fabric

  1. Di Portal Microsoft Azure, navigasikan ke instans API Management Anda.

  2. Di API, pilih Backends>+Tambahkan.

  3. Masukkan nama backend dan deskripsi opsional

  4. Di Tipe, pilih Service Fabric.

  5. Di URL Runtime, masukkan nama layanan backend Service Fabric yang akan diteruskan oleh API Management. Contoh: fabric:/myApplication/myService.

  6. Dalam Jumlah maksimum percobaan kembali resolusi partisi, masukkan angka antara 0 dan 10.

  7. Masukkan titik akhir manajemen kluster Service Fabric. Titik akhir ini adalah URL kluster pada port 19080, misalnya, https://mysfcluster.eastus.cloudapp.azure.com:19080.

  8. Di Sertifikat klien, pilih sertifikat kluster Service Fabric yang Anda tambahkan ke instans API Management Anda di bagian sebelumnya.

  9. Dalam metode otorisasi titik akhir Manajemen, masukkan nama thumbprint atau server X509 sertifikat yang digunakan oleh layanan manajemen kluster Service Fabric untuk komunikasi TLS.

  10. Aktifkan pengaturan Rantai validasi sertifikat dan Validasi nama sertifikat.

  11. Dalam Kredensial otorisasi, berikan kredensial, jika perlu, untuk mencapai layanan backend yang dikonfigurasi di Service Fabric. Untuk contoh aplikasi yang digunakan dalam skenario ini, kredensial otorisasi tidak diperlukan.

  12. Pilih Buat.

    Membuat backend service fabric

Menggunakan backend

Untuk menggunakan backend kustom, referensikan menggunakan kebijakan set-backend-service. Kebijakan ini mengubah URL dasar layanan backend default dari permintaan API yang masuk ke backend yang ditentukan, dalam hal ini backend Service Fabric.

Kebijakan set-backend-service dapat berguna dengan API yang ada untuk mengubah permintaan masuk ke backend yang berbeda dari yang ditentukan di pengaturan API. Untuk tujuan demonstrasi dalam artikel ini, buat API pengujian dan tetapkan kebijakan untuk mengarahkan permintaan API ke backend Service Fabric.

Buat API

Ikuti langkah-langkah dalam Menambahkan API secara manual untuk membuat API kosong.

  • Di pengaturan API, biarkan URL layanan Web kosong.

  • Tambahkan akhiran URL API, seperti fabric.

    Membuat API kosong

Menambahkan operasi GET ke API

Seperti yang ditunjukkan dalam Menyebarkan layanan back-end Service Fabric, sampel ASP.NET Core yang diterapkan pada kluster Service Fabric mendukung satu operasi HTTP GET pada jalur URL /api/values.

Respons default pada jalur tersebut adalah array JSON dari dua string:

["value1", "value2"]

Untuk menguji integrasi API Management dengan kluster, tambahkan operasi GET yang sesuai ke API pada jalur /api/values:

  1. Memilih API yang Anda buat di langkah sebelumnya.

  2. Pilih + Tambahkan Operasi.

  3. Di jendela Frontend, masukkan nilai berikut ini, dan pilih Simpan.

    Pengaturan Nilai
    Nama tampilan Uji backend
    URL GET
    URL /api/values

    Tambahkan operasi GET ke API

Konfigurasikan kebijakan set-backend-service

Tambahkan kebijakan set-backend-service ke API pengujian.

  1. Di tab Desain, di bagian Pemrosesan masuk, pilih ikon editor kode (</>).

  2. Tempatkan kursor di dalam elemen <masuk>

  3. Tambahkan pernyataan kebijakan set-service-backend.

    • Dalambackend-id, ganti nama backend Service Fabric Anda.

    • sf-resolve-condition adalah kondisi untuk menyelesaikan kembali lokasi layanan dan mengirim ulang permintaan. Jumlah percobaan ulang yang ditetapkan ketika mengonfigurasi backend. Contohnya:

      <set-backend-service backend-id="mysfbackend" sf-resolve-condition="@(context.LastError?.Reason == "BackendConnectionFailure")"/>
      
  4. Pilih Simpan.

    Mengonfigurasi kebijakan set-backend-service

Catatan

Jika satu atau beberapa simpul di kluster Service Fabric tidak berfungsi atau dihapus, API Management tidak mendapatkan pemberitahuan otomatis dan terus mengirim lalu lintas ke simpul ini. Untuk menangani kasus ini, konfigurasikan kondisi penyelesaian yang mirip dengan: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"

Uji API backend

  1. Pada tab Uji, pilih operasi GET yang Anda buat di bagian sebelumnya.

  2. Pilih Kirim.

    Ketika dikonfigurasi dengan benar, respons HTTP menunjukkan kode keberhasilan HTTP dan menampilkan JSON yang dikembalikan dari layanan backend Service Fabric.

    Uji backend Service Fabric