Editar

Perguntas frequentes sobre modelos ARM

Este artigo responde a perguntas frequentes sobre modelos do Azure Resource Manager (modelos ARM).

Introdução

O que são modelos ARM e por que devo usá-los?

Os modelos ARM são arquivos JSON onde você define o que deseja implantar no Azure. Os modelos ajudam a implementar uma solução de infraestrutura como código para o Azure. Sua organização pode implantar repetidamente e de forma confiável a infraestrutura necessária em diferentes ambientes.

Para saber mais sobre como os modelos ARM ajudam você a gerenciar sua infraestrutura do Azure, consulte O que são modelos ARM?

Como faço para começar a usar modelos?

Para simplificar a criação de modelos ARM, você precisa das ferramentas certas. Recomendamos instalar o Visual Studio Code e a extensão de ferramentas do Azure Resource Manager. Para obter uma introdução rápida a essas ferramentas, consulte Guia de início rápido: criar modelos ARM com o Visual Studio Code.

Quando estiver pronto para aprender sobre como criar modelos ARM, inicie a série de tutoriais para iniciantes sobre modelos ARM. Estes tutoriais levam você passo a passo através do processo de construção de um modelo ARM. Você aprende sobre as diferentes seções do modelo e como elas funcionam juntas. Este conteúdo também está disponível como um módulo Aprender.

Devo usar modelos ARM ou Terraform para implantar no Azure?

Use a opção que você mais gosta. Ambos os serviços ajudam você a automatizar implantações no Azure.

Acreditamos que há benefícios em usar modelos ARM em relação a outros serviços de infraestrutura como código. Para saber mais sobre esses benefícios, consulte Por que escolher modelos ARM?

Construir 2020

Eu perdi sua 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 que você anunciou no Build?

Para obter informações gerais sobre os recursos que estamos trabalhando, participe do nosso grupo Yammer de Implantações do Azure Advisors.

Para saber mais sobre o novo idioma do modelo, inscreva-se para receber notificações.

Para saber mais sobre as especificações de modelo, consulte Especificações de modelo do Azure Resource Manager.

Criação e teste de modelos

Onde posso aprender sobre as melhores práticas para modelos ARM?

Para obter recomendações sobre como implementar seus modelos, consulte Práticas recomendadas de modelo ARM. Depois de criar um modelo, execute o kit de ferramentas de teste ARM. Verifica se o seu modelo corresponde às práticas recomendadas.

Configurei o meu ambiente através do portal. Existe alguma maneira de obter o modelo de um grupo de recursos existente?

Sim, você pode exportar o modelo de um grupo de recursos. O modelo exportado é um bom ponto de partida para aprender sobre modelos, mas você provavelmente vai querer revisá-lo antes de usá-lo em um ambiente de produção.

Ao exportar o modelo, você pode selecionar quais recursos deseja incluir no modelo.

Posso criar um grupo de recursos em um modelo ARM e implantar recursos nele?

Sim, você pode criar um grupo de recursos em um modelo ao implantar o modelo no nível de sua assinatura do Azure. Para obter um exemplo de criação de um grupo de recursos e implantação de recursos, consulte Grupo de recursos e recursos.

Posso criar uma assinatura em um modelo ARM?

Sim, para obter mais informações, consulte Criar programaticamente 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 ARM e a operação hipotética em seus modelos antes de implantá-los. O kit de ferramentas de teste verifica se seu modelo usa práticas recomendadas. Ele fornece avisos quando identifica alterações que podem melhorar a forma como você implementou seu modelo.

A operação hipotética mostra as alterações que seu modelo faz em seu ambiente. Você pode ver alterações não intencionais antes de serem implantadas. O What-if também retorna quaisquer erros que possa detetar durante a validação de comprovação. Por exemplo, se o modelo contiver um erro sintático, ele retornará esse erro. Ele também retorna quaisquer erros que possa determinar sobre o estado final dos recursos implantados. Por exemplo, se o modelo implantar uma conta de armazenamento com um nome que já está em uso, o what-if retornará esse erro.

Onde posso encontrar informações sobre as propriedades disponíveis para cada tipo de recurso?

O VS Code fornece intellisense para trabalhar com as propriedades do recurso. Você também pode exibir a referência de modelo para propriedades e descrições.

Preciso criar várias instâncias de um tipo de recurso. Como posso criar um iterador no meu modelo?

Use o elemento copy para especificar mais de uma instância. Você pode usar cópia em recursos, propriedades, variáveis e saídas.

Idioma do modelo

Ouvi dizer que você está trabalhando em uma nova linguagem de modelo. Onde posso obter mais informações?

Para saber mais sobre o novo idioma, consulte O que é Bicep (Preview)?.

Existe um plano para apoiar a criação de modelos no YAML?

Atualmente, não há nenhum plano para apoiar o YAML. Acreditamos que a nova linguagem de modelo oferece uma solução mais fácil de usar do que YAML ou JSON.

