Configurar Instância Gerenciada no Serviço de Aplicativo do Azure

Instância Gerenciada no Serviço de Aplicativo do Azure é uma opção de hospedagem com escopo de plano para aplicativos web Windows que precisam de personalização do sistema operacional (SO), rede privada opcional e integração segura com os serviços do Azure.

  • Identidade gerenciada
  • Scripts de configuração (instalação)
  • Montagens de armazenamento
  • Chaves do Registro
  • Acesso ao protocolo RDP

Importante

Instância Gerenciada está geralmente disponível para aplicativos web Windows em regiões selecionadas e é limitado a planos de preços Pv4 e Pmv4. A Microsoft vai adicionar mais regiões com o tempo. Instância Gerenciada não suporta Linux e containers.

Adicionar uma identidade gerenciada (ao plano do Serviço de Aplicativo)

Identidades gerenciadas em nível de plano permitem autenticação para operações de infraestrutura que ocorrem na camada da plataforma, como scripts de configuração (instalação) acessando o Armazenamento do Azure durante a inicialização e acesso ao Key Vault para montagens de armazenamento e adaptadores de chave de registro.

As identidades gerenciadas para o plano do Serviço de Aplicativo são necessárias nos seguintes cenários:

  • Para acessar e recuperar com segurança o script de configuração do Armazenamento do Azure.
  • Acesse os Key Vaults para fornecer credenciais e valores para montagens de armazenamento e adaptadores de chave do registry.

Veja Gerenciar identidades gerenciadas atribuídas pelo usuário para criar uma identidade gerenciada.

Para adicionar uma Identidade Gerenciada ao plano da Instância Gerenciada:

  1. Acesse sua instância gerenciada no portal do Azure.
  2. SelecioneIdentidade>Atribuída pelo usuário.
  3. Selecione + Adicionar.
  4. Selecione a assinatura e a identidade gerenciada.
  5. Selecione Adicionar para adicionar a identidade ao plano.

Adicionar scripts de configuração (instalação)

Scripts de configuração (instalação) não são obrigatórios. Use um script quando seu aplicativo exigir a instalação de dependências ou a configuração de recursos do sistema operacional.

Os scripts de configuração (instalação) são executados na inicialização da instância para aplicar a personalização persistente. Exemplos incluem registro do Component Object Model (COM), instalações do Microsoft/Windows Installers (MSI) e ativação de funções/recursos do Windows. Use scripts de configuração para as alterações que precisam persistir durante reinicios de instância. Use RDP para diagnósticos, não para configuração persistente.

Você precisa do seguinte para usar os scripts de configuração (instalação):

  • Uma identidade gerenciada atribuída ao plano do Serviço de Aplicativo
  • Uma conta de armazenamento com um contêiner de blob que contém o pacote de script de configuração (instalação) (zip).
  • Um arquivo zip individual cuja raiz contenha Install.ps1 (ponto de entrada)
  • A função Storage Blob Data Reader na conta de armazenamento, no contêiner ou no grupo de recursos

Para adicionar um script de configuração:

  1. Acesse seu plano do Serviço de Aplicativo da Instância Gerenciada no portal do Azure.

  2. Selecione Configuração>Configurações Gerais.

  3. Na seção Script de configuração, comece configurando o script.

    Configurações Value
    Conta de armazenamento Selecione sua conta de armazenamento
    Contêiner Insira o nome do contêiner
    Arquivo zip Insira o nome do arquivo zip
    Value Verifique se esse valor está correto
  4. Selecione Aplicar para salvar as alterações.

Melhores práticas para o script de configuração

  • Torne os scripts idempotentes (verifique antes da instalação).
  • Proteja operações destrutivas (evite modificar diretórios protegidos do sistema Windows).
  • Escalonar instalações pesadas para reduzir a latência de inicialização.

Exemplo de estrutura zip mínima:

Install.ps1
myInstallerfileNameGoesHere.msi
config.xml

Exemplo de script de configuração:

# Install Components, for example Crystal Reports, Control Library, Database Driver
$ComponentInstaller = "myInstallerFileNameGoesHere.msi"
try {
    $Component = Join-Path $PSScriptRoot $ComponentInstaller
    Start-Process $Component -ArgumentList "/q" -Wait -ErrorAction Stop
} catch {
    Write-Error "Failed to install ${ComponentInstaller}: $_"
    exit 1
}

Configurar montagens de armazenamento

Montagens de armazenamento fornecem armazenamento externo persistente, como o Arquivos do Azure, que seu aplicativo pode acessar. Use montagens de armazenamento para código legado que precisa de acesso compartilhado ao sistema de arquivos. Não use suportes de armazenamento para segredos; Use o Key Vault em vez disso. O armazenamento local é temporário, mas o Arquivos do Azure e montagens personalizadas do UNC persistem durante reinícios.

