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

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 de Amazon S3 para la migración de datos

A continuación, se ofrece una descripción general del adaptador de Amazon S3, que puede utilizar para transferir datos mediante programación desde y hacia los buckets de S3 que ya están en el AWS Snowball Edge dispositivo mediante las acciones de la API REST de Amazon S3. Esta API de REST de Amazon S3 admite un subconjunto de acciones limitado. Puede usar este subconjunto de acciones con uno de los SDK de AWS para transferir datos mediante programación. También puede utilizar el subconjunto de comandos admitidos de la AWS Command Line Interface (AWS CLI) para Amazon S3 a fin de transferir 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 no se admite la codificación fragmentada con la interfaz.

  • setPathStyleAccess(true): configura la interfaz para usar el acceso de tipo ruta para todas las solicitudes.

Para obtener más información, consulte Class S3 ClientOptions .Builder en Amazon AppStream SDK for Java.

importante

Recomendamos utilizar un solo método para leer y escribir datos en un bucket local de un dispositivo AWS Snowball Edge. El uso de la interfaz de archivos y el adaptador de Amazon S3 en el mismo bucket a la vez puede dar lugar a conflictos de lectura/escritura.

En AWS Snowball Cuotas de Edge se detallan los límites.

Para que los servicios de AWS funcionen correctamente en un dispositivo Snowball Edge, debe permitir los puertos para los servicios. Para obtener más detalles, consulte Puertos necesarios para utilizar los servicios de AWS en un dispositivo AWS Snowball Edge.

Descarga e instalación de la versión 1.16.14 de la AWS CLI para su uso con el adaptador de Amazon S3

En la actualidad, los dispositivos Snowball Edge solo permiten usar la versión 1.16.14 y las versiones anteriores de la AWS CLI con el adaptador de Amazon S3. Las versiones más recientes de la AWS CLI no son compatibles con el adaptador de Amazon S3 porque no admiten todas la funcionalidad del adaptador de S3.

nota

Si utiliza almacenamiento compatible con Amazon S3 en dispositivos Snow Family, puede utilizar la versión más reciente de la AWS CLI. Para descargar y utilizar la versión más reciente, consulte la Guía del usuario de AWS Command Line Interface.

Instalación de la AWS CLI en 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;

Instalación de la AWS CLI en sistemas operativos Windows

Descargue y ejecute el archivo del instalador correspondiente a su sistema operativo:

Uso de la AWS CLI y de operaciones de la API en dispositivos Snowball Edge

Cuando utilice la AWS CLI u operaciones de la API para emitir comandos de IAM, Amazon S3 y Amazon EC2 en Snowball Edge, debe especificar region como "snow“. Puede hacerlo mediante AWS configure o dentro del propio comando, como se muestra 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

Or (Disyunción)

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

Autorización con la interfaz API de Amazon S3 para AWS Snowball

Cuando se utiliza el adaptador de Amazon S3, cada interacción se firma con el algoritmo AWS Signature Version 4 de forma predeterminada. Esta autorización solo se usa para comprobar los datos en tránsito desde el origen hasta la interfaz. Todas las operaciones de cifrado y descifrado se realizan en el dispositivo. Nunca se almacenan datos sin cifrar en el dispositivo.

Al utilizar la interfaz, tenga en cuenta lo siguiente:

  • Para obtener las credenciales locales de Amazon S3 a fin de identificar sus solicitudes en el dispositivo AWS Snowball Edge, ejecute los comandos snowballEdge list-access-keys y snowballEdge get-secret-access-keys del cliente de Snowball Edge. Para obtener más información, consulte Uso del cliente de 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 en la Nube de AWS porque no tienen ningún equivalente en AWS Identity and Access Management (IAM).

  • La clave de cifrado no se cambia en función de las credenciales de AWS que se utilicen. La firma con el algoritmo Signature Version 4 se utiliza únicamente para verificar los datos en tránsito desde su origen a la interfaz. Por lo tanto, esta firma no tiene en cuenta nunca las claves de cifrado utilizadas para cifrar los datos en el dispositivo Snowball.

Obtención y uso de las credenciales locales de Amazon S3

Cada una de las interacciones con un dispositivo Snowball Edge se firma con el algoritmo AWS Signature Version 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 Edge del cliente de Snowball Edge ejecutando snowballEdge list-access-keys y snowballEdge get-secret-access-key. Para obtener información sobre el cliente de Snowball Edge, consulte Obtención de credenciales. Estas credenciales locales de Amazon S3 incluyen un par de claves: un ID 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 la Nube de AWS porque no tienen ningún equivalente en IAM.

Puede agregar estas credenciales al archivo de credenciales de AWS en 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. La AWS CLI y muchos de los SDK de AWS comparten este archivo. 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

Especificación del adaptador de S3 como punto de conexión de AWS CLI

Si utiliza la AWS CLI para emitir un comando para el dispositivo AWS Snowball Edge, debe especificar que el punto de conexión es el adaptador de Amazon S3. Tiene la posibilidad de utilizar el punto de conexión HTTPS o un punto de conexión HTTP no protegido, tal y como se muestra a continuación.

Punto de conexión HTTPS protegido

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

Punto de conexión HTTP no protegido

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

Si utiliza el punto de conexión HTTPS de 8443, los datos se transfieren de forma segura de su servidor al dispositivo Snowball Edge. Este cifrado está protegido con un certificado que el dispositivo 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 el certificado con el punto de conexión de interfaz
  1. Conecte el dispositivo Snowball Edge a la alimentación eléctrica 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. En un terminal de la red, asegúrese de que puede hacer ping al dispositivo 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 conexión especificado, como en el siguiente ejemplo.

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

Características de Amazon S3 para el adaptador de Amazon S3 no compatibles

El adaptador de Amazon S3 le permite transferir datos mediante programación desde y hacia un dispositivo Snowball Edge con acciones de la API de Amazon S3. Sin embargo, no todas las características de transferencia y acciones de la API de Amazon S3 pueden utilizarse con un dispositivo Snowball Edge cuando se usa el adaptador de Amazon S3. Por ejemplo, las siguientes características y acciones no se pueden usar con Snowball Edge:

  • TransferManager— Esta utilidad transfiere archivos de un entorno local a Amazon S3 con el SDK for Java. Considere la posibilidad de utilizar las acciones de la API o los comandos de la AWS CLI admitidos con la interfaz.

  • GET Bucket (List Objects) Version 2: esta implementación de la acción GET todos los objetos (hasta 1000), o parte de ellos, 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— No se admite el punto final ListBuckets con el objeto. El siguiente comando no funciona con el almacenamiento compatible con Amazon S3 en dispositivos Snow Family:

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