O blog da AWS

Como migrar compartilhamentos SMB do Azure Files para a AWS usando o AWS DataSync

Por Rodney Underkoffler, Arquiteto de Soluções e
Aidan Keane, Arquiteto de Soluções Especialista Sênior

 

Atualmente, não é incomum que empresas tenham dados localizados em diferentes data centers, diferentes dispositivos de armazenamento ou até mesmo diferentes provedores de nuvem. E mesmo que os dados residam em um provedor de nuvem, podem existir cargas de trabalho que sejam executadas em localidades distintas. Essas cargas de trabalho podem exigir que esses dados sejam movimentados por alguns motivos como latência, versionamento de disaster recovery, arquivamento de dados frios para liberar espaço nos locais de origem, como também a própria migração de dados para outros locais. O armazenamento em nível de arquivo é um tipo de dado comum nas empresas e pode ser difícil fazer a movimentação desse tipo de armazenamento entre diferentes sistemas e protocolos. Tradicionalmente, isso é feito por meio do uso de scripts e outros utilitários personalizados. Porém, criar, manter, monitorar e solucionar eventuais problemas desses scripts pode ser um fardo para a operação de TI, além de desacelerar os projetos de migração de dados.Neste blog post, vamos entender como o AWS DataSync é capaz de copiar compartilhamentos de arquivo do tipo SMB (Server Message Block) do Azure Files para serviços de armazenamento da AWS. No momento em que esse blog post foi escrito, ainda não havia algum agente nativo do DataSync disponível para o Azure. Vamos demonstrar como você pode usar o agente existente do DataSync para Hyper-V para acelerar a transferência de dados do Azure para a AWS. Armazenamento baseado em arquivos pode ser entregue ao Amazon Simple Storage Service (S3), ao Amazon Elastic File System (EFS) e ao Amazon FSx. Neste exemplo, vamos utilizar o Amazon S3 como o local de destino.

Architectural diagram illustrates cross-cloud connectivity between an Azure hosted DataSync agent and the AWS DataSync service endpoint.

Figura 1: DataSync entre Azure e AWS

 

Pré-requisitos

Para percorrer o exemplo que vamos detalhar nesse blog post, você precisa do seguinte:

Localização do agente do DataSync

Embora você possa instalar o agente do DataSync diretamente em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) e acessar seu armazenamento do Azure diretamente pela Internet, existe também a vantagem de instalar o agente do DataSync como uma VM no Azure. Instalar o agente do DataSync em uma VM no Azure irá diminuir a latência de rede, além de dispensar a necessidade de ter um endpoint público para o seu compartilhamento SMB no Azure Files. O DataSync também executa nativamente algumas otimizações de rede, como transferências incrementais, compressão in-line e detecção de arquivos avulsos. Essas otimizações podem ajudar a reduzir o custo de transferência de saída do Azure à medida que os dados são transferidos para a AWS.

Independentemente se você estiver executando o agente do DataSync na AWS ou no Azure, existem vários recursos de segurança que estão habilitados para proteger seus arquivos e o tráfego de rede. O AWS DataSync utiliza criptografia Transport Layer Security (TLS) em todos os dados movidos entre a origem e o destino. Ao utilizar o DataSync, seus dados nunca são persistidos no próprio AWS DataSync. O serviço oferece suporte nativo à criptografia padrão de buckets S3, bem como criptografia SMB v3.

Resumo do passo a passo

A Figura 1 demonstra a solução de migração de dados de compartilhamentos SMB do Azure Files para o local de destino em bucket do S3. As etapas para configuração são as seguintes:

  1. Instale e ative o agente do DataSync como uma VM no Azure na mesma região onde se encontra o compartilhamento SMB do Azure Files.
  2. Configure e inicie a replicação entre o compartilhamento SMB do Azure Files e o bucket S3 em sua conta da AWS.