Você precisa do seguinte para configurar as montagens de armazenamento:

  • Identidade gerenciada (para acesso ao Key Vault)
  • Segredo do Key Vault (origem da credencial)

Para configurar as montagens de armazenamento:

  1. Acesse sua instância gerenciada no portal do Azure.
  2. Selecione Configuração>Montagens.
  3. Selecione + Nova montagem de armazenamento.

Forneça os seguintes detalhes para configurar a montagem de armazenamento:

Configurações Value
Nome Insira o nome de uma montagem
Tipo de armazenamento Arquivos do Azure, personalizada ou local (armazenamento temporário)
Conta de armazenamento Selecione ou insira uma conta de armazenamento
Compartilhamento de arquivo Selecione um compartilhamento de arquivo
Value Selecione um cofre de chaves
Secret Selecione o segredo do cofre de chaves
Letra de unidade do host Selecionar caminho da letra da unidade

Você pode montar o armazenamento externo na Instância Gerenciada. O armazenamento montado é persistente entre reinicializações e acessível do sistema de arquivos do seu aplicativo.

Configurar montagens de armazenamento com os Arquivos do Azure

Para configurar uma montagem de armazenamento dos Arquivos do Azure:

  1. Crie uma conta do Armazenamento do Azure e um compartilhamento de arquivo do Azure.
  2. Armazene uma credencial de conexão no Key Vault como um segredo. Conteúdo secreto com suporte: (Por exemplo: DefaultEndpointsProtocol=...;AccountName=...;AccountKey=...;EndpointSuffix=core.windows.net)
  3. Adicione a montagem à Instância Gerenciada (portal do Azure ou ARM/Bicep/Terraform).

Dica

Imponha permissões de nível de compartilhamento por meio do RBAC do Azure e das ACLs de compartilhamento para segurança aprimorada.

Configurar configurações de armazenamento com UNC personalizado

Use montagens para compartilhamentos SMB hospedados em outro lugar (local, VM ou não Microsoft). Verifique a conectividade de rede (integração de rede virtual/pontos de extremidade privados/firewalls).

  1. Se as credenciais forem necessárias, armazene-as em um segredo do Key Vault no formato: username=<user>,password=<password>
    • Evite usar contas de administrador de domínio; use uma identidade do serviço com privilégios mínimos.
  2. Adicione o ponto de montagem na Instância Gerenciada.

Configurar as chaves do Registro

Alguns aplicativos dependem de valores lidos do Registro do Windows. Com um adaptador de chave do Registro, você pode criar chaves do Registro e usar segredos do Azure Key Vault como o valor.

Você precisa do seguinte para configurar as chaves do Registro:

  • Identidade gerenciada (para acesso ao Key Vault)
  • Segredo do Key Vault (origem da credencial)

Para configurar as chaves do Registro:

  1. Acesse Configuração>Chaves do Registro.

  2. Selecione + Adicionar.

    Configurações Value
    Caminho Insira o caminho do registro
    Vault Insira o nome de um cofre existente
    Secret Selecione ou insira o segredo do cofre de chaves
    Tipo Cadeia de caracteres ou DWORD
  3. Selecione Adicionar para adicionar a chave do Registro.

Cuidado

Tenha cuidado ao modificar caminhos de registro críticos do sistema. Alterações incorretas podem afetar a estabilidade da instância.

Configurar o acesso do RDP (Bastion)

Início Rápido: Implantar o Azure Bastion automaticamente permite que você se conecte com segurança às instâncias da VM por meio do PROTOCOLO RDP (Protocolo de Área de Trabalho Remota). RDP via Azure Bastion é destinado a diagnósticos e solução de problemas. Use scripts de configuração para mudanças persistentes.

Você precisa dos seguintes recursos para o acesso ao Bastion/ao RDP:

  • A Instância Gerenciada precisa estar integrada à rede virtual
  • Host do Azure Bastion na rede virtual de destino
  • A porta 3389 precisa ser permitida do NSG da sub-rede Bastion para o NSG da sub-rede do Plano do Serviço de Aplicativo

Para configurar o Bastion:

  1. Acesse Configuração>Bastion/RDP.
  2. Verifique se a Rede Virtual está conectada.
  3. Selecione Permitir Área de Trabalho Remota (por meio do Bastion).

Cuidado

Não aplique instaladores manuais ou alterações de configuração exclusivamente por meio do RDP. As alterações são perdidas na reciclagem ou criam um descompasso de configuração.

Perguntas frequentes (FAQ)

Qual sistema operacional é executado na Instância Gerenciada no Serviço de Aplicativo do Azure?

Windows Server 2022.

Posso habilitar mais funções e recursos do Windows?

Sim, por meio de um script de configuração. No entanto, você não pode configurar recursos que foram removidos de uma versão futura do Windows Server.

A Instância Gerenciada no Serviço de Aplicativo do Azure recebe atualizações regulares de plataforma e pilha de aplicativos?

