O que é o Azure Resource Manager?

O Azure Resource Manager é o serviço de implementação e gestão do Azure. Fornece uma camada de gestão que lhe permite criar, atualizar e eliminar recursos na sua conta do Azure. Pode utilizar funcionalidades de gestão, como controlo de acesso, bloqueios e etiquetas, para proteger e organizar os seus recursos após a implementação.

Para saber mais sobre os modelos do Azure Resource Manager (modelos ARM), consulte a visão geral do modelo ARM. Para saber mais sobre o Bicep, consulte Visão geral do Bicep.

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

Camada de gestão consistente

Quando você envia uma solicitação por meio de qualquer uma das APIs, ferramentas ou SDKs do Azure, o Gerenciador de Recursos recebe a solicitação. Ele autentica e autoriza a solicitação antes de encaminhá-la para o serviço apropriado do Azure. Uma vez que todos os pedidos são processados pela mesma API, vê resultados e capacidades consistentes em todas as ferramentas.

A imagem seguinte mostra a função do Azure Resource Manager no processamento de pedidos do Azure.

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

Todas as capacidades disponíveis no portal estão também disponíveis no PowerShell, CLI do Azure, APIs REST e SDKs de cliente. As funcionalidades inicialmente lançadas por meio de APIs são representadas no portal dentro de 180 dias após o lançamento inicial.

Importante

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

Terminologia

Se é a primeira vez que utiliza o Azure Resource Manager, existem alguns termos com os quais poderá não estar familiarizado.

  • recurso -um item gerível que está disponível através do Azure. Máquinas virtuais, contas de armazenamento, aplicações Web, bases de dados e redes virtuais são exemplos de recursos. Grupos de recursos, assinaturas, grupos de gerenciamento e tags também são exemplos de recursos.
  • grupo de recursos - um contentor que retém recursos relacionados para uma solução do Azure. O grupo de recursos inclui os recursos que pretende gerir como um grupo. Decide que recursos pertencem a um grupo de recursos com base no que faz mais sentido para a 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 fornecedor de recursos comum. Consulte Provedores e tipos de recursos.
  • sintaxe declarativa - Sintaxe que permite afirmar "Aqui está o que pretendo criar" sem ter que escrever a sequência de comandos de programação para criá-la. Modelos ARM e arquivos Bicep são exemplos de sintaxe declarativa. Nesses arquivos, você define as propriedades da infraestrutura a ser implantada no Azure.
  • Modelo ARM - Um arquivo JSON (JavaScript Object Notation) que define um ou mais recursos a serem implantados em um grupo de recursos, assinatura, grupo de gerenciamento ou locatário. O modelo pode ser utilizado para implementar os recursos de forma consistente e repetida. Consulte Visão geral da implantação do modelo.
  • Arquivo Bicep - Um arquivo para implantar declarativamente recursos do Azure. O Bicep é uma linguagem que foi projetada para fornecer a melhor experiência de criação para infraestrutura como soluções de código no Azure. Consulte Visão geral do Bicep.
  • recurso de extensão - Um recurso que adiciona aos recursos de outro recurso. Por exemplo, uma atribuição de função é um recurso de extensão. Você aplica uma atribuição de função a qualquer outro recurso para especificar o acesso. Consulte Recursos de extensão.

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

Vantagens da utilização do Resource Manager

Com o Resource Manager, pode:

  • Gerir a sua infraestrutura através de modelos declarativos, em vez de scripts.

  • Implemente, faça a gestão e monitorize todos os recursos da sua solução como grupo, em vez de processar esses recursos individualmente.

  • Volte a implementar a sua solução ao longo do ciclo de vida de desenvolvimento, tendo a confiança de que os seus recursos são implementados num estado consistente.

  • Defina as dependências entre os recursos, para que sejam implementados na ordem correta.

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

  • Aplique etiquetas a recursos para organizar logicamente todos os recursos na sua subscrição.

  • Clarifique a faturação da sua organização ao ver os custos de um grupo de recursos com a mesma etiqueta.

Compreender o âmbito

O Azure fornece quatro níveis de escopo de gerenciamento: grupos de gerenciamento, assinaturas, grupos de recursos e recursos. A imagem seguinte mostra um exemplo destas camadas.

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

Aplique as definições de gestão a um destes níveis de âmbito. O nível selecionado determina a abrangência de aplicação da definição. Os níveis inferiores herdam as definições dos níveis mais elevados. Por exemplo, quando você aplica uma política à assinatura, a política é aplicada a todos os grupos de recursos e recursos em sua assinatura. Quando você aplica uma política no grupo de recursos, essa política é aplicada ao grupo de recursos e a todos os seus 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.

