Accéder au contenu principal

AWS S3 Sync : Le guide complet de la synchronisation de fichiers

Apprenez à synchroniser des fichiers locaux avec Amazon S3 à l'aide de la CLI AWS. Ce didacticiel pratique vous guide à travers l'installation, les opérations de base, les options avancées et les stratégies de sauvegarde pour maîtriser la synchronisation des fichiers entre votre environnement local et le cloud AWS.
Actualisé 17 mars 2025  · 15 min de lecture

La gestion de la synchronisation des fichiers entre les systèmes locaux et le stockage dans le cloud ne devrait pas vous donner de mal de tête.

AWS S3 propose un outil pratique en ligne de commande qui simplifie le processus de synchronisation de vos fichiers entre votre environnement local et le seau S3 (Simple Storage Service) d'Amazon. Cet outil est particulièrement précieux pour les développeurs, les administrateurs système et tous ceux qui doivent maintenir des versions de fichiers cohérentes sur plusieurs sites. Il suffit de quelques commandes pour transférer efficacement des fichiers, créer des sauvegardes et mettre en œuvre des solutions de reprise après sinistre.

L'interface de ligne de commande (CLI) d'AWS rend ces opérations accessibles à un large éventail d'utilisateurs. Certes, il n'est pas aussi pratique que Google Drive ou OneDrive, mais il a plus d'un tour dans son sac.

Dans ce tutoriel, j'aborderai tout ce que vous devez savoir sur la synchronisation AWS S3, de la configuration de base aux modèles d'utilisation avancés.

>Qu'est-ce que S3 ? Apprenez les principes de base avec notre guide sur S3.

Qu'est-ce que AWS S3 Sync ?

AWS S3 sync est un outil de ligne de commande puissant qui est fourni avec le kit d'outils AWS CLI. Il est conçu pour synchroniser les fichiers entre votre système de fichiers local et une corbeille S3 en un rien de temps.

Considérez S3 sync comme rsync pour le cloud. La commande analyse les emplacements de la source et de la destination, identifie les différences, puis transfère uniquement ce qui est nécessaire pour les faire correspondre. Cette approche permet d'économiser de la bande passante, du temps et des coûts potentiels par rapport aux méthodes naïves de transfert de fichiers.

Sous le capot, la synchronisation S3 effectue des appels d'API pour comparer les métadonnées des objets, telles que la taille des fichiers et les horodatages de modification. Lorsqu'il détecte des différences, il s'occupe du chargement ou du téléchargement des fichiers en conséquence.

La beauté de la synchronisation S3 réside dans sa simplicité. Une commande de base ressemble à ceci :

aws s3 sync /local/directory s3://my-bucket/path

Bien sûr, vous devrez configurer le CLI pour utiliser les commandes aws, mais vous avez compris l'essentiel : c'est très simple à utiliser.

En bref, la synchronisation S3 masque les opérations complexes qui se déroulent en coulisses et vous offre un moyen simple de maintenir des états de fichiers cohérents dans tous les environnements. Que vous sauvegardiez des données critiques, déployiez des ressources web ou gériez des ensembles de données volumineux, la synchronisation S3 s'occupe de tout pour vous.

Configuration de l'interface de programmation AWS et d'AWS S3

Avant de commencer à synchroniser des fichiers avec S3, vousdevez installer et configurer correctement le CLI AWS. Cela peut sembler intimidant si vous ne connaissez pas AWS, mais cela ne prendra que quelques minutes.

La mise en place de l'interface de programmation comporte deux étapes principales : l'installation de l'outil et sa configuration. Je passerai ensuite en revue ces deux étapes.

Installation de l'interface de programmation AWS

L'installation de la CLI AWS varie légèrement en fonction de votre système d'exploitation.

Pour les systèmes Windows :

Pour les systèmes Linux :

Exécutez les trois commandes suivantes dans le terminal :

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Pour les systèmes macOS :

En supposant que vous ayez installé Homebrew, exécutez cette ligne depuis le Terminal :

brew install awscli

Si vous n'avez pas Homebrew, utilisez plutôt ces deux commandes :

curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /

