Transferencia de archivos a través de un punto de conexión mediante un cliente - AWS Transfer Family

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 a través de un punto de conexión mediante un cliente

Los archivos se transfieren a través del AWS Transfer Family servicio especificando la operación de transferencia en un cliente. AWS Transfer Family admite los siguientes clientes:

  • Admitimos la versión 3 del protocolo SFTP.

  • OpenSSH (macOS y Linux)

    nota

    Este cliente solo funciona con servidores que estén habilitados para el Protocolo de File Transfer (SFTP) Secure Shell (SSH).

  • WinSCP (solo Microsoft Windows)

  • Cyberduck (Windows, macOS y Linux)

  • FileZilla (Windows, macOS y Linux)

Las limitaciones siguientes se aplican a cada cliente:

  • El número máximo de sesiones SFTP simultáneas y multiplexadas por conexión es de 10.

  • Amazon S3 y Amazon EFS (debido al protocolo NFSv4) requieren que los nombres de archivo estén codificados en UTF-8. El uso de una codificación diferente puede provocar resultados inesperados. Para Amazon S3, consulte las directrices de nomenclatura de claves de objetos.

  • En el caso del Protocolo de File Transfer a través de SSL (FTPS), solo se admite el modo explícito. El modo implícito no es compatible.

  • Para el Protocolo de File Transfer (FTP) y el FTPS, solo se admite el modo pasivo.

  • Para FTP y FTPS, solo se admite el modo STREAM.

  • Para FTP y FTPS, solo se admite el modo imagen/binario.

  • Para FTP y FTPS, TLS: PROT C (desprotegido) El TLS para la conexión de datos es el valor predeterminado, pero PROT C no es compatible con el protocolo FTPS. AWS Transfer Family Por lo tanto, en el caso del FTPS, es necesario emitir el PROT P para que se acepte la operación de datos.

  • Si utiliza Amazon S3 para el almacenamiento de su servidor y si su cliente incluye la opción de utilizar varias conexiones para una sola transferencia, asegúrese de inhabilitarla. De lo contrario, las cargas de archivos grandes pueden fallar de forma impredecible. Tenga en cuenta que si utiliza Amazon EFS como servidor de almacenamiento, EFS admite varias conexiones para una sola transferencia.

La siguiente es una lista de los comandos disponibles para FTP y FTPS:

Comandos disponibles

LABOR

HAZAÑA

MAYORÍA

PASS

RETR

STOR

AUTH

LANG

MKD

PASV

RMD

STOU

TAZA

LIST

MODE

PBSZ

RNFR

STRU

CWD

MDTM

NLST

PUERTO

RINTO

SISTEMA

DELE

MFMT

NO

PWD

SIZE

TYPE

EPSV

MLSD

OPTA

QUIT

STAT

USER

nota

No es compatible con la APPE.

En el caso de SFTP, los usuarios que utilizan el directorio de inicio lógico en servidores que utilizan Amazon Elastic File System (Amazon EFS) no admiten actualmente las siguientes operaciones.

Comandos SFTP incompatibles

SSH_FXP_READLINK

SSH_FXP_SYMLINK

SSH_FXP_STAT cuando el archivo solicitado es un enlace simbólico

SSH_FXP_REALPATH cuando la ruta solicitada contiene algún componente de enlace simbólico

Generación de un par de claves público-privadas

Para poder transferir un archivo, debe disponer de un par de claves público-privadas. Si no ha generado previamente un par de claves, consulte Genere claves SSH para los usuarios administrados por el servicio.

Comandos SFTP/FTPS/FTP disponibles

En la siguiente tabla se describen los comandos disponibles para los protocolos SFTP AWS Transfer Family, FTPS y FTP.

nota

En la tabla se mencionan los archivos y directorios de Amazon S3, que solo admite buckets y objetos: no hay jerarquía. Sin embargo, puede usar prefijos en los nombres de las claves de los objetos para dar a entender una jerarquía y organizar los datos de forma similar a las carpetas. Este comportamiento se describe en Trabajar con metadatos de objetos de la Guía del usuario de Amazon Simple Storage Service.

Comandos SFTP/FTPS/FTP
Comando Amazon S3 Amazon EFS
cd Soportado Soportado
chgrp No compatible Compatible (solo root o owner)
chmod No compatible Compatible (solo root)
chmtime No compatible Compatible
chown No compatible Compatible (solo root)
get Compatible Compatible (incluida la resolución de enlaces simbólicos)
ln -s No compatible Soportado
ls/dir Soportado Soportado
mkdir Soportado Soportado
put Soportado Soportado
pwd Soportado Soportado
rename

Solo se admite para archivos

Compatible
nota

No se admite el cambio de nombre que sobrescriba un archivo o directorio existente.