Pode implementar modelos em inquilinos, grupos de gestão, subscrições ou grupos de recursos.

O que é um grupo de recursos?

Um grupo de recursos é um contêiner que permite gerenciar recursos relacionados para uma solução do Azure. Usando o grupo de recursos, você pode coordenar as 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 a solução, você pode excluir o grupo de recursos e saber que todos os recursos foram excluídos.

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

  • Todos os recursos do seu grupo de recursos devem compartilhar o mesmo ciclo de vida. Implemente-os, atualize-os e elimine-os em conjunto. 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 só pode existir num único grupo de recursos.

  • Pode adicionar ou remover um recurso de um grupo de recursos em qualquer altura.

  • Pode mover um recurso de um grupo de recursos para outro grupo. Para obter mais informações, consulte Mover recursos para um novo grupo de recursos ou subscrição.

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

  • Ao criar um grupo de recursos, você precisa fornecer um local para esse grupo de recursos.

    Pode perguntar-se, "Porque é que um grupo de recursos necessita de uma localização? E, se os recursos podem ter diferentes localizações em relação ao grupo de recursos, por que motivo é que a localização do grupo de recursos é sequer relevante?"

    O grupo de recursos armazena metadados sobre os recursos. Ao especificar um local para o grupo de recursos, você está especificando onde esses metadados são armazenados. Por motivos de conformidade, poderá ter de certificar que os dados estão armazenados numa determinada região.

    Para garantir a consistência de estado para o grupo de recursos, todas as operações do plano de controle são roteadas pelo local do grupo de recursos. Ao selecionar um local de grupo de recursos, recomendamos que você selecione um local próximo de onde suas operações de controle se originam. Normalmente, esse local é o mais próximo do seu local atual. Esse requisito de roteamento só se aplica às operações do plano de controle para o grupo de recursos. Isso não afeta as solicitações que são enviadas para seus aplicativos.

    Se a região de um grupo de recursos estiver temporariamente indisponível, talvez não seja possível atualizar os 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 não seja possível atualizá-los. Esta condição também pode aplicar-se a recursos globais como o DNS do Azure, as Zonas Privadas do DNS do Azure, o Azure Traffic Manager e o 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.

    Para obter mais informações sobre como criar aplicativos confiáveis, consulte Projetando aplicativos confiáveis do Azure.

  • Um grupo de recursos pode ser utilizado para definir o âmbito do controlo 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 tags a um grupo de recursos. Os recursos no grupo de recursos não herdam essas tags.

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

  • Quando você exclui um grupo de recursos, todos os recursos no grupo de recursos também são excluídos. Para obter informações sobre como o Azure Resource Manager orquestra essas exclusões, consulte Grupo de recursos e exclusão de 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 estão isentos do limite de 800 instâncias. Para obter mais informações, consulte 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 são suportados nesses escopos.

  • Para criar um grupo de recursos, você pode usar o portal, PowerShell, CLI do Azure ou um modelo ARM.

Resiliência do Azure Resource Manager

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

  • Distribuído por 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 afeta a disponibilidade do Azure Resource Manager ou de outros serviços do Azure em outra região. Embora o Azure Resource Manager esteja distribuído entre regiões, alguns serviços são regionais. Essa distinção significa que, embora o manuseio inicial da operação do avião de controle seja resiliente, a solicitação pode ser suscetível a interrupções regionais quando encaminhada para o serviço.

  • Distribuído entre Zonas de Disponibilidade (e regiões) em locais que têm várias Zonas de Disponibilidade. Essa distribuição garante que, quando uma região perde uma ou mais zonas, o Azure Resource Manager pode fazer failover para outra zona ou para outra região para continuar a fornecer capacidade de plano de controle para os recursos.

  • Não depende de um único data center lógico.

  • Nunca retirado para atividades de manutenção.

Esta resiliência aplica-se a serviços que recebem pedidos através do Gestor de Recursos. Por exemplo, o Key Vault se beneficia dessa resiliência.

Alinhamento da localização do grupo de recursos

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

O local do grupo de recursos é onde o Azure Resource Manager armazena 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 de assinatura ou grupo de recursos, o Azure Resource Manager obtém as informações do cache.

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

Resolver operações simultâneas

Quando duas ou mais operações tentam atualizar o mesmo recurso ao mesmo tempo, o Azure Resource Manager deteta 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 simultâneas de recursos 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 você 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. Depois de obter esse código de erro, você pode obter o status atualizado do recurso e determinar se deseja reenviar a solicitação B.

Próximos passos