Vous pouvez exécuter la commande aws --version sur tous les systèmes d'exploitation pour vérifier que AWS CLI a été installé. Voici ce que vous devriez voir :

Version de l'interface de programmation AWS

Image 1 - Version CLI d'AWS

Configuration de la CLI AWS

Maintenant que le CLI est installé, vous devez le configurer avec vos identifiants AWS.

Si vous disposez déjà d'un compte AWS, connectez-vous et accédez au service IAM. Une fois sur place, créez un nouvel utilisateur avec un accès programmatique. Vous devez attribuer l'autorisation appropriée à l'utilisateur, c'est-à-dire au minimum l'accès S3 :

Utilisateur AWS IAM

Image 2 - Utilisateur AWS IAM

Une fois cela fait, allez dans "Security credentials" pour créer une nouvelle clé d'accès. Après la création, vous aurez l'ID de la clé d'accès et la clé d'accès secrète. Notez-les dans un endroit sûr, car vous ne pourrez plus y accéder à l'avenir :

Informations d'identification de l'utilisateur AWS IAM

Image 3 - Informations d'identification de l'utilisateur AWS IAM

De retour dans le terminal, exécutez la commande aws configure. Il vous demandera d'entrer votre ID de clé d'accès, votre clé d'accès secrète, votre région (eu-central-1 dans mon cas) et votre format de sortie préféré (json) :

Configuration de la CLI AWS

Image 4 - Configuration de la CLI AWS

Pour vérifier que vous êtes bien connecté à votre compte AWS à partir de l'interface de gestion, exécutez la commande suivante :

aws sts get-caller-identity

Voici le résultat que vous devriez obtenir :

Commande de test de connexion de la CLI AWS

Image 5 - Commande de test de connexion de la CLI AWS

Et voilà, il ne reste plus qu'une étape à franchir avant de pouvoir utiliser la commande de synchronisation S3 !

Mise en place d'un seau AWS S3

La dernière étape consiste à créer un panier S3 qui stockera vos fichiers synchronisés. Vous pouvez le faire à partir de l'interface de commande ou de la console de gestion AWS. J'opterai pour cette dernière solution, juste pour mélanger les choses.

Pour commencer, allez sur la page du service S3 dans la console de gestion et cliquez sur le bouton "Créer un seau". Une fois sur place, choisissez un nom de godet unique (unique pour l'ensemble d'AWS), puis faites défiler jusqu'en bas et cliquez sur le bouton "Create" (Créer) :

Création d'un seau AWS

Image 6 - Création d'un seau AWS

Le seau est maintenant créé et vous le verrez immédiatement dans la console de gestion. Vous pouvez également vérifier qu'il a été créé par l'intermédiaire de la CLI :

aws s3 ls

Tous les buckets S3 disponibles

Image 7 - Tous les buckets S3 disponibles

