Transfert de fichiers via un point de terminaison serveur à l'aide d'un client - AWS Transfer Family

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Transfert de fichiers via un point de terminaison serveur à l'aide d'un client

Vous transférez des fichiers via le AWS Transfer Family service en spécifiant l'opération de transfert dans un client. AWS Transfer Family prend en charge les clients suivants :

  • Nous prenons en charge la version 3 du protocole SFTP.

  • OpenSSH (macOS et Linux)

    Note

    Ce client fonctionne uniquement avec les serveurs qui sont activés pour le protocole de transfert de fichiers (SFTP) Secure Shell (SSH).

  • WinSCP (Microsoft Windows uniquement)

  • Cyberduck (Windows, macOS et Linux)

  • FileZilla (Windows, macOS et Linux)

Les restrictions suivantes s'appliquent à tous les clients :

  • Le nombre maximum de sessions SFTP multiplexées simultanées par connexion est de 10.

  • Il existe deux valeurs de délai d'attente pour les connexions SFTP/FTP/FTPS. Pour les connexions inactives, le délai d'expiration est de 1 800 secondes (30 minutes). S'il n'y a aucune activité après la fin de la période, le client peut être déconnecté. Il existe également un délai d'attente de 300 secondes (5 minutes) lorsqu'un client ne répond pas du tout.

  • Amazon S3 et Amazon EFS (en raison du protocole NFSv4) nécessitent que les noms de fichiers soient encodés en UTF-8. L'utilisation d'un encodage différent peut entraîner des résultats inattendus. Pour Amazon S3, consultez les directives de dénomination des clés d'objet.

  • Pour le protocole de transfert de fichiers via SSL (FTPS), seul le mode explicite est pris en charge. Le mode implicite n'est pas pris en charge.

  • Pour le protocole de transfert de fichiers (FTP) et le FTPS, seul le mode passif est pris en charge.

  • Pour les protocoles FTP et FTPS, seul le mode STREAM est pris en charge.

  • Pour les protocoles FTP et FTPS, seul le mode image/binaire est pris en charge.

  • Pour le FTP et le FTPS, le protocole TLS - PROT C (non protégé) est le protocole TLS par défaut pour la connexion aux données, mais le protocole FTPS ne prend pas en charge le protocole PROT C. AWS Transfer Family Donc, pour FTPS, vous devez émettre un PROT P pour que votre opération de données soit acceptée.

  • Si vous utilisez Amazon S3 pour le stockage de votre serveur, et si votre client contient une option permettant d'utiliser plusieurs connexions pour un seul transfert, assurez-vous de désactiver cette option. Dans le cas contraire, les téléchargements de fichiers volumineux peuvent échouer de manière imprévisible. Notez que si vous utilisez Amazon EFS comme backend de stockage, EFS prend en charge plusieurs connexions pour un seul transfert.

Voici une liste des commandes disponibles pour FTP et FTPS :

Commandes disponibles

LABOR

EXPLOIT

LE PLUS

PASSER

RETR

TEMPÊTE

AUTH

LANG

MKD

PASV

RMD

STOU

CDUP

LIST

MODE

PBSZ

RNFR

STRU

CWD

MDTM

NLST

PORT

RNTO

SYST

DELE

MFMT

NOOP

PWD

SIZE

TYPE

EPSV

MLSD

OPTE

SORTIR

STAT

USER

Note

APPE n'est pas pris en charge.

Pour le SFTP, les opérations suivantes ne sont actuellement pas prises en charge pour les utilisateurs qui utilisent le répertoire de base logique sur des serveurs utilisant Amazon Elastic File System (Amazon EFS).

Commandes SFTP non prises en charge

SSH_FXP_READLINK

SSH_FXP_SYMLINK

SSH_FXP_STAT lorsque le fichier demandé est un lien symbolique

SSH_FXP_REALPATH lorsque le chemin demandé contient des composants de lien symbolique

Générer une paire de clés publique-privée

Avant de transférer un fichier, vous devez disposer d'une paire de clés publique-privée. Si vous n'avez pas encore généré de paire de clés, consultezGénération de clés SSH pour les utilisateurs gérés par des services.

