Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Os Serviços de Nuvem (clássicos) estão obsoletos para todos os clientes desde 1º de setembro de 2024. Todas as implantações em execução existentes serão interrompidas e desligadas pela Microsoft e os dados serão permanentemente perdidos a partir de outubro de 2024. As novas implantações devem usar o novo modelo de implantação baseado no Azure Resource Manager Serviços de Nuvem do Azure (suporte estendido) .
Este artigo fornece uma visão geral dos processos de fluxo de trabalho que ocorrem quando você implanta ou atualiza um recurso do Azure, como uma máquina virtual.
Observação
O Azure tem dois modelos de implantação diferentes para criar e trabalhar com recursos: Gerenciador de Recursos e Clássico. Este artigo aborda o uso do modelo de implantação clássica.
O diagrama a seguir apresenta a arquitetura dos recursos do Azure.
Noções básicas do fluxo de trabalho
A. RDFE/FFE é o caminho de comunicação do usuário para a malha. RDFE (RedDog Front End) é a API exposta publicamente que é o front-end do Portal de Gerenciamento e da API do modelo de implantação clássico, como Visual Studio, Azure MMC e assim por diante. Todas as solicitações do usuário passam por RDFE. FFE (Interface Frontal do Fabric) é a camada que converte solicitações do RDFE em comandos do fabric. Todas as solicitações de RDFE percorrem o FFE para alcançar os controladores de malha.
B. O controlador de malha é responsável por manter e monitorar todos os recursos no data center. Ele se comunica com agentes de host de fabric no sistema operacional (OS) de fabric, enviando informações como a versão do Guest OS, o pacote de serviço, a configuração de serviço e o estado do serviço.
C. O Host Agent reside no sistema operacional host e é responsável por configurar o sistema operacional convidado. Ele também lida com a interação com o Agente Convidado (WindowsAzureGuestAgent) para atualizar a função visando um estado de objetivo pretendido e realizar verificações de batimento cardíaco com o Agente Convidado. Se o Host Agent não receber resposta do sinal de pulsação por 10 minutos, o Host Agent reinicia o sistema operacional hóspede.
C2. O WaAppAgent é responsável por instalar, configurar e atualizar o WindowsAzureGuestAgent.exe.
D. WindowsAzureGuestAgent é responsável pelas seguintes tarefas:
- Configurar o sistema operacional convidado, incluindo Firewall, ACLs, recursos de LocalStorage, pacote de serviço e configuração e certificados.
- Configurando o SID para a conta de usuário sob a qual a função é executada.
- Comunicar o status da função à malha.
- Iniciando o WaHostBootstrapper e monitorando-o para se certificar de que o papel está no estado desejado.
E. O WaHostBootstrapper é responsável por:
- Ler a configuração da função e iniciar todas as tarefas e processos apropriados para configurar e executar a função.
- Monitorar todos os seus processos filho.
- Gerar o evento StatusCheck no processo de host da função.
F. O IISConfigurator será executado se a função estiver configurada como uma função Web do IIS completa. É responsável por:
- Iniciar os serviços padrão do IIS
- Configurar o módulo Rewrite na configuração da Web
- Configurar o AppPool para a função configurada no modelo de serviço
- Configurar o log do IIS para apontar para a pasta DiagnosticStore LocalStorage
- Configurar permissões e ACLs
- O site reside em %roleroot%:\sitesroot\0, e o AppPool aponta para esse local para executar o IIS.
G. O modelo define as tarefas de inicialização e o WaHostBootstrapper as inicia. As tarefas de inicialização podem ser configuradas para serem executadas em segundo plano de forma assíncrona, e o bootstrapper do host inicia a tarefa de inicialização e depois continua com outras tarefas de inicialização. As tarefas de inicialização também podem ser configuradas para serem executadas no modo Simples (padrão). No modo Simples, o bootstrapper do host aguarda que a tarefa de inicialização termine e retorne um código de saída de sucesso (0) antes de continuar para a próxima tarefa de inicialização.
H. Essas tarefas fazem parte do SDK e são definidas como plug-ins na definição de serviço da função (.csdef). Quando expandido para tarefas de inicialização, o DiagnosticsAgent e o RemoteAccessAgent são exclusivos, pois cada um deles define duas tarefas de inicialização, uma regular e outra que tem um parâmetro /blockStartup. A tarefa de inicialização normal é definida como uma Tarefa de inicialização em segundo plano para que possa ser executada em segundo plano enquanto a própria função está em execução. A tarefa de inicialização /blockStartup é definida como uma tarefa de inicialização simples para que o WaHostBootstrapper aguarde sua saída antes de continuar. A tarefa /blockStartup aguarda a tarefa regular terminar de inicializar; em seguida, ela sai e permite que o bootstrapper do host continue. Esse processo é realizado para que o diagnóstico e o acesso RDP possam ser configurados antes do início dos processos da função, o que é feito através da tarefa /blockStartup. Esse processo também permite que o diagnóstico e o acesso RDP continuem em execução após o inicializador do host concluir as tarefas de inicialização, o que é feito por meio da tarefa Normal.
I. O WaWorkerHost é o processo de host padrão para funções de trabalho normais. Esse processo de host hospeda todas as DLLs da função e o código de ponto de entrada, como OnStart e Run.
J. O WaIISHost é o processo de host para o código de ponto de entrada de funções web que utilizam o IIS Completo. Esse processo carrega a primeira DLL encontrada que usa a classe RoleEntryPoint e executa o código dessa classe (OnStart, Run, OnStop). Todos os eventos RoleEnvironment (como StatusCheck e Changed) criados na classe RoleEntryPoint são gerados nesse processo.
K. W3WP é o processo de trabalho padrão do IIS usado se a função estiver configurada para usar o IIS completo. Esse processo executa o AppPool configurado no IISConfigurator. Quaisquer eventos RoleEnvironment (como StatusCheck e Changed) criados aqui são acionados neste processo. Os eventos RoleEnvironment são acionados em ambos os locais (WaIISHost e w3wp.exe) se você assinar eventos em ambos os processos.
Processos de fluxos de trabalho
- Um usuário faz uma solicitação, como carregar arquivos ".cspkg" e ".cscfg", informando a um recurso para parar ou fazendo uma alteração de configuração, e assim por diante. As solicitações podem ser feitas por meio do portal do Azure ou de ferramentas que usam a API do modelo de implantação clássico, como o recurso Visual Studio Publish. Essa solicitação vai para o RDFE para realizar todo o trabalho relacionado à assinatura e, em seguida, repassar a solicitação para o FFE. O restante dessas etapas de fluxo de trabalho é implantar um novo pacote e iniciá-lo.
- O FFE localiza o pool de computadores correto (com base na entrada do cliente, como grupo de afinidade ou localização geográfica, além de entrada da malha, como disponibilidade do computador) e se comunica com o controlador de malha mestre nesse pool de computadores.
- O controlador de malha localiza um host que tem núcleos de CPU disponíveis (ou cria um novo host). O pacote de serviço e a configuração são copiados para o host, e o controlador de estrutura se comunica com o agente do host no sistema operacional do host para implantar o pacote (configurar DIPs, portas, sistema operacional hóspede, etc.).
- O agente de host inicia o sistema operacional convidado e se comunica com o agente convidado (WindowsAzureGuestAgent). O anfitrião envia pulsações ao convidado para assegurar que o papel está progredindo em direção ao seu estado desejado.
- O WindowsAzureGuestAgent configura o sistema operacional convidado (firewall, ACLs, LocalStorage e assim por diante), copia um novo arquivo de configuração XML para c:\Config e, em seguida, inicia o processo de WaHostBootstrapper.
- Para funções Web do IIS completas, o WaHostBootstrapper inicia o IISConfigurator e informa a ele para excluir quaisquer AppPools existentes para a função Web do IIS.
- O WaHostBootstrapper lê as tarefas de Inicialização de E:\RoleModel.xml e começa a executar as tarefas de inicialização. WaHostBootstrapper espera até que todas as tarefas de inicialização simples sejam concluídas e retorne uma mensagem de sucesso.
- Para funções Web do IIS completas, o WaHostBootstrapper instrui o IISConfigurator a configurar o AppPool do IIS e a direcionar o site para
E:\Sitesroot\<index>, onde<index>é um índice de base zero para o número de elementos<Sites>definidos para o serviço. - WaHostBootstrapper inicia o processo host dependendo do tipo de função:
- Função de trabalho: O WaWorkerHost.exe é iniciado. O WaHostBootstrapper executa o método OnStart (). Depois de retornar, o WaHostBootstrapper começa a executar o método Run() e, em seguida, marca a função simultaneamente como Pronta e a coloca na rotação do balanceador de carga (se InputEndpoints estiverem definidos). Em seguida, o WaHostBootsrapper, entra em um loop de verificação do status da função.
- Função Web do IIS completa: o aIISHost foi iniciado. O WaHostBootstrapper executa o método OnStart (). Depois de retornar, ele começa a executar o método Run () e, em seguida, marca a função simultaneamente como Pronta e a coloca na rotação do balanceador de carga. Em seguida, o WaHostBootsrapper, entra em um loop de verificação do status da função.
- As solicitações da web recebidas para uma função web Full IIS fazem com que o IIS inicie o processo W3WP para atender à solicitação, da mesma forma que ocorreria em um ambiente local do IIS.
Localizações dos Arquivos de Log
WindowsAzureGuestAgent
- C:\Logs\AppAgentRuntime.Log.
Esse log contém alterações no serviço, incluindo início, interrupções e novas configurações. Se o serviço não mudar, você pode esperar ver grandes intervalos de tempo nesse arquivo de log. - C:\Logs\WaAppAgent.Log.
Esse log contém as atualizações de status, as notificações de pulsação e é atualizado a cada 2-3 segundos. Esse log contém uma visão histórica do status da instância e informa quando a instância não estava no estado Pronto.
WaHostBootstrapper
C:\Resources\Directory\<deploymentID>.<role>.DiagnosticStore\WaHostBootstrapper.log
WaIISHost
C:\Resources\Directory\<deploymentID>.<role>\WaIISHost.log
IISConfigurator
C:\Resources\Directory\<deploymentID>.<role>\IISConfigurator.log
logs do IIS
C:\Resources\Directory\<guid>.<role>.DiagnosticStore\LogFiles\W3SVC1
logs de eventos do Windows
D:\Windows\System32\Winevt\Logs