Partilhar via


Configure Managed Instance on Azure App Service (pré-visualização)

A Managed Instance no Azure App Service (pré-visualização) é uma opção de alojamento com âmbito de plano para aplicações web Windows que necessitam de personalização do Sistema Operativo (SO), rede privada opcional e integração segura com recursos Azure. Este artigo explica como configurar uma Instância Gerida em áreas-chave:

  • Identidade gerenciada
  • Scripts de configuração (instalação)
  • Montagens de armazenamento
  • Chaves de registo
  • Acesso ao Protocolo de Ambiente de Trabalho Remoto (RDP)

Importante

O Managed Instance está em pré-visualização, disponível para aplicações web Windows em regiões selecionadas, e limitado a planos de preços Pv4 e PMV4. Mais regiões a seguir. Linux e containers não são suportados.

Adicionar uma identidade gerida (ao plano do Serviço de Aplicações)

As identidades geridas ao nível do plano permitem a autenticação para operações de infraestrutura que ocorrem na camada da plataforma, como scripts de configuração (instalação) que acedem ao Azure Storage durante o arranque, adaptadores de registo que extraem segredos do Key Vault e montagens de armazenamento que autenticam no Azure Files. Estes componentes são recursos partilhados que várias aplicações do plano consomem. Por exemplo, uma identidade ao nível do plano permite que a Instância Gerida autentique uma vez para componentes de infraestrutura, enquanto as aplicações individuais mantêm as suas próprias identidades para recursos específicos da aplicação, como bases de dados e segredos de aplicação.

Identidades geridas para o plano de Serviços de Aplicações são exigidas nos seguintes cenários:

  • Para aceder e recuperar de forma segura o seu script de configuração do Azure Storage.
  • Aceder aos Cofres de Chaves para fornecer credenciais e valores para Montagens de Armazenamento e Adaptadores de Chave de Registo.

Consulte gerir identidades geridas atribuídas pelos utilizadores para criar uma identidade gerida.

Para adicionar uma Identidade Gerida ao plano de Instância Gerida:

  1. Vai à tua Instância Gerida no portal Azure.
  2. Selecione Identidade>Utilizador atribuído.
  3. Selecione + Adicionar.
  4. Selecione a subscrição e a identidade gerida.
  5. Selecione Adicionar para adicionar a identidade ao plano.

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

Scripts de configuração (instalação) executam-se no arranque da instância para aplicar personalização persistente. Exemplos incluem o registo do Component Object Model (COM), instalações do Microsoft/Windows Installers (MSI), configuração dos Serviços de Informação da Internet (IIS Server), alterações de ACL, ativação de Funcionalidades do Windows, definição de variáveis de ambiente.

Precisa do seguinte para usar scripts de configuração (instalação):

  • Uma identidade gerida atribuída ao plano de Serviços de Aplicações
  • Uma conta de armazenamento com um contentor Blob que contém o pacote de script de configuração (instalação) (zip).
  • Um único ficheiro zip cuja raiz contém Install.ps1 (ponto de entrada)
  • Storage Blob Data Reader Função na conta de armazenamento, contentor ou grupo de recursos

Para adicionar um script de configuração:

  1. Aceda ao seu plano de Managed Instance App Service no portal Azure.

  2. SelecioneDefinições Gerais>.

  3. Na secção do script de Configuração , comece por configurar o seu script.

    Configuração Valor
    Conta de armazenamento Selecione a sua conta de armazenamento
    Container Introduza o nome do seu contentor
    Ficheiro zip Introduza o nome do ficheiro zip
    Valor Verifique se este valor está correto
  4. Selecione Aplicar para guardar as alterações.

