Início Rápido: Implantar um aplicativo Aspire no Serviço de Aplicativo do Azure

Neste início rápido, você aprenderá a criar e implantar seu primeiro aplicativo Aspire no Serviço de Aplicativo do Azure. O Serviço de Aplicativo do Azure fornece uma plataforma totalmente gerenciada para hospedar aplicativos Web com manutenção de infraestrutura interna, aplicação de patch de segurança e dimensionamento.

Você pode concluir todo este guia de início rápido diretamente no navegador usando o contêiner de desenvolvimento oficial do Aspire para o GitHub Codespaces. No final, você tem um aplicativo Aspire em execução implantado no Serviço de Aplicativo do Azure.

Importante

A integração com o Aspire Serviço de Aplicativo do Azure está atualmente em prévia.

Este quickstart utiliza projetos de AppHost em C# e .NET. O Aspire também suporta TypeScript AppHosts e recursos de aplicação poliglotas. Para mais informações, veja Aspire AppHost e Novidades no Aspire 13.5.

Pré-requisitos

Criar um aplicativo de início do Aspire em um codespace do GitHub

  1. Crie um repositório a partir do template de contêiner de desenvolvimento do Aspire.

  2. No novo repositório, selecione Code>Codespaces>Criar codespace em main.

    Seu navegador abre um espaço de código com o Visual Studio Code. O ambiente inclui o CLI Aspire e um certificado local de desenvolvimento HTTPS confiável.

    Para mais informações, veja Develop with Aspire usando Codespaces do GitHub.

  3. No terminal, crie um novo aplicativo Aspire:

    aspire new aspire-starter --name aspire-starter --output aspire-starter
    

    O comando cria um novo diretório nomeado aspire-starter com uma solução Aspire completa, incluindo:

    • Um projeto AppHost para orquestração
    • Um projeto ServiceDefaults para configurações compartilhadas
    • Exemplo de projetos de API e front-end da Web
  4. Navegue até o diretório do projeto:

    cd aspire-starter
    

Adicionar integração do Serviço de Aplicativo do Azure

Configure seu aplicativo Aspire para implantar no Serviço de Aplicativo do Azure.

  1. Adicione a integração de hospedagem do Serviço de Aplicativo do Azure:

    aspire add Aspire.Hosting.Azure.AppService
    

    O aspire add comando detecta o projeto AppHost e adiciona o Aspire.Hosting.Azure.AppService pacote. Para obter mais informações, consulte aspire add.

  2. Abra o aspire-starter/aspire-starter.AppHost/AppHost.cs.

  3. Adicione um ambiente do Serviço de Aplicativo do Azure após a CreateBuilder linha:

    builder.AddAzureAppServiceEnvironment("app-service-env");
    

    Para obter mais informações, consulte Se preciso de um ambiente do Serviço de Aplicativo para executar aplicativos Aspire?.

  4. Adicione .WithExternalHttpEndpoints() ao apiservice projeto. Seu recurso completo apiservice deve ser:

    var apiService = builder.AddProject<Projects.aspire_starter_ApiService>("apiservice")
        .WithExternalHttpEndpoints()
        .WithHttpHealthCheck("/health");
    

    Note

    O App Service suporta apenas endpoints HTTP e HTTPS externos e uma porta de destino distinta para cada aplicativo implantado. O modelo inicial já expõe o endpoint do frontend. Para mais informações, veja a integração com Serviço de Aplicativo do Azure Hosting.

  5. A partir da raiz da solução, execute aspire run para verificar o AppHost localmente.

    Uma captura de tela do painel atual do Aspire mostrando o ambiente do App Service e recursos de exemplo do app.

Publicar no Azure

  1. Entre no Azure:

    az login
    
  2. Implante o aplicativo:

    aspire deploy
    

    Quando solicitado, selecione sua assinatura, localização e grupo de recursos do Azure. O Aspire armazena as configurações selecionadas de implantação como segredos de usuário do AppHost para que você possa reutilizá-las.

    O aspire deploy comando executa as seguintes ações com base em seu código de AppHost.cs :

    • Cria ou reutiliza o grupo de recursos selecionado
    • Cria um Plano do Serviço de Aplicativo do Azure
    • Cria um Registro de Contêiner do Azure
    • Cria dois aplicativos Web do Serviço de Aplicativo (um para a API, um para o front-end)
    • Cria um recurso gerenciado do Aspire Dashboard
    • Compila e contêineriza seus aplicativos
    • Envia os contêineres por push para o Registro de Contêiner do Azure
    • Implanta os contêineres no Serviço de Aplicativo

    Para mais informações sobre configurações de implantação e autenticação, veja Deploy to Azure.

  3. Quando a implantação é concluída, o comando exibe as URLs dos endpoints dos serviços implantados e do Aspire Dashboard.

    Para mais informações sobre o fluxo de implantação, veja Deploy to Serviço de Aplicativo do Azure.

