Este artigo responderá a perguntas frequentes sobre os modelos do ARM (modelos do Azure Resource Manager).
Introdução
O que são os modelos do ARM e por que devo usá-los?
Os modelos do ARM são arquivos JSON em que é possível definir o que você deseja implantar no Azure. Os modelos ajudam você a implementar uma solução de infraestrutura como código no Azure. Sua organização pode implantar a infraestrutura necessária em diferentes ambientes de modo confiável e repetido.
Para saber mais sobre de que modo os modelos do ARM ajudam você a gerenciar sua infraestrutura do Azure, confira O que são os modelos do ARM?
Como faço para começar a usar os modelos?
É preciso obter as ferramentas adequadas para simplificar a criação de modelos do ARM. Recomendamos instalar o Visual Studio Code e a extensão de ferramentas do Azure Resource Manager. Para obter uma breve introdução sobre essas ferramentas, confira o artigo Guia de início rápido: criar modelos do ARM com o Visual Studio Code.
Quando você estiver pronto para saber mais sobre a criação de modelos do ARM, inicie a série de tutoriais para iniciantes sobre os modelos do ARM. Esses tutoriais fornecem um passo a passo sobre o processo de criação de um modelo do ARM. Você aprenderá sobre as diferentes seções do modelo e de que modo elas funcionam em conjunto. Esse conteúdo também está disponível como um módulo do Learn.
Devo usar modelos do ARM ou o Terraform para executar uma implantação no Azure?
Use a opção de sua preferência. Os dois serviços ajudam no processo de automatização de implantações no Azure.
Há benefícios em usar modelos do ARM em relação a outros serviços de infraestrutura como código. Para saber mais sobre esses benefícios, confira Por que escolher os modelos do ARM?
Build 2020
Perdi a apresentação no Microsoft Build 2020. A apresentação está disponível para visualização?
Onde posso obter mais informações sobre os novos recursos anunciados na Build?
Para obter informações gerais sobre os recursos desenvolvidos, ingresse no Grupo do Yammer de implantações do Assistente do Azure.
Para saber mais sobre a nova linguagem do modelo, inscreva-se para receber notificações.
Para saber mais sobre as especificações de modelo, confira Especificações de modelo do Azure Resource Manager.
Como criar e testar modelos
Onde posso saber mais sobre práticas recomendadas para modelos do ARM?
Para obter recomendações sobre como implementar seus modelos, confira Práticas recomendadas do modelo do ARM. Após criar um modelo, execute o kit de ferramentas de teste do ARM. Ele verifica se o modelo corresponde às práticas recomendadas.
Configurei meu ambiente por meio do portal. Há alguma maneira de obter o modelo de um grupo de recursos existente?
Sim, é possível exportar o modelo de um grupo de recursos. O modelo exportado será um ponto de partida adequado para aprender mais sobre os modelos. No entanto, você com certeza vai querer revisar o modelo antes de usá-lo em um ambiente de produção.
Ao exportar o modelo, será possível selecionar os recursos que você deseja incluir nele.
Posso criar um grupo de recursos em um modelo do ARM, depois implantar recursos nele?
Sim, ao implantar o modelo no nível de sua assinatura do Azure, será possível criar um grupo de recursos nele. Para obter um exemplo de como criar um grupo de recursos e implantar recursos, confira o artigo Grupo de recursos e recursos.
Posso criar uma assinatura em um modelo do ARM?
Sim. Para obter mais informações, confira como Criar de modo programático assinaturas do Azure com as APIs mais recentes.
Como posso testar meu modelo antes de implantá-lo?
Recomendamos executar o kit de ferramentas de teste do ARM e a operação de teste de hipóteses em seus modelos antes de implantá-los. O kit de ferramentas de teste verifica se o modelo usa práticas recomendadas. Ele fornece avisos quando identifica alterações que poderão aprimorar o modo como você implementou o modelo.
A operação de teste de hipóteses mostra as alterações que o modelo faz em seu ambiente. É possível conferir alterações não intencionais antes que elas sejam implantadas. O teste de hipóteses também retorna erros que podem ser detectados durante a validação de simulação. Por exemplo, caso o modelo tenha um erro sintático, o teste de hipóteses retornará esse erro. Ele também identifica e retorna erros sobre o estado final dos recursos implantados. Por exemplo, caso o modelo implante uma conta de armazenamento com um nome que já esteja em uso, o teste de hipóteses retornará esse erro.
Onde posso obter informações sobre propriedades disponíveis para cada tipo de recurso?
O VS Code fornece o IntelliSense para você trabalhar com as propriedades do recurso. Também é possível exibir a referência do modelo para obter as propriedades e as descrições.
Preciso criar várias instâncias de um tipo de recurso. Como fazer para criar um iterador em meu modelo?
Use a opção Copiar elemento para especificar mais de uma instância. É possível usar a opção Copiar em recursos, propriedades, variáveis e saídas.
Linguagem do modelo
Eu soube que estão trabalhando em uma nova linguagem do modelo. Onde posso saber mais sobre isso?
Para saber mais sobre a nova linguagem, confira O que é Bicep (Versão Prévia)?.
Há planos para dar suporte à criação de modelos no YAML?
No momento, não há planos para dar suporte ao YAML. Acreditamos que a nova linguagem do modelo oferece uma solução mais fácil de usar do que o YAML ou o JSON.
Poderei usar o JSON para escrever modelos após o lançamento da nova linguagem do modelo?
Sim, será possível continuar usando modelos JSON.
Alguma ferramenta será oferecida a fim de converter modelos JSON para a nova linguagem do modelo?
Sim. Confira Como converter modelos do ARM entre o JSON e o Bicep.
Especificações de Modelo
Como as especificações de modelo e o Azure Blueprints estão relacionados?
O Azure Blueprints usa as especificações de modelo na implementação, substituindo o recurso blueprint definition
por um recurso template spec
. Fornecemos um caminho de migração para converter a definição de blueprint em uma especificação de modelo. No entanto, as APIs de definição de blueprint ainda terão suporte. Não é necessário executar alterações no recurso blueprint assignment
. Os blueprints continuam sendo uma experiência do usuário para compor um ambiente controlado no Azure.
As especificações de modelo substituem os modelos vinculados?
Não, porém as especificações de modelo foram projetadas para funcionar de modo adequado com os modelos vinculados. Não é necessário migrar o modelo vinculado para um ponto de extremidade acessível ao público antes de implantar o modelo pai. Em vez disso, empacote o modelo pai e os respectivos artefatos durante a criação da especificação de modelo.
As especificações de modelo podem ser compartilhadas entre assinaturas?
Sim, contanto que o usuário tenha acesso de leitura à especificação de modelo, ela pode ser usada entre assinaturas. No entanto, as especificações de modelo não podem ser usadas entre locatários.
Incluir scripts nos modelos
Posso incluir um script em meu modelo para realizar tarefas que não podem ser executadas em modelos?
Sim, use scripts de implantação. É possível incluir scripts do Azure PowerShell ou da CLI do Azure em seus modelos.
Ainda posso usar extensões de script personalizado e o DSC (Desired State Configuration)?
Essas opções não foram alteradas e ainda estão disponíveis. Os scripts de implantação são projetados para executar ações que não estão relacionadas à VM participante. Caso precise executar um script em um sistema operacional do host de uma VM, usar a extensão de script personalizado e/ou o DSC será uma opção mais adequada. No entanto, os scripts de implantação têm algumas vantagens, como definir a duração do tempo limite.
Os scripts de implantação são compatíveis com o Azure Government?
Sim, é possível usar scripts de implantação no US Gov – Arizona e no US Gov – Virgínia.
Versão prévia de alterações antes da implantação
Posso visualizar as alterações ocorridas antes da implantação de um modelo?
Sim, use o recurso teste de hipóteses. Ele avalia o estado atual do ambiente, depois executa uma comparação com o estado posterior à implantação. É possível examinar um resumo das alterações para verificar se o modelo não apresenta resultados inesperados.
Posso usar o teste de hipóteses com os modos incremental e completo?
Sim, os dois modos de implantação são compatíveis. Para obter um exemplo de como usar o modo incremental, confira como Executar uma operação de teste de hipóteses. Para obter um exemplo de como usar o modo completo, confira Confirmar exclusão.
O teste de hipóteses funciona com modelos vinculados?
Sim, o teste de hipóteses avalia o estado do modelo pai e os respectivos modelos vinculados.
Posso usar o teste de hipóteses no Azure Pipelines?
Sim, é possível usar o teste de hipóteses para verificar se a execução do Pipeline deverá prosseguir.
Quando eu uso o teste de hipóteses, vejo alterações em propriedades que não estão em meu modelo. Este "ruído" é esperado?
Estamos trabalhando para reduzir essa discrepância. Você colabora com nosso aperfeiçoamento enviando problemas encontrados no repositório GitHub para: https://aka.ms/WhatIfIssues
Visualizador de modelos
É possível visualizar meu modelo do ARM e os respectivos recursos?
Há uma extensão do VS Code criada com a contribuição da comunidade que visualiza seu modelo do ARM de modo bastante satisfatório. Ela mostra os recursos que você está implantando e o relacionamento entre eles.
Posso usar o visualizador de modelos fora do VS Code?
O visualizador de modelos está em versão prévia no portal. Para obter mais informações, assista a esta breve sessão da Build.
Limites de implantação
Quantos grupos de recursos posso implantar em uma operação de implantação?
Esse limite antes era de cinco grupos de recursos. Agora ele aumentou para 800 grupos de recursos. Para obter mais informações, confira como Criar grupos de recursos e recursos no nível da assinatura.
Recebi um erro no histórico de implantação sobre ter um limite de 800 implantações. O que devo fazer?
Estamos alterando o modo de manter um grupo de recursos no histórico de implantação. Antes era necessário excluir as implantações do histórico de modo manual para evitar esse erro. Desde junho de 2020, as implantações do histórico são excluídas de modo automático, conforme você se aproxima do limite. Para obter mais informações, confira Exclusões automáticas do histórico de implantações.
Excluir uma implantação do histórico não afetará os recursos implantados.
Modelos e DevOps
Posso integrar modelos do ARM ao Azure Pipelines?
Sim. Para obter uma explicação sobre como usar o modelo e os pipelines, confira os artigos Tutorial: integração contínua de modelos do ARM com o Azure Pipelines e Integrar modelos do ARM ao Azure Pipelines.
Posso usar o GitHub Actions para implantar um modelo?
Sim, confira como Implantar modelos do ARM usando o GitHub Actions.
Próximas etapas
Para obter uma introdução sobre os modelos do ARM, confira O que são os modelos do ARM?.