Melhores práticas para script de configuração

  • Faz os scripts idempotentes (verifica 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 arranque.

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

As montagens de armazenamento fornecem armazenamento externo persistente (por exemplo, Azure Files) acessível à sua aplicação. Use para código legado que necessite de acesso partilhado ao sistema de ficheiros, não para segredos (use Key Vault). Embora também esteja disponível armazenamento local (temporário), alterações persistentes exigem montagens de armazenamento.

Precisa do seguinte para configurar os suportes de armazenamento:

  • Identidade gerida (para acesso ao Key Vault)
  • Segredo do Cofre de Chaves (fonte da credencial)

Para configurar montagens de armazenamento:

  1. Vai à tua Instância Gerida no portal Azure.
  2. Selecionar montagens de configuração>.
  3. Selecionar + Nova montagem de armazenamento.

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

Configuração Valor
Nome Introduza um nome de montada
Tipo de armazenamento Ficheiros Azure, Personalizados ou Local (armazenamento temporário)
Conta de armazenamento Selecione ou introduza uma conta de armazenamento
Partilha de ficheiros Selecione uma partilha de ficheiros
Valor Selecione um cofre da Chave
Segredo Selecione o segredo do cofre da chave
Letra de transmissão do suporte Selecionar o caminho da letra da unidade

Pode montar armazenamento externo na sua Instância Gerida. O armazenamento montado é persistente durante os reinícios e acessível a partir do sistema de ficheiros da sua aplicação.

Configurar montagens de armazenamento com ficheiros Azure

Para configurar uma montagem de armazenamento Azure Files:

  1. Crie uma Conta Azure Storage e uma partilha Azure Files.
  2. Guarde uma credencial de ligação no Key Vault como segredo. Conteúdos secretos suportados: (Ex: DefaultEndpointsProtocol=...;AccountName=...;AccountKey=...;EndpointSuffix=core.windows.net)
  3. Adiciona a montagem na Instância Gerida (portal Azure ou ARM/Bicep/Terraform).

Sugestão

Aplicar permissões ao nível de partilha via Azure RBAC + ACLs de partilha para maior segurança.

Configurar montagens de armazenamento com UNC personalizado

Use mounts para partilhas SMB alojadas noutros locais (on-premises, VM ou fora da Microsoft). Garantir a conectividade de rede (integração de rede virtual / endpoints privados / firewalls).

  1. Se forem necessárias credenciais, guarde-as num segredo Key Vault no formato: username=<user>,password=<password>
    • Evite contas de administrador de domínio; Use uma identidade de serviço com privilégio mínimo.
  2. Adiciona a montagem na Instância Gerida.

Configurar chaves do registo

Algumas aplicações dependem dos valores lidos do Registo do Windows. Com um adaptador de Chave de Registo, podes criar chaves de registo e usar segredos do Azure Key Vault como valor.

Precisa do seguinte para configurar as chaves do registo:

  • Identidade gerida (para acesso ao Key Vault)
  • Segredo do Cofre de Chaves (fonte da credencial)

Para configurar as chaves do registo:

  1. Vai a Configurar>Chaves do Registo.

  2. Selecione + Adicionar.

    Configuração Valor
    Caminho Introduzir o caminho do registo
    Cofre-forte Insira um nome de cofre existente
    Segredo Selecione ou introduza o segredo do cofre de chaves
    Tipo String ou DWORD
  3. Selecione Adicionar para adicionar a chave do registo.

Atenção

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

Configurar o acesso RDP (Bastion)

Início rápido: O Deploy Azure Bastion permite-lhe conectar-se de forma segura às suas instâncias de VM através do Protocolo de Ambiente de Trabalho Remoto (RDP). O RDP via Azure Bastion é para diagnósticos transitórios (inspeção de logs, validação rápida). Se pretende usar o Bastion através do portal, então atualize o seu recurso Bastion para o nível de preços padrão e selecione Suporte Nativo ao Cliente e Conexão IP-Based.

Precisas dos seguintes recursos para acesso Bastion/RDP:

  • A Instância Gerida deve ser integrada em rede virtual
  • Azure Bastion host na rede virtual de destino
  • A porta 3389 deve ser permitida da sub-rede NSG do Bastion para a sub-rede NSG do Plano de Serviços de Aplicações

Para configurar o Bastion:

  1. Vai a Bastião de Configuração>/RDP.
  2. Verifique se a Rede Virtual está ligada.
  3. Selecione Permitir Ambiente de Trabalho Remoto (via Bastion).

Atenção

Não aplique instaladores manuais ou alterações de configuração apenas através do RDP. As alterações perdem-se na reciclagem ou criam desvio de configuração.

Perguntas Mais Frequentes (FAQ)

Que sistema operativo (SO) está a correr na Managed Instance no Azure App Service?

Windows Server 2022.

Posso ativar mais funções e funcionalidades no Windows?

Sim, através de um script de configuração. No entanto, as funcionalidades removidas de uma futura versão do Windows Server não estarão indisponíveis na Instância Gerida.

O Managed Instance no Azure App Service recebe atualizações regulares da plataforma e da pilha de aplicações?

Sim, as instâncias recebem atualizações e manutenção rotineiras da plataforma. As pilhas de aplicações pré-instaladas também são atualizadas regularmente. É obrigatório manter quaisquer componentes instalados através de scripts de configuração (instalação).

Que linguagens de programação estão instaladas na Instância Gerida no Azure App Service?

Microsoft .NET Framework 3.5, 4.8 e Microsoft .NET 8.0. Se precisares de outros runtimes, podes instalá-los usando um script de configuração. Estas não serão mantidas pela plataforma e devem ser atualizadas manualmente.

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

Scripts de configuração (instalação) podem instalar dependências, ativar papéis e funcionalidades, e personalizar o sistema operativo. No entanto, operações destrutivas (por exemplo, eliminação Windows\System32) não são suportadas e podem resultar em instabilidade instável.

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

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

Que função tem um operador ao ligar-se a uma instância usando o Bastion?

Os operadores que se ligam via Bastion têm privilégios de Administrador durante a sessão.

Como posso diagnosticar falhas com o meu script de configuração (instalação) ou com adaptadores de registo/armazenamento?

Para resolver o problema, reveja os logs para scripts de configuração (instalação). Podem ser encontrados em C:\InstallScripts\Script\Install.log na instância (não na aplicação web). Em alternativa, os logs da consola do App Service podem ser enviados para o Azure Monitor e para o Log Analytics.

Os registos dos adaptadores podem ser encontrados na raiz da máquina, alternativamente estão iniciados nos registos da App Service Platform.

Qual é a memória endereçável de uma Instância Gerida numa instância de trabalhador do Azure App Service?

A memória endereçável de uma Instância Gerida na instância trabalhadora do Azure App Service varia consoante o plano de preços escolhido. A tabela seguinte lista a memória endereçável para a instância Managed Instance on Azure App Service worker instance. É importante considerar se tens um script de configuração que instala mais componentes, serviços, etc. Estes recursos afetam a quantidade de memória disponível para utilização pelas suas aplicações web.

Plano de preços Cores 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

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

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

Existe alguma restrição quanto à nomeação e formato do script de configuração (instalação)?

Sim, o guião tem de se chamar Install.ps1. Apenas o PowerShell é suportado. Certifique-se de carregar o script de configuração (instalação) e as dependências como um único ficheiro .zip.

Existe um limite de tamanho para as dependências que posso carregar como parte do ficheiro zip?

Não é aplicado nenhum limite de tamanho. Lembre-se que o tamanho total das dependências impacta o tempo de provisionamento da instância.

Adicionar ou editar a Instância Gerida em adaptadores de plano de Serviços de Aplicações reinicia as instâncias do plano?

Sim, adicionar ou editar adaptadores de plano de Instâncias Geridas (script de configuração/armazenamento/registo) reinicia as instâncias subjacentes e afeta todas as aplicações web implementadas no plano. Lembra-te que o reinício da instância remove todas as alterações feitas via sessão RDP. Use sempre o script de configuração (instalação) para persistir dependências, instalação ou outras alterações de configuração necessárias.

O meu plano de Instância Gerida tem múltiplas instâncias, posso reiniciar uma única instância?

Sim, navegue até à Instância Gerida e selecione Instâncias no menu esquerdo. Depois seleciona reiniciar ao lado do nome da instância.

O meu plano Managed Instance on App Service tem várias aplicações web, posso reiniciar uma única aplicação web?

Sim, navegue até à página de Visão Geral da aplicação e selecione Reiniciar.

Posso atribuir Identidade Gerida à minha aplicação web dentro do plano Managed Instance on App Service?

Sim, pode atribuir uma identidade gerida diferente a uma aplicação web dentro da Instância Gerida. Siga as orientações de Identidade Gerida

Existe alguma limitação no número de adaptadores que posso criar para o plano Managed Instance on App Service?

Não, não há limite para o número de adaptadores de armazenamento ou registo. Só pode criar um único adaptador de script de configuração (instalação) para a Instância Gerida no plano de Serviços de Aplicações. O aumento do número de adaptadores pode afetar o tempo de provisionamento para a Instância Gerida.