Transferencia de archivos mediante el adaptador Amazon S3 para la migración de datos - Guía para desarrolladores de AWS Snowball Edge

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Transferencia de archivos mediante el adaptador Amazon S3 para la migración de datos

A continuación se presenta una descripción general del adaptador Amazon S3, que puede utilizar para transferir datos mediante programación desde y hacia elAWS Snowball Edgedispositivo que utiliza acciones de la API REST de Amazon S3. Esta compatibilidad con la API REST de Amazon S3 se limita a un subconjunto de acciones. Puede utilizar este subconjunto de acciones con una de lasAWSSDK para transferir datos mediante programación. También puede utilizar el subconjunto de compatiblesAWS Command Line Interface(AWS CLI) comandos para que Amazon S3 transfiera datos mediante programación.

Si la solución utiliza AWS SDK for Java versión 1.11.0 o posterior, debe usar las opciones S3ClientOptions siguientes:

  • disableChunkedEncoding()— Indica que la interfaz no admite la codificación fragmentada.

  • setPathStyleAccess(true)— Configura la interfaz para que utilice un acceso tipo ruta para todas las solicitudes.

Para obtener más información, consulteClase S3ClientOptions.Constructoren elAmazonAppStreamSDK para Java.

importante

Le recomendamos que utilice solo un método a la vez para leer y escribir datos en un depósito local de unAWS Snowball Edgedispositivo. El uso simultáneo de la interfaz de archivos y del adaptador Amazon S3 en el mismo depósito puede provocar conflictos de lectura y escritura.

Límites de tarifas en AWS Snowball Edgedetalla los límites.

ParaAWSpara que los servicios funcionen correctamente en un Snowball Edge, debe permitir los puertos para los servicios. Para obtener más información, consulte Puertos necesarios para usarAWS los servicios en un dispositivoAWS Snowball periférico.

Descargar e instalar elAWS CLIversión 1.16.14 para su uso con el adaptador Amazon S3

Actualmente, los dispositivos Snowball Edge solo son compatibles con la versión 1.16.14 y anteriores delAWS CLIpara su uso con el adaptador Amazon S3. Si utiliza un almacenamiento compatible con Amazon S3 en los dispositivos de la familia Snow, puede utilizar la última versión delAWS CLI. Para descargar y utilizar la última versión, consulteAWS Command Line InterfaceGuía del usuario.

Utilice el siguiente procedimiento para que su sistema operativo realice esta tarea.

Instale elAWS CLIen sistemas operativos Linux

Ejecute este comando encadenado:

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 elAWS CLIen sistemas operativos Windows

Descargue y ejecute el archivo de instalación para su sistema operativo:

Utilización delAWS CLIy operaciones de API en dispositivos Snowball Edge

Cuando se utiliza elAWS CLIo las operaciones de API para emitir comandos de IAM, Amazon S3 y Amazon EC2 en Snowball Edge, debe especificar la región como»snow». Puedes hacerlo usandoAWS configureo dentro del propio comando, como en los ejemplos siguientes.

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

O bien

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

Autorización con la interfaz API de Amazon S3 paraAWS Snowball

Cuando utiliza el adaptador Amazon S3, todas las interacciones se firman con elAWSDe forma predeterminada, el algoritmo Signature versión 4. Esta autorización se utiliza únicamente para verificar los datos que viajan desde su origen a la interfaz. Todas las operaciones de cifrado y descifrado se realizan en el dispositivo. Nunca se almacenan datos sin cifrar en el dispositivo.

Cuando utilice la interfaz, tenga en cuenta lo siguiente:

  • Para obtener las credenciales locales de Amazon S3 para firmar sus solicitudes en elAWS Snowball Edgedispositivo, ejecute elsnowballEdge list-access-keysysnowballEdge get-secret-access-keysComandos del cliente Snowball Edge. Para obtener más información, consulte Uso del cliente Snowball Edge. Estas credenciales locales de Amazon S3 incluyen un par de claves: una clave de acceso y una clave secreta. Estas claves únicamente son válidas para los dispositivos asociados con el trabajo. No se pueden usar enNube de AWSporque no tienenAWS Identity and Access Management(IAM) homólogo.

  • ¿Qué es lo que cambia la clave de cifradoAWScredenciales que utilizas. La firma con el algoritmo Signature versión 4 solo se usa para verificar los datos que viajan desde su origen a la interfaz. Por lo tanto, esta firma nunca tiene en cuenta las claves de cifrado que se utilizan para cifrar los datos en el Snowball.

