View a markdown version of this page

Exportez les tables Amazon RDS for SQL Server vers un compartiment S3 en utilisant AWS DMS - Recommandations AWS

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.

Exportez les tables Amazon RDS for SQL Server vers un compartiment S3 en utilisant AWS DMS

Subhani Shaik, Amazon Web Services

Résumé

Amazon Relational Database Service (Amazon RDS) pour SQL Server ne prend pas en charge le chargement de données sur d'autres serveurs liés à un moteur de base de données (DB) sur le cloud Amazon Web Services AWS(). Au lieu de cela, vous pouvez utiliser AWS Database Migration Service (AWS DMS) pour exporter les tables Amazon RDS for SQL Server vers un bucket Amazon Simple Storage Service (Amazon S3), où les données sont disponibles pour d'autres moteurs de base de données.

AWS DMS vous permet de migrer des bases de données de manière AWS rapide et sécurisée. La base de données source reste pleinement opérationnelle pendant la migration, minimisant ainsi les interruptions de service pour les applications qui dépendent de la base de données. AWS DMS peut migrer vos données vers et depuis les bases de données commerciales et open source les plus utilisées.

Ce modèle est utilisé AWS Secrets Manager lors de la configuration des AWS DMS points de terminaison. Secrets Manager vous aide à protéger les secrets nécessaires pour accéder à vos applications, services et ressources informatiques. Vous pouvez utiliser le service pour alterner, gérer et récupérer les informations d'identification de base de données, les clés d'API et d'autres secrets tout au long de leur cycle de vie. Les utilisateurs et les applications récupèrent les secrets en appelant Secrets Manager, ce qui réduit le besoin de coder en dur les informations sensibles. Secrets Manager propose une rotation secrète avec intégration intégrée pour Amazon RDS, Amazon Redshift et Amazon DocumentDB (avec compatibilité avec MongoDB). En outre, le service est extensible à d'autres types de secrets, notamment les clés API et les jetons OAuth. Avec Secrets Manager, vous pouvez contrôler l'accès aux secrets en utilisant des autorisations précises et en contrôlant la rotation des secrets de manière centralisée pour les ressources dans le AWS cloud, les services tiers et sur site.

Conditions préalables et limitations