Gardez à l'esprit que les buckets S3 sont privés par défaut. Si vous prévoyez d'utiliser le seau pour héberger des fichiers publics (comme les ressources d'un site web), vous devrez adapter les règles et les autorisations du seau en conséquence.

Vous êtes maintenant prêt à synchroniser des fichiers entre votre machine locale et AWS S3 !

Commande de base AWS S3 Sync

Maintenant que vous avez installé et configuré le CLI AWS et que vous disposez d'un seau S3, il est temps de commencer la synchronisation ! La syntaxe de base de la commande AWS S3 sync est assez simple. Laissez-moi vous montrer comment cela fonctionne.

La commande de synchronisation S3 suit ce schéma simple :

aws s3 sync <source> <destination> [options]

La source et la destination peuvent être soit un chemin d'accès à un répertoire local, soit un URI S3 (commençant par s3://). Selon le mode de synchronisation que vous souhaitez adopter, vous les disposerez différemment.

Synchroniser des fichiers d'un serveur local vers un serveur S3

J'ai récemment joué avec la recherche approfondie d'Ollama. Disons qu'il s'agit du dossier que je souhaite synchroniser avec S3. Le répertoire principal est situé dans le dossier Documents. Voici à quoi cela ressemble :

Contenu du dossier local

Contenu du dossier local

Voici la commande que je dois exécuter pour synchroniser le dossier local code-files avec le dossier backup du panier S3 :

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup

Le dossier backup sur le seau S3 sera automatiquement créé s'il n'existe pas.

Voici ce qui s'affiche sur la console :

Processus de synchronisation S3

Image 9 - Processus de synchronisation S3

Après quelques secondes, le contenu du dossier local code-files est disponible sur le seau S3 :

Contenu du seau S3

Image 10 - Contenu du panier S3

La beauté de la synchronisation S3 est qu'elle ne télécharge que les fichiers qui n'existent pas dans la destination ou qui ont été modifiés localement. Si vous exécutez à nouveau la même commande sans rien changer, vous verrez... rien ! En effet, AWS CLI a détecté que tous les fichiers étaient déjà synchronisés et à jour.

Je vais maintenant procéder à deux petites modifications : créer un nouveau fichier (new_file.txt) et mettre à jour un fichier existant (requirements.txt). Lorsque vous exécutez à nouveau la commande de synchronisation, seuls les fichiers nouveaux ou modifiés sont téléchargés :

Processus de synchronisation S3 (2)

Image 11 - Processus de synchronisation S3 (2)

C'est tout ce que vous devez savoir pour synchroniser des dossiers locaux avec S3. Mais qu'en est-il si vous voulez faire l'inverse ?

Synchronisation des fichiers du panier S3 vers un répertoire local

Si vous souhaitez télécharger des fichiers de votre panier S3 vers votre machine locale, il vous suffit de modifier la source et la destination :

aws s3 sync s3://testbucket-dradecic/backup /Users/dradecic/Documents/code-files-from-s3 

Cette commande téléchargera tous les fichiers du dossier backup dans votre panier S3 vers un dossier local appelé code-files-from-s3 . Là encore, si le dossier local n'existe pas, l'interface de programmation le créera pour vous :

S3 à la synchronisation locale

Image 12 - S3 vers synchronisation locale

Il convient de noter que la synchronisation S3 n'est pas bidirectionnelle. Il va toujours de la source à la destination, en faisant en sorte que la destination corresponde à la source. Si vous supprimez un fichier localement et que vous le synchronisez ensuite avec S3, il existera toujours dans S3. De même, si vous supprimez un fichier dans S3 et que vous synchronisez de S3 vers local, le fichier local restera intact.

Si vous souhaitez que la destination corresponde exactement à la source (y compris les suppressions), vous devez utiliser l'option --delete, que je décrirai dans la section des options avancées.

Options avancées de synchronisation AWS S3

La commande de synchronisation S3 de base étudiée précédemment est puissante en soi, mais AWS l'a dotée d'options supplémentaires qui vous permettent de mieux contrôler le processus de synchronisation. 

Dans cette section, je vous montrerai quelques-uns des drapeaux les plus utiles que vous pouvez ajouter à la commande de base.

Synchroniser uniquement les fichiers nouveaux ou modifiés

Par défaut, la synchronisation S3 utilise un mécanisme de comparaison de base qui vérifie la taille du fichier et l'heure de modification pour déterminer si un fichier doit être synchronisé. Toutefois, cette approche ne permet pas toujours de saisir tous les changements, en particulier lorsqu'il s'agit de fichiers qui ont été modifiés mais dont la taille est restée inchangée.

Pour une synchronisation plus précise, vous pouvez utiliser le drapeau --exact-timestamps:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --exact-timestamps

Cela oblige la synchronisation S3 à comparer les horodatages avec une précision de l'ordre de la milliseconde. Gardez à l'esprit que l'utilisation de ce drapeau peut ralentir légèrement le processus de synchronisation car il nécessite des comparaisons plus détaillées.

Exclusion ou inclusion de fichiers spécifiques

Parfois, vous ne souhaitez pas synchroniser tous les fichiers d'un répertoire. Vous souhaitez peut-être exclure les fichiers temporaires, les journaux ou certains types de fichiers (comme .DS_Store dans mon cas). C'est là que les drapeaux --exclude et --include sont utiles.

Mais pour illustrer un point, disons que je veux synchroniser mon répertoire de code mais exclure tous les fichiers Python :

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --exclude "*.py"

Aujourd'hui, beaucoup moins de fichiers sont synchronisés sur S3 :

Synchronisation S3 avec les fichiers Python exclus

Image 13 - Synchronisation S3 avec exclusion des fichiers Python

Vous pouvez également combiner --exclude et --include pour créer des motifs plus complexes. Par exemple, excluez tout sauf les fichiers Python :

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --exclude "*" --include "*.py"

Les motifs sont évalués dans l'ordre spécifié, l'ordre est donc important ! Voici ce que vous verrez lorsque vous utiliserez ces drapeaux :

Drapeaux d'exclusion et d'inclusion

Image 14 - Drapeaux d'exclusion et d'inclusion

Désormais, seuls les fichiers Python sont synchronisés, et d'importants fichiers de configuration manquent.

Suppression de fichiers de la destination

Par défaut, la synchronisation S3 ne fait qu'ajouter ou mettre à jour des fichiers dans la destination, sans jamais les supprimer. Cela signifie que si vous supprimez un fichier de la source, il restera dans la destination après la synchronisation.

Pour que la destination reflète exactement la source, y compris les suppressions, utilisez l'option --delete:

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --delete

Si vous exécutez cette opération pour la première fois, tous les fichiers locaux seront synchronisés avec S3 :

Supprimer le drapeau

Image 15 - Supprimer le drapeau

Ceci est particulièrement utile pour maintenir des répliques exactes de répertoires. Mais attention, ce drapeau peut entraîner une perte de données s'il n'est pas utilisé correctement.

Supposons que je supprime config.py de mon dossier local et que j'exécute la commande sync avec l'option --delete:

Supprimer le drapeau

Image 16 - Supprimer le drapeau (2)

Comme vous pouvez le constater, la commande synchronise non seulement les nouveaux fichiers et les fichiers modifiés, mais supprime également les fichiers du bac S3 qui n'existent plus dans le répertoire local.

Mise en place d'une simulation pour une synchronisation sûre

Les opérations de synchronisation S3 les plus dangereuses sont celles qui impliquent le drapeau --delete. Pour éviter de supprimer accidentellement des fichiers importants, vous pouvez utiliser l'option --dryrun pour simuler l'opération sans apporter de modifications :

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --delete --dryrun

Pour le démontrer, j'ai supprimé les fichiers requirements.txt et settings.toml d'un dossier local, puis j'ai exécuté la commande :

Essai à blanc

Image 17 - Essai à blanc

Vous verrez alors exactement ce qui se passerait si vous exécutiez la commande pour de vrai, y compris les fichiers qui seraient chargés, téléchargés ou supprimés.

Je recommande toujours d'utiliser --dryrun avant d'exécuter une commande de synchronisation S3 avec le drapeau --delete, en particulier lorsque vous travaillez avec des données importantes.

Il existe de nombreuses autres options disponibles pour la commande S3 sync, comme --acl pour définir les autorisations, --storage-class pour choisir le niveau de stockage S3 et --recursive pour parcourir les sous-répertoires. Consultez la documentation officielle du CLI AWS pour obtenir une liste complète des options.

Maintenant que vous connaissez les options de synchronisation S3 de base et avancées, voyons comment utiliser ces commandes pour des scénarios pratiques tels que les sauvegardes et les restaurations.

Utiliser AWS S3 Sync pour la sauvegarde et la restauration

L'un des cas d'utilisation les plus courants de la synchronisation AWS S3 consiste à sauvegarder des fichiers importants et à les restaurer en cas de besoin. Voyons comment vous pouvez mettre en œuvre une stratégie simple de sauvegarde et de restauration à l'aide de la commande sync.

Créer des sauvegardes sur S3

La création de sauvegardes avec S3 sync est simple : il vous suffit d'exécuter la commande sync depuis votre répertoire local vers un panier S3. Cependant, il existe quelques bonnes pratiques à suivre pour des sauvegardes efficaces.

Tout d'abord, il est conseillé d' organiser vos sauvegardes par date ou par version. Voici une approche simple qui utilise un horodatage dans le chemin S3 :

# Create a timestamp variable
TIMESTAMP=$(date +%Y-%m-%d-%H-%M-%S)

# Run the backup
aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backups/$TIMESTAMP

Cela crée un nouveau dossier pour chaque sauvegarde avec un horodatage du type 2025-03-10-18-56-42. Voici ce que vous verrez sur S3 :

Sauvegardes horodatées

Image 18 - Sauvegardes horodatées

Pour les données critiques, vous pouvez conserver plusieurs versions de sauvegarde. Pour ce faire, il suffit d'exécuter régulièrement la sauvegarde basée sur l'horodatage.

Vous pouvez également utiliser l'option --storage-class pour spécifier une classe de stockage plus économique. classe de stockage plus économique pour vos sauvegardes :

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backups/$TIMESTAMP --storage-class STANDARD_IA

Sauvegarde du contenu avec une classe de stockage personnalisée

Image 19 - Sauvegarde du contenu avec une classe de stockage personnalisée

Ce service utilise la classe de stockage S3 Infrequent Access, qui coûte moins cher, mais dont les frais d'extraction sont légèrement plus élevés. Pour l'archivage à long terme, vous pouvez même utiliser la classe de stockage Glacier :

aws s3 sync /Users/dradecic/Documents/important-data s3://testbucket-dradecic/backups/$TIMESTAMP --storage-class GLACIER

Gardez à l'esprit que les fichiers stockés dans Glacier mettent des heures à être récupérés, et qu'ils ne conviennent donc pas pour les données dont vous pourriez avoir besoin rapidement.

Restauration de fichiers à partir de S3

La restauration à partir d'une sauvegarde est tout aussi simple. d'inverser la source et la destination dans votre commande de synchronisation :

# Restore from the most recent backup (assuming you know the timestamp)
aws s3 sync s3://testbucket-dradecic/backups/2025-03-10-18-56-42 /Users/dradecic/Documents/restored-data

Cette opération permet de télécharger tous les fichiers de cette sauvegarde spécifique dans votre répertoire local restored-data:

Restauration de fichiers à partir de S3

Image 20 - Restauration de fichiers à partir de S3

Si vous ne vous souvenez pas de l'heure exacte, vous pouvez commencer par dresser la liste de toutes vos sauvegardes :

aws s3 ls s3://testbucket-dradecic/backups/

Ce qui vous donnera quelque chose comme :

Liste des sauvegardes

Image 21 - Liste des sauvegardes

Vous pouvez également restaurer des fichiers ou des répertoires spécifiques à partir d'une sauvegarde en utilisant les drapeaux exclure/inclure dont nous avons parlé précédemment :

# Restore only the config files
aws s3 sync s3://testbucket-dradecic/backups/2025-03-10-18-56-42 /Users/dradecic/Documents/restored-configs --exclude "*" --include "*.config" --include "*.toml" --include "*.yaml"

Pour les systèmes critiques, je recommande d'automatiser vos sauvegardes à l'aide de tâches planifiées (comme les tâches cron sous Linux/macOS ou le planificateur de tâches sous Windows). Vous êtes ainsi assuré de sauvegarder régulièrement vos données sans avoir à vous rappeler de le faire manuellement.

Dépannage de AWS S3 Sync

La synchronisation AWS S3 est un outil fiable, mais vous pouvez parfois rencontrer des problèmes. Cependant, la plupart des erreurs que vous verrez sont d'origine humaine.

Erreurs de synchronisation courantes

Passons en revue quelques problèmes courants et leurs solutions.

  • L'erreur "Accès refusé" signifie généralement que votre utilisateur IAM ne dispose pas des autorisations nécessaires pour accéder au seau S3 ou pour effectuer des opérations spécifiques. Pour remédier à ce problème, essayez l'une des solutions suivantes :
    • Vérifiez que votre utilisateur IAM dispose des autorisations S3 appropriées (s3:ListBucket, s3:GetObject, s3:PutObject).
    • Vérifiez que la politique des seaux ne refuse pas explicitement l'accès à votre utilisateur.
    • Assurez-vous que le seau lui-même ne bloque pas l'accès du public si vous avez besoin d'opérations publiques.
  • No such file or directory L'erreur apparaît généralement lorsque le chemin d'accès à la source que vous avez spécifié dans la commande de synchronisation n'existe pas. La solution est simple : vérifiez vos chemins d'accès et assurez-vous qu'ils existent. Faites particulièrement attention aux fautes de frappe dans les noms de seaux ou les répertoires locaux.
  • Limite de taille des fichiers Des erreurs peuvent se produire lorsque vous souhaitez synchroniser des fichiers volumineux. Par défaut, la synchronisation S3 peut traiter des fichiers d'une taille maximale de 5 Go. Pour les fichiers plus volumineux, vous constaterez des dépassements de délai ou des transferts incomplets.
    • Pour les fichiers de plus de 5 Go, vous devez utiliser l'option --only-show-errors combinée à l'option --size-only. Cette combinaison facilite les transferts de fichiers volumineux en minimisant les sorties et en comparant uniquement les tailles de fichiers :
aws s3 sync /Users/dradecic/large-files s3://testbucket-dradecic/large-files --only-show-errors --size-only

Optimisation des performances de synchronisation

Si votre synchronisation S3 est plus lente que prévu, vous pouvez procéder à quelques ajustements pour accélérer les choses.

  • Utilisez des transferts parallèles. Par défaut, la synchronisation S3 utilise un nombre limité d'opérations parallèles. Vous pouvez l'augmenter à l'aide du paramètre --max-concurrent-requests:
aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --max-concurrent-requests 20
  • Ajustez la taille des morceaux. Pour les fichiers volumineux, vous pouvez optimiser la vitesse de transfert en ajustant la taille des morceaux. Les fichiers volumineux sont décomposés en morceaux de 16 Mo au lieu des 8 Mo par défaut, ce qui peut s'avérer plus rapide pour les bonnes connexions réseau :
aws s3 sync /Users/dradecic/large-files s3://testbucket-dradecic/backup --cli-read-timeout 120 --multipart-threshold 64MB --multipart-chunksize 16MB
  • Utilisez --no-progress pour les scripts. Si vous exécutez la synchronisation S3 dans un script automatisé, utilisez l'option --no-progress pour réduire la production et améliorer les performances :
aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --no-progress
  • Utiliser des points d'extrémité locaux. Si vos ressources AWS se trouvent dans la même région, le fait de spécifier le point de terminaison régional peut réduire la latence :
aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --endpoint-url https://s3.eu-central-1.amazonaws.com

Ces optimisations peuvent améliorer de manière significative les performances de synchronisation, en particulier pour les transferts de données importants ou sur des machines moins puissantes.

Si vous rencontrez toujours des problèmes après avoir essayé ces solutions, l'interface de commande AWS dispose d'une option de débogage intégrée. Ajoutez simplement --debug à votre commande pour obtenir des informations détaillées sur ce qui se passe pendant le processus de synchronisation :

aws s3 sync /Users/dradecic/Documents/code-files s3://testbucket-dradecic/backup --debug

Attendez-vous à voir un grand nombre de messages détaillés, semblables à ceux-ci :

Exécution de la synchronisation en mode débogage

Image 22 - Exécution de la synchronisation en mode débogage

C'est à peu près tout ce qu'il faut savoir pour dépanner la synchronisation AWS S3. Bien sûr, d'autres erreurs peuvent se produire, mais dans 99 % des cas, vous trouverez la solution dans cette section.

Résumé de AWS S3 Sync

En résumé, la synchronisation AWS S3 est l'un de ces rares outils à la fois simples à utiliser et incroyablement puissants. Vous avez tout appris, des commandes de base aux options avancées, en passant par les stratégies de sauvegarde et les conseils de dépannage.

Pour les développeurs, les administrateurs système ou toute personne travaillant avec AWS, la commande de synchronisation S3 est un outil essentiel : elle permet de gagner du temps, de réduire l'utilisation de la bande passante et de s'assurer que vos fichiers se trouvent là où vous en avez besoin, quand vous en avez besoin.

Qu'il s'agisse de sauvegarder des données critiques, de déployer des ressources web ou simplement de synchroniser différents environnements, la synchronisation AWS S3 rend le processus simple et fiable.

La meilleure façon de vous familiariser avec la synchronisation S3 est de commencer à l'utiliser. Essayez de mettre en place une opération de synchronisation simple avec vos propres fichiers, puis explorez progressivement les options avancées pour répondre à vos besoins spécifiques.

N'oubliez pas de toujours utiliser --dryrun en premier lorsque vous travaillez avec des données importantes, en particulier lorsque vous utilisez le drapeau --delete. Il vaut mieux prendre une minute de plus pour vérifier ce qui va se passer que de supprimer accidentellement des fichiers importants.

Pour en savoir plus surAWS, consultez ces cours proposés par DataCamp :

Vous pouvez même utiliser DataCamp pour vous préparer aux examens de certification AWS - AWS Cloud Practitioner (CLF-C02).

FAQ

Qu'est-ce que la synchronisation AWS S3 et comment fonctionne-t-elle ?

AWS S3 sync est un outil de ligne de commande fourni avec le CLI AWS, conçu pour synchroniser les fichiers entre les systèmes locaux et les buckets Amazon S3. Il compare les fichiers à la source et à la destination, identifie les différences et ne transfère que ce qui est nécessaire pour les faire correspondre, ce qui permet d'économiser de la bande passante et du temps par rapport à des chargements ou téléchargements complets.

Puis-je synchroniser des fichiers à la fois vers et à partir d'un panier S3 ?

Oui, la synchronisation AWS S3 fonctionne de manière bidirectionnelle. Vous pouvez synchroniser des fichiers locaux avec un bac S3 à l'aide de aws s3 sync /local/directory s3://my-bucket/path ou synchroniser des fichiers d'un bac S3 avec votre système local à l'aide de aws s3 sync s3://my-bucket/path /local/directory. La commande fait toujours correspondre la destination à la source.

La synchronisation AWS S3 supprime-t-elle automatiquement les fichiers ?

Par défaut, la synchronisation S3 ne supprime pas les fichiers de la destination qui n'existent pas dans la source. Cependant, vous pouvez ajouter le drapeau --delete à votre commande de synchronisation pour que la destination reflète exactement la source, y compris les suppressions. Utilisez cette fonctionnalité avec prudence et envisagez de la tester d'abord avec le drapeau --dryrun.

Comment optimiser la synchronisation AWS S3 pour les fichiers volumineux ?

Pour les fichiers volumineux, vous pouvez optimiser les performances de synchronisation S3 à l'aide de plusieurs paramètres, notamment --max-concurrent-requests pour augmenter les transferts parallèles, --multipart-chunksize pour ajuster la taille des morceaux et --cli-read-timeout pour éviter les dépassements de délai. Pour les fichiers de plus de 5 Go, combinez les drapeaux --only-show-errors et --size-only pour améliorer les performances.

Puis-je automatiser les sauvegardes à l'aide d'AWS S3 sync ?

Oui, la synchronisation AWS S3 est parfaite pour créer des sauvegardes automatisées. Vous pouvez configurer des tâches planifiées (tâches cron sous Linux/macOS ou Planificateur de tâches sous Windows) pour exécuter régulièrement des commandes de synchronisation avec des horodatages dans votre chemin de destination. Pour un stockage à long terme rentable, utilisez le paramètre --storage-class pour spécifier des classes de stockage telles que STANDARD_IA ou GLACIER.


Dario Radečić's photo
Author
Dario Radečić
LinkedIn
Scientifique de données senior basé en Croatie. Rédacteur technique de premier plan avec plus de 700 articles publiés, générant plus de 10 millions de vues. Auteur du livre Machine Learning Automation with TPOT.
Sujets

Apprenez-en plus sur AWS grâce à ces cours !

Certification disponible

Cours

Concepts AWS

2 hr
22.8K
Découvrez l'univers d'Amazon Web Services (AWS) et comprenez pourquoi il est à la pointe du cloud computing.
Afficher les détailsRight Arrow
Commencer le cours
Voir plusRight Arrow