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.
Rubriques
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.
Command | Amazon S3 | Amazon EFS |
---|---|---|
cd |
Pris en charge | Pris en charge |
chgrp |
Non pris en charge | Supporté (root ou owner uniquement) |
chmod |
Non pris en charge | Supporté (root uniquement) |
chmtime |
Non pris en charge | Pris en charge |
chown |
Non pris en charge | Supporté (root uniquement) |
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 NoteLe 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
-
Accédez à la page de détails de votre serveur.
-
Dans le volet des détails du point de terminaison, sélectionnez le VPC.
Dans le tableau de VPC bord Amazon, sélectionnez l'identifiant du VPC point de terminaison.
-
Dans la liste des DNSnoms, le point de terminaison de votre serveur est le premier répertorié.
É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
ouUpdateServer
API, utilisez l'ProtocolDetails
optionSetStatOption
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
-
Sur Linux, macOS ou Windows, ouvrez un terminal de commande.
-
À l'invite, entrez la commande suivante :
sftp -i
transfer-key
sftp_user
@service_endpoint
Dans la commande précédente,
il s'agit du nom d'utilisateur etsftp_user
de la clé SSH privée.transfer-key
Voici le point de terminaison du serveur tel qu'indiqué dans la AWS Transfer Family console du serveur sélectionné.service_endpoint
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. -
(Facultatif) Pour afficher le répertoire personnel de l'utilisateur, entrez la commande suivante à l'
sftp
invite :pwd
-
Pour télécharger un fichier depuis votre système de fichiers vers le serveur Transfer Family, utilisez la
put
commande. Par exemple, pour chargerhello.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'sftp
invite :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
-
Ouvrez le SCP client Win.
-
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
-
-
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.
-
Pour le numéro de port, entrez ce qui suit :
-
22
pour SFTP -
21
pourFTP/FTPS
-
-
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 :
-
Choisissez Avancé pour ouvrir la boîte de dialogue Paramètres avancés du site. Dans la SSHsection, choisissez Authentification.
-
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.
-
Choisissez OK pour revenir à la boîte de dialogue Login, puis choisissez Sauver.
-
Dans la boîte de dialogue Enregistrer la session en tant que site, cliquez sur OK pour terminer la configuration de votre connexion.
-
Dans la boîte de dialogue de connexion, choisissez Outils, puis Préférences.
-
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.
-
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.
-
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
-
Ouvrez le client Cyberduck
. -
Choisissez Open Connection.
-
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).
-
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.
-
Pour le numéro de port, entrez ce qui suit :
-
22
pour SFTP -
21
pourFTP/FTPS
-
-
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.
-
Si SFTP cette option est sélectionnée, choisissez ou entrez la clé SSH privée dans le champ Clé SSH privée.
-
Choisissez Se connecter.
-
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
-
Ouvrez le FileZilla client.
-
Choisissez Fichier, puis Gestionnaire de site.
-
Dans la boîte de dialogue Gestionnaire de sites, sélectionnez Nouveau site.
-
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
-
-
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. -
-
Pour le numéro de port, entrez ce qui suit :
-
22
pour SFTP -
21
pourFTP/FTPS
-
-
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.
-
Pour Utilisateur, entrez le nom de l'utilisateur que vous avez créé dansGestion des utilisateurs pour les points de terminaison du serveur.
-
Choisissez Se connecter.
-
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
. username
Il 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.