{coding}Sight

Introduction

Amazon Web Service, alias AWS, est un fournisseur d’infrastructure cloud de premier plan pour stocker vos serveurs, applications, bases de données, réseaux, contrôleurs de domaine et répertoires actifs dans une architecture cloud répandue. AWS fournit un Service de stockage simple (S3) pour stocker vos objets ou données avec (119) de durabilité des données. AWS S3 est conforme aux normes PCI-DSS, HIPAA/HITECH, FedRAMP, Directive Européenne sur la protection des données et FISMA, ce qui permet de satisfaire aux exigences réglementaires.

Lorsque vous vous connectez au portail AWS, accédez au compartiment S3, choisissez le compartiment requis et téléchargez ou téléchargez les fichiers. Le faire manuellement sur le portail prend beaucoup de temps. Au lieu de cela, vous pouvez utiliser l’interface de ligne de commande AWS (CLI) qui fonctionne le mieux pour les opérations de fichiers en masse avec des scripts faciles à utiliser. Vous pouvez planifier l’exécution de ces scripts pour un téléchargement/téléchargement d’objet sans surveillance.

Configure AWS CLI

Téléchargez AWS CLI et installez AWS Command Line Interface V2 sur les systèmes d’exploitation Windows, macOS ou Linux.

 Configuration de l'interface de ligne de commande AWS

Vous pouvez suivre l’assistant d’installation pour une configuration rapide.

Créer un utilisateur IAM

Pour accéder au compartiment AWS S3 à l’aide de l’interface de ligne de commande, nous devons configurer un utilisateur IAM. Dans le portail AWS, accédez à Gestion des identités et des accès (IAM) et cliquez sur Ajouter un utilisateur.

 configuration d'un utilisateur IAM

Dans la page Ajouter un utilisateur, entrez le nom d’utilisateur et le type d’accès en tant qu’accès programmatique.

 Accès programmatique

Ensuite, nous fournissons des autorisations à l’utilisateur IAM à l’aide de stratégies existantes. Pour cet article, nous avons choisi parmi les stratégies gérées AWS.

 fournir des autorisations à l'utilisateur IAM à l'aide de stratégies existantes

Vérifiez la configuration de votre utilisateur IAM et cliquez sur Créer un utilisateur.

 Vérifiez la configuration de l'utilisateur IAM et cliquez sur Créer un utilisateur

Une fois l’utilisateur AWS IAM créé, il donne l’ID de clé d’accès et la clé d’accès secrète pour se connecter à l’aide de l’interface de ligne de commande AWS.

Remarque: Vous devez copier et enregistrer ces informations d’identification. AWS ne vous permet pas de les récupérer ultérieurement.

 Utilisateur IAM créé avec succès.

Configurez AWS Profile Sur Votre ordinateur

Pour travailler avec AWS CLI sur les ressources Amazon web service, lancez PowerShell et exécutez la commande suivante.

>aws configure

Il nécessite les entrées utilisateur suivantes:

  • ID de clé d’accès utilisateur IAM
  • Clé d’accès secrète AWS
  • Nom de région AWS par défaut
  • Format de sortie par défaut

 Configuration du profil AWS

Créez un compartiment S3 À l’aide d’AWS CLI

Pour stocker les fichiers ou les objets, nous avons besoin d’un compartiment S3. Nous pouvons le créer à l’aide du portail AWS et de l’interface de ligne de commande AWS.

La commande CLI suivante crée un compartiment nommé dans la région us-east-1. La requête renvoie le nom du compartiment dans la sortie, comme indiqué ci-dessous.

>aws s3api create-bucket --bucket mys3bucket-testupload1 --region us-east-1
 Créer un Compartiment S3 à l'aide d'AWS CLI

Vous pouvez vérifier le compartiment s3 nouvellement créé à l’aide de la console AWS. Comme indiqué ci-dessous, le est téléchargé dans l’est des États-Unis (Virginie du Nord).

 vérifiez le compartiment s3 nouvellement créé à l'aide de la console AWS

Pour répertorier le compartiment S3 existant à l’aide d’AWS CLI, exécutez la commande – aws s3 ls

 répertorier le compartiment S3 existant à l'aide d'AWS CLI

Chargement d’objets dans le compartiment S3 À l’aide d’AWS CLI