Ainda posso escrever modelos em JSON após o lançamento da nova linguagem de modelo?

Sim, você pode continuar usando modelos JSON.

Você oferecerá uma ferramenta para converter meus modelos JSON para a nova linguagem de modelo?

Especificações de Modelo

Como as especificações de modelo e os Azure Blueprints estão relacionados?

Os Azure Blueprints usarão especificações de modelo em sua implementação substituindo o blueprint definition recurso por um template spec recurso. Fornecemos um caminho de migração para converter a definição do blueprint em uma especificação de modelo, mas as APIs de definição do blueprint ainda serão suportadas. Não há alterações no blueprint assignment recurso. 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, mas as especificações de modelo são projetadas para funcionar bem com modelos vinculados. Não é necessário mover o modelo vinculado para um ponto de extremidade acessível publicamente antes de implantar o modelo pai. Em vez disso, você empacota o modelo pai e seus artefatos juntos ao criar a especificação do modelo.

As especificações do modelo podem ser compartilhadas entre assinaturas?

Sim, eles podem ser usados em todas as assinaturas, desde que o usuário tenha acesso de leitura à especificação do modelo. As especificações do modelo não podem ser usadas entre locatários.

Scripts em modelos

Posso incluir um script no meu modelo para realizar tarefas que não são possíveis num modelo?

Sim, use scripts de implantação. Você pode incluir scripts do Azure PowerShell ou da CLI do Azure em seus modelos.

Ainda posso usar extensões de script personalizadas e configuração de estado desejado (DSC)?

Essas opções ainda estão disponíveis e não foram alteradas. Os scripts de implantação são projetados para executar ações que não estão relacionadas ao convidado da VM. Se você precisar executar um script em um sistema operacional host em uma VM, a extensão de script personalizada e/ou DSC seria uma escolha melhor. No entanto, os scripts de implantação têm vantagens, como definir a duração do tempo limite.

Os scripts de implantação são suportados no Azure Government?

Sim, você pode usar scripts de implantação no US Gov Arizona e US Gov Virginia.

Visualizar alterações antes da implantação

Posso visualizar as alterações que acontecem antes de implantar um modelo?

Sim, use o recurso hipotético. Ele avalia o estado atual do seu ambiente e o compara com o estado que existirá após a implantação. Você pode examinar as alterações resumidas para garantir que o modelo não tenha resultados inesperados.

Posso usar hipóteses com os modos incremental e completo?

Sim, ambos os modos de implantação são suportados. Para obter um exemplo de como usar o modo incremental, consulte Executar operação hipotética. Para obter um exemplo de como usar o modo completo, consulte Confirmar exclusão.

Funciona com modelos vinculados?

Sim, o what-if avalia o estado do modelo pai e seus modelos vinculados.

Posso usar hipóteses em um Pipeline do Azure?

Sim, você pode usar hipóteses para verificar se o Pipeline deve continuar.

Quando uso hipóteses, vejo alterações em propriedades que não estão no meu modelo. Este "ruído" é esperado?

Estamos a trabalhar para reduzir o ruído. Você nos ajuda a melhorar enviando problemas em nosso repositório GitHub aqui: https://aka.ms/WhatIfIssues

Visualizador de modelos

Existe uma maneira de visualizar meu modelo ARM e seus recursos?

Temos uma extensão VS Code contribuída pela comunidade que faz um ótimo trabalho na visualização do seu modelo ARM. Ele mostra os recursos que você está implantando e as relações entre eles.

Posso usar o visualizador de modelos fora do VS Code?

O visualizador de modelos está sendo visualizado no portal. Para mais informações, assista a esta breve sessão da Build.

Limites de implantação

Em quantos grupos de recursos posso implantar em uma única operação de implantação?

No passado, esse limite era de cinco grupos de recursos. Foi recentemente aumentado para 800 grupos de recursos. Para obter mais informações, consulte Criar grupos de recursos e recursos no nível da assinatura.

Recebi um erro sobre estar limitado a 800 implantações no histórico de implantação. O que devo fazer?

Estamos alterando a forma como o histórico de implantação de um grupo de recursos é mantido. No passado, você tinha que excluir manualmente implantações desse histórico para evitar esse erro. A partir de junho de 2020, excluiremos automaticamente as implantações do histórico à medida que você se aproximar do limite. Para obter mais informações, consulte Exclusões automáticas do histórico de implantação.

A exclusão de uma implantação do histórico não afeta os recursos implantados.

Modelos e DevOps

Posso integrar modelos ARM no Azure Pipelines?

Sim. Para obter uma explicação sobre como usar modelos e pipelines, consulte Tutorial: Integração contínua de modelos ARM com o Azure Pipelines e Integrar modelos ARM com o Azure Pipelines.

Posso usar as Ações do GitHub para implantar um modelo?

Sim, consulte Implantar modelos ARM usando ações do GitHub.

Próximos passos

Para obter uma introdução aos modelos ARM, consulte O que são modelos ARM?.