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
Figura 1: DataSync entre Azure e AWS
Pré-requisitos
Para percorrer o exemplo que vamos detalhar nesse blog post, você precisa do seguinte:
- Conta da AWS
- Conta do Azure
- Bucket do Amazon S3 — saiba como criar um bucket S3 no Guia do usuário do Amazon S3.
- Compartilhamento SMB criado no Azure Files — saiba como configurar um nesse link. Alternativamente, para fins de demonstração, você também pode configurar um compartilhamentos SMB diretamente em uma máquina virtual.
- PowerShell
- Interface de Linha de Comando (CLI) do Azure
- AzCopy
- Os seguintes recursos do Windows precisam ser habilitados localmente no sistema operacional:
- Módulo Hyper-V para Windows PowerShell
- Serviços do Hyper-V
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:
- 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.
- 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
- Abra o AWS DataSync no console da AWS.
- Em Create agent no console, selecione Microsoft Hyper-V no menu de Hypervisor
- 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.
- Dentro do Windows, extraia o arquivo de imagem VHDX.
- 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
- 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.
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
- Crie uma shared access signature (SAS)
az disk grant-access -n <manageddiskname> -g <resourcegroupname> --access-level Write --duration-in-seconds 86400
- 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
- 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:
- Ative o boot diagnostics.
- Conecte-se via conexão serial e faça login no console local do seu agente.
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:
- Abra o DataSync no console da AWS.
- Em Create agent, selecione Microsoft Hyper-V no menu de Hypervisor.
- Em Service endpoint, selecione a opção Public service endpoints na região em que seu agente será ativado.
- Em Activation key, selecione Manually enter your agent’s activation key e cole o valor que você copiou do console local do agente.
- 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.
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:
- Faça login no portal do Azure.
- Navegue até a conta de armazenamento que contém o seu compartilhamento de arquivos.
- Selecione File shares.
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.
Figura 7: Obtendo as configurações de conexão
- As informações de conexão são fornecidas na janela de script, conforme mostrado no exemplo a seguir.
Figura 8: Configurações e credenciais de conexão SMB
-
- 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.
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.
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.
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:
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:
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:
- Exclua a tarefa do DataSync que você criou na Etapa 3.
- Exclua os locais de origem e de destino que você criou nas etapas 1 e 2.
- Exclua o agente do DataSync que você criou na Etapa 3.
- Exclua a VM do Azure e os recursos associados que você criou ao instalar o agente do DataSync.
- 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:
- O que há de novo no AWS DataSync
- Guia do usuário do AWS DataSync
- Fóruns do AWS DataSync
- AWS DataSync Primer, curso on-line disponível gratuitamente e sob demanda
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.