Commandes SFTP/FTPS/FTP disponibles

Le tableau suivant décrit les commandes disponibles pour AWS Transfer Family, pour les protocoles SFTP, FTPS et FTP.

Note

Le tableau mentionne les fichiers et les répertoires d'Amazon S3, qui ne prend en charge que les buckets et les objets : il n'y a pas de hiérarchie. Cependant, vous pouvez utiliser des préfixes dans les noms de clés d'objets pour indiquer une hiérarchie et organiser vos données de la même manière que les dossiers. Ce comportement est décrit dans la section Utilisation des métadonnées d'objets dans le guide de l'utilisateur d'Amazon Simple Storage Service.

Commandes SFTP/FTPS/FTP
Command Amazon S3 Amazon EFS
cd Pris en charge Pris en charge
chgrp Non pris en charge Supporté (rootou owner uniquement)
chmod Non pris en charge Pris en charge (rootuniquement)
chmtime Non pris en charge Pris en charge
chown Non pris en charge Pris en charge (rootuniquement)
get Pris en charge Supporté (y compris la résolution de liens symboliques)
ln -s Non pris en charge Pris en charge
ls/dir Pris en charge Pris en charge
mkdir Pris en charge Pris en charge
put Pris en charge Pris en charge
pwd Pris en charge Pris en charge
rename

Pris en charge uniquement pour les fichiers

Pris en charge
Note

Le changement de nom qui remplacerait un fichier ou un répertoire existant n'est pas pris en charge.

rm Pris en charge Pris en charge
rmdir Pris en charge (répertoires vides uniquement) Pris en charge
version Pris en charge Pris en charge

Trouvez votre point de terminaison Amazon VPC

Si le type de point de terminaison de votre serveur Transfer Family est VPC, il n'est pas facile d'identifier le point de terminaison à utiliser pour le transfert de fichiers. Dans ce cas, utilisez la procédure suivante pour trouver votre point de terminaison Amazon VPC.

Trouvez votre point de terminaison Amazon VPC
  1. Accédez à la page de détails de votre serveur.

  2. Dans le volet Détails du point de terminaison, sélectionnez le VPC.

    La page de détails du serveur de console Transfer Family, qui affiche les détails du point de terminaison d'un serveur VPC.
  3. Dans le tableau de bord Amazon VPC, sélectionnez l'ID du point de terminaison VPC.

  4. Dans la liste des noms DNS, le point de terminaison de votre serveur est le premier répertorié.

    La page Endpoints de la console Amazon VPC, qui affiche les noms DNS d'un point de terminaison sélectionné.

Évitez les setstat erreurs

Certains clients de transfert de fichiers SFTP peuvent tenter de modifier les attributs des fichiers distants, notamment l'horodatage et les autorisations, à l'aide de commandes telles que SETSTAT lors du téléchargement du fichier. Cependant, ces commandes ne sont pas compatibles avec les systèmes de stockage d'objets, tels qu'Amazon S3. En raison de cette incompatibilité, les chargements de fichiers à partir de ces clients peuvent entraîner des erreurs, même si le fichier est correctement chargé.

  • Lorsque vous appelez l'UpdateServerAPI CreateServer or, utilisez l'ProtocolDetailsoption SetStatOption permettant d'ignorer l'erreur générée lorsque le client tente d'utiliser SETSTAT sur un fichier que vous téléchargez dans un compartiment S3.

  • Définissez la valeur sur ENABLE_NO_OP pour que le serveur Transfer Family ignore la commande SETSTAT et charge des fichiers sans avoir à apporter de modifications à votre client SFTP.

  • Notez que même si le SetStatOption ENABLE_NO_OP paramètre ignore l'erreur, il génère une entrée de journal dans CloudWatch Logs, afin que vous puissiez déterminer à quel moment le client effectue un appel SETSTAT.

Pour les détails de l'API relatifs à cette option, consultez ProtocolDetails.

Utiliser OpenSSH

Suivez les instructions ci-dessous pour transférer des fichiers depuis la ligne de commande en utilisant OpenSSH.

Note

Ce client fonctionne uniquement avec un serveur compatible SFTP.

