Transferência de arquivos usando o adaptador do Amazon S3 para migração de dados - AWS Snowball Edge Guia do desenvolvedor

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Transferência de arquivos usando o adaptador do Amazon S3 para migração de dados

Veja a seguir uma visão geral do adaptador Amazon S3, que você pode usar para transferir dados programaticamente de e para buckets do S3 que já estão no dispositivo usando as ações da API REST do AWS Snowball Edge Amazon S3. Esse suporte da API REST do Amazon S3 é limitado a um subconjunto de ações. Você pode usar esse subconjunto de ações com um dos AWS SDKs para transferir dados de forma programática. O subconjunto de comandos AWS Command Line Interface (AWS CLI) compatíveis com o Amazon S3 também pode ser usado para transferir dados de forma programática.

Se sua solução usa a AWS SDK for Java versão 1.11.0 ou mais recente, você deve usar o seguinte: S3ClientOptions

  • disableChunkedEncoding(): indica que a codificação em partes não é compatível com a interface.

  • setPathStyleAccess(true): configura a interface para usar o acesso no estilo de caminho para todas as solicitações.

Para obter mais informações, consulte Class S3 ClientOptions .Builder no Amazon AppStream SDK for Java.

Importante

Recomendamos que você use somente um método por vez para ler e gravar dados em um bucket local em um AWS Snowball Edge dispositivo. Usar a interface de arquivos e o adaptador do Amazon S3 no mesmo bucket ao mesmo tempo pode resultar em conflitos de leitura/gravação.

AWS Snowball Cotas Edge detalha os limites.

Para que AWS os serviços funcionem corretamente em um Snowball Edge, você deve permitir as portas para os serviços. Para obter detalhes, consulte Portas necessárias para usar AWS serviços em um dispositivo AWS Snowball Edge.

Baixando e instalando a AWS CLI versão 1.16.14 para uso com o adaptador Amazon S3

No momento, os dispositivos Snowball Edge dão suporte apenas à versão 1.16.14 e anteriores do AWS CLI para uso com o adaptador do Amazon S3. As versões mais recentes do não AWS CLI são compatíveis com o adaptador Amazon S3 porque não oferecem suporte a todas as funcionalidades do adaptador S3.

nota

Se você estiver usando armazenamento compatível com o Amazon S3 em dispositivos da Família Snow, pode usar a versão mais recente do AWS CLI. Para baixar e usar a versão mais recente, consulte o Manual do usuário do AWS Command Line Interface.

Instale o AWS CLI em sistemas operacionais Linux

Execute este comando em cadeia:

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.14.zip" -o "awscli-bundle.zip";unzip awscli-bundle.zip;sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws;/usr/local/bin/aws --version;

Instale o AWS CLI em sistemas operacionais Windows

Faça o download e execute o arquivo do instalador para o seu sistema operacional:

Usando as operações de API AWS CLI e em dispositivos Snowball Edge

Ao usar as operações de API AWS CLI ou para emitir comandos do IAM, Amazon S3 e Amazon EC2 no Snowball Edge, você deve especificar a região como "”. snow Você pode fazer isso usando AWS configure ou dentro do próprio comando, como nos exemplos a seguir.

aws configure --profile abc AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: 1234567 Default region name [None]: snow Default output format [None]: json

Ou

aws s3 ls --profile snowballEdge --endpoint http://192.0.2.0:8080 --region snow

Autorização com a interface de API do Amazon S3 para AWS Snowball

Quando você usa o adaptador Amazon S3, todas as interações são assinadas com o algoritmo AWS Signature Version 4 por padrão. Essa autorização é usada apenas para verificar os dados que estão trafegando da origem para a interface. Toda a criptografia e descriptografia acontecem no dispositivo. Os dados não criptografados nunca são armazenados no dispositivo.

Ao usar a interface, tenha em mente o seguinte:

  • Para obter as credenciais locais do Amazon S3 e assinar as solicitações para o dispositivo AWS Snowball Edge , execute os comandos snowballEdge list-access-keys e snowballEdge get-secret-access-keys do Snowball Edge Client. Para ter mais informações, consulte Usando os comandos do cliente Snowball Edge. Essas credenciais locais do Amazon S3 incluem um par de chaves: uma chave de acesso e uma chave secreta. Essas chaves são válidas apenas para os dispositivos associados ao trabalho. Eles não podem ser usados no Nuvem AWS porque não têm contrapartida AWS Identity and Access Management (IAM).

  • A chave de criptografia não é alterada pelas AWS credenciais que você usa. A assinatura com o algoritmo do Signature versão 4 é usada somente para verificar os dados que estão trafegando da origem para a interface. Assim, essa assinatura nunca é fatorada nas chaves de criptografia usadas para criptografar seus dados no Snowball.