Nous pouvons télécharger un seul fichier ou plusieurs fichiers ensemble dans le compartiment AWS S3 à l’aide de la commande AWS CLI. Supposons que nous ayons un seul fichier à télécharger. Le fichier est stocké localement dans le C:\S3Files avec le nom script1.txt.

Pour télécharger le fichier unique, utilisez le script CLI suivant.

>aws s3 cp C:\S3Files\Script1.txt s3://mys3bucket-testupload1/

Il télécharge le fichier et renvoie les chemins du fichier source-destination dans la sortie:

 Chargement d'objets dans le compartiment S3 à l'aide d'AWS CLI

Remarque : Le temps de téléchargement sur le compartiment S3 dépend de la taille du fichier et de la bande passante réseau. Pour la démo, j’ai utilisé un petit fichier de quelques KBs.

Vous pouvez actualiser le compartiment s3 et afficher le fichier qui y est stocké.

 actualiser le compartiment s3

De même, nous pouvons utiliser le même script CLI avec une légère modification. Il télécharge tous les fichiers de la source vers le compartiment S3 de destination. Ici, nous utilisons le paramètre récursif pour télécharger plusieurs fichiers ensemble:

>aws s3 cp c:\s3files s3://mys3bucket-testupload1/ --recursive

Comme indiqué ci-dessous, il télécharge tous les fichiers stockés dans le répertoire local c:\S3Files au seau S3. Vous obtenez la progression de chaque téléchargement dans la console.

 progression de chaque téléchargement

Nous pouvons voir tous les fichiers téléchargés en utilisant des paramètres récursifs dans le compartiment S3 dans la figure suivante:

 tous les fichiers téléchargés

Si vous ne souhaitez pas accéder au portail AWS pour vérifier la liste téléchargée, exécutez le script CLI, renvoyez tous les fichiers et chargez les horodatages.

>aws s3 ls s3://mys3bucket-testupload1
 exécutez le script CLI, renvoyez tous les fichiers et téléchargez les horodatages.

Supposons que nous souhaitions télécharger uniquement des fichiers avec une extension spécifique dans le dossier séparé d’AWS S3. Vous pouvez également effectuer le filtrage des objets à l’aide du script CLI. À cette fin, le script utilise des mots clés include et exclude.

Par exemple, la requête ci-dessous vérifie les fichiers dans le répertoire source (c:\s3bucket ), filtre les fichiers avec.extension sql, et les télécharge dans le dossier SQL/ du compartiment S3. Ici, nous avons spécifié l’extension en utilisant le mot clé include:

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

Dans la sortie du script, vous pouvez vérifier que les fichiers avec le .seules les extensions sql ont été téléchargées.

 vérifiez que les fichiers avec le .seules les extensions sql ont été téléchargées
 vérifiez que les fichiers avec le .seules les extensions sql ont été téléchargées

De même, le script ci-dessous télécharge des fichiers avec le .extension csv dans le compartiment S3.

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.csv
 le script télécharge des fichiers avec le .extension csv dans le compartiment S3

Téléchargez des fichiers nouveaux ou modifiés du dossier Source vers le compartiment S3

Supposons que vous utilisiez un compartiment S3 pour déplacer les sauvegardes du journal des transactions de votre base de données.

Pour cela, nous utilisons le mot clé sync. Il copie récursivement de nouveaux fichiers modifiés du répertoire source vers le compartiment s3 de destination.

>aws s3 sync C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

Comme indiqué ci-dessous, il a téléchargé un fichier absent du compartiment s3. De même, si vous modifiez un fichier existant dans le dossier source, le script CLI le sélectionnera et le téléchargera dans le compartiment S3.

 Télécharger des Fichiers Nouveaux ou Modifiés du Dossier Source vers le Compartiment S3
 Télécharger des Fichiers Nouveaux ou Modifiés du Dossier Source vers le Compartiment S3

Résumé

Le script AWS CLI peut faciliter votre travail de stockage de fichiers dans le compartiment S3. Vous pouvez l’utiliser pour télécharger ou synchroniser des fichiers entre des dossiers locaux et le compartiment S3. C’est un moyen rapide de déployer et de travailler avec des objets dans le cloud AWS.

Tags: AWS, aws cli, aws s3, plateforme cloud Dernière modification : 16 septembre 2021

Leave a Reply