Pour transférer des fichiers à AWS Transfer Family l'aide de l'utilitaire de ligne de commande OpenSSH
  1. Sur Linux, macOS ou Windows, ouvrez un terminal de commande.

  2. À l'invite, entrez la commande suivante :

    sftp -i transfer-key sftp_user@service_endpoint

    Dans la commande précédente, sftp_user il s'agit du nom d'utilisateur et transfer-key de la clé privée SSH. service_endpointVoici le point de terminaison du serveur tel qu'indiqué dans la AWS Transfer Family console du serveur sélectionné.

    Note

    Cette commande utilise les paramètres figurant dans le ssh_config fichier par défaut. À moins que vous n'ayez déjà modifié ce fichier, le protocole SFTP utilise le port 22. Vous pouvez spécifier un port différent (par exemple 2222) en ajoutant un -P drapeau à la commande, comme suit.

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

    Sinon, si vous souhaitez toujours utiliser le port 2222 ou le port 22000, vous pouvez mettre à jour votre port par défaut dans votre ssh_config fichier.

    Une invite sftp doit s'afficher.

  3. (Facultatif) Pour afficher le répertoire personnel de l'utilisateur, entrez la commande suivante à l'sftpinvite :

    pwd

  4. Pour télécharger un fichier depuis votre système de fichiers vers le serveur Transfer Family, utilisez la put commande. Par exemple, pour charger hello.txt (en supposant que le fichier se trouve dans le répertoire actuel de votre système de fichiers), exécutez la commande suivante à l'sftpinvite :

    put hello.txt

    Un message similaire au suivant apparaît, indiquant que le transfert du fichier est en cours ou terminé.

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

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

Note

Une fois votre serveur créé, le nom d'hôte du point de terminaison du serveur peut prendre quelques minutes pour être résolu par le service DNS de votre environnement.

Utiliser WinSCP

Suivez les instructions ci-dessous pour transférer des fichiers depuis la ligne de commande en utilisant WinSCP.

Note

Si vous utilisez WinSCP 5.19, vous pouvez vous connecter directement à Amazon S3 à l'aide de AWS vos informations d'identification et télécharger/télécharger des fichiers. Pour plus de détails, consultez Connexion au service Amazon S3.

Pour transférer des fichiers à AWS Transfer Family l'aide de WinSCP
  1. Ouvrez le client WinSCP.

  2. Dans la boîte de dialogue de connexion, pour Protocole de fichier, choisissez un protocole : SFTP ou FTP.

    Si vous avez choisi le protocole FTP, choisissez l'une des options suivantes pour le chiffrement :

    • Pas de cryptage pour le FTP

    • Chiffrement explicite TLS/SSL pour FTPS

  3. Dans Nom d'hôte, entrez le point de terminaison de votre serveur. Le point de terminaison du serveur se trouve sur la page des détails du serveur. Pour plus d’informations, consultez Afficher les détails des serveurs SFTP, FTPS et FTP.

    Note

    Si votre serveur utilise un point de terminaison VPC, consultez. Trouvez votre point de terminaison Amazon VPC

  4. Pour le numéro de port, entrez ce qui suit :

    • 22pour SFTP

    • 21pour FTP/FTPS

  5. Dans Nom d'utilisateur, entrez le nom de l'utilisateur que vous avez créé pour votre fournisseur d'identité spécifique.

    Note

    Le nom d'utilisateur doit être l'un des utilisateurs que vous avez créés ou configurés pour votre fournisseur d'identité. AWS Transfer Family fournit les fournisseurs d'identité suivants :

  6. Choisissez Avancé pour ouvrir la boîte de dialogue Paramètres avancés du site. Dans la section SSH, choisissez Authentification.

  7. Pour le fichier de clé privée, recherchez et sélectionnez le fichier de clé privée SSH dans votre système de fichiers.

    Note

    Si WinSCP propose de convertir votre clé privée SSH au format PPK, choisissez OK.

  8. Choisissez OK pour revenir à la boîte de dialogue Login, puis choisissez Sauver.

  9. Dans la boîte de dialogue Enregistrer la session en tant que site, cliquez sur OK pour terminer la configuration de votre connexion.

  10. Dans la boîte de dialogue de connexion, choisissez Outils, puis Préférences.

  11. Dans la boîte de dialogue Préférences, pour Transfer, sélectionnez Endurance.

    Pour l'option Activer la reprise du transfert/le transfert vers un nom de fichier temporaire pour, choisissez Désactiver.

    Note

    Si vous laissez cette option activée, cela augmente les coûts de téléchargement, ce qui réduit considérablement les performances de téléchargement. Cela peut également entraîner l'échec des téléchargements de fichiers volumineux.

  12. Pour Transférer, choisissez Background et décochez la case Utiliser plusieurs connexions pour un seul transfert.

    Note

    Si vous laissez cette option sélectionnée, les téléchargements de fichiers volumineux peuvent échouer de manière imprévisible. Par exemple, des chargements partitionnés orphelins qui entraînent des frais Amazon S3 peuvent être créés. Une corruption silencieuse des données peut également se produire.

  13. Effectuez le transfert de vos fichiers.

    Vous pouvez utiliser drag-and-drop des méthodes pour copier des fichiers entre les fenêtres cible et source. Vous pouvez utiliser les icônes de la barre d'outils pour charger, télécharger, supprimer, modifier ou modifier les propriétés des fichiers dans WinSCP.