Abordamos brevemente cada componente e detalhamos como criar uma solução de replicação de dados. Durante este exemplo, também vamos compartilhar links para a documentação específica caso precise modificar esta solução para se adequar ao seu caso de uso específico. Vamos começar.

Instalando o agente do DataSync

Etapa 1: Preparar a imagem do agente do DataSync para implantação

  1. Abra o AWS DataSync no console da AWS.
  2. Em Create agent no console, selecione Microsoft Hyper-V no menu de Hypervisor
  3. Escolha Download the image em Deploy agent.  Ao fazer isso, você inicia o download do agente em um arquivo .zip que contém um arquivo de disco do tipo VHDX.
  4. Dentro do Windows, extraia o arquivo de imagem VHDX.
  5. O arquivo VHDX precisa ser convertido em um arquivo VHD de tamanho fixo para fins de compatibilidade com o Azure. Você pode encontrar mais informações sobre esse procedimento aqui. Execute o seguinte comando, lembrando de atualizar o caminho e o nome do arquivo para corresponder ao seu caso:

Convert-VHD -Path .\<caminho para o vhdx>\datasync-20210211-x86_64.vhdx -DestinationPath .\ <caminho para o vhdx>\datasync-20210211-x86_64.vhd -VHDType Fixed

Etapa 2: carregar o VHD em um disco gerenciado

  1. Descubra o tamanho do arquivo VHD para que você possa criar um disco gerenciado vazio que corresponda ao mesmo tamanho. Use o comando ls -l . no diretório que contém a imagem do arquivo VHD. Isso mostra número de bytes do arquivo VHD. Você precisará disso para o parâmetro –upload-bytes posteriormente.

Illustration of the command line displays the length of the VHD file in bytes.

Figura 2: Identificando o tamanho do disco VHD para o DataSync

 

2. Certifique-se de ter a versão mais recente da Interface de Linha de Comando (CLI) do Azure e do AzCopy antes de executar os comandos a seguir.

3. Crie o disco gerenciado vazio executando o seguinte comando. Certifique-se de atualizar os seguintes parâmetros com suas informações:

    • manageddiskname — Informe o nome do disco gerenciado que será criado.
    • resourcegroupname — Um resource group precisa ser criado antes de executar esse comando.

Region — Especifique a região que contém seu compartilhamento do Azure

az disk create -n <manageddiskname> -g <resourcegroupname> -l
<region> --for-upload --upload-size-bytes 85899346432 --sku standard_lrs
  1. Crie uma shared access signature (SAS)
az disk grant-access -n <manageddiskname> -g <resourcegroupname> --access-level
Write --duration-in-seconds 86400
  1. Faça upload do VHD do DataSync para o disco gerenciado vazio.
AzCopy.exe copy "c:\somewhere\datasync-20210211-x86_64.vhd" "sas-URI"--blob-type PageBlob
  1. Quando o upload for concluído, você pode revogar o SAS criado anteriormente para preparar a montagem do disco na nova VM.
az disk revoke-access -n <manageddiskname> -g <resourcegroupname>

Etapa 3: criar a VM do agente do DataSync

Crie a VM do DataSync usando o disco gerenciado que você criou anteriormente e execute o comando a seguir. Atualize o parâmetro newVMName com o nome de VM que preferir.

az vm create --resource-group <resourcegroupname> --location <region> --name <newVMname> –-size
Standard_E4as_v4 --os-type linux --attach-os-disk <manageddiskname>

Etapa 4: ativar o agente do DataSync

É possível ativar o agente do DataSync de forma automática ou manualmente. O processo automatizado exige que você abra temporariamente a porta 80 para a VM do agente do DataSync. Ao finalizar a ativação, o DataSync fecha a porta 80 automaticamente. O nível de acesso necessário à porta 80 depende da configuração da sua rede. Você pode ler mais sobre os requisitos de rede do DataSync aqui.

