O que é o Azure Resource Manager?

O Azure Resource Manager é p serviço de implantação e gerenciamento do Azure. Ele fornece uma camada de gerenciamento que lhe permite criar, atualizar e excluir recursos em sua conta do Azure. Use recursos de gerenciamento, como controle de acesso, bloqueios e marcas, para proteger e organizar seus recursos após a implantação.

Para saber mais sobre modelos do ARM (Azure Resource Manager), confira a Visão geral dos modelos do ARM. Para saber mais sobre o Bicep, confira Visão geral do Bicep.

O vídeo a seguir aborda conceitos básicos do Azure Resource Manager.

Camada de gerenciamento consistente

Quando você envia uma solicitação por meio de qualquer uma das APIs, das ferramentas ou dos SDKs do Azure, o Resource Manager recebe a solicitação. Ele autentica e autoriza a solicitação antes de encaminhá-la para o serviço apropriado do Azure. Como todas as solicitações são manipuladas por meio da mesma API, você verá funcionalidades e resultados uniformes em todas as diferentes ferramentas.

A imagem a seguir mostra o papel que o Azure Resource Manager desempenha na manipulação de solicitações do Azure.

Diagram that shows the role of Azure Resource Manager in handling Azure requests.

Todos as funcionalidades disponíveis no portal também estão disponíveis por meio do PowerShell, da CLI do Azure, das APIs REST e dos SDKs de cliente. A funcionalidade inicialmente lançada por meio de APIs é representada no portal em até 180 dias depois da versão inicial.

Importante

O Resource Manager do Azure só dará suporte ao TLS (Transport Layer Security) 1.2 ou posterior até o outono de 2023. Para obter mais informações, consulte Migrar para o TLS 1.2 para o Azure Resource Manager.

Terminologia

Se você for um novo usuário do Azure Resource Manager, há alguns termos com os quais talvez você não esteja familiarizado.

  • recurso -um item gerenciável que está disponível por meio do Azure. Máquinas virtuais, contas de armazenamento, aplicativos Web, bancos de dados e redes virtuais são exemplos de recursos. Grupos de recursos, assinaturas, grupos de gerenciamento e marcas também são exemplos de recursos.
  • grupo de recursos - Um contêiner que mantém os recursos relacionados a uma solução do Azure. O grupo de recursos inclui esses recursos que você deseja gerenciar como um grupo. Você decide quais recursos pertencem a um grupo de recursos com base no que faz mais sentido para sua organização. Consulte O que é um grupo de recursos?.
  • provedor de recursos – um serviço que fornece recursos do Azure. Por exemplo, um provedor de recursos comum é Microsoft.Compute, que fornece o recurso de máquina virtual. Microsoft.Storage é outro provedor de recursos comum. Confira Provedores e tipos de recurso.
  • Sintaxe declarativa – Sintaxe que permite declarar "Isso é o que pretendo criar" sem precisar escrever a sequência de comandos de programação para fazer isso. Os modelos do ARM e os arquivos Bicep são exemplos de sintaxe declarativa. Nesses arquivos, você define as propriedades da infraestrutura a ser implantada no Azure.
  • Modelo do ARM – Um arquivo JSON (JavaScript Object Notation) que define um ou mais recursos para implantação em grupo de recursos, assinatura, grupo de gerenciamento ou locatário. O modelo pode ser usado para implantar os recursos de forma consiste e repetida. Confira Visão geral da implantação de modelo.
  • Arquivo Bicep - Um arquivo para implantar declarativamente os recursos do Azure. O Bicep é uma linguagem que foi criada para fornecer a melhor experiência de criação para soluções de infraestrutura como código no Azure. Confira Visão geral do Bicep.
  • recurso de extensão – um recurso que é adicionado às funcionalidades de outro recurso. Por exemplo, a atribuição de função é um tipo de recurso de extensão. Você aplica uma atribuição de função a qualquer outro recurso para especificar o acesso. Confira Recursos de extensão.

Para obter mais definições da terminologia do Azure, confira os Conceitos fundamentais do Azure.

Os benefícios de usar o Gerenciador de Recursos

