paint-brush
Tudo o que você precisa saber para repatriar do AWS S3 para MinIOpor@minio
8,892 leituras
8,892 leituras

Tudo o que você precisa saber para repatriar do AWS S3 para MinIO

por MinIO12m2024/03/22
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

Vamos nos aprofundar um pouco mais nos custos e economias associados à repatriação para facilitar a elaboração de sua própria análise.

People Mentioned

Mention Thumbnail
featured image - Tudo o que você precisa saber para repatriar do AWS S3 para MinIO
MinIO HackerNoon profile picture


A resposta ao nosso post anterior, Como repatriar do AWS S3 para MinIO , foi extraordinário - recebemos dezenas de chamadas de empresas solicitando conselhos sobre repatriação. Agregamos essas respostas nesta nova postagem, onde nos aprofundamos um pouco mais nos custos e economias associados à repatriação para facilitar a elaboração de sua própria análise. A migração de dados é uma tarefa difícil para muitos. Na prática, eles direcionam novos dados para o MinIO e aproveitam o tempo para migrar dados antigos da nuvem ou deixá-los no local e não crescer.

Visão geral da repatriação

Para repatriar dados do AWS S3, você seguirá estas diretrizes gerais:


  1. Revise os requisitos de dados: determine os buckets e objetos específicos que precisam ser repatriados do AWS S3. Certifique-se de entender as necessidades de negócios e os requisitos de conformidade passo a passo.


  2. Identifique o destino de repatriação: você já decidiu repatriar para o MinIO, agora pode optar por executar o MinIO em um data center local ou em outro provedor de nuvem ou instalação de colocation. Usando os requisitos do item 1, você selecionará hardware ou instâncias para necessidades previstas de armazenamento, transferência e disponibilidade.


  3. Transferência de dados: planeje e execute a transferência de dados do AWS S3 para o MinIO. Basta usar a replicação em lote integrada do MinIO ou espelhar usando o MinIO Client (consulte Como repatriar do AWS S3 para MinIO para detalhes). Existem vários métodos adicionais que você pode usar para transferência de dados, como AWS DataSync, AWS Snowball ou Migração de dados TD SYNNEX ou diretamente usando APIs da AWS.


  4. Acesso e permissões aos dados: certifique-se de que os controles e permissões de acesso apropriados sejam configurados para os dados repatriados por balde. Isso inclui políticas de IAM e bucket para gerenciar o acesso, autenticação e autorização do usuário para garantir a segurança dos dados.


  5. Bloqueios de objetos: é fundamental preservar a retenção de bloqueios de objetos e as políticas de retenção legal após a migração. O armazenamento de objetos de destino deve interpretar as regras da mesma forma que o Amazon S3. Se você não tiver certeza, peça o Avaliação de conformidade da Cohasset Associates na implementação do armazenamento de objetos de destino.


  6. Gerenciamento do ciclo de vida dos dados: Defina e implemente uma estratégia de gerenciamento do ciclo de vida dos dados repatriados. Isso inclui a definição de políticas de retenção, procedimentos de backup e recuperação e práticas de arquivamento de dados por bucket.


  7. Validação de dados: Valide os dados transferidos para garantir sua integridade e integridade. Execute as verificações e testes necessários para garantir que os dados foram transferidos com sucesso, sem qualquer corrupção ou perda. Após a transferência, o nome do objeto, ETag e metadados, soma de verificação e o número de objetos correspondem entre a origem e o destino.


  8. Atualizar aplicativos e fluxos de trabalho: a boa notícia é que, se você seguir os princípios nativos da nuvem para criar seus aplicativos, tudo o que precisará fazer é reconfigurá-los para o novo endpoint MinIO. No entanto, se seus aplicativos e fluxos de trabalho foram projetados para funcionar com o ecossistema da AWS, faça as atualizações necessárias para acomodar os dados repatriados. Isso pode envolver a atualização de configurações, a reconfiguração de integrações ou, em alguns casos, a modificação do código.


  9. Monitore e otimize: monitore e otimize continuamente o ambiente de dados repatriados para garantir desempenho ideal, economia e adesão às melhores práticas de gerenciamento de dados.

Etapas de repatriação

Há muitos fatores a serem considerados ao orçar e planejar a repatriação da nuvem. Felizmente, nossos engenheiros fizeram isso com muitos clientes e desenvolvemos um plano detalhado para você. Temos clientes que repatriaram tudo, desde um punhado de cargas de trabalho até centenas de petabytes.


