Proxy para um espelho local de diretórios S3

7

Temos um escritório que tem demanda crescente para acessar arquivos grandes de nossos próprios diretórios do Amazon S3. Poder acessá-los rapidamente é importante para nossos negócios, por isso acreditamos que é hora de começar a manter cópias dos arquivos no local. Esta não é a minha área de especialização, então espero alguns conselhos.

Um cache "normal" não será suficiente para nós, já que queremos acelerar até mesmo a primeira solicitação para qualquer arquivo. O AWS CLI tem a capacidade de manter um diretório local em sincronia com o S3, portanto, uma idéia é executá-lo em um agendamento durante períodos de baixo tráfego e configurar um proxy para tratar esse diretório como seu cache, se possível.

Outra ideia é emitir solicitações para um proxy de armazenamento em cache a partir de um script para manter o cache aquecido, em um cronograma semelhante.

Uma ressalva é que os ativos do S3 são privados, por isso, assinamos suas URLs antes de fazer cada solicitação. Isso significa que o proxy precisará atender à cópia local com base na URL excluindo qualquer parâmetro de consulta. Por exemplo, os dois URLs devem ser resolvidos para o mesmo arquivo em cache / espelhado:

  • https://example.com/asset1.txt?signature=1
  • https://example.com/asset1.txt?signature=2

O tamanho do cache estará nos terabytes de dígito único e processará o tráfego para cerca de 300 usuários ativos.

Então, finalmente, minhas perguntas:

  • Alguma dessas abordagens é sensata?
  • Alguém pode recomendar software proxy que pode ser configurado da maneira que precisamos?
  • Existem recursos que posso consultar para determinar os requisitos de hardware para essa carga?
  • Algum outro pensamento / sugestão?
por Eric Simonton 13.02.2018 / 19:59

2 respostas

5

Se você precisa apenas sincronizar seu repositório local com o armazenamento de objetos baseado em nuvem, eu daria uma olhada no Rclone ou no CloudBerry. O Rclone possui uma interface de linha de comando para sincronizar diretórios e arquivos entre as nuvens. Ele funciona para o armazenamento em nuvem mais popular, como o Azure, o AWS (S3 e o Glacier), etc. link

Além disso, se você quiser fazer backup de todos os dados na nuvem, há uma oportunidade de fazer backups da Virtual Tape Library com um descarregamento adicional para a nuvem. Portanto, se você precisar fazer backup da sua infraestrutura existente, poderá fazer backups à prova de ransomware com descarga automática para a nuvem. Ele tem dedupe e compressão, mas até onde eu sei, agora o Starwind dá de graça. link

Ambas as soluções são maduras e confiáveis, você só precisa escolher a opção necessária. Espero que tenha sido útil.

    
por 15.05.2018 / 12:23
-1

Dependendo de seus requisitos, o Gateway de armazenamento da AWS pode fornecer o que você precisa. O Storage Gateway é uma oferta da AWS que é implementada em seu ambiente local como uma máquina virtual.

Existem dois tipos de Storage Gateway que imediatamente nos vêm à mente como potencialmente adequados:

  • O Gateway de arquivos apresenta um bucket do S3 como uma montagem do NFS e inclui o cache local transparente.

  • O Volume Gateway - Volumes armazenados em cache é apresentado como um destino iSCSI e também inclui o cache local de dados acessados com frequência.

Existem algumas desvantagens no Storage Gateway:

  • NÃO é projetado para suportar cenários de vários mestres , portanto, os mecanismos de bloqueio são definidos para o Storage Gateway (em vez do bucket do S3 subjacente). Dos dois, um cenário multi-master seria mais adequado com o File Gateway, já que ele suporta um RefreshCache API chamada que atualizará os metadados em sua VM local com objetos que foram adicionados / removidos / substituídos desde que o gateway listou pela última vez o conteúdo do bloco.

  • O Volume Gateway não fornece acesso ao bucket S3 subjacente . Assim, enquanto o File Gateway é suportado por um bucket S3 controlado pelo cliente, o Volume Gateway é respaldado por um bucket S3 controlado pelo AWS. Isso significa que, para o Volume Gateway, você não vê o bucket S3 em sua conta e não pode acessar os dados nele como um objeto normal do S3. (não consigo encontrar documentação que suporte isso, mas tenho 95% de certeza de que isso está correto)

Existem outros tipos de Gateway de armazenamento e você pode ler sobre como o AWS Storage Gateway funciona .

Se você ainda não estiver usando a Conexão direta , convém usá-la para alta largura de banda e baixa latência acesso aos serviços da AWS. (Meu palpite é que você já está usando, dada a quantidade de dados que você mencionou)

Editar 2018-05-21: Preço do gateway de armazenamento Com o Storage Gateway, você é cobrado pelo armazenamento subjacente (tamanho dos dados + solicitações) e pela transferência de dados. É isso aí. Qualquer outra solução que use o S3 para armazenamento custará o mesmo.

    
por 30.04.2018 / 08:52