Configurare un back-end di Service Fabric in Gestione API usando il portale di Azure

Questo articolo illustra come configurare un servizio Service Fabric come back-end API personalizzato usando il portale di Azure. A scopo dimostrativo, illustra come configurare un servizio Reliable senza stato di base per ASP.NET Core come back-end di Service Fabric.

Per informazioni di carattere generale, vedere Back-end in Gestione API.

Prerequisiti

Prerequisiti per configurare un servizio di esempio in un cluster di Service Fabric che esegue Windows come back-end personalizzato:

  • Ambiente di sviluppo Windows: installare Visual Studio 2019 e i carichi di lavoro per lo sviluppo di Azure, lo sviluppo ASP.NET e Web e lo sviluppo multipiattaforma .NET Core. Configurare un ambiente di sviluppo .NET.

  • Cluster di Service Fabric: vedere Esercitazione: Distribuire un cluster di Service Fabric che esegue Windows in una rete virtuale di Azure. È possibile creare un cluster con un certificato X.509 esistente oppure creare un nuovo certificato autofirmato a scopo di test. Il cluster viene creato in una rete virtuale.

  • App di Service Fabric di esempio: creare un'app per le API Web e distribuirla nel cluster di Service Fabric come descritto in Integrare Gestione API con Service Fabric in Azure.

    Questi passaggi consentono di creare un servizio Reliable senza stato di base per ASP.NET Core usando il modello di progetto API Web predefinito. Successivamente, si esporrà l'endpoint HTTP per questo servizio tramite Gestione API di Azure.

    Prendere nota del nome dell'applicazione, ad esempio fabric:/myApplication/myService.

  • Istanza di Gestione API: un'istanza nuova o esistente di Gestione API nel livello Premium o Developer e nella stessa area del cluster di Service Fabric. Se ne serve una, creare un'istanza di Gestione API.

  • Rete virtuale: aggiungere l'istanza di Gestione API alla rete virtuale creata per il cluster di Service Fabric. Gestione API richiede una subnet dedicata nella rete virtuale.

    Per la procedura relativa all'abilitazione della connettività di rete virtuale per l'istanza di Gestione API, vedere Come usare Gestione API di Azure con le reti virtuali.

Creare un back-end - Portale

Aggiungere il certificato del cluster di Service Fabric a Gestione API

Il certificato del cluster di Service Fabric viene archiviato e gestito in un insieme di credenziali delle chiavi di Azure associato al cluster. Aggiungere questo certificato all'istanza di Gestione API come certificato client.

Per la procedura relativa all'aggiunta di un certificato all'istanza di Gestione API, vedere Come proteggere i servizi back-end usando l'autenticazione con certificati client in Gestione API di Azure.

Nota

È consigliabile aggiungere il certificato a Gestione API facendo riferimento al certificato dell'insieme di credenziali delle chiavi.

Aggiungere il back-end di Service Fabric

  1. Nel portale di Azure accedere all'istanza di Gestione API.

  2. In API selezionare Back-end>+ Aggiungi.

  3. Immettere un nome e una descrizione facoltativa per il back-end.

  4. In Tipo selezionare Service Fabric.

  5. In URL di runtime immettere il nome del servizio back-end di Service Fabric a cui Gestione API inoltrerà le richieste. Esempio: fabric:/myApplication/myService.

  6. In Massimo numero di tentativi di risoluzione della partizione immettere un numero compreso tra 0 e 10.

  7. Immettere l'endpoint di gestione del cluster di Service Fabric. Questo endpoint è l'URL del cluster sulla porta 19080, ad esempio https://mysfcluster.eastus.cloudapp.azure.com:19080.

  8. In Certificato client selezionare il certificato del cluster di Service Fabric aggiunto all'istanza di Gestione API nella sezione precedente.

  9. In Metodo di autorizzazione endpoint di gestione immettere un'identificazione personale o un nome X509 del server di un certificato usato dal servizio di gestione del cluster di Service Fabric per la comunicazione TLS.

  10. Abilitare le impostazioni Convalida catena di certificati e Convalida nome del certificato.

  11. Se necessario, in Credenziali di autorizzazionespecificare le credenziali per raggiungere il servizio back-end configurato in Service Fabric. Per l'app di esempio usata in questo scenario le credenziali di autorizzazione non sono necessarie.

  12. Seleziona Crea.

    Creare un back-end di Service Fabric

Usare il back-end

Per usare un back-end personalizzato, farvi riferimento usando il criterio set-backend-service. Questo criterio trasforma l'URL di base del servizio back-end predefinito di una richiesta API in ingresso in un back-end specificato, in questo caso il back-end di Service Fabric.

Il criterio set-backend-service può essere utile con un'API esistente per trasformare una richiesta in ingresso in un back-end diverso da quello specificato nelle impostazioni dell'API. A scopo dimostrativo in questo articolo, creare un'API di test e impostare il criterio per indirizzare le richieste API al back-end di Service Fabric.

Create API

Seguire la procedura descritta in Aggiungere manualmente un'API per creare un'API vuota.

  • Nelle impostazioni dell'API lasciare vuoto il campo URL del servizio Web.

  • Aggiungere un suffisso dell'URL dell'API, ad esempio fabric.

    Creare un'API vuota

Aggiungere un'operazione GET all'API

Come illustrato in Distribuire un servizio back-end di Service Fabric, il servizio ASP.NET Core di esempio distribuito nel cluster di Service Fabric supporta una singola operazione HTTP GET nel percorso dell'URL /api/values.

La risposta predefinita per tale percorso è una matrice JSON composta da due stringhe:

["value1", "value2"]

Per testare l'integrazione di Gestione API con il cluster, aggiungere l'operazione GET corrispondente all'API nel percorso /api/values:

  1. Selezionare l'API creata nel passaggio precedente.

  2. Selezionare + Aggiungi operazione.

  3. Nella finestra Front-end immettere i valori seguenti e selezionare Salva.

    Impostazione Valore
    Nome visualizzato Test backend
    URL GET
    URL /api/values

    Aggiungere un'operazione GET all'API

Configurare il criterio set-backend-service

Aggiungere il criterio set-backend-service all'API di test.

  1. Nella scheda Progettazione della sezione Elaborazione in ingresso selezionare l'icona dell'editor di codice (</>).

  2. Posizionare il cursore all'interno dell'elemento <inbound>.

  3. Aggiungere l'istruzione del criterio set-service-backend.

    • In backend-id sostituire il valore con il nome del back-end di Service Fabric in uso.

    • sf-resolve-condition è una condizione per i nuovi tentativi di risoluzione della posizione di un servizio e il nuovo invio di una richiesta. Il numero di tentativi è stato impostato durante la configurazione del back-end. Ad esempio:

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

    Configurare i criteri set-backend-service

Nota

Se uno o più nodi nel cluster di Service Fabric vengono disattivati o rimossi, Gestione API non riceve una notifica automatica e continua a inviare traffico a questi nodi. Per gestire questi casi, configurare una condizione di risoluzione simile a: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"

Testare l'API per il back-end

  1. Nella scheda Test selezionare l'operazione GET creata in una sezione precedente.

  2. Selezionare Invia.

    Se configurata correttamente, la risposta HTTP mostra un codice HTTP di operazione riuscita e visualizza il codice JSON restituito dal servizio back-end di Service Fabric.

    Testare il back-end di Service Fabric