Obtener y utilizar las credenciales locales de Amazon S3

Cada interacción con un Snowball Edge se firma con elAWSAlgoritmo Signature, versión 4. Para obtener más información acerca del algoritmo, consulte Proceso de firma de la versión 4 en Referencia general de AWS.

Puede obtener las credenciales locales de Amazon S3 para firmar sus solicitudes en el dispositivo cliente Edge de Snowball Edge ejecutando elsnowballEdge list-access-keysysnowballEdge get-secret-access-keyInformación sobre el cliente de Snowball Edge, consulteObtención de credenciales. Estas credenciales locales de Amazon S3 incluyen un par de claves: un identificador de clave de acceso y una clave secreta. Estas credenciales únicamente son válidas para los dispositivos asociados con su trabajo. No se pueden usar en elNube de AWSporque no tienen contraparte en IAM.

Puede añadir estas credenciales alAWSarchivo de credenciales de su servidor. El archivo de perfiles de credenciales predeterminado suele estar en ~/.aws/credentials, pero la ubicación puede variar en función de la plataforma. Este archivo lo comparten muchos de losAWSLos SDK y porAWS CLI. Puede guardar las credenciales locales con un nombre de perfil, como en el ejemplo siguiente:

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

Especificar el adaptador S3 comoAWS CLIpunto final

Cuando se utiliza elAWS CLIpara emitir un comando alAWS Snowball Edgedispositivo, especifique que el punto final es el adaptador Amazon S3. Tiene la posibilidad de utilizar el punto de enlace HTTPS o un punto de enlace HTTP no protegido, tal y como se muestra a continuación.

Punto de enlace HTTPS protegido

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

Punto de enlace HTTP no protegido

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

Si utiliza el punto final HTTPS de8443, sus datos se transfieren de forma segura desde su servidor al Snowball Edge. Este cifrado se garantiza con un certificado que el Snowball Edge genera cuando obtiene una nueva dirección IP. Una vez que tenga el certificado, puede guardarlo en un archivo ca-bundle.pem local. A continuación, puede configurar el perfil de la AWS CLI para incluir la ruta a su certificado, tal y como se describe a continuación.

Para asociar su certificado al punto final de la interfaz
  1. Conecte el Snowball Edge a la alimentación y a la red y enciéndalo.

  2. En cuanto el dispositivo termine de arrancar, anote su dirección IP en la red local.

  3. Desde un terminal de la red, asegúrese de que puede hacer ping al Snowball Edge.

  4. Ejecute el comando snowballEdge get-certificate en el terminal. Para obtener más información acerca de este comando, consulte Administración de certificados de clave pública.

  5. Guarde el resultado del comando snowballEdge get-certificate en un archivo, por ejemplo ca-bundle.pem.

  6. Ejecute el siguiente comando desde el terminal.

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

Después de realizar este procedimiento, puede ejecutar comandos de la CLI con estas credenciales locales, su certificado y el punto de enlace especificado, como en el siguiente ejemplo.

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

Funciones de Amazon S3 no compatibles con el adaptador Amazon S3

Con el adaptador Amazon S3, puede transferir datos mediante programación hacia y desde un Snowball Edge con las acciones de la API de Amazon S3. Sin embargo, no todas las funciones de transferencia y acciones de API de Amazon S3 se admiten para su uso con un dispositivo Snowball Edge cuando se utiliza el adaptador de Amazon S3. Por ejemplo, las siguientes funciones y acciones no se admiten para su uso con Snowball Edge:

  • TransferManager— Esta utilidad transfiere archivos desde un entorno local a Amazon S3 con el SDK para Java. Considere la posibilidad de utilizar las acciones de API compatibles oAWS CLIen su lugar, comandos con la interfaz.

  • GET Bucket (List Objects) versión 2— Esta implementación de la acción GET devuelve algunos o todos (hasta 1000) los objetos de un bucket. Considere la posibilidad de utilizar la acción GET Bucket (List Objects) Version 1 o el comando ls de la AWS CLI.

  • ListBuckets— ElListBucketscon el punto final del objeto no es compatible. El siguiente comando no funciona con el almacenamiento compatible con Amazon S3 en los dispositivos de la familia Snow:

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