A maior tarefa de planejamento é pensar nas opções de rede, largura de banda alugada, hardware de servidor, custos de arquivamento dos dados não selecionados para serem repatriados e o custo humano de gerenciamento e manutenção de sua própria infraestrutura em nuvem. Estime esses custos e planeje-os. Os custos de repatriação na nuvem incluirão taxas de saída de dados para mover os dados da nuvem de volta ao data center. Essas taxas são intencionalmente altas o suficiente para obrigar ao aprisionamento na nuvem. Tome nota dessas altas taxas de saída: elas fundamentam o argumento econômico para deixar a nuvem pública porque, à medida que a quantidade de dados que você gerencia aumenta, as taxas de saída aumentam. Portanto, se você pretende repatriar, vale a pena agir o quanto antes.


Vamos nos concentrar nos dados e metadados que devem ser movidos – isto representa oitenta por cento do trabalho necessário para repatriar. Os metadados incluem propriedades e políticas de bucket (gerenciamento de acesso baseado em chave de acesso/secreta, gerenciamento do ciclo de vida, criptografia, acesso público anônimo, bloqueio de objetos e controle de versão).


Vamos nos concentrar nos dados (objetos) por enquanto. Para cada namespace que você deseja migrar, faça um inventário dos buckets e dos objetos que deseja mover. É provável que sua equipe de DevOps já saiba quais buckets contêm dados atuais importantes. Você também pode usar Inventário Amazon S3 . Em um nível superior, será algo como:


Espaço para nome

Total de baldes

Contagem total de objetos

Tamanho total do objeto (GB)

Upload total diário (TB)

Download total diário (TB)

ns-001

166

47.751.258

980.014,48

50.04

14h80

ns-002

44

24.320.810

615.033,35

23,84

675,81

ns-002

648

88.207.041

601.298,91

328,25

620,93

ns-001

240

68.394.231

128.042,16

62,48

12h45


A próxima etapa é listar, por namespace, cada bucket e suas propriedades para cada bucket que você irá migrar. Observe os aplicativos que armazenam e leem dados nesse bucket. Com base no uso, classifique cada bucket como dados de nível quente, quente ou frio.


Em uma versão resumida, isso será parecido com


Nome do intervalo

Propriedades

Aplicativo(s)

Nível Quente/Quente/Frio

A

Copie e cole JSON aqui

Faísca, Iceberg, Dremio

Quente

B

Copie e cole JSON aqui

Elástico

Esquentar

C

Copie e cole JSON aqui

Elástico (instantâneos)

Frio


Você tem algumas decisões a tomar sobre o gerenciamento do ciclo de vida dos dados neste momento e preste muita atenção porque esta é uma ótima maneira de economizar dinheiro em taxas da AWS. Categorize os objetos em cada bucket como quentes, mornos ou frios com base na frequência com que são acessados. Um ótimo lugar para economizar dinheiro é migrar buckets de camada fria diretamente para o S3 Glacier – não há motivo para incorrer em taxas de saída para fazer download apenas para fazer upload novamente.


Dependendo da quantidade de dados que você está repatriando, você tem algumas opções para escolher como migrar. Recomendamos que você carregue e trabalhe com novos dados no novo cluster MinIO enquanto copia dados quentes e quentes para o novo cluster ao longo do tempo. A quantidade de tempo e largura de banda necessária para copiar objetos dependerá, obviamente, do número e do tamanho dos objetos que você está copiando.


É aqui que será muito útil calcular o total de dados que você irá repatriar do AWS S3. Observe seu inventário e some o tamanho de todos os baldes classificados como quentes e mornos.


Dados totais de níveis quentes e quentes = 1.534.096,7 GB

Largura de banda disponível = 10 Gbps

Tempo mínimo de transferência necessário (tamanho total do objeto/largura de banda disponível) = 14,2 dias


Calcule as taxas de saída de dados com base no total acima. estou a usar preço de tabela , mas sua organização pode se qualificar para um desconto da AWS. Também estou usando 10 Gbps como largura de banda de conexão, mas você pode ter mais ou menos à sua disposição. Por fim, estou partindo do pressuposto de que um terço dos dados do S3 serão simplesmente transferidos para o S3 Glacier Deep Archive.


Total de dados em camadas para S3 Glacier = 767.048,337 GB

Taxas de transferência de S3 para S3 Glacier (US$ 0,05/1.000 objetos) = US$ 3.773,11

Taxa mensal de armazenamento do S3 Glacier Deep Archive = US$ 760


Não se esqueça de fazer um orçamento para o uso do S3 Glacier Deep Archive no futuro.


Total de dados a serem transferidos = 1.534.096,7 GB

Primeiros 10 TB a US$ 0,09/GB = US$ 900

Próximos 40 TB a US$ 0,085/GB = US$ 3.400

Próximos 100 TB a US$ 0,07/GB = US$ 70.000

Adicional acima de 150 TB a US$ 0,05/GB = US$ 69.205

Taxas totais de saída = $ 143.504


