Cursus
Les entreprises sont confrontées à des défis lors du transfert de données lorsqu'elles déplacent des charges de travail vers le cloud ou gèrent les sauvegardes et la reprise après sinistre. Les techniques dépassées - comme les téléchargements manuels ou les scripts personnalisés - manquent d'automatisation et de fiabilité, ce qui se traduit par des coûts et des frais généraux opérationnels plus élevés.
AWS DataSync facilite les choses en offrant une méthode sécurisée et automatisée pour transférer des ensembles de données entre des systèmes de stockage, sur site et des services AWS, ou entre différentes régions AWS.
Dans ce tutoriel, je vais vous guider :
- Configuration de AWS DataSync - Création et configuration d'agents pour le transfert de données.
- Configuration des tâches de transfert de données - Définition des points d'extrémité source et destination, filtrage des données et planification des transferts.
- Utiliser DataSync pour des cas d'utilisation clés - Notamment la migration vers le cloud, la sauvegarde et la reprise après sinistre.
Qu'est-ce que AWS DataSync ?
AWS DataSync est un service de transfert de données qui vise à déplacer de grandes quantités de données entre des systèmes de stockage sur site et des environnements cloud en utilisant les services AWS. Il rationalise les processus de transfert de données en prenant en charge des tâches telles que la validation et le cryptage des données, tout en offrant des options de planification. Cela en fait un choix fiable pour les migrations, les sauvegardes de données et la réplication continue des données.
DataSync accélère le transfert de données par rapport aux méthodes impliquant des scripts complexes ou des étapes manuelles en permettant un mouvement de données automatisé, rapide et sécurisé entre différentes sources. Il prend en charge les transferts entre :
- Stockage sur site (NFS, SMB, stockage d'objets) et AWS.
- Amazon S3,Amazon EFS, Amazon FSx et Amazon S3 Glacier.
- Les services AWS dans différentes régions et sur différents comptes.
> Si vous ne connaissez pas encore AWS ou si vous souhaitez rafraîchir vos connaissances sur les principaux outils du cloud, le cours AWS Cloud Technology and Services vous permet de vous familiariser avec les technologies et les services du cloud.le cours sur la technologie et les services du cloud AWS vous offre unevous offre une solide vue d'ensemble des services de base tels que EC2, S3 et IAM.
Caractéristiques de AWS DataSync
- Transfert de données à grande vitesse : L'utilisation de flux de données parallèles et optimisés permet un transfert de données jusqu'à 10 fois plus rapide.
- Validation automatisée des données : Vérifie l'exactitude des données transférées par des calculs de somme de contrôle afin de maintenir l'intégrité des données.
- Intégration transparente avec les services AWS : Supporte nativementrts Amazon S3,Amazon EFS, Amazon FSx pour Windows, et FSx pour Lustre comme source et destination.
- Transferts progressifs et programmés : Transfère uniquement les données modifiées (synchronisation différentielle) afin de minimiser l'utilisation de la bande passante et les coûts, et prend en charge la planification de la synchronisation périodique des données.
- Sécurité et cryptage : Les transferts de données sont protégés par un cryptage de bout en bout utilisant TLS pour la sécurité du transit et AES 256 pour la protection des données au repos. AWS La gestion des identités et des accès (IAM)permet égalementde contrôler l'accès .
- Transferts multirégionaux et inter-comptes : Cela facilite la copie des données entre les régions et les comptes sur AWS pour la planification et le partage.
Maintenant que le contexte est posé, passons à la partie pratique de ce tutoriel !
Configuration de AWS DataSync
Avant de transférer des données, vous devez configurer correctement AWS DataSync. Cette section présente les conditions préalables et les étapes de configuration, notamment l'installation de l'agent, les rôles IAM et la configuration du stockage.
Conditions préalables pour AWS DataSync
Nous utiliserons AWS CloudFormation pour automatiser le processus de provisionnement et nous nous concentrerons sur la migration des données. Nous allons créer les ressources suivantes :
- Un VPC AWS avec des sous-réseaux publics pour la connectivité réseau.
- Un serveur NFS sur une instance Amazon EC2 pour simuler un système de stockage sur site.
- Agents AWS DataSync sur les instances EC2 pour faciliter le mouvement des données.
- Rôles et politiques IAM pour accorder les autorisations nécessaires aux opérations DataSync.
Connectez-vous à la console AWS
- Connectez-vous à la console de gestion AWSà l'aide de vos informations d'identification.
- Cliquez sur le menu déroulant dans le coin supérieur droit de l'écran et sélectionnez l'option "N.". La région "Californie" pour ce tutoriel.
Figure 1 - Sélection de la région AWS dans la console de gestion AWS
- Allez dans la console EC2 et naviguez jusqu'à la sectionKey Pair. Assurez-vous d'être dans la même région AWS qu'à l'étape précédente.
- Cliquez sur Créer une paire de clés et nommez-la "datasync".
Figure 2 - Création d'une paire de clés pour un accès sécurisé dans AWS EC2
- Cliquez sur Créeret votre navigateur téléchargera un fichier
datasync.pem
. - Sauvegardez ce fichier en toute sécurité : vous en aurez besoin plus tard dans le tutoriel.
Configurer l'environnement
Dans cette étape, vous utiliserez un modèle CloudFormation pour configurer l'infrastructure AWS nécessaire à AWS DataSync, qui a été mentionnée précédemment.
- Ouvrez la console AWS CloudFormation et cliquez sur Créer une pile.
- Sélectionnez Template is ready, puis Upload a template file.
Figure 3 - Téléchargement d'un modèle CloudFormation pour créer une nouvelle pile.
- Téléchargez le fichier à partir de Github Gist et cliquez sur Choose file, téléchargez
datasync-onprem.yaml
, et cliquez sur Next. - Dans la section Paramètres, sélectionnez une paire de clés EC2 pour permettre la connexion SSH aux instances créées par cette pile. Ne modifiez pas les valeurs des ID AMI, mais cliquez sur Suivant.
- Sur la page Options de la pile, conservez les paramètres par défaut et cliquez sur Suivant.
- Examinez la configuration et cliquez sur Créer une pile.
- Vous serez redirigé vers la console CloudFormation, où le statut indiquera "CREATE_IN_PROGRESS". Attendez que la mention "CREATE_COMPLETE" apparaisse.
Figure 4 - Examen de l'état de création d'une ressource dans AWS CloudFormation
- Une fois l'opération terminée, accédez à la section Outputs (sorties) et notez les valeurs : vous en aurez besoin pour la suite du didacticiel.
- Vous devez déployer une autre pile en suivant les mêmes étapes que celles décrites précédemment. Ce modèle ne nécessite pas de paramètres supplémentaires. Téléchargez le modèle à partir de GitHub Gist et procédez au déploiement.
Configuration de l'agent DataSync
Dans ce tutoriel, nous répliquons un environnement sur site dans AWS afin d'émuler des scénarios de transfert de données réels à l'aide d'AWS DataSync.
Au lieu d'utiliser une véritable infrastructure sur site, nous avons lancé un serveur NFS sur une instance Amazon EC2, qui sera le système de stockage source. Cela nous permet de tester et de configurer AWS DataSync comme si nous déplacions des données à partir d'un emplacement sur site.
Nous avons lancé les agents AWS DataSync sur des instances EC2 dans le même environnement pour permettre le mouvement des données. Ces agents sont chargés de relier le serveur NFS à AWS DataSync, ce qui permet de transférer des données vers des services de stockage dans le cloud tels qu'Amazon S3.
Cette architecture nous permet d'imiter, de configurer et de valider les tâches AWS DataSync pour obtenir un flux de travail transparent avant de les mettre en œuvre dans un environnement réel sur site. Dans ce tutoriel, nous utiliserons cet environnement pour enregistrer l'agent, créer les tâches DataSync et déplacer les données de manière efficace.
Figure 5 - Architecture déployée par AWS CloudFormation
Configuration du serveur NFS pour AWS DataSync
Avant de configurer AWS DataSync, il est essentiel de comprendre les données que vous allez transférer et leur organisation. Dans cette section, nous allons configurer un serveur NFS déployé dans notre environnement AWS pour qu'il agisse comme un système de stockage sur site. Cette configuration nous permettra de simuler la migration des données vers les services AWS.
Connectez-vous d'abord au serveur NFS :
- Ouvrez la console de gestion AWS et accédez à la page "N. Région "Californie".
- Sélectionnez EC2 dans la liste des services AWS.
- Localisez l'instance du serveur NFS dans la liste des instances EC2.
- Cliquez sur Connecter et suivez les instructions pour vous connecter à l'aide de Session Manager ou de SSH.
Parcourez ensuite les systèmes de fichiers. Le serveur NFS contient trois volumes EBS de 200 GiB, chacun formaté avec le système de fichiers XFS et pré-rempli avec des échantillons de données.
- Exécutez la commande suivante pour vérifier les systèmes de fichiers montés :
mount | grep /mnt
Figure 6 - Résultats attendus de la commande mount
- Ensuite, vérifiez la quantité de données présentes dans chaque système de fichiers :
df -h | grep /mnt
Figure 7 - Résultats attendus de la commande df
Comme vous pouvez le voir, fs1
et fs2
contiennent 12 GiB de données, et fs3
contient 22 GiB de données.
Configurons maintenant les exportations NFS. Pour permettre aux agents AWS DataSync d'accéder au serveur NFS, configurez le fichier /etc/exports
:
- Ouvrez le fichier
/etc/exports
en tant que root à l'aide d'un éditeur de texte :
sudo nano /etc/exports
- Ajoutez les lignes suivantes pour définir les exportations en lecture seule (ro) pour les agents DataSync :
/mnt/fs1 10.12.14.243(ro,no_root_squash) 10.12.14.249(ro,no_root_squash)
/mnt/fs2 10.12.14.243(ro,no_root_squash) 10.12.14.249(ro,no_root_squash)
/mnt/fs3 10.12.14.243(ro,no_root_squash) 10.12.14.249(ro,no_root_squash)
Remplacez 10.12.14.243
et 10.12.14.249
par les IP privées de vos instances EC2 de l'agent DataSync à partir des sorties de CloudFormation.
- Appliquez les nouveaux paramètres d'exportation en redémarrant le service NFS :
sudo systemctl restart nfs
- Vérifiez les exportations NFS :
showmount -e
Figure 8 - Résultats attendus de la commande showmount
Configuration de CloudWatch et activation des agents AWS DataSync
Une fois le serveur NFS configuré, l'étape suivante consiste à activer la journalisation AWS CloudWatch pour DataSync et à activer les agents DataSync dans l'espace "N". Région "Californie". Ainsi, tous les transferts de fichiers sont enregistrés, ce qui permet de connaître les erreurs ou les défaillances.
Avant qu'AWS DataSync puisse envoyer des journaux à CloudWatch, nous devons créer une politique de ressources qui accorde à DataSync les autorisations nécessaires.
- Copiez la politique JSON suivante et enregistrez-la sous
datasync-policy.json
sur votre machine locale :
{
"Statement": [
{
"Sid": "DataSyncLogsToCloudWatchLogs",
"Effect": "Allow",
"Action": [
"logs:PutLogEvents",
"logs:CreateLogStream"
],
"Principal": {
"Service": "datasync.amazonaws.com"
},
"Resource": "*"
}
],
"Version": "2012-10-17"
}
- Ensuite, exécutez la commande suivante dans votre terminal :
aws logs put-resource-policy --region us-west-1 --policy-name trustDataSync --policy-document file://datasync-policy.json
La commande ci-dessus permet à AWS DataSync d'écrire des journaux dans CloudWatch, ce qui permet de surveiller et de déboguer les problèmes de transfert.
Maintenant, activons les agents DataSync. Bien que les instances EC2 de l'agent DataSync aient été créées dans l'environnement "N. Californie", ils doivent être activés dans cette région avant d'être utilisés.
Note : Si vous devez installer l'agent DataSync dans VMware ou dans un autre environnement sur site, reportez-vous au guide officiel AWS. Toutefois, comme nous simulons une configuration sur site à l'aide d'instances EC2, les agents DataSync de ce tutoriel sont déployés en suivant les meilleures pratiques AWS pour les installations basées sur le cloud.
- Accédez à la console de gestion AWS et sélectionnez l'option "N. Région "Californie".
- Ouvrez le service AWS DataSync.
- Si aucun agent n'existe, cliquez sur Démarrer; sinon, cliquez sur Créer un agent.
- Dans la section Service endpoint, laissez la mention "Public service endpoints...".
- Dans la section Clé d'activation, entrez l'adresse IP publique du premier agent DataSync à partir des sorties CloudFormation :
- Agent 1 Public IP:
- IP publique de l'agent 2:
- Agent 1 Public IP:
Figure 8 - Créer et activer l'agent DataSync
- Cliquez Obtenez clé pour récupérer la clé d'activation.
- Une fois l'activation réussie, saisissez un nom d'agent (par exemple, "Agent 1" ou "Agent 2").
- Appliquez les étiquettes si nécessaire.
- Cliquez sur Créer unagent .
- Répétez les étapes ci-dessus pour le deuxième agent DataSync.
Création d'une tâche DataSync
Créons enfin une tâche DataSync ! Procédez comme suit :
- Accédez à la console AWS DataSync.
- Cliquez sur Tâches → Créer tâche.
- Créez l'emplacement de la source :
- Emplacement type: Système de fichiers en réseau (NFS).
- Agents: Sélectionnez "Agent 1 private IP" et "Agent 2 private IP".
- NFS Serveur Privé IP: IP privée NFS.
- Chemin de montage:
/mnt/fs1/d0001
(copie uniquement le répertoired0001
).
Figure 10 - Configuration de l'emplacement de la source pour AWS DataSync
- Créez un lieu de destination :
- Type d'emplacement: Amazon S3.
- Sélectionnez le seau S3 à partir des sorties de CloudFormation.
- Classe de stockage: Standard.
- Rôle de l'IAM: Sélectionnez parmi les sorties CloudFormation
Configuration des tâches de transfert de données
Une fois AWS DataSync configuré, l'étape suivante consiste à configurer les tâches de transfert de données. Ces tâches définissent comment, quand et où les données seront transférées. AWS DataSync prend en charge diverses options d'optimisation des transferts, notamment le filtrage des fichiers, la planification et la surveillance.
- Configurez les paramètres de la tâche :
- Nom de la tâche: Test Tâche
- Exclure les modèles:
*/.htaccess
et*/index.html
- Mode de transfert: Transférer les données qui ont seulement changé (détermine si DataSync transfère uniquement les données et métadonnées qui diffèrent entre la source et la destination).
- Vérifier les données: Sélectionnez "Vérifier uniquement les données transférées".
- Activez la journalisation CloudWatch :
- Groupe d'enregistrement: Sélectionnez
DataSyncLogs-datasync-incloud
. - Cliquez sur Cliquez sur SuivantRévisez les paramètres et cliquez sur Créez une tâche.
Transfert de données avec AWS DataSync
Après avoir configuré une tâche DataSync, vous devez exécuter le transfert et surveiller sa progression. Cette section explique comment démarrer un transfert manuellement ou par l'intermédiaire de l'interface de commande, comment en suivre l'état et comment résoudre les problèmes les plus courants.
Démarrage du transfert de données
- Attendez que le statut de la tâche passe de "Création" à "Disponible".
- Cliquez sur le bouton Démarrer passez en revue les paramètres, puis cliquez sur Démarrer.
Figure 11 - Liste des tâches AWS DataSync affichant les options de démarrage, de modification ou de suppression de la tâche
- Contrôler l'avancement de la tâche :
- La transition se fera par le biais de ces statuts : Lancement → Préparation → Transfert → Vérification → Réussite.
Suivi de l'avancement du transfert
Cliquez sur le bouton Tâche l'historique et sélectionnez l'objet d'exécution pour consulter les statistiques de transfert dans la tâche.
Figure 12 - Mesures de performance d'AWS DataSync indiquant le débit des fichiers, le débit des données et l'utilisation du réseau
Résolution des problèmes de transfert de données
Lors des transferts AWS DataSync, des problèmes courants tels que des défaillances de connectivité, des erreurs d'autorisation ou des vitesses de transfert lentes peuvent survenir. Pour résoudre le problème :
- Consultez les journaux de CloudWatch - Identifiez les erreurs liées aux autorisations de fichiers, à la connectivité de l'agent ou aux échecs de transfert.
- Vérifiez la connectivité du réseau - Assurez-vous que les agents DataSync peuvent atteindre la source (NFS/SMB) et la destination (S3, EFS, FSx).
- Vérifiez les autorisations IAM - Confirmez que le rôle du service DataSync dispose des autorisations nécessaires pour lire/écrire les données.
- Inspectez la configuration de l'agent - Assurez-vous que les agents sont correctement activés, sains et capables de communiquer avec le service AWS DataSync.
Étapes postérieures au transfert et synchronisation des données
Une fois le transfert de données terminé, il est important de vérifier l'intégrité des fichiers transférés et de mettre en place une synchronisation continue si nécessaire. Cette section explique comment vérifier l'exactitude des données, planifier des synchronisations incrémentielles et nettoyer les ressources inutilisées afin d'optimiser les coûts.
Vérification de l'intégrité des données
- Ouvrez la console AWS S3 et naviguez vers le bucket commençant par "datasync".
- Parcourez la corbeille et vérifiez que tous les fichiers attendus ont été transférés.
Figure 13 - Seau AWS S3 montrant les fichiers transférés via AWS DataSync
- Assurez-vous que les fichiers
.htaccess
etindex.html
n'ont pas été copiés.
Vous pouvez également vérifier les détails de l'exécution de la tâche via la CLI AWS :
- Obtenir l'ARN d'exécution de la tâche :
aws datasync list-task-executions --region us-west-1 | grep exec-
- Décrire l'exécution des tâches :
aws datasync describe-task-execution --region us-west-1 --task-execution-arn <task-execution-arn>
Figure 14 - Détails de l'exécution de la tâche AWS DataSync
- Examinez les principales mesures de performance :
EstimatedFilesToTransfer
BytesTransferred
, vitesse de transfert et durée.
Synchronisation permanente des données
Dans le monde réel, les fichiers continuent d'être ajoutés et modifiés après le transfert initial. AWS DataSync prend en charge les transferts incrémentiels, ce qui garantit que seuls les fichiers nouveaux ou modifiés sont copiés vers la destination. Dans cette section, nous allons modifier les données sur fs2
, exécuter un transfert incrémentiel et optimiser le processus à l'aide de filtres.
Commençons par modifier les fichiers sur fs2
.
- Connectez-vous au serveur NFS via SSH :
ssh ec2-user@<NFS-Server-IP>
- Créez un nouveau fichier et mettez à jour la liste des manifestes :
cd /mnt/fs2/d0001/dir0001
dd if=/dev/urandom of=newfile1 bs=1M count=1
echo "newfile1" >> manifest.lst
Cette opération ajoute un nouveau fichier (newfile1
) et modifie manifest.lst
.
Ensuite, réexécutez la tâche pour synchroniser les modifications :
- Accédez à la console AWS DataSync.
- Cliquez sur Tâches → Test Tâche (tâche créée précédemment).
- Cliquez sur Démarrer pour lancer une nouvelle exécution.
- Suivre les progrès réalisés dans le cadre de la Tâches l'historique de la tâche.
- Une fois l'opération terminée, vérifiez :
- 3 fichiers transférés (
newfile1
, mise à jourmanifest.lst
, et mise à jour du dossier). - 1 MiB de données copiées sur S3.
Figure 15 - Mesures de performance d'AWS DataSync montrant un transfert incrémentiel
- Validez le transfert dans S3 :
- Allez dans le seau S3 et confirmez la présence de
newfile1
. - Consultez
manifest.lst
pour obtenir un horodatage mis à jour.
Automatiser les transferts DataSync avec des tâches programmées
Dans les environnements où les données changent fréquemment, la programmation de synchronisations périodiques garantit que la destination reste à jour avec une intervention manuelle minimale. AWS DataSync vous permet de configurer des tâches à intervalles réguliers (par exemple, toutes les heures, tous les jours ou toutes les semaines), ce qui réduit la charge opérationnelle.
En établissant un calendrier récurrent, DataSync détectera et transférera automatiquement uniquement les fichiers nouveaux et modifiés, optimisant ainsi l'utilisation de la bande passante et l'efficacité du transfert.
Pour planifier une tâche :
- Allez dans la console AWS DataSync et modifiez une tâche existante.
- Dans le Calendrier sélectionnez "Quotidien", "Hebdomadaire", etc.
- Indiquez l'heure précise (facultatif).
- Enregistrez les paramètres et DataSync exécutera la tâche aux intervalles spécifiés.
Nettoyage et optimisation des coûts
Une fois le transfert de données terminé, il est essentiel de nettoyer les ressources inutilisées afin d'éviter les coûts inutiles. Procédez comme suit :
- Arrêtez et supprimez les tâches DataSync :
- Accédez à la console AWS DataSync, sélectionnez la tâche et choisissez Arrêter si elle est en cours d'exécution.
- Cliquez sur Actions → Supprimer pour supprimer les tâches terminées.
- Supprimez les agents DataSync :
- Naviguez vers Agents dans la console DataSync.
- Sélectionnez les agents et cliquez sur Supprimer pour les supprimer.
Supprimez la pile CloudFormation
- Ouvrez la console AWS CloudFormation.
- Sélectionnez la pile CloudFormation créée pendant le tutoriel.
- Cliquez sur Supprimer (en haut à droite).
Figure 15 - Confirmation de la suppression de la pile dans AWS
- Confirmez la suppression - CloudFormation supprimera automatiquement toutes les ressources associées (cela peut prendre jusqu'à 15 minutes).
- Surveillez la console CloudFormation pour vous assurer que la pile est entièrement supprimée.
Optimisez les coûts d'AWS DataSync
Pour minimiser les dépenses liées au transfert de données, tenez compte des meilleures pratiques suivantes :
- Utiliser des transferts incrémentiels - Configurez DataSync pour qu'il ne transfère que les fichiers nouveaux ou modifiés afin de réduire les mouvements de données inutiles.
- Optimisez la fréquence des transferts - Planifiez les tâches en fonction des taux de changement des données plutôt que d'effectuer des synchronisations en continu.
- Choisissez un stockage rentable - Stockez les données auxquelles vous accédez rarement dans Amazon S3 Glacier plutôt que dans Amazon EFS, dont les coûts sont plus élevés.
En nettoyant correctement les ressources et en optimisant les stratégies de transfert, vous pouvez réduire considérablement les coûts AWS tout en maintenant une synchronisation efficace des données.
Fonctionnalités avancées de AWS DataSync
Au-delà des transferts de base, AWS DataSync offre des fonctionnalités puissantes qui améliorent les performances, la rentabilité et la sécurité. Cette section explore les principaux cas d'utilisation avancés, notamment l'intégration de S3 et la migration de NFS vers EFS.
Utilisation de DataSync avec Amazon S3
AWS DataSync est un outil puissant pour déplacer de grandes quantités de données vers et depuis S3 et est idéal pour les tâches de sauvegarde, d'archivage et de migration vers le cloud. Il améliore les performances grâce aux téléchargements en plusieurs parties, qui divisent les fichiers volumineux en parties plus petites et les transfèrent ensuite en parallèle. En outre, l'intégration de DataSync avec les classes de stockage S3 permet aux utilisateurs de réaliser des économies en migrant les données moins actives vers S3 Glacier ou S3 Intelligent-Tiering.
Dans ce tutoriel, nous avons expliqué comment configurer une tâche DataSync, mettre en place une source NFS et déplacer des fichiers vers un panier S3, tout en excluant les fichiers indésirables. Vous pouvez utiliser ces étapes pour planifier des déplacements de données importants avec peu ou pas d'impact opérationnel.
Migration de NFS vers Amazon EFS avec DataSync
Pour les entreprises qui doivent migrer des partages NFS sur site vers Amazon EFS, la solution est automatisée, sécurisée et évolutive : AWS DataSync. Le problème est que S3 est un système de stockage d'objets. Parallèlement, Amazon EFS (Elastic File System) est un service de stockage de fichiers entièrement géré et conforme à la norme POSIX, ce qui en fait un bon choix pour les applications nécessitant un accès partagé et une faible latence.
Voici comment DataSync vous aide à migrer de NFS à EFS :
- Préserve les métadonnées - Conserve les autorisations, l'horodatage et la propriété des fichiers.
- Prise en charge des synchronisations incrémentielles - Copie uniquement les fichiers modifiés ou nouveaux, réduisant ainsi les coûts de transfert.
- Automatise la migration - Plus besoin de scripts manuels ou de stratégies complexes de déplacement des données.
Bien que ce tutoriel soit basé sur la migration de NFS vers S3, les mêmes principes de DataSync peuvent être utilisés lors de la migration vers Amazon EFS. La principale variation consiste à choisir EFS comme cible afin que le mouvement des données soit bien exécuté pour les applications qui ont besoin d'un système de fichiers avec une mise à l'échelle dynamique dans AWS.
Meilleures pratiques pour l'utilisation d'AWS DataSync
Pour tirer le meilleur parti d'AWS DataSync, il est essentiel de suivre les meilleures pratiques qui améliorent la vitesse, la sécurité et la rentabilité. Cette section présente des stratégies clés pour optimiser les transferts de données, garantir la sécurité des données et gérer efficacement le contrôle.
Optimiser la vitesse et le coût du transfert
Pour les migrations de données à grande échelle, AWS Direct Connect (DX) est une connexion deréseau privé dédié qui évite l'internet public et permet des transferts plus rapides, plus sûrs et avec une latence plus faible. Si DX n'est pas disponible, d'autres solutions, comme lesconnexions VPN ou le peering VPC, peuvent améliorer les vitesses de transfert tout en maintenant la sécurité.
De plus, AWS DataSync intègre lacompression qui réduit la quantité de données déplacées sur le réseau, augmentant ainsi les vitesses et minimisant les coûts de la bande passante. Cependant, comme la compression utilise des ressources de l'unité centrale, il est essentiel de comparer les avantages en termes de performances avec les éventuels frais généraux du système.
En outre, la planification des tâches et la configuration peuvent être optimisées pour améliorer encore les performances de DataSync. La reprogrammation des transferts aux heures creuses permet d'éviter le trafic sur le réseau et de garantir la disponibilité de la bande passante, en particulier lors du transfert de fichiers volumineux. Le réglage fin de la taille de la mémoire tampon et de plusieurs flux de transfert parallèles en fonction de la capacité du réseau et du stockage améliore considérablement le débit.
Pour les flux de fichiers de petite taille, l'augmentation du niveau de parallélisme réduit le temps nécessaire au transfert des données. En revanche, une gestion efficace de la mémoire tampon améliore les performances et la fiabilité des fichiers volumineux.
Garantir la sécurité des données
Toutes les données transférées par AWS DataSync sont cryptées en transit via TLS pour garantir un transfert réseau sécurisé. Le chiffrement des services de stockage de destination, notamment Amazon S3, Amazon EFS et Amazon FSx, doit également être activé. Pour augmenter le niveau de protection lors de l'utilisation de S3, active égalementle chiffrement côté serveur.
Lorsque vous attribuez des rôles IAM pour les tâches DataSync, suivez le principe du moindre privilège. Pour minimiser les risques de sécurité, n'accordez que les autorisations nécessaires aux agents DataSync et aux rôles d'exécution des tâches. Évitez d'utiliser des clés de politique basées sur des balises et utilisez plutôt des politiques basées sur les ressources afin d'éviter les altérations imprévues des données.
Pour les transferts de données intra-VPC, activez les points d'extrémité VPC pour qu'ils participent au trafic DataSync au sein du réseau AWS sans passer par l'Internet public. Cela permet de réduire les risques de sécurité et d'améliorer les performances lors du transfert de données entre différents services AWS.
L'agent DataSync doit être exécuté en toute sécurité, conformément aux nouvelles recommandations relatives à la sécurité du système d'exploitation et à la segmentation du réseau. Il doit également être misà jour à l'adresse et les politiques de sécurité du groupe AWS doivent être appliquées pour interdire tout accès non autorisé.
Contrôler et gérer efficacement les transferts
Une surveillance efficace permet de garantir la réussite et l'optimisation des transferts de données dans AWS DataSync. Ce cursus a également montré comment s'intégrer à CloudWatch pour assurer un suivi en temps réel de l'exécution des tâches, des vitesses de transfert, des taux d'erreur et du débit. L'examen des journaux des tâches permet d'identifier les problèmes, de vérifier l'intégrité des fichiers et de résoudre les échecs de transfert.
Figure 16 - Tableau de bord de surveillance AWS DataSync CloudWatch indiquant les fichiers et les octets transférés
En outre,les alarmes de CloudWatchsignalent les échecs de transfert ou les problèmes de performance, qui peuvent survenir avant qu'ils ne soient censés se produire et peuvent être traités avant qu'ils ne deviennent un problème plus important.
Dépannage de AWS DataSync
Bien qu'AWS DataSync automatise les transferts de données, vous pouvez rencontrer des problèmes de connectivité, des erreurs de permission ou des incohérences dans les données. Cette section fournit des solutions aux problèmes courants, explique comment déboguer à l'aide des journaux et assure une synchronisation fluide des données.
Erreurs courantes et comment les corriger
Les utilisateurs d'AWS DataSync peuvent rencontrer des délais d'attente, des problèmes d'autorisation ou des erreurs d'intégrité des données pendant les transferts. Voici quelques problèmes courants et leurs solutions :
- Délai d'exécution des tâches ou lenteur des transferts
- Cause: Congestion du réseau, limites de la bande passante ou nombre élevé de fichiers.
- Solution: Augmentez l'allocation de la bande passante et planifiez les transferts pendant les heures creuses.
- Erreurs de refus d'autorisation
- Cause: Rôles IAM ou restrictions d'accès NFS/SMB.
- Solution: Assurez-vous que le rôle IAM de DataSync dispose des autorisations correctes et vérifiez que les autorisations d'exportation NFS ou de partage SMB permettent l'accès de l'agent.
- Problèmes d'intégrité des données (fichiers corrompus ou manquants)
- Cause: Transferts incomplets, interruptions ou mauvaises configurations de vérification.
- Solution: Activez le mode de vérification des données dans les paramètres de la tâche, vérifiez les journaux pour détecter les fichiers ignorés ou ayant échoué, et réexécutez la tâche si nécessaire.
- Échecs de connexion des agents
- Cause: Mauvaise configuration du réseau, blocage du pare-feu ou activation incorrecte.
- Solution: Assurez-vous que l'agent dispose d'un accès à Internet ou configurez les points d'extrémité VPC pour une connectivité privée. Si nécessaire, réenregistrez l'agent.
Débogage avec les journaux et CloudWatch
Pour dépanner efficacement les tâches AWS DataSync, les journaux fournissent des informations précieuses sur les échecs de transfert, les fichiers ignorés et les erreurs de réseau. Ce tutoriel a montré l'intégration de CloudWatch pour la surveillance et le débogage des exécutions de DataSync.
Voici comment vérifier les journaux des tâches DataSync :
- Naviguez vers CloudWatch Logs → Ouvrez le groupe de journaux associé à la tâche DataSync.
- Recherchez les messages d'erreur ou les échecs de transfert liés à des problèmes d'autorisation, à des dépassements de délai ou à des erreurs de réseau.
Figure 17 - Flux de journaux AWS CloudWatch pour l'exécution de la tâche DataSync
Ensuite, configurez les alarmes CloudWatch pour les défaillances :
- Aller à CloudWatch Metrics → Sélectionnez AWS/DataSync.
- Créez des alarmes en cas de taux d'échec élevé, de baisse de la vitesse de transfert ou de problèmes de connectivité des agents.
Conclusion
AWS DataSync simplifie les transferts de données automatisés, sécurisés et efficaces entre les environnements sur site et les services de stockage AWS tels que Amazon S3, EFS et FSx. Ce tutoriel propose une approche pratique de la configuration de DataSync, de la mise en place de NFS en tant que source et du transfert de données tout en garantissant la sécurité et les performances.
Nous avons étudié les transferts incrémentiels, la planification des tâches et la surveillance par CloudWatch afin d'optimiser DataSync en termes de coût, de vitesse et de fiabilité. En outre, les étapes de dépannage et les techniques d'analyse des journaux permettent de diagnostiquer et de résoudre efficacement les problèmes de transfert.
Si vous ne connaissez pas encore AWS ou si vous souhaitez approfondir votre compréhension des concepts et des services cloud, je vous recommande de consulter ces ressources d'apprentissage connexes :
- Concepts AWS
- Technologie et services cloud AWS
- Sécurité AWS et gestion des coûts
- Le cursus de certification AWS Cloud Practitioner (CLF-C02)
Ces cours sont un excellent moyen d'acquérir des connaissances fondamentales et de se préparer à des scénarios de cloud réels utilisant AWS !
Rahul Sharma est ambassadeur AWS, architecte DevOps et blogueur technique spécialisé dans le cloud computing, les pratiques DevOps et les technologies open-source. Avec une expertise dans AWS, Kubernetes et Terraform, il simplifie les concepts complexes pour les apprenants et les professionnels à travers des articles et des tutoriels engageants. Rahul est passionné par la résolution des défis DevOps et par le partage des connaissances afin d'aider la communauté technologique.