Fala Pessoall! Td bem?
De vez em quando, (de quando em vez rsrsrs) eu tenho falado aqui sobre como o Powershell está me ajudando a automatizar minhas tarefas no Azure.
De uma maneira geral, tenho criado muitos scripts rápidos mas que no dia a dia, me ajuda e muito a não ter que utilizar o Portal. (Não que seja ruim, mas às vezes eu preciso ser rápido e prático).
Bom, a dica de hoje é: Como criar um Grupo de Recursos, usando o Powershell, de forma rápida!
Mas e aí? O QUE É GRUPO DE RECURSOS?
Grupo de Recursos (ou Resource Group)
Todos sabemos que o Azure (assim como qualquer Cloud) é composto de diversos serviços e recursos, que podem ser utilizados por qualquer usuário ao redor do mundo.
Esses recursos podem ser Bancos de Dados, Máquinas Virtuais, Web Apps, Cofres de Backup e por aí vai.
Quando surgiu a plataforma Microsoft Azure (2009/2010) , ela foi construída em cima de um “portal” (ou modelo de Cloud Services) mais conhecido como: Portal Classic (ou Azure Service Manager | ASM). A idéia da Microsoft, era se tornar com o tempo a melhor plataforma em nuvem do mercado, entregando soluções PaaS. (O que significa, que o usuário final, poderia abstrair inúmeras camadas, consumindo apenas a plataforma de uma maneira geral)
Porém, devido ao boom tecnológico (momento de transformação digital, o qual ainda estamos vivendo), a Microsoft entendeu (penso eu) que outros modelos (como IaaS e PaaS) também são extremamente competitivos e deveriam ser levados em consideração. (Uma vez que outros players, como AWS por exemplo, já estavam nadando de braçada nesses modelos com o EC2, etc.)
Com base nessa linha de raciocínio, ela resolveu fazer algo para que serviços de IaaS, pudessem ser entregues de uma maneira rápida, efetiva e claro: com praticidade e um custo competitivo.
Trocando em miúdos, a Microsoft mudou o modelo de trabalho e implantação para um novo modelo, agora já optimizado para trabalhar melhor com demandas IaaS e PaaS, o Azure Resource Manager (ARM). (Muita gente chama o Modelo Classic de v1 e o ARM de v2, isso é comum em literaturas e artigos técnicos.)
O modelo ARM, além de facilidade de um novo portal (muito mais bonito e usual), trouxe suporte à Templates JSON (onde eu posso passar parâmetros de toda minha infraestrutura, nesse arquivo declarativo, e subir no Azure com Powershell, e criar minha infra em minutos).
Porém, é importante lembrar que, um recurso que está no modelo ASM não “conversa’ com um recursos que esteja no modelo ARM.
Caso queiram entrar no quesito de arquitetura dos 2 modelos, sugiro ler um post do Evangelista Técnico da Microsoft Fabrício Sanchez, onde o mesmo explica muito bem a diferença entre os 2 modelos. (LINK)
Contudo, ficou complicado ter agrupamento de recursos no modelo Classic. Não existia nenhum fator que agregava os recursos. (Imagina a bagunça, caso sua infraestrutura cresça? Os elementos, além de estarem “espalhados” por sua subscription afora, seria inviável ou até mesmo impossível, agrupá-los.)
Para resolver essa questão a Microsoft (no modelo ARM) criou o: GRUPO DE RECURSOS (Resource Group).
O que esse cara faz, é o agrupamento dos recursos (ele pode receber qualquer recurso do Azure, e “linká-los” facilmente, sendo a ponte entre os recursos de uma subscription). Ou seja, com isso eu ganhei mais versatilidade e gerenciamento de meus recursos, podendo usar um Grupo de Recursos, de acordo com localização, unidade de negócio ou qualquer outro uso que me for conveniente. (Arrumo a casa, da forma que eu achar mais conveniente)
Além do mais, eu posso ajustar o permissionamento de um usuário (RBAC), para todos os recursos dentro de um grupo de recursos, e não isoladamente um a um.
Pois beeeemmm!! Vamos colocar a mão na massa?
Criando seu primeiro Grupo de Recursos (Resource Group)
[1] Faça o Login em Sua Assinatura Azure (Powershell) [sourcecode language=”powershell”]Login-AzureRmAccount[/sourcecode] [2] No comando abaixo, iremos listar quais são as “locations” (localizações) disponíveis para criarmos nossos recursos.(Guarde bem o nome da “location” que você deseja utilizar)
[sourcecode language=”powershell”]Get-AzureRmLocation | Select Location[/sourcecode] [3] Armazenaremos na variável $rg (não esqueça das aspas), o nome que daremos ao nosso grupo de recursos:(Não utilize caracteres especiais. No máximo traço.)
[4] Armazenaremos na variável $loc , o nome da location (que já listamos anteriormente) onde o Resource Group deverá ser criado. [sourcecode language=”powershell”]$loc="brazilsouth"[/sourcecode] [5] Munidos dos dados anteriores, iremos utilizá-los para criar nosso grupo de recursos no Azure com o seguinte comando: [sourcecode language=”powershell”]New-AzureRmResourceGroup -Name $rg -Location $loc[/sourcecode]+ Logs
Com o intuito de informação, podemos armazenar em um log.txt as configurações desse Grupo de Recurso que criamos.
[6] Crie um diretório de nome “azure_logs\resourcegroup” no c:. [sourcecode language=”powershell”]cd c:/
mkdir C:\azure_logs\resourcegroup
cd .\azure_logs\resourcegroup
[/sourcecode] [7] Armazene as informações desse grupo de recurso, utilizando o comando: [sourcecode language=”powershell”]Get-AzureRmResourceGroup -Name $rg >> log.txt[/sourcecode]E pronto! Nosso grupo de Recursos já foi criado, e já está disponível no Azure para utilização.
Simples? Fácil? Rápido? (Deixe seu feedback!)
Nos próximos artigos (#Scriptando), irei falar mais sobre criação de recursos no Azure, usando o Powershell, e como estou fazendo para automatizar minha vida, e ganhar tempo!
Um bjo no coraçaõ de vocês!
Um Forte Abraço!
Gustavo Magella
#borapranuvem #cloud4all