Configurar um back-end do Service Fabric no Gerenciamento de API com o portal do Azure

Este artigo mostra como configurar um serviço do Service Fabric como um back-end de API personalizado, usando o portal do Azure. Para fins de demonstração, ele mostra como configurar um serviço confiável do ASP.NET Core básico e sem estado, como o back-end do Service Fabric.

Para obter informações, veja Back-ends no Gerenciamento de API.

Pré-requisitos

Pré-requisitos para configurar um serviço de exemplo em um cluster do Service Fabric com o Windows como um back-end personalizado:

  • Ambiente de desenvolvimento do Windows – instale o Visual Studio 2019 e o Desenvolvimento do Azure, o ASP.NET e o desenvolvimento na Web, também as cargas de trabalho de Desenvolvimento de plataforma cruzada do .NET Core. Em seguida, configure um ambiente de desenvolvimento .NET.

  • Cluster do Service Fabric – veja o Tutorial: Implantar um cluster do Service Fabric com o Windows em uma rede virtual do Azure. É possível criar um cluster com um certificado X.509 existente ou, para fins de teste, pode criar um certificado novo e autoassinado. O cluster é criado em uma rede virtual.

  • Aplicativo do Service Fabric de exemplo – crie um aplicativo de API Web e implante no cluster do Service Fabric conforme descrito em Integrar o Gerenciamento de API com o Service Fabric no Azure.

    Essas etapas criam um Serviço confiável do ASP.NET Core básico sem estado utilizando o modelo de projeto padrão de API Web. Posteriormente, você expõe o ponto de extremidade HTTP para esse serviço por meio do Gerenciamento de API do Azure.

    Anote o nome do aplicativo, por exemplo fabric:/myApplication/myService.

  • Instância de Gerenciamento de API - Uma instância de Gerenciamento de API nova ou existente na camada Premium ou de Desenvolvedor e na mesma região que o cluster do Service Fabric. Se você precisar de uma, crie uma instância de Gerenciamento de API.

  • Rede virtual – adicione a instância de Gerenciamento de API à rede virtual que você criou para o cluster do Service Fabric. O Gerenciamento de API requer uma sub-rede dedicada na rede virtual.

    Para obter as etapas para habilitar a conectividade de rede virtual para a instância de Gerenciamento de API, veja Como usar o Gerenciamento de API do Azure com redes virtuais.

Criar back-end – portal

Adicionar o certificado do cluster do Service Fabric ao Gerenciamento de API

O certificado de cluster do Service Fabric é armazenado e gerenciado em um cofre de chaves do Azure associado ao cluster. Adicione esse certificado à instância de Gerenciamento de API como um certificado de cliente.

Para obter as etapas para adicionar um certificado à instância de Gerenciamento de API, veja Como proteger os serviços de back-end usando a autenticação de certificado de cliente no Gerenciamento de API do Azure.

Observação

É recomendável adicionar o certificado ao Gerenciamento de API referenciando o certificado do cofre de chaves.

Adicionar o back-end do Service Fabric

  1. No portal do Azure, navegue até a instância do Gerenciamento de API.

  2. Em APIs, selecione back-ends>+ Adicionar.

  3. Inserir um nome e uma descrição opcional

  4. Em Tipo, selecione Service Fabric.

  5. Em URL de runtime, insira o nome do serviço de back-end do Service Fabric para o qual o Gerenciamento de API encaminhará as solicitações. Exemplo: fabric:/myApplication/myService.

  6. Em Número máximo de novas tentativas de resolução de partição, insira um número entre 0 e 10.

  7. Insira o ponto de extremidade de gerenciamento do cluster do Service Fabric. Esse ponto de extremidade é a URL do cluster na porta 19080, por exemplo, https://mysfcluster.eastus.cloudapp.azure.com:19080.

  8. Em Certificado de cliente, selecione o certificado do cluster do Service Fabric que você adicionou à instância de Gerenciamento de API na seção anterior.

  9. No Método de autorização de ponto de extremidade de gerenciamento, insira uma impressão digital ou um nome X509 do servidor de um certificado usado pelo serviço de gerenciamento de cluster do Service Fabric para comunicação TLS.

  10. Habilite as configurações para Validar cadeia de certificados e Validar nome do certificado.

  11. Em Credenciais de autorização, forneça credenciais, se necessário, para acessar o serviço de back-end configurado no Service Fabric. Para o aplicativo de exemplo usado neste cenário, as credenciais de autorização não são necessárias.

  12. Selecione Criar.

    Criar um back-end do Service Fabric

Usar o back-end

Para usar um back-end personalizado, faça referência a ele usando a política set-backend-service. Essa política transforma a URL base do serviço de back-end padrão de uma solicitação de API de entrada para um back-end especificado, nesse caso, o back-end do Service Fabric.

A política set-backend-service pode ser útil com uma API existente para transformar uma solicitação de entrada em um back-end diferente daquele especificado nas configurações da API. Para fins de demonstração neste artigo, crie uma API de teste e defina a política para direcionar solicitações de API para o back-end do Service Fabric.

Criar API

Siga as etapas em Adicionar uma API manualmente para criar uma API em branco.

  • Nas configurações de API, deixe a URL do serviço Web em branco.

  • Adicione um Sufixo da URL da API, como malha.

    Criar API em branco

Adicionar a operação GET à API

Conforme mostrado em Implantar um serviço de back-end do Service Fabric, o serviço ASP.NET Core de exemplo implantado no cluster do Service Fabric dá suporte a uma única operação GET de HTTP no caminho da URL /api/values.

A resposta padrão nesse caminho é uma matriz JSON de duas cadeias de caracteres:

["value1", "value2"]

Para testar a integração do Gerenciamento de API com o cluster, adicione a operação GET correspondente à API no caminho /api/values:

  1. Selecione a API que você criou na etapa anterior.

  2. Selecione + Adicionar Operação.

  3. Na janela Front-end, insira os valores a seguir e selecione Salvar.

    Configuração Valor
    Nome de exibição Testar o back-end
    URL GET
    URL /api/values

    Adicionar a operação GET à API

Configurar a política set-backend-service

Adicione a política set-backend-service à API de teste.

  1. Na guia Design, na seção Processamento de entrada, selecione o ícone do editor de códigos (</>).

  2. Posicione o cursor dentro do elemento de <entrada>

  3. Adicionar set-service-backendinstrução da política.

    • Em backend-id, substitua o nome do back-end do Service Fabric.

    • O sf-resolve-condition é uma condição para resolver novamente um local de serviço e reenviar uma solicitação. O número de repetições foi definido ao configurar o back-end. Por exemplo:

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

    Definir a política do serviço de back-end

Observação

Se um ou mais nós no cluster de Service Fabric falhar ou for removido, o gerenciamento de API não receberá uma notificação automática e continuará a enviar tráfego para esses nós. Para lidar com esses casos, configure uma condição de resolução semelhante a: sf-resolve-condition="@((int)context.Response.StatusCode != 200 || context.LastError?.Reason == "BackendConnectionFailure" || context.LastError?.Reason == "Timeout")"

Testar a API do back-end

  1. Na guia Teste, selecione a operação GET que você criou em uma seção anterior.

  2. Selecione Enviar.

    Quando configurada corretamente, a resposta HTTP mostra um código de êxito HTTP e exibe o JSON retornado do serviço de back-end do Service Fabric.

    Testar o back-end do Service Fabric