Com o Resource Manager, você pode:

  • Gerenciar sua infraestrutura por meio de modelos declarativos em vez de scripts.

  • Implantar, gerenciar e monitorar todos os recursos da sua solução como um grupo em vez de tratá-los individualmente.

  • Implantar novamente a solução em todo seu ciclo de vida de desenvolvimento e com a confiança de que seus recursos serão implantados em um estado consistente.

  • Definir as dependências entre os recursos para que eles sejam implantados na ordem correta.

  • Aplicar o controle de acesso a todos os serviços, pois o RBAC do Azure (controle de acesso baseado em função do Azure) é integrado nativamente à plataforma de gerenciamento.

  • Aplicar marcas aos recursos para organizar de modo lógico todos os recursos em sua assinatura.

  • Esclarecer a cobrança da sua organização exibindo os custos para um grupo de recursos que compartilha a mesma tag.

Compreender o escopo

O Azure fornece quatro níveis de escopo de gerenciamento: grupos de gerenciamento, assinatura, grupos de recursos e recursos. A imagem a seguir mostra um exemplo dessas camadas.

Diagram that illustrates the four levels of scope in Azure: management groups, subscriptions, resource groups, and resources.

As configurações de gerenciamento são aplicadas em qualquer desses níveis de escopo. O nível que você seleciona determina o quão amplamente a configuração é aplicada. Os níveis inferiores herdam as configurações de níveis superiores. Por exemplo, ao aplicar uma política à assinatura, ela será aplicada a todos os grupos de recursos e recursos em sua assinatura. Ao aplicar uma política no grupo de recursos, ela será aplicada ao grupo de recursos e a todos os recursos. No entanto, outro grupo de recursos não terá essa atribuição de política.

Para obter informações sobre como gerenciar identidades e acesso, consulte ID do Microsoft Entra.

Você pode implantar modelos a locatários, grupos de gerenciamento, assinaturas ou grupos de recursos.

O que é um grupo de recursos?

Um grupo de recursos é um contêiner que permite que você gerencie os recursos relacionados de uma solução do Azure. Ao usar o grupo de recursos, você pode coordenar alterações nos recursos relacionados. Por exemplo, você pode implantar uma atualização no grupo de recursos e ter confiança de que os recursos são atualizados em uma operação coordenada. Ou, quando terminar de usar a solução, você poderá excluir o grupo de recursos e saber que todos os recursos serão excluídos.

Existem alguns fatores importantes a considerar ao definir seu grupo de recursos:

  • Todos os recursos do grupo de recursos devem compartilhar o ciclo de vida. Você os implanta, atualiza e exclui juntos. Se um recurso, como um servidor, precisar existir em um ciclo de implantação diferente, ele deverá estar em outro grupo de recursos.

  • Cada recurso pode existir apenas em um grupo de recursos.

  • Você pode adicionar ou remover um recurso de um grupo de recursos a qualquer momento.

  • Você pode mover um recurso de um grupo de recursos para outro grupo. Para saber mais, confira Mover recursos para um novo grupo de recursos ou assinatura.

  • Os recursos de um grupo de recursos podem estar localizados em regiões diferentes do grupo de recursos.

  • Quando criar um grupo de recursos, você precisará fornecer um local para ele.

    Você pode estar se perguntando: "Por que um grupo de recursos precisa de um local? E, se os recursos podem ter locais diferentes do grupo de recursos, por que o local do grupo de recursos importa?"

    O grupo de recursos armazena metadados sobre os recursos. Quando você especifica uma localização para o grupo de recursos, você especifica onde os metadados são armazenados. Por motivos de conformidade, talvez você precise garantir que os dados sejam armazenados em determinada região.

    Para garantir a consistência do estado para o grupo de recursos, todas as operações do plano de controle são roteadas através da localização do grupo de recursos. Ao selecionar um local de grupo de recursos, recomendamos que você selecione um local próximo ao local de origem das suas operações de controle. Normalmente, este local é o mais próximo da sua localização atual. Este requisito de roteamento se aplica apenas às operações de plano de controle do grupo de recursos. Isso não afeta as solicitações enviadas para seus aplicativos.

    Se a região de um grupo de recursos estiver temporariamente indisponível, talvez você não consiga atualizar recursos no grupo de recursos porque os metadados não estão disponíveis. Os recursos em outras regiões ainda funcionam conforme o esperado, mas talvez você não consiga atualizá-los. Essa condição também pode se aplicar a recursos globais, como DNS do Azure, Zonas Privadas do DNS do Azure, Gerenciador de Tráfego do Azure e Azure Front Door. Você pode exibir quais tipos têm seus metadados gerenciados pelo Azure Resource Manager por meio da lista de tipos para a tabela de recursos do Azure Resource Graph.

    Saiba mais sobre a criação de aplicativos confiáveis em Desenvolver aplicativos do Azure confiáveis.

  • Um grupo de recursos pode ser usado para definir o escopo de controle de acesso para ações administrativas. Para gerenciar um grupo de recursos, você pode atribuir Políticas do Azure, funções do Azure ou bloqueios de recursos.

  • Você pode aplicar marcas a um grupo de recursos. Os recursos do grupo de recursos não herdam essas marcas.

  • Um recurso pode interagir com os recursos de outros grupos de recursos. Esse cenário é comum quando os dois recursos estão relacionados, mas não compartilham o ciclo de vida. Por exemplo, você pode ter um aplicativo Web que se conecta a um banco de dados em outro grupo de recursos.

  • Quando você exclui um grupo de recursos, todos os recursos do grupo de recursos também são excluídos. Para obter informações sobre como o Azure Resource Manager orquestra essas exclusões, confira Exclusão de grupo de recursos e recursos do Azure Resource Manager.

  • Você pode implantar até 800 instâncias de um tipo de recurso em cada grupo de recursos. Alguns tipos de recursos são isentos do limite de 800 instâncias. Para obter mais informações, confira limites do grupo de recursos.

  • Alguns recursos podem existir fora de um grupo de recursos. Esses recursos são implantados na assinatura, no grupo de gerenciamento ou no locatário. Somente tipos de recursos específicos têm suporte nesses escopos.

  • Para criar um grupo de recursos, use o portal, o PowerShell, a CLI do Azure ou um modelo do ARM.