Por uma questão de simplicidade, o cálculo acima não inclui nem a taxa para operações por objeto (US$ 0,40/1 milhão) nem o custo de LISTing (US$ 5/1 milhão). Para projetos de repatriação muito grandes, também podemos compactar objetos antes de enviá-los pela rede, economizando parte do custo das taxas de saída.


Outra opção é usar o AWS Snowball para transferir objetos. Os dispositivos Snowball têm 80 TB cada, então sabemos de antemão que precisaremos de 20 deles para nosso esforço de repatriação. A taxa por dispositivo inclui 10 dias de uso, mais 2 dias para envio. Dias adicionais estão disponíveis por US$ 30/dispositivo.


Taxa de serviço de 20 dispositivos Snowball (US$ 300 cada) = US$ 6.000

Frete R/T (3-5 dias a US$ 400/dispositivo) = US$ 8.000

Saída de dados S3 (US$ 0,02/GB) = US$ 30.682

Taxas totais de bola de neve = $ 38.981,93


A AWS cobrará taxas padrão de solicitação, armazenamento e transferência de dados para leitura e gravação em serviços da AWS, incluindo Amazon S3 e Serviço de gerenciamento de chaves da AWS (KMS) . Existem outras considerações ao trabalhar com Classes de armazenamento do Amazon S3 . Para trabalhos de exportação do S3, os dados transferidos do S3 para o seu dispositivo Snow Family são cobrados com taxas padrão do S3 para operações como LIST, GET e outras. Também serão cobradas taxas padrão para Amazon CloudWatch Logs, Amazon CloudWatch Metrics e Amazon CloudWatch Events.


Agora sabemos quanto tempo levará para migrar essa enorme quantidade de dados e o custo. Tome uma decisão comercial sobre qual método atende às suas necessidades com base na combinação de prazos e taxas.


Neste ponto, também conhecemos os requisitos de hardware necessários para executar o MinIO no local ou em uma instalação de colocation. Considere o requisito acima para 1,5 PB de armazenamento, estime o crescimento dos dados e consulte nosso Hardware e configuração recomendados página e Selecionando o melhor hardware para sua implantação MinIO .


A primeira etapa é recriar seus buckets S3 no MinIO. Você terá que fazer isso independentemente de como escolher migrar objetos. Embora o S3 e o MinIO armazenem objetos usando criptografia no lado do servidor, você não precisa se preocupar com a migração de chaves de criptografia. Você pode se conectar ao KMS de sua escolha usando MinIO KES para gerenciar chaves de criptografia . Dessa forma, novas chaves serão geradas automaticamente para você à medida que locatários e buckets criptografados são criados no MinIO.


Você tem várias opções para copiar objetos: Replicação em lote e mc mirror . Minha postagem anterior no blog, Como repatriar do AWS S3 para MinIO incluiu instruções detalhadas para ambos os métodos. Você pode copiar objetos diretamente do S3 para o MinIO local ou usar um cluster MinIO temporário em execução no EC2 para consultar o S3 e, em seguida, espelhar para o MinIO local.


Normalmente, os clientes usam ferramentas que escrevemos combinadas com o hardware e serviços de migração de dados do AWS Snowball ou TD SYNNEX para mover grandes quantidades de dados (mais de 1 PB).


MinIO recentemente fez parceria com Western Digital e TD SYNNEX para lançar uma alternativa Snowball. Os clientes podem agendar janelas para receber o hardware Western Digital e pagar pelo que precisam durante o período de locação. Mais importante ainda, o serviço não está vinculado a uma nuvem específica – o que significa que a empresa pode usar o serviço para mover dados para dentro, para fora e entre nuvens – tudo isso usando o onipresente protocolo S3. Detalhes adicionais sobre o serviço podem ser encontrados no site Serviço de migração de dados página no site TD SYNNEX.


Os metadados do bucket, incluindo políticas e propriedades do bucket, podem ser lidos usando get-bucket Chamadas de API S3 e depois configurado no MinIO. Ao se inscrever no MinIO SUBNET, nossos engenheiros trabalharão com você para migrar essas configurações do AWS S3: gerenciamento de acesso baseado em chave de acesso/chave secreta, políticas de gerenciamento de ciclo de vida, criptografia, acesso público anônimo, imutabilidade e versionamento. Uma observação sobre o controle de versão: o ID da versão da AWS geralmente não é preservado quando os dados são migrados porque cada ID de versão é um UUID interno. Em grande parte, isso não é um problema para os clientes porque os objetos normalmente são chamados pelo nome. No entanto, se o ID da versão da AWS for necessário, temos uma extensão que irá preservá-lo no MinIO e ajudaremos você a habilitá-lo.


