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 tâche de AWS DMS migration se connectant à l'instance Amazon RDS source via le point de terminaison source
Copier des données depuis l'instance Amazon RDS source
La tâche de AWS DMS migration se connectant au compartiment Amazon S3 cible via le point de terminaison cible
Exportation des données copiées vers le compartiment Amazon S3 au format CSV (valeurs séparées par des virgules)
Outils
Services AWS
AWS Database Migration Service (AWS DMS) vous aide à migrer les banques de données vers le AWS cloud ou entre des combinaisons de configurations cloud et sur site.
Gestion des identités et des accès AWS (IAM) vous aide à gérer en toute sécurité l'accès à vos AWS ressources en contrôlant qui est authentifié et autorisé à les utiliser.
Amazon Relational Database Service (Amazon RDS) vous aide à configurer, exploiter et dimensionner une base de données relationnelle dans le cloud. AWS
Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.
AWS Secrets Manager vous aide à remplacer les informations d'identification codées en dur dans votre code, y compris les mots de passe, par un appel d'API à Secrets Manager pour récupérer le secret par programmation.
Autres outils
Microsoft SQL Server Management Studio (SSMS)
est un outil de gestion de SQL Server, y compris l'accès, la configuration et l'administration des composants de SQL Server.
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âche | Description | Compétences requises |
|---|---|---|
Créez l'instance Amazon RDS for SQL Server. |
| DBA, ingénieur DevOps |
Configurez les informations d'identification pour l'instance. |
| DBA, ingénieur DevOps |
Configurez la classe d'instance, le stockage, le dimensionnement automatique et la disponibilité. |
| 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 :
| DBA, ingénieur DevOps |
Configurez la surveillance, la sauvegarde et la maintenance. |
| DBA, ingénieur DevOps |
| Sous-tâche | Description | Compé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âche | Description | Compétences requises |
|---|---|---|
Créez le secret. |
Ce secret sera utilisé pour le point de terminaison AWS DMS source. | DBA, ingénieur DevOps |
| Sous-tâche | Description | Compétences requises |
|---|---|---|
Créez un rôle IAM pour accéder à Amazon RDS. |
| DBA, ingénieur DevOps |
| Sous-tâche | Description | Compé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âche | Description | Compé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âche | Description | Compétences requises |
|---|---|---|
Créez le point de terminaison AWS DMS 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âche | Description | Compé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âche | Description | Compétences requises |
|---|---|---|
Supprimez les ressources. | Pour éviter des coûts supplémentaires, utilisez la console pour supprimer les ressources dans l'ordre suivant :
| DBA, ingénieur DevOps |
Résolution des problèmes
| Problème | Solution |
|---|---|
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')