Alternativamente, você pode usar o método de ativação manual e obter a chave de ativação no console local do agente. Esse método dispensa a necessidade de conectividade entre o navegador e seu agente. As etapas a seguir descrevem o método de ativação manual e como configurar o agente do DataSync:

  1. Ative o boot diagnostics.
  2. Conecte-se via conexão serial e faça login no console local do seu agente.

The Azure console displays the Enable with custom storage account selected along with a specified diagnostics storage account.

Figura 3: Habilitando boot diagnostics

 

3. No menu AWS DataSync Activation – Configuration, digite “0” para obter uma chave de ativação.

4. Informe a região da AWS na qual seu agente será ativado.

5. Insira o tipo de endpoint que o seu agente irá utilizar. As opções disponíveis são: público, FIPS e VPC com o AWS PrivateLink. Neste exemplo, vamos utilizar o tipo público.

6. A chave de ativação é gerada automaticamente e exibida na tela. Copie esse valor.

Observação: Após gerada, a chave de ativação deve ser utilizada em até 30 minutos.

.

Figura 4: Criando o agente do DataSync

 

Em seguida, você precisa criar um agente do DataSync. Para fazer isso, siga as seguintes etapas:

  1. Abra o DataSync no console da AWS.
  2. Em Create agent, selecione Microsoft Hyper-V no menu de Hypervisor.
  3. Em Service endpoint, selecione a opção Public service endpoints na região em que seu agente será ativado.
  4. Em Activation key, selecione Manually enter your agent’s activation key e cole o valor que você copiou do console local do agente.
  5. Crie um nome para o agente e selecione Create agent.

Configurando a replicação de dados

Etapa 1: configurar o local de origem do compartilhamento SMB

Configure o compartilhamento SMB do Azure Files como um local do tipo SMB no DataSync. Escolha a opção Locations no painel de navegação esquerdo e, em seguida, selecione Create location. Em seguida, selecione Server Message Block (SMB) como Location type. Certifique-se de selecionar o agente que você criou nas etapas anteriores.

The AWS Mangement Console displays the Create agent settings. The settings correspond to Microsoft Hyper-V and a public service endpoint in the us-east-1 Region.

Figura 5: Criar o local SMB

 

Em seguida, você precisa informar: o FQDN ou IP do servidor SMB, o nome do compartilhamento e as credenciais do usuário com as permissões necessárias para acessar os compartilhamentos de arquivos SMB. O meio preferencial de se conectar ao seu compartilhamento de arquivos do Azure é através do Active Directory. Porém, no momento em que este blog post foi escrito, nem o Azure Active Directory Domain Services (AD DS) nem a versão on-premises do AD DS oferecem suporte à autenticação de VMs Linux de acordo com esta documentação. Para acesso administrativo ao compartilhamento de arquivos do Azure, você também pode utilizar a storage account key. O portal do Azure fornece um script que contém o servidor SMB, o nome do compartilhamento e as credenciais do usuário que são necessárias. Siga estas etapas para obter as informações da storage account key:

  1. Faça login no portal do Azure.
  2. Navegue até a conta de armazenamento que contém o seu compartilhamento de arquivos.
  3. Selecione File shares.

The Azure console displays the File share settings blade within the storage account. The “awsdatasync-fs” file share is highlighted.

Figura 6: Identificando as configurações de compartilhamento de arquivos SMB

4. Selecione o compartilhamento de arquivos do qual você gostaria de migrar os dados.

5. Selecione Connect.

 

The Azure console displays the settings page for the “awsdatasync-fs” file share. The Connect button is highlighted.

Figura 7: Obtendo as configurações de conexão

 

  1. As informações de conexão são fornecidas na janela de script, conforme mostrado no exemplo a seguir.

The Azure console displays the connection settings dialog box. The SMB server name, file share name, user name, and password are highlighted.

Figura 8: Configurações e credenciais de conexão SMB

 

    1. Insira o FQDN ou o endereço IP do servidor SMB, o nome do compartilhamento e as credenciais do usuário que foram obtidas anteriormente.

 

 