Preste especial atenção a Políticas de IAM e bucket . O S3 não será a única parte da infraestrutura da AWS que você deixará para trás. Você terá muitas contas de serviço para aplicativos usarem ao acessar buckets S3. Este seria um bom momento para listar e auditar todas as suas contas de serviço. Então você pode decidir se deseja ou não recriá-los em seu provedor de identidade. Se você optar por automatizar, use o Amazon Cognito para compartilhar informações do IAM com IDPs externos do OpenID Connect e AD/LDAP.


Preste atenção especial ao gerenciamento do ciclo de vida de dados, como retenção de objetos, bloqueio de objetos e arquivamento/classificação em camadas. Execute uma get-bucket-lifecycle-configuration em cada bucket para obter uma lista JSON legível de regras de ciclo de vida. Você pode recriar facilmente as configurações do AWS S3 usando o console MinIO ou o cliente MinIO (mc). Use comandos como get-object-legal-hold e get-object-lock-configuration para identificar objetos que exigem tratamento especial de segurança e governança.


Já que estamos falando sobre ciclo de vida, vamos falar um pouco sobre backup e recuperação de desastres. Você deseja um cluster MinIO adicional para replicação, para backup e recuperação de desastres?


Depois que os objetos são copiados do AWS S3 para o MinIO, é importante validar a integridade dos dados. A maneira mais fácil de fazer isso é usar o MinIO Client para executar mc diff em buckets antigos no S3 e em novos buckets no MinIO. Isso calculará a diferença entre os intervalos e retornará uma lista apenas dos objetos ausentes ou diferentes. Este comando usa os argumentos dos buckets de origem e de destino. Para sua conveniência, você pode querer criar apelido para S3 e MinIO, para que você não precise digitar endereços e credenciais completos. Por exemplo:


 mc diff s3/bucket1 minio/bucket1


A boa notícia é que tudo o que você precisa fazer é apontar os aplicativos existentes para o novo endpoint MinIO. As configurações podem ser reescritas aplicativo por aplicativo durante um período de tempo. A migração de dados no armazenamento de objetos causa menos interrupções do que um sistema de arquivos; basta alterar a URL para leitura/gravação de um novo cluster. Observe que se você anteriormente dependia dos serviços da AWS para oferecer suporte aos seus aplicativos, eles não estarão presentes no seu data center, portanto, você terá que substituí-los por seus equivalentes de código aberto e reescrever alguns códigos. Por exemplo, Athena pode ser substituído por Spark SQL, Apache Hive e Presto, Kinesis por Apache Kafka e AWS Glue por Apache Airflow.


Se a migração do S3 faz parte de um esforço maior para mover um aplicativo inteiro no local, é provável que você tenha usado Notificações de eventos S3 para chamar serviços downstream quando novos dados chegarem. Se for esse o caso, não tenha medo - o MinIO apoia notificação de evento também. A migração mais direta aqui seria implementar um webhook personalizado para receber a notificação. No entanto, se você precisar de um destino mais durável e resiliente, use serviços de mensagens como Kafka ou RabbitMQ. Também oferecemos suporte ao envio de eventos para bancos de dados como PostgreSQL e MySQL.


Agora que você concluiu a repatriação, é hora de voltar sua atenção para a operação, monitoramento e otimização do armazenamento. A boa notícia é que nenhuma otimização é necessária para o MinIO – incorporamos a otimização diretamente no software para que você saiba que está obtendo o melhor desempenho para o seu hardware. Você desejará começar a monitorar seu novo cluster MinIO para avaliar continuamente a utilização e o desempenho de recursos. MinIO expõe Métricas por meio de um endpoint Prometheus que você pode consumir em seu plataforma de monitoramento e alerta de escolha . Para obter mais informações sobre monitoramento, consulte Monitoramento e alertas multinuvem com Prometheus e Grafana e Métricas com MinIO usando OpenTelemetry, Flask e Prometheus .


Com SUB-REDE , nós protegemos você quando se trata de Operações do dia 2 com MinIO. Os assinantes obtêm acesso a ferramentas integradas de solução de problemas automatizadas para manter seus clusters funcionando perfeitamente. Eles também recebem suporte ilimitado e direto ao engenheiro em tempo real por meio de nosso portal de suporte. Também ajudamos você a preparar seu investimento em armazenamento de objetos para o futuro com uma revisão anual da arquitetura.

Migrar e Salvar

Não é segredo que os dias de passar cheques em branco para provedores de nuvem acabaram. Muitas empresas estão atualmente avaliando seus gastos com nuvem para encontrar possíveis economias. Agora você tem tudo o que precisa para iniciar sua migração do AWS S3 para o MinIO, incluindo etapas técnicas concretas e uma estrutura financeira.


Se você estiver entusiasmado com a perspectiva de economia nos custos de repatriação, entre em contato conosco pelo e-mail olá@min.io .


Também aparece aqui .