Konfigurowanie zaplecza usługi Service Fabric w usłudze API Management przy użyciu witryny Azure Portal

W tym artykule przedstawiono sposób konfigurowania usługi Service Fabric jako niestandardowego zaplecza interfejsu API przy użyciu witryny Azure Portal. W celach demonstracyjnych pokazano, jak skonfigurować podstawową bezstanową usługę ASP.NET Core Reliable Service jako zaplecze usługi Service Fabric.

Aby uzyskać informacje na temat tła, zobacz Backends in API Management (Zaplecze w usłudze API Management).

Wymagania wstępne

Wymagania wstępne dotyczące konfigurowania przykładowej usługi w klastrze usługi Service Fabric z systemem Windows jako niestandardowego zaplecza:

  • Środowisko programistyczne systemu Windows — zainstaluj program Visual Studio 2019 i programowanie na platformie Azure, ASP.NET i tworzenie aplikacji internetowych oraz obciążenia programistyczne dla platformy .NET Core dla wielu platform. Następnie skonfiguruj środowisko deweloperskie platformy .NET.

  • Klaster usługi Service Fabric — zobacz Samouczek: wdrażanie klastra usługi Service Fabric z systemem Windows w sieci wirtualnej platformy Azure. Klaster można utworzyć przy użyciu istniejącego certyfikatu X.509 lub do celów testowych utworzyć nowy certyfikat z podpisem własnym. Klaster jest tworzony w sieci wirtualnej.

  • Przykładowa aplikacja usługi Service Fabric — tworzenie aplikacji internetowego interfejsu API i wdrażanie jej w klastrze usługi Service Fabric zgodnie z opisem w temacie Integrowanie usługi API Management z usługą Service Fabric na platformie Azure.

    Te kroki umożliwiają utworzenie podstawowej bezstanowej usługi ASP.NET Core Reliable Service przy użyciu domyślnego szablonu projektu internetowego interfejsu API. Później uwidaczniasz punkt końcowy HTTP dla tej usługi za pośrednictwem usługi Azure API Management.

    Zanotuj nazwę aplikacji, na przykład fabric:/myApplication/myService.

  • Wystąpienie usługi API Management — istniejące lub nowe wystąpienie usługi API Management w warstwie Premium lub Deweloper i w tym samym regionie co klaster usługi Service Fabric. Jeśli potrzebujesz go, utwórz wystąpienie usługi API Management.

  • Sieć wirtualna — dodaj wystąpienie usługi API Management do sieci wirtualnej utworzonej dla klastra usługi Service Fabric. Usługa API Management wymaga dedykowanej podsieci w sieci wirtualnej.

    Aby uzyskać instrukcje włączania łączności sieci wirtualnej dla wystąpienia usługi API Management, zobacz Jak używać usługi Azure API Management z sieciami wirtualnymi.

Tworzenie zaplecza — portal

Dodawanie certyfikatu klastra usługi Service Fabric do usługi API Management

Certyfikat klastra usługi Service Fabric jest przechowywany i zarządzany w magazynie kluczy platformy Azure skojarzonym z klastrem. Dodaj ten certyfikat do wystąpienia usługi API Management jako certyfikat klienta.

Aby uzyskać instrukcje dodawania certyfikatu do wystąpienia usługi API Management, zobacz Jak zabezpieczyć usługi zaplecza przy użyciu uwierzytelniania certyfikatu klienta w usłudze Azure API Management.

Uwaga

Zalecamy dodanie certyfikatu do usługi API Management przez odwołanie się do certyfikatu magazynu kluczy.

Dodawanie zaplecza usługi Service Fabric

  1. W witrynie Azure Portal przejdź do wystąpienia usługi API Management.

  2. W obszarze Interfejsy API wybierz pozycję Zaplecza>+ Dodaj.

  3. Wprowadź nazwę zaplecza i opcjonalny opis

  4. W polu Typ wybierz pozycję Service Fabric.

  5. W polu Adres URL środowiska uruchomieniowego wprowadź nazwę usługi zaplecza usługi Service Fabric, do którego usługa API Management będzie przekazywać żądania. Przykład: fabric:/myApplication/myService.

  6. W polu Maksymalna liczba ponownych prób rozpoznawania partycji wprowadź liczbę z zakresu od 0 do 10.

  7. Wprowadź punkt końcowy zarządzania klastra usługi Service Fabric. Ten punkt końcowy jest adresem URL klastra na porcie 19080, na przykład https://mysfcluster.eastus.cloudapp.azure.com:19080.

  8. W obszarze Certyfikat klienta wybierz certyfikat klastra usługi Service Fabric dodany do wystąpienia usługi API Management w poprzedniej sekcji.

  9. W obszarze Metoda autoryzacji punktu końcowego zarządzania wprowadź odcisk palca lub nazwę serwera X509 certyfikatu używanego przez usługę zarządzania klastrem usługi Service Fabric na potrzeby komunikacji TLS.

  10. Włącz ustawienia Weryfikuj łańcuch certyfikatów i Zweryfikuj nazwę certyfikatu.

  11. W obszarze Poświadczenia autoryzacji podaj poświadczenia, jeśli to konieczne, aby uzyskać dostęp do skonfigurowanej usługi zaplecza w usłudze Service Fabric. W przypadku przykładowej aplikacji używanej w tym scenariuszu poświadczenia autoryzacji nie są potrzebne.

  12. Wybierz pozycję Utwórz.

    Tworzenie zaplecza usługi Service Fabric

