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 SFTP protocole.

  • Ouvrir SSH (macOS et Linux)

    Note

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

  • Win SCP (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 SFTP sessions multiplexées simultanées par connexion est de 10.

  • Amazon S3 et Amazon EFS (en raison du NFSv4 protocole) 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 sur SSL (FTPS), seul le mode explicite est pris en charge. Le mode implicite n'est pas pris en charge.

  • Pour les protocoles de transfert de fichiers (FTP) etFTPS, seul le mode passif est pris en charge.

  • Pour FTP etFTPS, seul le STREAM mode est pris en charge.

  • Pour FTP etFTPS, seul le mode image/binaire est pris en charge.

  • Pour FTP etFTPS, TLS - PROT C (non protégé) TLS pour la connexion de données est la valeur par défaut, mais PROT C n'est pas pris en charge dans le AWS Transfer Family FTPS protocole. DoncFTPS, vous devez émettre 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 il prend en charge plusieurs connexions pour un seul transfert.

Voici une liste des commandes disponibles pour FTP et FTPS :

Commandes disponibles

ABOR

FEAT

MLST

PASS

RETR

STOR

AUTH

LANG

MKD

PASV

RMD

STOU

CDUP

LIST

MODE

PBSZ

RNFR

STRU

CWD

MDTM

NLST

PROT

RNTO

SYST

DELE

MFMT

NOOP

PWD

SIZE

TYPE

EPSV

MLSD

OPTS

QUIT

STAT

USER

Note

APPE n’est pas pris en charge.

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

Commandes non prises en charge SFTP

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 SSH clés pour les utilisateurs gérés par des services.

SFTP/FTPS/FTPCommandes disponibles

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

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.

SFTP/FTPS/FTPCommandes
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 Supporté (rootuniquement)
chmtime Non pris en charge Pris en charge
chown Non pris en charge Supporté (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 VPC terminaison Amazon

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

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

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

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

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

    La page Points de terminaison de la VPC console Amazon, qui indique les DNSnoms d'un point de terminaison sélectionné.

Évitez les setstat erreurs

Certains clients de transfert de fichiers peuvent tenter de modifier les attributs des fichiers distants, notamment l'horodatage et les autorisations, à l'aide de commandes, par exemple SETSTAT lors du téléchargement du SFTP 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 le CreateServer ou UpdateServerAPI, utilisez l'ProtocolDetailsoption SetStatOption pour ignorer l'erreur générée lorsque le client tente de l'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 SETSTAT commande et télécharge les fichiers sans avoir à apporter de modifications à votre SFTP client.

  • 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 passe un SETSTAT appel.

Pour API plus de détails sur cette option, consultez ProtocolDetails.

Utiliser Open SSH

Suivez les instructions ci-dessous pour transférer des fichiers depuis la ligne de commande à l'aide d'OpenSSH.

Note

Ce client fonctionne uniquement avec un SFTP serveur activé.

Pour transférer des fichiers à l' AWS Transfer Family aide de l'utilitaire de ligne de SSH commande Open
  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é SSH privée. 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. Sauf si vous avez déjà modifié ce fichier, il 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, 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 DNS service dans votre environnement.

Utilisez Win SCP

Suivez les instructions ci-dessous pour transférer des fichiers depuis la ligne de commande à l'aide de WinSCP.

Note

Si vous utilisez Win SCP 5.19, vous pouvez vous connecter directement à Amazon S3 à l'aide de vos AWS 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 Win SCP
  1. Ouvrez le SCP client Win.

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

    Si vous avez choisiFTP, pour Chiffrement, choisissez l'une des options suivantes :

    • Aucun cryptage pour FTP

    • TLS/Chiffrement SSL explicite 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 de plus amples informations, veuillez consulter Afficher SFTP FTPS et détails FTP du serveur.

    Note

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

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

    • 22 pour SFTP

    • 21pourFTP/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 SSHsection, choisissez Authentification.

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

    Note

    Si Win SCP propose de convertir votre clé SSH privée au PPK format, 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, choisissez 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, diminuant ainsi 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 télé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'SCPhorodatage de Win (ou à les utiliser SetStatOption comme décrit dansÉvitez les setstat erreurs) avant d'effectuer des transferts de fichiers. Pour ce faire, dans la boîte de dialogue des paramètres de Win SCP 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 SSH fichiers), FTP- SSL (Explicit AUTHTLS) 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 de plus amples informations, veuillez consulter Afficher SFTP FTPS et détails FTP du serveur.

    Note

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

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

    • 22 pour SFTP

    • 21pourFTP/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 cette option est sélectionnée, choisissez ou entrez la clé SSH privée dans le champ Clé SSH privée.

  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 : SFTPou FTP.

    Si vous avez choisiFTP, pour Chiffrement, choisissez l'une des options suivantes :

    • Utilisez uniquement le langage clair FTP (non sécurisé) — pour FTP

    • Utilisez un FTP over explicite, TLS si disponible, pour 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 de plus amples informations, veuillez consulter Afficher SFTP FTPS et détails FTP du serveur.

    Note

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

    • Si vous utilisezSFTP, entrez : sftp://hostname

    • Si vous utilisezFTPS, entrez : ftps://hostname

    Assurez-vous de remplacer hostname avec le point de terminaison de votre serveur actuel.

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

    • 22 pour SFTP

    • 21pourFTP/FTPS

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

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

  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.

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 IAM rôle 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.