The AWS Management Console displays the Create location settings for the Azure SMB file share. The highlighted settings correspond to those retrieved from the Azure Connect dialog box. Figura 9: Inserindo as configurações e credenciais de conexão SMB

Etapa 2: configurar o local de destino

Configure o local de destino como Amazon S3. Selecione Locations no menu de navegação esquerdo e, em seguida, selecione Create location. Escolha o bucket S3 de destino, a classe de armazenamento do S3, a pasta e uma função do IAM com as permissões necessárias para acessar o bucket S3. Para saber como configurar manualmente uma função do IAM para acessar seu bucket do Amazon S3, acesse o Guia do usuário do DataSync. O DataSync pode mover dados diretamente para qualquer classe de armazenamento do S3, com exceção da classe S3 Glacier Instant Retrieval, sem que você precise gerenciar manualmente o ciclo de vida. Para cada migração, você pode selecionar a classe de armazenamento S3 mais econômica para suas necessidades. Ao efetuar a movimentação, o DataSync detecta arquivos ou objetos existentes no sistema de arquivos ou bucket de destino. Para evitar modificações acidentais ou perda de dados, você pode configurar o DataSync para nunca substituir os dados existentes.

Observe que, se você selecionar o Amazon S3 como destino, por padrão o DataSync aplicará metadados POSIX ao objeto do S3. Isso inclui a utilização de valores padrão de user ID e group ID do POSIX. Para saber mais como o DataSync lida com metadados e arquivos especiais, clique aqui. Veja também as considerações sobre a classe de armazenamento do Amazon S3 ao utilizar o DataSync.
The AWS Management Console displays the Create location settings for the Amazon S3 bucket. The highlighted settings correspond to the S3 bucket and associated IAM role.

Figura 10: Criar o local S3

 

Etapa 3: criar a tarefa de replicação

Configure a tarefa usando o compartilhamento SMB de origem criado na Etapa 1 e o bucket do Amazon S3 de destino criado na Etapa 2. Consulte a documentação de configurações da tarefa para saber mais.

Observe que, se você quiser replicar periodicamente novos arquivos, certifique-se de selecionar a frequência que mais se adequa ao seu caso de uso.

The AWS Management Console displays the Configure source location settings. The settings correspond to the Azure SMB location previously created.

Figura 11: Configurar o local de origem

 

Depois de configurar o local de origem, faça o mesmo para o local de destino. Consulte a Figura 12 para obter mais detalhes:

The AWS Management Console displays the Configure destination location settings. The settings correspond to the Amazon S3 location previously created.

Figura 12: Configurar o local de destino

 

Em seguida, defina as configurações da tarefa do DataSync. Dentro do console da AWS, você consegue visualizar a opção Configure settings na tarefa do DataSync. Em nosso exemplo, configuramos a tarefa para verificar apenas os dados transferidos, transferir somente os dados que foram alterados, exigir uma frequência de execução diária e configuração de logs. Consulte a Figura 13 para obter mais detalhes:

The AWS Management Console displays the Configure settings page for the DataSync task. The highlighted settings correspond to Verify only the data transferred, Transfer only data that has changed, required task frequency, and logging configuration.

Figura 13: Configurações da tarefa do DataSync

 

Etapa 4: iniciar a tarefa DataSync

Selecione Start para que o DataSync comece a movimentação dos dados. Lembre-se que, se você definiu um agendamento durante a configuração da tarefa, a tarefa será iniciada no horário especificado. Você pode saber mais sobre a execução e o monitoramento de tarefas do DataSync com o Amazon CloudWatch nos links compartilhados.