Conditions préalables

  • Un actif Compte AWS

  • Un compartiment Amazon S3

  • Un cloud privé virtuel (VPC)

  • Un sous-réseau de base de données

  • Amazon RDS for SQL Server

  • Rôle Gestion des identités et des accès AWS (IAM) avec accès (liste, obtention et placement d'objets) au compartiment S3 pour le compte de l'instance Amazon RDS

  • Secrets Manager pour stocker les informations d'identification de l'instance Amazon RDS

Architecture

Pile technologique

  • Amazon RDS for SQL Server

  • AWS DMS

  • Amazon S3

  • AWS Secrets Manager

Architecture cible

Le schéma suivant montre l'architecture permettant d'exporter les données de l'instance Amazon RDS vers le compartiment Amazon S3 à l'aide de AWS DMS.

La description suit le schéma.
  1. La tâche de AWS DMS migration se connectant à l'instance Amazon RDS source via le point de terminaison source

  2. Copier des données depuis l'instance Amazon RDS source

  3. La tâche de AWS DMS migration se connectant au compartiment Amazon S3 cible via le point de terminaison cible

  4. Exportation des données copiées vers le compartiment Amazon S3 au format CSV (valeurs séparées par des virgules)

Outils

Services AWS

Autres outils

Bonnes pratiques

  • Exécutez une validation de principe avec un sous-ensemble de tables avant la migration complète afin de comparer les performances et d'identifier les problèmes.

  • Évitez d'exécuter AWS DMS des tâches pendant les heures de pointe de la base de données afin de réduire la charge sur l'instance Amazon RDS source.

  • Suivez les meilleures pratiques pour AWS DMS.

  • Suivez les meilleures pratiques de sécurité pour Amazon S3.

Épopées

Sous-tâcheDescriptionCompétences requises

Créez l'instance Amazon RDS for SQL Server.

  1. Ouvrez le AWS Management Console, choisissez RDS et utilisez l'option de création standard pour créer une instance Amazon RDS avec l'édition requise, telle que SQL Server Express Edition, SQL Server Standard Edition ou SQL Server Enterprise Edition. Pour la version, choisissez 2016 ou version ultérieure.

  2. Sous Modèles, sélectionnez Dev/Test.

DBA, ingénieur DevOps

Configurez les informations d'identification pour l'instance.

  1. Entrez un nom pour l'instance.

  2. Fournissez un nom d'utilisateur et un mot de passe pour l'instance Amazon RDS.

DBA, ingénieur DevOps

Configurez la classe d'instance, le stockage, le dimensionnement automatique et la disponibilité.

  1. Sélectionnez la classe d'instance de base de données dans la liste : classes Standard, Memory Optimized et Burstable. Choisissez le type d'instance de base de données qui alloue la capacité de calcul, de réseau et de mémoire requise par les charges de travail planifiées pour cette instance de base de données. Pour plus d’informations, consultez la documentation AWS.

  2. Sélectionnez le type de stockage dans la liste : SSD à usage général, SSD IOPS provisionné ou magnétique. Allouez la taille de stockage par défaut selon les besoins.

  3. Choisissez Activer le dimensionnement automatique du stockage pour augmenter le stockage Amazon RDS en fonction de votre planification des capacités.

  4. Un Multi-AZ déploiement avec une instance de réplication est pris en charge par AWS DMS. En cas de panne dans la zone de disponibilité, le matériel interne, ou le réseau, AWS DMS créera une instance de secours et fournira une haute disponibilité (HA) par le biais d'un basculement automatique vers les répliques de secours. En fonction de la taille de votre importation, sélectionnez l'option appropriée.

DBA, ingénieur DevOps

Spécifiez le VPC, le groupe de sous-réseaux, l'accès public et le groupe de sécurité.

Sélectionnez le VPC, les groupes de sous-réseaux de base de données et le groupe de sécurité VPC selon les besoins pour créer l'instance Amazon RDS. Suivez les meilleures pratiques, par exemple :

  • N'activez pas l'accès public à l'instance Amazon RDS.

  • N'utilisez pas le CIDR 0.0.0. 0/0 dans les groupes de sécurité.

  • Utilisez uniquement l'adresse IP et les informations de port requises pour accéder à l'instance Amazon RDS.

DBA, ingénieur DevOps

Configurez la surveillance, la sauvegarde et la maintenance.

  1. Spécifiez les options de sauvegarde souhaitées. Par défaut, les sauvegardes automatisées sont activées avec une période de conservation de 7 jours.

  2. Choisissez les paramètres de fenêtre de mise à niveau automatique et de maintenance appropriés pour appliquer les modifications ou les opérations de maintenance en attente à la base de données par Amazon RDS.

  3. Choisissez Créer une base de données.

DBA, ingénieur DevOps
Sous-tâcheDescriptionCompétences requises

Créez une table et chargez les données d'exemple.

Dans la nouvelle base de données, créez une table. Utilisez l'exemple de code de la section Informations supplémentaires pour charger des données dans le tableau.

DBA, ingénieur DevOps
Sous-tâcheDescriptionCompétences requises

Créez le secret.

  1. Sur la console, choisissez Secrets Manager, puis Stocker un nouveau secret.

  2. Entrez un nom d'utilisateur et un mot de passe pour la base de données Amazon RDS for SQL Server.

Ce secret sera utilisé pour le point de terminaison AWS DMS source.

DBA, ingénieur DevOps
Sous-tâcheDescriptionCompétences requises

Créez un rôle IAM pour accéder à Amazon RDS.

  1. Sur la console, choisissez IAM et créez un rôle IAM qui permet à un compartiment S3 d' read/write accéder à Amazon RDS.

  2. Sous Fonctionnalité, sélectionnez Intégration S3.

DBA, ingénieur DevOps
Sous-tâcheDescriptionCompétences requises

Créez le compartiment Amazon S3.

Pour enregistrer les données depuis Amazon RDS for SQL Server, sur la console, choisissez S3, puis Create bucket. Assurez-vous que le compartiment Amazon S3 n'est pas accessible au public.

DBA, ingénieur DevOps
Sous-tâcheDescriptionCompétences requises

Créez un rôle IAM pour accéder AWS DMS à Amazon S3.

Créez un rôle IAM qui permet de AWS DMS répertorier, d'obtenir et de placer des objets depuis le compartiment Amazon S3.

DBA, ingénieur DevOps
Sous-tâcheDescriptionCompétences requises

Créez le point de terminaison AWS DMS source.

  1. Sur la console, choisissez Database Migration Service, puis Endpoints. Créez le point de terminaison source en cochant la case Sélectionner une instance de base de données RDS.

  2. Pour le moteur source, sélectionnez Microsoft SQL Server.

  3. Sous Accès à la base de données des terminaux AWS Secrets Manager, choisissez et entrez le secret et le rôle IAM que vous avez créés précédemment, ainsi que le nom de la base de données.

  4. Testez le point de terminaison source.

DBA, ingénieur DevOps

Créez le point de terminaison AWS DMS cible.

Créez le point de terminaison cible en sélectionnant Amazon S3 comme moteur cible.

Indiquez le nom du compartiment Amazon S3 et le nom du dossier pour le rôle IAM que vous avez créé précédemment.

DBA, ingénieur DevOps

Créez l'instance AWS DMS de réplication.

Dans le même VPC, le même sous-réseau et le même groupe de sécurité, créez l' AWS DMS instance de réplication. Pour plus d'informations sur le choix d'une classe d'instance, consultez la AWS documentation.

DBA, ingénieur DevOps

Créez la tâche de AWS DMS migration.

Pour exporter les données d'Amazon RDS for SQL Server vers le compartiment Amazon S3, créez une tâche de migration de base de données. Pour le type de migration, choisissez Migrer les données existantes. Sélectionnez les AWS DMS points de terminaison et l'instance de réplication que vous avez créés.

DBA, ingénieur DevOps
Sous-tâcheDescriptionCompétences requises

Exécutez la tâche de migration de base de données.

Pour exporter les données de la table SQL Server, lancez la tâche de migration de base de données. La tâche exportera les données d'Amazon RDS for SQL Server vers le compartiment Amazon S3 au format CSV.

DBA, ingénieur DevOps
Sous-tâcheDescriptionCompétences requises

Supprimez les ressources.

Pour éviter des coûts supplémentaires, utilisez la console pour supprimer les ressources dans l'ordre suivant :

  1. Tâche de migration

  2. Instance de réplication

  3. Points de terminaison

  4. Compartiment Amazon S3

  5. Instance de base de données

DBA, ingénieur DevOps

Résolution des problèmes

ProblèmeSolution

Résolution des problèmes liés à Microsoft SQL Server

Pour plus d'informations sur la résolution des problèmes liés à Microsoft SQL Server lors de l'utilisation AWS DMS, consultez la section Résolution des problèmes liés à Microsoft SQL Server.

Résolution des problèmes de migration

Pour plus d'informations sur la résolution des problèmes de migration lors de l'utilisation AWS DMS, consultez la section Résolution des problèmes de migration dans AWS Database Migration Service.

Ressources connexes

Informations supplémentaires

Pour créer la base de données et la table, et pour charger les données d'exemple, utilisez le code suivant :

--Step1: Database creation in RDS SQL Server CREATE DATABASE [Test_DB] ON PRIMARY ( NAME = N'Test_DB', FILENAME = N'D:\rdsdbdata\DATA\Test_DB.mdf' , SIZE = 5120KB , FILEGROWTH = 10%) LOG ON ( NAME = N'Test_DB_log', FILENAME = N'D:\rdsdbdata\DATA\Test_DB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%) GO --Step2: Create Table USE Test_DB GO Create Table Test_Table(ID int, Company Varchar(30), Location Varchar(20)) --Step3: Load sample data. USE Test_DB GO Insert into Test_Table values(1,'AnyCompany','India') Insert into Test_Table values(2,'AnyCompany','USA') Insert into Test_Table values(3,'AnyCompany','UK') Insert into Test_Table values(4,'AnyCompany','Hyderabad') Insert into Test_Table values(5,'AnyCompany','Banglore')