rm Soportado Soportado
rmdir Compatible (solo directorios vacíos) Soportado
version Soportado Soportado

Encuentre su punto de conexión de Amazon VPC

Si el tipo de punto de conexión de su servidor de Transfer Family es VPC, no es fácil identificar el punto de conexión que se va a utilizar para transferir archivos. En este caso, utilice el siguiente procedimiento para encontrar su punto de conexión de Amazon VPC.

Encuentre su punto de conexión de Amazon VPC
  1. Diríjase a la página de detalles de su servidor.

  2. En el panel de detalles del punto de conexión, seleccione la VPC.

    La página de detalles del servidor de consola Transfer Family, que muestra los detalles del punto de conexión de un servidor de VPC.
  3. En el panel de control de Amazon VPC, seleccione el ID del punto de conexión de VPC.

  4. En la lista de nombres de DNS, el punto de conexión de su servidor es el primero de la lista.

    La página de puntos de conexión de la consola de Amazon VPC, que muestra los nombres de DNS de un punto de conexión seleccionado.

Evite errores setstat

Al cargar el archivo, algunos clientes de transferencia de archivos SFTP pueden usar comandos como SETSTAT para intentar cambiar los atributos de los archivos remotos, lo que incluye la marca temporal y los permisos. Sin embargo, estos comandos no son compatibles con los sistemas de almacenamiento de objetos, como Amazon S3. Debido a esta incompatibilidad, la carga de archivos desde estos clientes puede provocar errores incluso si el archivo se carga correctamente.

  • Cuando utilice la API CreateServer o UpdateServer, utilice la opción SetStatOption de ProtocolDetails para ignorar el error que se genera cuando el cliente intenta utilizar SETSTAT en un archivo que está cargando en un bucket de S3.

  • Establezca el valor en ENABLE_NO_OP para hacer que el servidor de Transfer Family ignore el comando SETSTAT y cargue los archivos sin necesidad de realizar ningún cambio en el cliente SFTP.

  • Tenga en cuenta que, si bien la SetStatOption ENABLE_NO_OP configuración ignora el error, genera una entrada de registro en CloudWatch los registros para que pueda determinar cuándo el cliente está realizando una llamada a SETSTAT.

Para ver los detalles de la API de esta opción, consulte. ProtocolDetails

Uso de OpenSSH

Siga las instrucciones indicadas a continuación para transferir archivos desde la línea de comandos mediante OpenSSH.

nota

Este cliente solo funciona con un servidor habilitado para SFTP.

Para transferir archivos AWS Transfer Family mediante la utilidad de línea de comandos OpenSSH
  1. En Linux, macOS o Windows abra un terminal de comandos.

  2. En el símbolo del sistema, escriba el comando siguiente:

    sftp -i transfer-key sftp_user@service_endpoint

    En el comando anterior, sftp_user es el nombre de usuario y transfer-key es la clave privada de SSH. Aquí service_endpoint se muestra el punto final del servidor, tal y como se muestra en la AWS Transfer Family consola del servidor seleccionado.

    nota

    Este comando usa la configuración que se encuentra en el ssh_config archivo predeterminado. A menos que haya editado este archivo anteriormente, SFTP usa el puerto 22. Puede especificar un puerto diferente (por ejemplo, 2222) añadiendo un -P indicador al comando, de la siguiente manera.

    sftp -P 2222 -i transfer-key sftp_user@service_endpoint

    Como alternativa, si siempre quiere usar el puerto 2222 o el puerto 22000, puede actualizar el puerto predeterminado en el ssh_config archivo.

    Debe aparecer el símbolo del sistema sftp.

  3. (Opcional) Para ver el directorio de inicio del usuario, introduzca el siguiente comando en la línea de comandos sftp:

    pwd

  4. Para cargar un archivo desde su sistema de archivos al servidor de Transfer Family, utilice el comando put. Por ejemplo, para cargar hello.txt (suponiendo que el archivo esté en el directorio actual del sistema de archivos), ejecute el siguiente comando en la línea de comandos sftp:

    put hello.txt

    Aparecerá un mensaje similar al siguiente para indicar que la transferencia está en curso o que se ha completado.

    Uploading hello.txt to /my-bucket/home/sftp_user/hello.txt

    hello.txt 100% 127 0.1KB/s 00:00

nota

Desde que se crea el servidor, pueden transcurrir algunos minutos hasta que el servicio DNS del entorno pueda resolver el nombre de host de su punto de conexión.

Utilice WinSCP

Siga las instrucciones indicadas a continuación para transferir archivos desde la línea de comandos mediante WinSCP.

nota

Si utiliza WinSCP 5.19, puede conectarse directamente a Amazon S3 con AWS sus credenciales y cargar/descargar archivos. Para obtener más información, consulte Conexión al servicio Amazon S3.

