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 presenta una descripción general del adaptador de Amazon S3, que puede utilizar para transferir datos mediante programación hacia y desde 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 AWS SDK 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 usa la AWS SDK for Java versión 1.11.0 o posterior, debe usar lo siguiente: S3ClientOptions

  • 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

Le recomendamos que utilice solo un método a la vez para leer y escribir datos en un depósito local de un AWS Snowball Edge dispositivo. 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 AWS los servicios funcionen correctamente en un Snowball Edge, debe permitir los puertos para los servicios. Para obtener más detalles, consulte Puertos necesarios para usar AWS los servicios en un dispositivo AWS Snowball perimetral.

Descarga e instalación de la AWS CLI versión 1.16.14 para usarla con el adaptador 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 no AWS CLI son compatibles con el adaptador Amazon S3 porque no admiten todas las funciones del adaptador 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.

Instálelo 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;

Instálelo AWS CLI en los sistemas operativos Windows

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

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

Cuando utilice las AWS CLI operaciones de API para emitir comandos de IAM, Amazon S3 y Amazon EC2 en Snowball Edge, debe especificar la región como "». snow Puede hacerlo utilizando AWS configure o 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

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 utiliza el adaptador Amazon S3, todas las interacciones se firman 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 de los comandos 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 en el Nube de AWS porque no tienen una contraparte AWS Identity and Access Management (IAM).

  • Las AWS credenciales que utilice no cambiarán la clave de cifrado. 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 interacción con un 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 el Nube de AWS porque no tienen una contraparte de IAM.

Puede añadir estas credenciales al archivo de AWS 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. Muchos de los AWS SDK y el AWS 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

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

Cuando utilizas el AWS CLI para enviar un comando al AWS Snowball Edge dispositivo, especificas que el punto de conexión es el adaptador 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 su AWS CLI perfil para incluir la ruta al certificado, tal y como se describe a continuación.

Asociación del 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