Navegue pelo aplicativo Aspire

  1. Na saída da implantação, localize a URL do webfrontend serviço. Ele é semelhante a:

    webfrontend: https://webfrontend-xxxxx.azurewebsites.net
    
  2. Copie a URL e abra-a em uma nova guia do navegador.

    Você verá o aplicativo aspire starter em execução no Serviço de Aplicativo do Azure. O front-end da Web se comunica com o serviço de API, demonstrando a arquitetura distribuída.

  3. Tente navegar pelo aplicativo para verificar se ele está funcionando corretamente.

  4. Para exibir o Painel do Aspire, localize a URL do Painel aspire na saída da implantação e abra-a em uma nova guia do navegador.

Exibir detalhes da implantação no portal do Azure

  1. Navegue no portal Azure.

  2. Na barra de pesquisa, digite grupos de recursos e selecione Grupos de Recursos.

  3. Encontre e selecione o grupo de recursos que você escolheu durante aspire deploy.

    Uma captura de tela da visualização do grupo de recursos de um aplicativo Aspire implantado pela Aspire.

    Você deverá ver os seguintes recursos:

    • Plano do Serviço de Aplicativo: a infraestrutura de hospedagem
    • Serviços de Aplicativo: seus aplicativos webfrontend e apiservice
    • Aspire Dashboard: Um recurso gerenciado do Azure protegido por controle de acesso baseado em funções (RBAC).
    • Registro de Contêiner: armazena suas imagens de contêiner
    • Identidade atribuída pelo usuário: fornece acesso seguro entre serviços

Limpar os recursos

Quando você não precisar mais dos recursos do Azure, exclua-os para evitar incorrer em encargos.

  1. No terminal do codespace, execute:

    aspire destroy
    
  2. Quando solicitado, confirme que deseja destruir o ambiente implantado.

O comando executa a etapa de destruição registrada pelo ambiente do App Service. Para obter mais informações, consulte aspire destroy.

Caution

aspire destroy exclui todo o grupo de recursos, incluindo recursos que não foram criados pelo Aspire. Revise o grupo de recursos alvo antes de confirmar.

Perguntas frequentes

Preciso de um ambiente do Serviço de Aplicativo para executar aplicativos Aspire?

Não. Apesar do nome, AddAzureAppServiceEnvironment não fornece um Ambiente do Serviço de Aplicativo na camada Isolada. Ele cria um recurso de ambiente Aspire que representa a infraestrutura de hospedagem de Serviços de Aplicativos para sua aplicação.

Quando você invoca AddAzureAppServiceEnvironment, ele provisiona:

  • Um Plano de Serviço de Aplicativo do Azure (camada Premium P0V3 no Linux como padrão)
  • Um Registro de Contêiner do Azure para armazenar imagens de contêiner
  • Uma identidade gerenciada atribuída pelo usuário para acesso seguro entre serviços

Esse conceito de ambiente do Aspire agrupa seus recursos e fornece a infraestrutura necessária para implantar seus aplicativos Aspire no Serviço de Aplicativo do Azure.

Como personalizar minha implantação do Serviço de Aplicativo?

Você pode personalizar a implantação do Serviço de Aplicativo modificando a configuração do AppHost.cs. A integração do Serviço de Aplicativo do Aspire azure fornece várias maneiras de personalizar sua implantação:

  • Configurar o Plano do Serviço de Aplicativo: ajustar as opções de SKU, camada e dimensionamento
  • Personalizar configurações do Serviço de Aplicativo: Adicionar variáveis de ambiente, cadeias de conexão e configurações de aplicativo
  • Configurar a infraestrutura: modificar a rede, a autenticação e outros recursos do Azure
  • Usar recursos existentes: conectar-se aos planos existentes do Serviço de Aplicativo ou a outros recursos do Azure

Para obter mais informações, consulte Configurar um aplicativo Aspire para o Serviço de Aplicativo do Azure.

Para mais informações sobre cargas de trabalho suportadas e comportamento de implantação de App Service, veja integração com Azure App Service Hosting e Deploy to Serviço de Aplicativo do Azure.

Próximas Etapas 

Você implantou com êxito um aplicativo Aspire no Serviço de Aplicativo do Azure! Aqui estão algumas próximas etapas para explorar:

Explorar os recursos do Serviço de Aplicativo do Azure