Para transferir archivos AWS Transfer Family mediante WinSCP
  1. Abra el cliente WinSCP.

  2. En el cuadro de diálogo de inicio de sesión, en Protocolo de archivos, elija un protocolo: SFTP o FTP.

    Si eligió FTP, elija una de las siguientes opciones para el cifrado:

    • Sin cifrado para FTP

    • TLS/SSL Cifrado explícito para FTPS

  3. ParaNombre del host, escriba el punto de conexión del servidor. El punto de conexión del servidor se encuentra en la página de Detalles del servidor. Para obtener más información, consulte Vea los detalles de los servidores SFTP, FTPS y FTP.

    nota

    Si el servidor usa un punto de conexión de VPC, consulte Encuentre su punto de conexión de Amazon VPC.

  4. En el número de puerto, introduzca lo siguiente:

    • 22 para SFTP

    • 21 para FTP/FTPS

  5. En Nombre de usuario, introduzca el nombre del usuario que creó para su proveedor de identidad específico.

    nota

    El nombre de usuario debe ser uno de los usuarios que creó o configuró para su proveedor de identidad. AWS Transfer Family proporciona los siguientes proveedores de identidad:

  6. Seleccione Avanzado para abrir el cuadro de diálogo Configuración avanzada del sitio. En la sección SSH, elija Autenticación.

  7. Busque y elija el archivo de clave privada de SSH en su sistema de archivos.

    nota

    Si WinSCP le ofrece convertir la clave privada de SSH al formato PPK, elija Aceptar.

  8. Elija Aceptar para volver al cuadro de diálogo Iniciar sesión y allí elija Guardar.

  9. En el cuadro de diálogo Guardar sitio, elija Aceptar para completar la configuración de la conexión.

  10. En el cuadro de diálogo de inicio de sesión, elija Herramientas y, a continuación, Preferencias.

  11. En el cuadro de diálogo de preferencias, casilla de Transfer, elija Endurance.

    En la opción Habilitar la reanudación de la transferencia o la transferencia a un nombre de archivo temporal, seleccione Desactivar.

    nota

    Si dejas esta opción habilitada, aumentarán los costos de carga y disminuirán considerablemente su rendimiento. También puede provocar errores al cargar archivos de gran tamaño.

  12. En Transferir, seleccione Fondo y desactive la casilla Usar varias conexiones para una sola transferencia.

    nota

    Si dejas esta opción seleccionada, las cargas de archivos grandes pueden fallar de forma impredecible. Por ejemplo, se pueden crear cargas multiparte huérfanas que conlleven gastos de Amazon S3. También puede producirse una corrupción silenciosa de los datos.

  13. Ejecute la transferencia de archivos.

    Puede utilizar drag-and-drop métodos para copiar archivos entre la ventana de destino y la de origen. Puede usar los iconos de la barra de herramientas para cargar, descargar, eliminar, editar o modificar las propiedades de los archivos en WinSCP.

nota

Esta nota no se aplica si utiliza Amazon EFS para el almacenamiento.

Los comandos que intentan cambiar los atributos de los archivos remotos, incluidas las marcas de tiempo, no son compatibles con los sistemas de almacenamiento de objetos como Amazon S3. Por lo tanto, si utiliza Amazon S3 como almacenamiento, asegúrese de deshabilitar la configuración de la marca de tiempo de WinSCP (o utilice SetStatOption como se describe en Evite errores setstat) antes de realizar transferencias de archivos. Para ello, en el cuadro de diálogo Preajustes de transferencia de WinSCP, desactive la opción de subida Establecer permisos y la opción común Mantener fecha.

Uso de Cyberduck

Siga las instrucciones indicadas a continuación para transferir archivos desde la línea de comandos mediante Cyberduck.

Para transferir archivos AWS Transfer Family mediante Cyberduck
  1. Abra el cliente de Cyberduck.

  2. Elija Abrir conexión.

  3. En el cuadro de diálogo Abrir conexión, elija un protocolo: SFTP (protocolo de File Transfer SSH), FTP-SSL (TLS de autenticación explícita) o FTP (protocolo de File Transfer).

  4. En Servidor, escriba el punto de conexión del servidor. El punto de conexión del servidor se encuentra en la página de Detalles del servidor. Para obtener más información, consulte Vea los detalles de los servidores SFTP, FTPS y FTP.

    nota

    Si el servidor usa un punto de conexión de VPC, consulte Encuentre su punto de conexión de Amazon VPC.

  5. En el número de puerto, introduzca lo siguiente:

    • 22 para SFTP

    • 21 para FTP/FTPS

  6. En Usuario, escriba el nombre del usuario que creó en Administración de usuarios para puntos finales de servidor.

  7. Si selecciona SFTP, para la clave privada SSH, elija o introduzca la clave privada SSH.

  8. Elija Conectar.

  9. Ejecute la transferencia de archivos.

    En función del lugar donde se encuentren los archivos, elija entre las acciones siguientes:

    • En el directorio local (el origen), seleccione los archivos que desea transferir, arrástrelos y suéltelos en el directorio de Amazon S3 (el destino).

    • En el directorio de Amazon S3 (el origen), seleccione los archivos que desea transferir, arrástrelos y suéltelos en el directorio local (el destino).

