Windows Azure

Criando Virtual Machine CentOS Azure CLI (bash) com acesso via chave publica/privada

Neste artigo iremos criar uma Maquina Virtual com CentOS Linux utilizando uma Vnet existente e fixando IP (rede interna), criaremos também um NSG para esta VM, um storage account para diagnostico de boot e conjunto de disponibilidade e com acesso via chave publica/privada sem a necessidade de utilizar senha.

#!/bin/bash

##Declarando variáveis

##Declarando variáveis (Obrigatório)

export Subscription_Name=”Azure Subscription”
export RG_Name=”Nome do Resource Group”
export Location=”Azure Region”
export Object_Name=”Nome do Objeto”

##Storage Accout

export Storage=”Nome do Storage Account” ##Exemplo storagevmdiag##
export SKU_Storage=”SKU do Storage Account” ##Exemplo Standard_LRS##

##Conjunto de Disponibiliade Availability Set

export Name_AV_SET=”AV-SET”-“Nome do Conjunto de Disponibilidade”
export Fault_Domain=”3″
export Update_Domain=”20″

##Network Security Group NSG

export NSG_Name=”Nome do NSG” ##Exemplo NSG-VM-Frontend##

##Vnet Existente (Variáveis para utilizar Vnet Existente)

export RG_Vnet=”Nome do Resurce Goup onde encontra-se a Vnet existente”
export Subnet_Name=”Nome da subnet existente”
export Vnet_Name=”Nome da Vnet existente”

##Variáveis de Rede (Obrigatório)

export NIC_Name=”Nome da interface de rede”
export Accelerated=”False ou true”

##Variavel para criacao da VM (Obrigatório)

export Image_SO=”CentOS”
export VM_Name=”Nome do servidor”
export User_Name=”azroot”
export key_PUB=”Local da chave publica” ##Exemplo /script/key/chave_publica.pub## caminho absoluto
export Size=”Tier da VM”
export SKU_STG=”Sku do Disco” ## Disco ## Exemplo Standard_LRS###

##Variaveis TAGs (Não Obrigatório)

export Costacenter=”Centro de Custos”
export Value_Costcenter=”Numero do centos de custo”
export Environment=”Environment”
export Environment_Value=”Ambiente” ##’Desenvolvimento’-‘Homologação’-‘Produção’##
export Depto=”Departamento” ##Squad-Team-Time##
export Depto_Value=”Nome do Departamento” ##infra-cartões-telecom

###Execução do Script

###Selecionar subscription

az account set –subscription “${Subscription_Name}”

###Criando Resource Group

az group create -n “${RG_Name}” -l “${Location}” –tags “${Costacenter}”=”${Value_Costcenter}” “${Environment}”=”${Environment_Value}” “${Depto}”=”${Depto_Value}”

###Criando Storage Accout

az storage account create -g “${RG_Name}” -n “${Storage}” -l “${Location}” –sku “${SKU_Storage}” –tags “${Costacenter}”=”${Value_Costcenter}” “${Environment}”=”${Environment_Value}” “${Depto}”=”${Depto_Value}”

###Criando Network Security Group NSG

az network nsg create -g “${RG_Name}” -n “${NSG_Name}” -l “${Location}” –tags “${Costacenter}”=”${Value_Costcenter}” “${Environment}”=”${Environment_Value}” “${Depto}”=”${Depto_Value}”

###Criar Grupo de Disponibilidade

az vm availability-set create -g “${RG_Name}” -n “${Name_AV_SET}” –platform-fault-domain-count “${Fault_Domain}” –platform-update-domain-count “${Update_Domain}” -l “${Location}” –tags “${Costacenter}”=”${Value_Costcenter}” “${Environment}”=”${Environment_Value}” “${Depto}”=”${Depto_Value}”

###Declarando variável para utilizar Vnet existente (Obrigatório)

SUBNET_ID001=$(az network vnet subnet show –name “${Subnet_Name}” –vnet-name “${Vnet_Name}” -g “${RG_Vnet}” –query id –output tsv)
export IPConfig_Name=”ipconfig1″

###Criando NIC (Interface de rede)

az network nic create –name “${NIC_Name}” -g “${RG_Name}” –subnet $SUBNET_ID001 –accelerated-networking “${Accelerated}” –network-security-group “${NSG_Name}” –tags “${Costacenter}”=”${Value_Costcenter}” “${Environment}”=”${Environment_Value}” “${Depto}”=”${Depto_Value}”

###Declaranado Variaveis para Fixar IP

NIC_ID001=$(az network nic show –name “${NIC_Name}” -g “${RG_Name}” –query id –output tsv)

###Declarando varivel para utilizar IP Fixo existente (Obrigatório)

IP_ID001=$(az network nic ip-config show -g “${RG_Name}” -n “${IPConfig_Name}” –nic-name “${NIC_Name}” –query privateIpAddress –output tsv)

###Fixando IP na interface de rede#Fixando IP

az network nic ip-config update -g “${RG_Name}” –nic-name “${NIC_Name}” -n “${IPConfig_Name}” –private-ip-address $IP_ID001

###Criando Virtual Machine CentOS

