Fala Pessoall, tudo em “Riba”? hehehe

No post anterior, eu falei sobre provisionamento de um ambiente LAMP no Azure, desde a criação da máquina, até a instalação do LAMP e finalizando com o teste de conexão via browser. (Sério que você não viu? Que isso cara! Hahaha Não tem problema não, dá uma lida clicando aqui ó! 😉 )

No entanto, o post ficou bem extenso, usei comandos novos que eu nunca postei aqui antes e algumas funcionalidades do ambiente ARM (Azure Resource Manager), das quais eu nunca havia escrito antes também.

Relendo o post anterior, eu resolvi escrever este para explicar QUE MAGIA FOI AQUELA COM O SCRIPT BACH, que executamos na máquina Linux, sem SE QUER LOGAR NELA! O.O 

Hahahaha… Como diz o “velho ditado”: NÃO É FEITIÇARIA, É TECNOLOGIA! (E da boa inclusive. Kakaka )

Utilizamos o Azure Custom Script Extension, para rodar o script na máquina Linux.

Mas o que é isso? Bora lá?

Azure Custom Script Extension 

 

Essa funcionalidade veio junto com o modelo ARM (Azure Resource Manager), possibilitando a gestão de recursos no ambiente Azure, através de modelos declarativos JSON.

O Azure CSE baixa e executa scripts personalizados (feitos por nós mesmos) nas nossas máquinas virtuais Azure, independente se são máquinas Windows ou Linux. Os scripts podem ser baixados tanto de uma Storage Account (que foi o exemplo do post anterior) ou até mesmo do GitHub (desde que tenha uma URL válida para o acesso).

E como funciona?

[1] Criamos um script qualquer, em uma linguagem que seja interpretada pelo Sistema Operacional ( Ex.: Windows = Powershell [.ps1] | Linux = Bash [.sh] – Podemos criar em outras linguagens também, mas tome bastante cuidado e tenha certeza que seu ambiente suporta a execução desse comando, pois senão, nada acontecerá. )

                    

[2] Transferimos esse script para um local de armazenamento remoto, suportado pelo Azure CSE. ( Ex.: Azure Storage Account ou GitHub )

                                                  

[3] Pegamos essa URL/URI com o caminho completo. (Ex.: https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1)

[4] Criamos um arquivo JSON, para utilizarmos na execução do comando em nossa máquina local utilizando ou Azure CLi 2.0 (Ambientes Windows ou Linux) ou Azure Powershell (Ambientes Windows Apenas).

Temos alguns parâmetros que devem ser informados no arquivo JSON:

[sourcecode language=”css”]

"properties": {
"publisher": "Microsoft.Compute",
"type": "CustomScriptExtension",
"typeHandlerVersion": "versão-do-script (Ex.: 1.0)",
"autoUpgradeMinorVersion":true;
}
"settings": {
"fileUris":["https://url-a-ser-utilizada/nome-do-script.extensão"] }
"commandToExecute":"Comando-a-ser-executado",
"storageAccountName":"Nome-da-Storage-Account",
"storageAccountKey":"Chave-da-Storage-Account"
[/sourcecode]

No artigo anterior, nosso arquivo havia ficado com a seguinte estrutura:

[sourcecode language=”css”]{
"fileUris": ["https://magellasa.blob.core.windows.net/tst/Azure_Linux_LAMP.sh"],
"commandToExecute": "./Azure_Linux_LAMP.sh"
}[/sourcecode] [5] Agora, vamos utilizar agora o comando para executar nosso script na vm.

#Azure-CLI2.0 

[sourcecode language=”bash”]az extension set –resource-group nome-do-grupo-de-recursos –vm-name nome-da-vm –name nome-do-script-que-sera-criado –publisher Microsoft.Azure.Extensions –settings ./Azure_LAMP.json[/sourcecode]

#Azure-Powershell 

[sourcecode language=”powershell”]Set-AzureRmVMCustomScriptExtension -ResourceGroupName nome-do-grupo-de-recursos -VMName nome-da-vm -Location loc-do-grupo-de-recurso -Run ‘Azure_Linux_LAMP.sh’ -Name Azure_Linux_LAMP.sh[/sourcecode]

E pronto, em poucos segundos, nosso script é executado dentro da nossa VM no Azure! 😉

Simples? Fácil? Rápido? (Deixe seu feedback!)

Se gostou, compartilhe esse post! (Ficou faltando contar esse segredo do post anterior! Kakakakakakaka)

Aguardo você para ler meu próximo post! (Muito Obrigado por sempre vir aqui! #tamojunto)

Um Forte Abraço!

Gustavo Magella

#borapranuvem #cloud4all