Sim, as instâncias recebem atualizações de rotina e manutenção da plataforma. O serviço também atualiza regularmente as pilhas de aplicações pré-instaladas. Você é responsável por manter quaisquer componentes instalados por meio de scripts de configuração.

Quais linguagens de programação são instaladas na Instância Gerenciada no Serviço de Aplicativo do Azure?

O serviço inclui Microsoft .NET Framework 3.5, 4.8 e Microsoft .NET 8.0. Se precisar de outros runtimes, instale-os usando um script de configuração. O Serviço de Aplicativo do Azure não fornece runtimes adicionais como parte da plataforma.

Quais são as limitações nos scripts de configuração (instalação)?

Quais são as limitações dos scripts de configuração (instalação)?

Os scripts de configuração (instalação) podem instalar dependências, habilitar funções e recursos e personalizar o sistema operacional. No entanto, o serviço não suporta operações destrutivas (por exemplo, exclusão Windows\\System32) porque elas podem afetar a estabilidade da instância.

Em que nível de permissão um script de configuração (instalação) é executado?

Os scripts de configuração (instalação) são executados com permissões de Administrador para permitir a instalação e a configuração de componentes no nível do sistema.

Quais permissões de função um operador tem ao se conectar a uma instância usando o Bastion?

Os operadores que se conectam por meio do Bastion têm privilégios de Administrador durante a sessão.

Como solucionar problemas de falhas com meu script de configuração (instalação) ou adaptadores do Registro/de armazenamento?

Operadores que se conectam usando o Bastion têm privilégios de Administrador durante a sessão. Você pode encontrar os logs do adaptador na raiz do computador ou eles são registrados nos Logs da Plataforma do Serviço de Aplicativo.

Os logs do adaptador podem ser encontrados na raiz do computador ou, alternativamente, são registrados nos Logs da Plataforma de Serviço de Aplicativo.

Qual é a memória endereçável de uma instância de trabalho da Instância Gerenciada no Serviço de Aplicativo do Azure?

A memória endereçável de uma Instância Gerenciada em uma instância de trabalho do Serviço de Aplicativo do Azure varia de acordo com o plano de preço escolhido. A tabela a seguir lista a memória endereçável da instância de trabalho da Instância Gerenciada.

Plano de preços Núcleos Memória (MB)
P0v4 1 2048
P1v4 2 5952
P2v4 4 13440
P3v4 8 28672
P1Mv4 2 13440
P2Mv4 4 28672
P3Mv4 8 60160
P4Mv4 16 121088
P5Mv4 32 246016

Qual serviço de Armazenamento do Azure devo usar para carregar um script de configuração (instalação)?

Use o serviço de blob de Armazenamento do Azure para carregar o script e as dependências necessárias.

Há uma restrição de nomenclatura e formato para o script de configuração (instalação)?

Sim, o script deve ser nomeado como Install.ps1. Há suporte apenas para o PowerShell. Lembre-se de carregar o script e as dependências de configuração (instalação) como um só arquivo .zip.

Há um limite no tamanho das dependências que posso carregar como parte do arquivo zip?

Nenhum limite de tamanho é imposto. Lembre-se de que o tamanho geral das dependências afeta o tempo de provisionamento da instância.

Adicionar ou editar adaptadores da Instância Gerenciada no Plano do Serviço de Aplicativo reinicia as instâncias do plano?

Sim, adicionar ou editar adaptadores de plano Instância Gerenciada (script de configuração, armazenamento ou registro) reinicia as instâncias subjacentes e afeta todos os aplicativos web implantados no plano. Reinicios de instâncias são necessários para aplicar mudanças de configuração.

Meu plano da Instância Gerenciada tem várias instâncias. Posso reiniciar uma só instância?

Sim, procure a Instância Gerenciada e selecione Instâncias no menu esquerdo. Em seguida, selecione Reiniciar ao lado do nome da instância.

Minha Instância Gerenciada no Plano do Serviço de Aplicativo tem vários aplicativos Web que posso reiniciar um único aplicativo Web?

Sim, navegue até a página Visão geral do aplicativo e selecione Reiniciar.

Posso atribuir a Identidade Gerenciada ao meu aplicativo Web na Instância Gerenciada no Plano do Serviço de Aplicativo?

Sim, você pode atribuir uma identidade gerenciada diferente a um aplicativo Web dentro da Instância Gerenciada. Siga as diretrizes da Identidade Gerenciada

Há uma limitação no número de adaptadores que posso criar para a Instância Gerenciada no Plano do Serviço de Aplicativo?

Existe alguma limitação no número de adaptadores que posso criar para o plano Instância Gerenciada on App Service?

Não, não há limite no número de adaptadores do Registro ou de armazenamento. Você só pode criar um adaptador de script de configuração (instalação) para a Instância Gerenciada no Plano do Serviço de Aplicativo. Aumentar o número de adaptadores pode aumentar o tempo de provisionamento da instância.