az vm create –name “${VM_Name}” -g “${RG_Name}” -l “${Location}” –availability-set “${Name_AV_SET}” –boot-diagnostics-storage “${Storage}” –image “${Image_SO}” –nics $NIC_ID001 –admin-username “${User_Name}” –ssh-key-values “${key_PUB}” –size “${Size}” –storage-sku “${SKU_STG}”

Links de referencia

https://docs.microsoft.com/en-us/cli/azure/vm/image?view=azure-cli-latest
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/cli-ps-findimage
https://docs.microsoft.com/pt-br/cli/azure/
https://docs.microsoft.com/en-us/cli/azure/vm?view=azure-cli-latest#az_vm_create
https://docs.microsoft.com/en-us/rest/api/compute/virtual-machines/create-or-update#osprofile
https://docs.microsoft.com/pt-br/azure/virtual-machines/availability-set-overview
https://docs.microsoft.com/pt-br/azure/virtual-network/network-security-groups-overview

Link para geração da chave
https://charlessantana.com.br/2021/10/20/criando-chave-publica-e-private-com-puttygen/

Adicionando novos discos Windows Azure

Vamos adicionar um novo disco a VM no Windows Azure.

1º) Acesse o portal.
2º) Maquinas Virtuais
marquina
3º) Clique em “Conectar” na parte inferior
conectar
4º) Anexar disco vazio
anexar
5º) Agora vamos preencher
Neste exemplo, vamos usar uma maquina virtual existente “AZURE-SRV001”, local de armazenamento pré-definido, e vamos criar um disco de 300 GB, clique em OK.

exemplo

Anexando disco

att

6º) Agora vamos acessar a maquina virtual, Computar Manager, Disk Manager, o disco está lá

disco001

Agora vamos inicializar o disco, por ser um disco de 300GB somente vamos escolher a opção MBR, agora se for um disco maior que 2 TB por favor escolha GPT, clique ok

volme

Pronto, agora vamos criar a unidade de disco, botão direito “New Simple Volume”, escolha o tamanho da unidade, a letra da unidade, está parte é muito importante.

File System, temos as seguintes opções “exFAT”, “NTFS” e ReFS”, referencias

exFAT = http://pt.wikipedia.org/wiki/ExFAT
NTFS = http://pt.wikipedia.org/wiki/NTFS
ReFS = http://en.wikipedia.org/wiki/ReFS, http://technet.microsoft.com/pt-br/library/hh831724.aspx

Na dúvida escolha “NTFS”, neste exemplo vamos usar “ReFS”

system

Next e Finish, pronto nossa unidade foi criada.

ReFS

unidade “F” criada com sucesso, pode ser utilizada.

disk-f-azure

Seja Feliz!!!

ICMP Windows Azure

No Windows Azure o ICMP ou PING não é liberado por padrão.

Mas podemos usar o Sysinternals para resolver isso.

1º Baixe a ferramente SysInternals.

http://technet.microsoft.com/en-us/sysinternals/bb842062.aspx

Após descompacte, abra o prompt como administrator, abra o diretório PSTools e execute o comando.

Em sua maquina por exemplo.

Psping 191.237.251.23:80 (IP ou nome dois pontos e a porta)

C:\BKP-CHARLES\Downloads\PSTools>psping.exe 191.237.251.23:80

PsPing v2.01 – PsPing – ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals – http://www.sysinternals.com

TCP connect to 191.237.251.23:80:
5 iterations (warmup 1) connecting test:
Connecting to 191.237.251.23:80 (warmup): 5.69ms
Connecting to 191.237.251.23:80: 5.63ms
Connecting to 191.237.251.23:80: 6.67ms
Connecting to 191.237.251.23:80: 5.54ms
Connecting to 191.237.251.23:80: 6.13ms

TCP connect statistics for 191.237.251.23:80:
Sent = 4, Received = 4, Lost = 0 (0% loss),
Minimum = 5.54ms, Maximum = 6.67ms, Average = 5.99ms

C:\BKP-CHARLES\Downloads\PSTools>

==============================================================================================

Agora de dentro da VM no Windows Azure

C:\Users\admin.azure>cd..

C:\Users>cd..

C:\>cd PSTools

C:\PSTools>psping.exe yahoo.com:80

PsPing v2.01 – PsPing – ping, latency, bandwidth measurement utility
Copyright (C) 2012-2014 Mark Russinovich
Sysinternals – http://www.sysinternals.com

TCP connect to 206.190.36.45:80:
5 iterations (warmup 1) connecting test:
Connecting to 206.190.36.45:80 (warmup): 201.09ms
Connecting to 206.190.36.45:80: 198.17ms
Connecting to 206.190.36.45:80: 196.82ms
Connecting to 206.190.36.45:80: 196.81ms
Connecting to 206.190.36.45:80: 197.10ms

TCP connect statistics for 206.190.36.45:80:
Sent = 4, Received = 4, Lost = 0 (0% loss),
Minimum = 196.81ms, Maximum = 198.17ms, Average = 197.22ms

C:\PSTools>

===============================================================================================

icmp_azure

Seja Feliz!!!!