Usa FileZilla

Siga las instrucciones que aparecen a continuación para transferir archivos utilizando FileZilla.

FileZilla Para configurar una transferencia de archivos
  1. Abre el FileZilla cliente.

  2. Elija Archivo y, a continuación, Administrador del sitio.

  3. En el cuadro de diálogo del administrador del sitio, elija Nuevo sitio.

  4. En la pestaña General, en Protocolo, elija un protocolo: SFTP o FTP.

    Si eligió FTP, elija una de las siguientes opciones para el cifrado:

    • Utilice únicamente FTP simple (inseguro): para FTP

    • Utilice FTP explícito sobre TLS, si está disponible: para FTPS

  5. En el campo Nombre de host, introduzca el protocolo que está utilizando, seguido del punto de conexión del servidor. El punto de conexión del servidor se encuentra en la página de Detalles del servidor. Para obtener más información, consulte Vea los detalles de los servidores SFTP, FTPS y FTP.

    nota

    Si el servidor usa un punto de conexión de VPC, consulte Encuentre su punto de conexión de Amazon VPC.

    • Si utiliza SFTP, introduzca: sftp://hostname

    • Si utiliza FTPS, introduzca: ftps://hostname

    Asegúrese de reemplazar el nombre de host por el punto de conexión de su servidor actual.

  6. En el número de puerto, introduzca lo siguiente:

    • 22 para SFTP

    • 21 para FTP/FTPS

  7. Si selecciona SFTP, en Tipo de inicio de sesión, elija Archivo clave.

    En Archivo de claves, elija o introduzca la clave privada SSH.

  8. En Usuario, escriba el nombre del usuario que creó en Administración de usuarios para puntos finales de servidor.

  9. Elija Conectar.

  10. Ejecute la transferencia de archivos.

    nota

    Si interrumpe una transferencia de archivos en curso, AWS Transfer Family podría escribir un objeto parcial en su bucket de Amazon S3. Si interrumpe una carga, compruebe que el tamaño del archivo en el bucket de Amazon S3 coincide con el tamaño del objeto original antes de continuar.

Utilice un cliente Perl

Si usa el cliente NET::SFTP::Foreign perl, debe configurar elqueue_size. 1 Por ejemplo:

my $sftp = Net::SFTP::Foreign->new('user@s-12345.server.transfer.us-east-2.amazonaws.com', queue_size => 1);

nota

Esta solución alternativa es necesaria para las revisiones de Net::SFTP::Foreign anteriores a 1.92.02.

Procesamiento de carga posterior

Puede ver la información de procesamiento posterior a la carga, incluidos los metadatos de los objetos de Amazon S3 y las notificaciones de eventos.

Metadatos de objeto de Amazon S3

Como parte de los metadatos de su objeto, verá una clave llamada x-amz-meta-user-agent cuyo valor es AWSTransfer y x-amz-meta-user-agent-id cuyo valor es username@server-id. username es el usuario de Transfer Family que cargó el archivo y server-id es el servidor utilizado para la carga. Se puede acceder a esta información mediante la HeadObjectoperación en el objeto S3 dentro de la función Lambda.

La pantalla de metadatos que muestra información sobre los metadatos de los objetos de Amazon S3 para AWS Transfer Family.

Notificaciones de eventos de Amazon S3

Cuando se carga un objeto en su bucket de S3 mediante Transfer Family, RoleSessionName aparece en el campo Solicitante de la estructura de notificaciones de eventos de S3 como [AWS:Role Unique Identifier]/username.sessionid@server-id. Por ejemplo, el siguiente es el contenido de un ejemplo de campo Requester (Solicitante) de un registro de acceso de S3 para un archivo que se copió en el bucket de S3.

arn:aws:sts::AWS-Account-ID:assumed-role/IamRoleName/username.sessionid@server-id

En el campo Requester (Solicitante) de arriba, se muestra el rol de IAM al que se llamó IamRoleName. Para obtener más información sobre cómo configurar las notificaciones de eventos S3, consulte Configuración de notificaciones de eventos de Amazon S3 en la Guía para desarrolladores de Amazon Simple Storage Service. Para obtener más información sobre los identificadores únicos de rol AWS Identity and Access Management (IAM), consulte Identificadores únicos en la Guía del AWS Identity and Access Management usuario.