Fala Pessoall! Td bem?

Continuando a série #Scriptando (tentarei trazer periodicamente), falando um pouco mais sobre os scripts que eu uso no meu dia a dia.

A dica de hoje é bem peculiar, pois envolve uma forma diferente de utilizar o armazenamento no Azure.

Então, simbora!!!! Como criar um compartilhamento de arquivos no Azure, e utilizá-lo via SMB 3.0 ?

Mas antes de tudo (como sempre), vamos entender um pouco sobre o Armazenamento no Azure, antes de criarmos esse compartilhamento.

Azure Storage Services (ou Serviços de Armazenamento do Azure)

Há inúmeras formas de armazenamento no Azure, e é primordial que saibamos identificar qual a melhor forma de armazenamento para os nossos dados.

Em suma, podemos resumir o armazenamento no Azure em três serviços:

Armazenamento de Blobs: 

Mas afinal, O QUE SIGNIFICA BLOB?

Blob é uma sigla para: Binary Large OBject. É uma coleção de dados binários, armazenados em uma única entidade de um SGBD (Sistema de Gerenciamento de Banco de Dados)

Pode ser qualquer arquivo que é armazenado em seu computador.(Planilhas Excel, VHD’s de Máquinas Virtuais, Arquivos de MP3, etc)

Blobs são armazenados em contâineres, bem semelhantes à estrutura de diretórios que conhecemos (pastas).

No Azure, há 3 tipos de Blobs:

– Blob de Blocos (Block Blob): Armazenam arquivos comuns. (Limitação de 4.7 Tb)

– Blob de Páginas (Page Blob): Mais utilizado para manter arquivos que têm acessos aleatórios. (Limitação de 8.0 Tb)

 – Blob de Acréscimo (Append Blob): São mais utilizados armazenar logs, pois os blocos não podem ser excluídos nem modificados. (Limitação 195 Gb)

Armazenamento de Arquivos:

O armazenamento de arquivos permite a configuração de compartilhamento de arquivos pode rede via SMB (Server Message Block).

Isso significa que, você pode provisionar áreas de armazenamento de dados no Azure, e mapeá-las em seu ambiente através de scripts automatizados.

O que difere o armazenamento de arquivos dos demais, é a capacidade de acessar seus arquivos de qualquer lugar, utilizando uma URL e uma chave de acesso. (Key Access)

Armazenamento de Filas (Queues):

Criado para armazenar filas de mensagens de até 64KB, o serviço de armazenamento de filas do Azure é muito utilizado por desenvolvedores de aplicativos.

Obs.: Existem também os armazenamentos: De tabelas (que agora faz parte do Cosmos DB) e o armazenamento em disco, que inclui discos gerenciados usados pelas máquinas virtuais.

 Contas de Armazenamento 

Armazenamento Standard: São as contas mais utilizadas, e utilizam mídias magnéticas para armazenar os dados.

Armazenamento Premium: Já o armazenamento Premium permite ao usuário utilizar recursos com alto desempenho, e são mais utilizados no caso de VHD’s. Utilizam armazenamento sólido (SSD) como meio de armazenamento.

Replicação: Temos inúmeras formas de replicação como: LRS,GRS,RA-GRS,ZRS. (Não conhece? Clique aqui dê uma olhada nessa explicação)

Show de bola ! Então vamos colocar a mão na massa?

 Criando um Compartilhamento de Arquivo no Azure e provisioná-lo usando SMB 3.0 

[1] Faça o Login em Sua Assinatura Azure (Powershell)

[sourcecode language=”powershell”]Login-AzureRmAccount[/sourcecode] [2] Vamos armazenar algumas informações necessárias nas seguintes variáveis:

[sourcecode language=”powershell”] # Nome do grupo de recursos que você deseja utilizar para criar a Storage Account

$rg="nome-do-grupo-de-recursos"

# Nome da location, onde o grupo de recursos está localizado, ou pode ser também uma outra location. Ex.: brazilsouth, eastus2, weastus

$loc="nome-da-location"

# Nome da Storage Account a ser criada no Azure

$san="nome-da-storage-account"

# Sku basicamente, é o tipo de armazenamento que será utilizado. (Ex.: Standard_LRS | Standard_GRS)

$sky="nome-do-sku"
[/sourcecode] [3] Crie a Storage Account, com as variáveis informadas anteriormente:

[sourcecode language=”powershell”]New-AzureRmStorageAccount -ResourceGroupName $rg -AccountName $sa -Location $loc -SkuName $sku[/sourcecode] [4]  Crie uma variável com o Contexto de conexão: (Utilize o nome da Storage Account e a Chave para a conexão)

[sourcecode language=”powershell”] # Antes, será necessário pegar a chave de acesso da Storage Account | [Key 1] = Value[0]

$gen_key=(Get-AzureRmStorageAccountKey -ResourceGroupName $rg -Name $san).Value[0]

# Agora criaremos a variável de contexto, onde irá armazenar as informações da Storage Account, inclusive a chave já informada.

$ctx=New-AzureStorageContext -StorageAccountName $san -StorageAccountKey $key
[/sourcecode] [5] Após a criação da Storage Account, vamos criar o compartilhamento de arquivos.

[sourcecode language=”powershell”] # Obs.1: O Compartilhamento é criado com 5Tb de armazenamento como padrão.

# Obs.2: O nome do compartilhamento, basicamente é o nome do diretório que será criado, dentro da Storage Account.

$sharename="nome-do-compartilhamento"

$share= New-AzureStorageShare -Name $sharename -Context $ctx
[/sourcecode] [6] Depois da criação do compartilhamento (que estará com 5Tb de armazenamento atribuído) iremos definir uma nova cota de armazenamento a ser utilizada. (em GB)

[sourcecode language=”powershell”] # Utilize apenas números na variável $cota. Ex.: $cota=100 | $cota=200

$cota="tamanho-em-gb-do-compartilhamento"

Set-AzureStorageShareQuota -Context $ctx -shareName $sharename -Quota $cota
[/sourcecode] [7] Mapeie o compartilhamento no computador, usando o comando Net Use

[sourcecode language=”powershell”] net use <letra-da-unidade – Ex.: Z:> \\nome-da-storage-account.file.core.windows.net\nome-do-compartilhamento <chave-de-acesso-da-storage-account> /user:Azure\nome-do-file-share
[/sourcecode]

E voilà! Nossa Storage Account já foi criada, e já está disponível no seu computador, mapeada para utilização.

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

E seguimos em frente com o #Scriptando, automatizando tarefas e ganhando tempo!

Aguardo você para ler meu próximo post! 😉

Mais um bjo no coração de vocês!

Um Forte Abraço!

Gustavo Magella

#borapranuvem #cloud4all