Obtenção e utilização de credenciais do Amazon S3 locais

Cada interação com um Snowball Edge é assinada com o algoritmo AWS Signature Version 4. Para obter mais informações sobre o algoritmo, consulte Processo de assinatura do Signature versão 4 na Referência geral da AWS.

Você pode obter as credenciais locais do Amazon S3 para assinar suas solicitações do dispositivo Edge do Snowball Edge Client executando snowballEdge list-access-keys e snowballEdge get-secret-access-key. Consulte Como obter as credenciais. Essas credenciais locais do Amazon S3 incluem um par de chaves: um ID de chave de acesso e uma chave secreta. Essas credenciais são válidas apenas para os dispositivos que estão associados ao trabalho. Eles não podem ser usados no Nuvem AWS porque não têm uma contraparte do IAM.

Você pode adicionar essas credenciais ao arquivo de AWS credenciais no seu servidor. O arquivo de perfis de credenciais padrão normalmente está localizado em ~/.aws/credentials, mas a localização pode variar conforme a plataforma. Esse arquivo é compartilhado por muitos dos AWS SDKs e pelo AWS CLI. As credenciais locais podem ser salvas com um nome de perfil, como no exemplo a seguir.

[snowballEdge] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

Especificação do adaptador do S3 como endpoint do AWS CLI

Ao usar o AWS CLI para emitir um comando para o AWS Snowball Edge dispositivo, você especifica que o endpoint é o adaptador Amazon S3. Você tem a opção de usar o endpoint HTTPS ou um endpoint HTTP desprotegido, como mostrado a seguir.

Endpoint HTTPS protegido

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443 --ca-bundle path/to/certificate

Endpoint HTTP desprotegido

aws s3 ls --profile snowballEdge --endpoint http://192.0.2.0:8080

Se você usar o endpoint HTTPS 8443, os dados serão transferidos com segurança a partir do seu servidor para o Snowball Edge. A criptografia é garantida com um certificado que é gerado pelo Snowball Edge sempre que ele recebe um novo endereço IP. Depois de receber o certificado, você poderá salvá-lo em um arquivo local ca-bundle.pem. Em seguida, você pode configurar seu AWS CLI perfil para incluir o caminho para seu certificado, conforme descrito a seguir.

Para associar o certificado ao endpoint da interface
  1. Conecte o Snowball Edge à alimentação e à rede. Em seguida, ligue-o.

  2. Depois que o dispositivo tiver sido inicializado, anote o endereço IP dele na sua rede local.

  3. Em um terminal na sua rede, verifique se é possível fazer teste de ping no Snowball Edge.

  4. Execute o comando snowballEdge get-certificate no seu terminal. Para obter mais informações sobre este comando, consulte Gerenciar certificados de chave pública.

  5. Salve a saída do comando snowballEdge get-certificate em um arquivo, por exemplo, ca-bundle.pem.

  6. Execute o seguinte comando no seu terminal.

    aws configure set profile.snowballEdge.ca_bundle /path/to/ca-bundle.pem

Depois de concluir o procedimento, você poderá executar os comandos da CLI com essas credenciais locais, além do seu certificado e endpoint especificado, como no exemplo a seguir.

aws s3 ls --profile snowballEdge --endpoint https://192.0.2.0:8443

Atributos não compatíveis do Amazon S3 para o adaptador do Amazon S3

Usando o Amazon S3, você pode transferir, de forma programática, dados de e para um Snowball Edge com ações da API do Amazon S3. No entanto, nem todas as ações de API e atributos de transferência do Amazon S3 podem ser usados com um dispositivo Snowball Edge ao usar o adaptador do Amazon S3. Por exemplo, os seguintes atributos e ações não são compatíveis com o uso do Snowball Edge:

  • TransferManager— Esse utilitário transfere arquivos de um ambiente local para o Amazon S3 com o SDK for Java. Em vez disso, considere o uso de ações de API com suporte ou comandos da AWS CLI com a interface.

  • GET Bucket (listagem de objetos) versão 2: essa implementação da ação GET retorna alguns ou todos (até 1.000) dos objetos de um bucket. Considere o uso da ação GET Bucket (listagem de objetos) versão 1 ou do comando ls da AWS CLI .

  • ListBuckets— O ListBuckets com o endpoint do objeto não é suportado. O comando a seguir não funciona com armazenamento compatível com o Amazon S3 em dispositivos da Família Snow:

    aws s3 ls --endpoint https://192.0.2.0 --profile profile