Depois de concluir as etapas detalhadas nesse passo a passo, você pôde construir uma conexão segura para mover seus dados de compartilhamento SMB do Azure Files para o Amazon S3 de forma eficiente. Cada vez que sua tarefa do DataSync é executada, ela verifica os locais de origem e destino em busca de alterações e copia qualquer modificação de dados e metadados. Existem algumas fases pelas quais uma tarefa do DataSync passa: início, preparação, transferência e verificação. O tempo gasto na fase de preparação varia de acordo com a quantidade de arquivos nos locais de origem e destino, o que pode levar de alguns minutos a várias horas. Consulte o Guia do Usuário do DataSync para obter mais informações sobre cada etapa da tarefa do DataSync.

Efetuando o clean-up

Para evitar cobranças adicionais, exclua os recursos que foram criados durante esse exemplo:

  1. Exclua a tarefa do DataSync que você criou na Etapa 3.
  2. Exclua os locais de origem e de destino que você criou nas etapas 1 e 2.
  3. Exclua o agente do DataSync que você criou na Etapa 3.
  4. Exclua a VM do Azure e os recursos associados que você criou ao instalar o agente do DataSync.
  5. Exclua todos os objetos do bucket S3 criados na Etapa 1. Depois disso, você pode excluir o bucket S3. Lembrando que o bucket precisa estar vazio para ser deletado, como descrito aqui.

Informações sobre preços

Os preços do DataSync são simples. Você paga uma taxa fixa por GB pelos dados movidos, sem requisitos mínimos ou taxas adicionais. O modelo de precificação do DataSync torna acessível a migração de dados para a AWS. Importante notar que a cobrança é efetuada pelo uso do AWS DataSync na conta de destino, pois é nela onde você usa o endpoint do DataSync.

Embora não haja cobrança adicional pelo tráfego de entrada na AWS, podem haver cobranças de tráfego de saída na conta de origem do Azure. Consulte a precificação do fornecedor para saber mais.

Conclusão

Nesse blog post, exploramos como é possível configurar um agente do AWS DataSync no Azure para movimentar seus dados para a AWS. Nesse passo a passo, criamos e configuramos uma tarefa que copia dados de um compartilhamento de arquivos SMB do Azure Files para um bucket do Amazon S3 na AWS sem gerenciar scripts ou utilitários personalizados.

Com essa solução, você pode migrar facilmente seus dados de compartilhamentos SMB hospedados no Azure para os serviços de armazenamento da AWS. Esse procedimento ajuda a consolidar seus dados em um único local para fins de processamento e também pode ajudar com workloads que são executados em locais diferentes. Tirar proveito de um serviço gerenciado como o AWS DataSync reduz a complexidade operacional, economiza tempo e acelera a movimentação de dados em grande escala.

Abaixo estão alguns links úteis para ajudá-lo a começar a usar o AWS DataSync:

Obrigado por ler esse blog post sobre como migrar compartilhamentos SMB do Azure Files para a AWS utilizando o AWS DataSync. Fique à vontade para compartilhar sua dúvida ou comentário na seção de comentários abaixo.

Este artigo foi traduzido do Blog da AWS em Inglês.


Sobre o autor

Rodney Underkoffler é arquiteto de soluções na Amazon Web Services. Seu foco é ajudar clientes corporativos em sua jornada para a nuvem. Possui experiência em infraestrutura, segurança e práticas de negócios de TI. É apaixonado por tecnologia e gosta de criar e explorar novas soluções.

 

 

 

 

Aidan Keane é arquiteto de soluções especialista sênior, com foco em cargas de trabalho Microsoft na AWS. Ele trabalha com tecnologias de nuvem há mais de 5 anos e tem mais de 20 anos de experiência técnica. Fora do trabalho, ele é um entusiasta de esportes que gosta de golfe, ciclismo, assistir o Liverpool FC, passar tempo com a família, viajar para a Irlanda e América do Sul.

 

 

 

 

Revisores

Pedro Calixto é arquiteto de soluções especialista em migrações na AWS. Pedro integra a equipe de Cloud Acceleration para a América Latina. Seu foco é ajudar empresas a exceder resultados de negócio, acelerando a migração e a modernização de workloads para a AWS de forma escalável.