Note

Cette remarque ne s'applique pas si vous utilisez Amazon EFS pour le stockage.

Les commandes qui tentent de modifier les attributs des fichiers distants, y compris les horodatages, ne sont pas compatibles avec les systèmes de stockage d'objets tels qu'Amazon S3. Par conséquent, si vous utilisez Amazon S3 pour le stockage, veillez à désactiver les paramètres d'horodatage WinSCP (ou à les utiliser comme décrit Évitez les setstat erreurs dans) avant d'SetStatOptioneffectuer des transferts de fichiers. Pour ce faire, dans la boîte de dialogue des paramètres de WinSCP Transfer, désactivez l'option Définir les autorisations de téléchargement et l'option Conserver l'horodatage commun.

Utilisez Cyberduck

Suivez les instructions ci-dessous pour transférer des fichiers depuis la ligne de commande en utilisant Cyberduck.

Pour transférer des fichiers à AWS Transfer Family l'aide de Cyberduck
  1. Ouvrez le client Cyberduck.

  2. Choisissez Open Connection.

  3. Dans la boîte de dialogue Ouvrir une connexion, choisissez un protocole : SFTP (protocole de transfert de fichiers SSH), FTP-SSL (Explicit AUTH TLS) ou FTP (protocole de transfert de fichiers).

  4. Pour Serveur, entrez le point de terminaison de votre serveur. Le point de terminaison du serveur se trouve sur la page des détails du serveur. Pour plus d’informations, consultez Afficher les détails des serveurs SFTP, FTPS et FTP.

    Note

    Si votre serveur utilise un point de terminaison VPC, consultez. Trouvez votre point de terminaison Amazon VPC

  5. Pour le numéro de port, entrez ce qui suit :

    • 22pour SFTP

    • 21pour FTP/FTPS

  6. Dans Nom d'utilisateur, entrez le nom de l'utilisateur que vous avez créé dans Gestion des utilisateurs pour les points de terminaison du serveur.

  7. Si SFTP est sélectionné, pour la clé privée SSH, choisissez ou entrez la clé privée SSH.

  8. Choisissez Se connecter.

  9. Effectuez le transfert de vos fichiers.

    Selon l'emplacement de vos fichiers, effectuez l'une des actions suivantes :

    • Dans votre répertoire local (la source), choisissez les fichiers que vous souhaitez transférer, puis faites-les glisser dans le répertoire Amazon S3 (la cible).

    • Dans le répertoire Amazon S3 (la source), choisissez les fichiers que vous souhaitez transférer, puis faites-les glisser dans votre répertoire local (la cible).

Utiliser FileZilla

Suivez les instructions ci-dessous pour transférer des fichiers à l'aide de FileZilla.