Resiliência do Azure Resource Manager

O serviço do Azure Resource Manager foi projetado para resiliência e disponibilidade contínua. As operações do Resource Manager e do painel de controle (solicitações enviadas para management.azure.com) na API REST são:

  • Distribuídas entre regiões. O Azure Resource Manager tem uma instância separada em cada região do Azure, o que significa que uma falha da instância do Azure Resource Manager em uma região não afetará a disponibilidade do Azure Resource Manager ou de outros serviços do Azure em outra região. Embora o Azure Resource Manager seja distribuído entre regiões, alguns serviços são regionais. Essa distinção significa que, embora a manipulação inicial da operação do plano de controle seja resiliente, a solicitação pode ser suscetível a interrupções regionais quando encaminhada para o serviço.

  • Distribuídas entre zonas de disponibilidade (e regiões) em locais com várias zonas de disponibilidade. Essa distribuição garante que, quando uma região perde uma ou mais zonas, o Azure Resource Manager pode realizar o failover em outra zona ou outra região para continuar a fornecer a capacidade do painel de controle nos recursos.

  • Não dependem de um datacenter lógico único.

  • Nunca são desativadas para atividades de manutenção.

Essa resiliência se aplica aos serviços que recebem solicitações por meio do Resource Manager. Por exemplo, o Key Vault se beneficia dessa resiliência.

Alinhamento do local do grupo de recursos

Para reduzir o impacto das interrupções regionais, recomendamos que você coloque os recursos na mesma região que o grupo de recursos.

O local do grupo de recursos é onde o Azure Resource Manager armazena os metadados para os recursos no grupo de recursos. O Azure Resource Manager usa esse local para roteamento e cache. Por exemplo, quando você lista seus recursos nos escopos da assinatura ou do grupo de recursos, o Azure Resource Manager obtém as informações do cache.

Quando a região do grupo de recursos está indisponível, o Azure Resource Manager não consegue atualizar os metadados do recurso e bloqueia suas chamadas de gravação. Ao colocar o recurso e a região do grupo de recursos, você reduz o risco de indisponibilidade de região porque seus recursos e metadados existem em apenas uma região em vez de várias.

Resolver operações simultâneas

Quando duas ou mais operações tentam atualizar o mesmo recurso ao mesmo tempo, o Azure Resource Manager detecta o conflito e permite que apenas uma operação seja concluída com êxito. O Azure Resource Manager bloqueia as outras operações e retorna um erro.

Atualizações de recursos simultâneas podem causar resultados inesperados. Essa resolução garante que suas atualizações sejam determinísticas e confiáveis. Você conhece o status de seus recursos e evita qualquer inconsistência ou perda de dados.

Suponha que tenha duas solicitações (A e B) que tentam atualizar o mesmo recurso ao mesmo tempo. Se a solicitação A for concluída antes da solicitação B, a solicitação A será bem-sucedida e a solicitação B falhará. A solicitação B retorna o erro 409. Após obter este código de erro, você poderá obter o status atualizado do recurso e determinar se deseja reenviar a solicitação B.

Próximas etapas