Korzystanie z zaplecza

Aby użyć niestandardowego zaplecza, odwołaj się do niego przy użyciu set-backend-service zasad. Te zasady przekształcają domyślny podstawowy adres URL usługi zaplecza przychodzącego żądania interfejsu API do określonego zaplecza, w tym przypadku zaplecza usługi Service Fabric.

Zasady set-backend-service mogą być przydatne w przypadku istniejącego interfejsu API, aby przekształcić przychodzące żądanie do innego zaplecza niż zasada określona w ustawieniach interfejsu API. W celach demonstracyjnych w tym artykule utwórz testowy interfejs API i ustaw zasady tak, aby kierowały żądania interfejsu API do zaplecza usługi Service Fabric.

Tworzenie interfejsu API

Wykonaj kroki opisane w temacie Ręczne dodawanie interfejsu API, aby utworzyć pusty interfejs API.

  • W ustawieniach interfejsu API pozostaw pusty adres URL usługi sieci Web.

  • Dodaj sufiks adresu URL interfejsu API, taki jak sieć szkieletowa.

    Tworzenie pustego interfejsu API

Dodawanie operacji GET do interfejsu API

Jak pokazano w artykule Wdrażanie usługi zaplecza usługi Service Fabric, przykładowa usługa ASP.NET Core wdrożona w klastrze usługi Service Fabric obsługuje pojedynczą operację HTTP GET na ścieżce /api/valuesadresu URL.

Domyślną odpowiedzią na tej ścieżce jest tablica JSON dwóch ciągów:

["value1", "value2"]

Aby przetestować integrację usługi API Management z klastrem, dodaj odpowiednią operację GET do interfejsu API w ścieżce /api/values:

  1. Wybierz interfejs API utworzony w poprzednim kroku.

  2. Wybierz opcję + Dodaj operację.

  3. W oknie Frontonu wprowadź następujące wartości, a następnie wybierz pozycję Zapisz.

    Ustawienie Wartość
    Nazwa wyświetlana Testowanie zaplecza
    Adres URL GET
    Adres URL /api/values

    Dodawanie operacji GET do interfejsu API

Konfigurowanie set-backend-service zasad

set-backend-service Dodaj zasady do testowego interfejsu API.

  1. Na karcie Projektowanie w sekcji Przetwarzanie przychodzące wybierz ikonę edytora kodu (</>).

  2. Położenie kursora wewnątrz elementu przychodzącego <>

  3. Dodaj instrukcję set-service-backend zasad.

    • W backend-idpliku zastąp nazwę zaplecza usługi Service Fabric.

    • Jest sf-resolve-condition to warunek ponownego rozpoznawania lokalizacji usługi i ponownego wysyłanie żądania. Liczba ponownych prób została ustawiona podczas konfigurowania zaplecza. Na przykład:

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

    Konfigurowanie zasad set-backend-service

Uwaga

Jeśli co najmniej jeden węzeł w klastrze usługi Service Fabric ulegnie awarii lub zostanie usunięty, usługa API Management nie otrzyma automatycznego powiadomienia i nadal wysyła ruch do tych węzłów. Aby obsłużyć te przypadki, skonfiguruj warunek rozwiązywania podobny do następującego: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"

Testowanie interfejsu API zaplecza

  1. Na karcie Test wybierz operację GET utworzoną w poprzedniej sekcji.

  2. Wybierz Wyślij.

    Po prawidłowej konfiguracji odpowiedź HTTP wyświetla kod powodzenia HTTP i wyświetla kod JSON zwrócony z usługi Service Fabric zaplecza.

    Testowanie zaplecza usługi Service Fabric