FileZilla Pour configurer un transfert de fichiers
  1. Ouvrez le FileZilla client.

  2. Choisissez Fichier, puis Gestionnaire de site.

  3. Dans la boîte de dialogue Gestionnaire de sites, sélectionnez Nouveau site.

  4. Dans l'onglet Général, pour Protocole, choisissez un protocole : SFTP ou FTP.

    Si vous avez choisi le protocole FTP, choisissez l'une des options suivantes pour le chiffrement :

    • Utilisez uniquement le protocole FTP ordinaire (non sécurisé) — pour le FTP

    • Utilisez le protocole FTP explicite sur TLS, si disponible, pour le protocole FTPS

  5. Dans Nom d'hôte, entrez le protocole que vous utilisez, suivi du point de terminaison de votre serveur. Le point de terminaison du serveur se trouve sur la page des détails du serveur. Pour plus d’informations, consultez Afficher les détails des serveurs SFTP, FTPS et FTP.

    Note

    Si votre serveur utilise un point de terminaison VPC, consultez. Trouvez votre point de terminaison Amazon VPC

    • Si vous utilisez le protocole SFTP, entrez : sftp://hostname

    • Si vous utilisez le protocole FTPS, entrez : ftps://hostname

    Assurez-vous de remplacer le nom d'hôte par le point de terminaison de votre serveur actuel.

  6. Pour le numéro de port, entrez ce qui suit :

    • 22pour SFTP

    • 21pour FTP/FTPS

  7. Si SFTP est sélectionné, pour Type d'ouverture de session, choisissez Fichier clé.

    Pour Fichier clé, choisissez ou entrez la clé privée SSH.

  8. Pour Utilisateur, entrez le nom de l'utilisateur que vous avez créé dansGestion des utilisateurs pour les points de terminaison du serveur.

  9. Choisissez Se connecter.

  10. Effectuez le transfert de vos fichiers.

    Note

    Si vous interrompez un transfert de fichier en cours, vous AWS Transfer Family pouvez écrire un objet partiel dans votre compartiment Amazon S3. Si vous interrompez un chargement, vérifiez que la taille du fichier dans le compartiment Amazon S3 correspond à celle de l'objet source avant de continuer.

Utiliser un client Perl

Si vous utilisez le client NET::SFTP::Foreign Perl, vous devez définir la valeur surqueue_size. 1 Par exemple :

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

Note

Cette solution de contournement est nécessaire pour les révisions Net::SFTP::Foreign antérieures à la version 1.92.02.

Traitement après le téléchargement

Vous pouvez consulter les informations de traitement après le téléchargement, notamment les métadonnées des objets Amazon S3 et les notifications d'événements.

Métadonnées d'objets Amazon S3

Dans les métadonnées de votre objet, vous pouvez voir une clé appelée x-amz-meta-user-agent dont la valeur est AWSTransfer et x-amz-meta-user-agent-id dont la valeur estusername@server-id. usernameIl s'agit de l'utilisateur de Transfer Family qui a chargé server-id le fichier et du serveur utilisé pour le téléchargement. Ces informations sont accessibles à l'aide de l'HeadObjectopération sur l'objet S3 dans votre fonction Lambda.

L'écran des métadonnées affiche des informations sur les métadonnées des objets Amazon S3 pour AWS Transfer Family.

Notifications d'événements Amazon S3

Lorsqu'un objet est chargé dans votre compartiment S3 à l'aide de Transfer Family, RoleSessionName il est contenu dans le champ Requester de la structure de notification des événements S3 sous la forme[AWS:Role Unique Identifier]/username.sessionid@server-id. Par exemple, voici le contenu d'un exemple de champ Demandeur issu d'un journal d'accès S3 pour un fichier copié dans le compartiment S3.

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

Dans le champ Demandeur ci-dessus, il indique le rôle IAM appelé. IamRoleName Pour plus d'informations sur la configuration des notifications d'événements S3, consultez la section Configuration des notifications d'événements Amazon S3 dans le guide du développeur Amazon Simple Storage Service. Pour plus d'informations sur les identifiants uniques de rôle AWS Identity and Access Management (IAM), consultez la section Identifiants uniques dans le guide de l'AWS Identity and Access Management utilisateur.