

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.

# Migration
<a name="migration-pattern-list"></a>

**Topics**
+ [Création de CloudFormation modèles AWS pour les tâches AWS DMS à l'aide de Microsoft Excel et Python](create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python.md)
+ [Commencez par la découverte automatique de portefeuilles](get-started-with-automated-portfolio-discovery.md)
+ [Migrez les charges de travail Cloudera sur site vers Cloudera Data Platform sur AWS](migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.md)
+ [Résoudre les erreurs de connexion après la migration de Microsoft SQL Server vers le cloud AWS](resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.md)
+ [Redémarrez automatiquement l'agent de réplication AWS sans le désactiver SELinux après le redémarrage d'un serveur source RHEL](restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.md)
+ [Ré-architecte](migration-rearchitect-pattern-list.md)
+ [Réhéberger](migration-rehost-pattern-list.md)
+ [Déménager](migration-relocate-pattern-list.md)
+ [Recréation de plateforme](migration-replatform-pattern-list.md)
+ [Schémas de migration par charge de travail](migration-migration-patterns-by-workload-pattern-list.md)
+ [Plus de modèles](migration-more-patterns-pattern-list.md)

# Création de CloudFormation modèles AWS pour les tâches AWS DMS à l'aide de Microsoft Excel et Python
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python"></a>

*Venkata Naveen Koppula, Amazon Web Services*

## Résumé
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-summary"></a>

Ce modèle décrit les étapes à suivre pour créer automatiquement des CloudFormation modèles AWS pour [AWS Database Migration Service](https://aws.amazon.com/dms/) (AWS DMS) à l'aide de Microsoft Excel et Python.

La migration de bases de données à l'aide d'AWS DMS implique souvent la création de CloudFormation modèles AWS pour provisionner les tâches AWS DMS. Auparavant, la création de CloudFormation modèles AWS nécessitait la connaissance du langage de programmation JSON ou YAML. Avec cet outil, vous n'avez besoin que de connaissances de base sur Excel et sur la façon d'exécuter un script Python à l'aide d'un terminal ou d'une fenêtre de commande.

En entrée, l'outil utilise un classeur Excel qui inclut les noms des tables à migrer, les Amazon Resource Names (ARNs) des points de terminaison AWS DMS et les instances de réplication AWS DMS. L'outil génère ensuite des CloudFormation modèles AWS pour les tâches AWS DMS requises.

Pour obtenir des étapes détaillées et des informations générales, consultez le billet de blog [Créer des CloudFormation modèles AWS pour les tâches AWS DMS à l'aide de Microsoft Excel sur](https://aws.amazon.com/blogs/database/create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel/) le blog de base de données AWS.

## Conditions préalables et limitations
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Microsoft Excel version 2016 ou ultérieure
+ Python version 2.7 ou ultérieure
+ Le module Python **xlrd** (installé à l'invite de commande avec la commande : **pip install** xlrd)
+ Points de terminaison source et cible AWS DMS et instance de réplication AWS DMS

**Limites**
+ Les noms des schémas, des tables et des colonnes associées sont transformés en minuscules sur les points de terminaison de destination.
+ Cet outil ne traite pas de la création de points de terminaison et d'instances de réplication AWS DMS.
+ Actuellement, l'outil ne prend en charge qu'un seul schéma pour chaque tâche AWS DMS.

## Architecture
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-architecture"></a>

**Pile technologique source**
+ Une base de données sur site
+ Microsoft Excel

**Pile technologique cible**
+  CloudFormation Modèles AWS
+ Une base de données dans le cloud AWS 

**Architecture**

![\[Flux de travail permettant d'utiliser Excel et Python pour créer automatiquement des CloudFormation modèles pour AWS DMS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/778c7c1e-2647-496f-8afd-52ff1ef02489/images/8fe1550d-8966-41aa-a480-5f7bef20629f.png)


## Outils
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-tools"></a>
+ [Pycharm IDE](https://aws.amazon.com/pycharm/), ou tout environnement de développement intégré (IDE) supportant la version 3.6 de Python
+ Microsoft Office 2016 (pour Microsoft Excel)

## Épopées
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-epics"></a>

### Configuration du réseau, de l'instance de réplication AWS DMS et des points de terminaison
<a name="configure-the-network-aws-dms-replication-instance-and-endpoints"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Si nécessaire, demandez une augmentation du quota de service. | Demandez une augmentation du quota de service pour les tâches AWS DMS si nécessaire. | AWS général | 
| Configurez la région AWS, les clouds privés virtuels (VPCs), les plages d'adresses CIDR, les zones de disponibilité et les sous-réseaux. |  | AWS général | 
| Configurez l'instance de réplication AWS DMS. | L'instance de réplication AWS DMS peut se connecter à la fois aux bases de données sur site et aux bases de données AWS. | AWS général | 
| Configurez les points de terminaison AWS DMS. | Configurez les points de terminaison pour les bases de données source et cible. | AWS général | 

### Préparation des feuilles de travail pour les tâches et les balises AWS DMS
<a name="prepare-the-worksheets-for-aws-dms-tasks-and-tags"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez la liste des tables. | Répertoriez toutes les tables impliquées dans la migration. | Base de données | 
| Préparez la feuille de travail des tâches. | Préparez la feuille de calcul Excel à l'aide de la liste de tableaux que vous avez configurée. | Informations générales sur AWS, Microsoft Excel | 
| Préparez la feuille de travail sur les balises. | Détaillez les balises de ressources AWS à associer aux tâches AWS DMS. | Informations générales sur AWS, Microsoft Excel | 

### Téléchargez et exécutez l'outil
<a name="download-and-run-the-tool"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez et extrayez l'outil de génération de modèles depuis le GitHub référentiel. | GitHub référentiel : https://github.com/aws-samples/dms-cloudformation-templates-generator/ |  | 
| Exécutez l'outil. | Suivez les instructions détaillées figurant dans le billet de blog répertorié sous « Références et aide ». |  | 

## Ressources connexes
<a name="create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python-resources"></a>
+ [Création de CloudFormation modèles AWS pour les tâches AWS DMS à l'aide de Microsoft Excel (article de blog)](https://aws.amazon.com/blogs/database/create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel/)
+ [Générateur de CloudFormation modèles DMS (GitHub référentiel)](https://github.com/aws-samples/dms-cloudformation-templates-generator/tree/v1.0)
+ [Documentation Python](https://www.python.org/)
+ [Description et téléchargement du xlrd](https://pypi.org/project/xlrd/)
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/)
+ [ CloudFormation Documentation AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/)

# Commencez par la découverte automatique de portefeuilles
<a name="get-started-with-automated-portfolio-discovery"></a>

*Pratik Chunawala et Rodolfo Jr. Cerrada, Amazon Web Services*

## Résumé
<a name="get-started-with-automated-portfolio-discovery-summary"></a>

L'évaluation du portefeuille et la collecte de métadonnées constituent un défi crucial lors de la migration d'applications et de serveurs vers le cloud Amazon Web Services (AWS), en particulier pour les migrations de grande envergure impliquant plus de 300 serveurs. L'utilisation d'un outil de découverte automatique du portefeuille peut vous aider à collecter des informations sur vos applications, telles que le nombre d'utilisateurs, la fréquence d'utilisation, les dépendances et les informations sur l'infrastructure de l'application. Ces informations sont essentielles lors de la planification des vagues de migration afin de pouvoir hiérarchiser et regrouper correctement les applications présentant des caractéristiques similaires. L'utilisation d'un outil de découverte rationalise la communication entre l'équipe du portefeuille et les propriétaires de l'application, car l'équipe du portefeuille peut valider les résultats de l'outil de découverte plutôt que de collecter manuellement les métadonnées. Ce modèle décrit les principales considérations relatives à la sélection d'un outil de découverte automatique et fournit des informations sur la manière de le déployer et de le tester dans votre environnement.

Ce modèle inclut un modèle, qui constitue un point de départ pour créer votre propre liste d'activités de haut niveau. À côté de la liste de contrôle se trouve un modèle pour une matrice responsable, responsable, consultée et informée (RACI). Vous pouvez utiliser cette matrice RACI pour déterminer qui est responsable de chaque tâche de votre liste de contrôle.

## Épopées
<a name="get-started-with-automated-portfolio-discovery-epics"></a>

### Sélectionnez un outil de découverte
<a name="select-a-discovery-tool"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Déterminez si un outil de découverte convient à votre cas d'utilisation. | Un outil de découverte n'est peut-être pas la meilleure solution pour votre cas d'utilisation. Tenez compte du temps nécessaire pour sélectionner, acquérir, préparer et déployer un outil de découverte. La configuration de l'appliance de numérisation pour un outil de découverte sans agent dans votre environnement ou l'installation d'agents sur toutes les charges de travail concernées peuvent prendre de 4 à 8 semaines. Une fois déployé, vous devez prévoir 4 à 12 semaines pour que l'outil de découverte collecte les métadonnées en analysant les charges de travail des applications et en effectuant une analyse de la pile d'applications. Si vous migrez moins de 100 serveurs, vous pourrez peut-être collecter manuellement les métadonnées et analyser les dépendances plus rapidement que le temps nécessaire au déploiement et à la collecte des métadonnées à l'aide d'un outil de découverte automatique.  | Responsable de la migration, ingénieur de migration | 
| Sélectionnez un outil de découverte. | Consultez les **considérations relatives à la sélection d'un outil de découverte automatique** dans la section [Informations supplémentaires](#get-started-with-automated-portfolio-discovery-additional). Déterminez les critères appropriés pour sélectionner un outil de découverte adapté à votre cas d'utilisation, puis évaluez chaque outil en fonction de ces critères. Pour une liste complète des outils de découverte automatisés, consultez la section Outils de [migration de découverte, de planification et de recommandation](https://aws.amazon.com/prescriptive-guidance/migration-tools/migration-discovery-tools/). | Responsable de la migration, ingénieur de migration | 

### Préparer l'installation
<a name="prepare-for-installation"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez la liste de contrôle préalable au déploiement.  | Créez une liste des tâches que vous devez effectuer avant de déployer l'outil. Par exemple, consultez la [liste de contrôle préalable au déploiement](https://docs.flexera.com/foundationcloudscape/ug/Content/helplibrary/FCGS_Predeployment.htm) sur le site Web de documentation de Flexera. | Responsable du développement, ingénieur de migration, responsable de la migration, administrateur réseau | 
| Préparez les exigences du réseau. | Fournissez les ports, les protocoles, les adresses IP et le routage nécessaires à l'exécution de l'outil et à l'accès aux serveurs cibles. Pour plus d'informations, consultez le guide d'installation de votre outil de découverte. Par exemple, consultez les [exigences de déploiement](https://docs.flexera.com/foundationcloudscape/help/RCDeployReq.htm) sur le site Web de documentation de Flexera. | Ingénieur en migration, Administrateur réseau, Architecte cloud | 
| Préparez les exigences relatives au compte et aux informations d'identification. | Identifiez les informations d'identification dont vous avez besoin pour accéder aux serveurs cibles et pour installer tous les composants de l'outil. | Administrateur cloud, AWS général, ingénieur en migration, responsable de la migration, administrateur réseau, administrateur AWS | 
| Préparez les appareils sur lesquels vous allez installer l'outil. | Assurez-vous que les appareils sur lesquels vous allez installer les composants de l'outil répondent aux spécifications et aux exigences de plate-forme de l'outil. | Ingénieur en migration, responsable de la migration, administrateur réseau | 
| Préparez les ordres de changement. | Selon le processus de gestion des modifications de votre organisation, préparez les ordres de modification nécessaires et assurez-vous que ces ordres de modification sont approuvés. | Responsable de la création, responsable de la migration | 
| Envoyez les exigences aux parties prenantes. | Envoyez la liste de contrôle préalable au déploiement et les exigences du réseau aux parties prenantes. Les parties prenantes doivent examiner, évaluer et préparer les exigences nécessaires avant de procéder au déploiement. | Responsable de la création, responsable de la migration | 

### Déployer l'outil
<a name="deploy-the-tool"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez le programme d'installation. | Téléchargez le programme d'installation ou l'image de la machine virtuelle. Les images de machines virtuelles sont généralement disponibles au format OVF (Open Virtualization Format). | Responsable de la création, responsable de la migration | 
| Extrayez les fichiers. | Si vous utilisez un programme d'installation, vous devez le télécharger et l'exécuter sur un serveur local. | Responsable de la création, responsable de la migration | 
| Déployez l'outil sur les serveurs. | Déployez l'outil de découverte sur les serveurs locaux cibles comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/get-started-with-automated-portfolio-discovery.html) | Responsable du développement, responsable de la migration, administrateur réseau | 
| Connectez-vous à l'outil de découverte. | Suivez les instructions qui s'affichent à l'écran et connectez-vous pour commencer à utiliser l'outil. | Responsable de la migration, responsable de la construction | 
| Activez le produit. | Entrez votre clé de licence. | Responsable de la création, responsable de la migration | 
| Configurez l'outil. | Entrez les informations d'identification nécessaires pour accéder aux serveurs cibles, telles que les informations d'identification pour Windows VMware, le protocole SNMP (Simple Network Management Protocol) et le protocole Secure Shell (SSH), ou les bases de données. | Responsable de la création, responsable de la migration | 

### Testez l'outil
<a name="test-the-tool"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Sélectionnez les serveurs de test. | Identifiez un petit ensemble de sous-réseaux ou d'adresses IP non liés à la production que vous pouvez utiliser pour tester l'outil de découverte. Cela vous permet de valider rapidement les scans, d'identifier et de corriger rapidement les erreurs, et d'isoler vos tests des environnements de production. | Responsable du développement, responsable de la migration, administrateur réseau | 
| Commencez à scanner les serveurs de test sélectionnés. | Pour un outil de découverte sans agent, entrez les sous-réseaux ou les adresses IP des serveurs de test sélectionnés dans la console de l'outil de découverte, puis lancez l'analyse.Pour un outil de découverte basé sur un agent, installez l'agent sur les serveurs de test sélectionnés. | Responsable du développement, responsable de la migration, administrateur réseau | 
| Passez en revue les résultats de l'analyse. | Passez en revue les résultats de l'analyse pour les serveurs de test. Si des erreurs sont détectées, résolvez-les et corrigez-les. Documentez les erreurs et les solutions. Vous ferez référence à ces informations à l'avenir, et vous pourrez les ajouter à l'historique de votre portefeuille. | Responsable du développement, responsable de la migration, administrateur réseau | 
| Scannez à nouveau les serveurs de test. | Une fois le nouveau scan terminé, répétez le scan jusqu'à ce qu'il n'y ait plus d'erreur. | Responsable du développement, responsable de la migration, administrateur réseau | 

## Ressources connexes
<a name="get-started-with-automated-portfolio-discovery-resources"></a>

**AWS resources**
+ [Guide d'évaluation du portefeuille d'applications pour la AWS Cloud migration](https://docs.aws.amazon.com/prescriptive-guidance/latest/application-portfolio-assessment-guide/introduction.html)
+ [Outils de migration de découverte, de planification et de recommandation](https://aws.amazon.com/prescriptive-guidance/migration-tools/migration-discovery-tools/)

**Guides de déploiement pour les outils de découverte les plus fréquemment sélectionnés**
+ [Déployez l'appliance virtuelle RN15 0](https://docs.flexera.com/foundationcloudscape/ug/Content/helplibrary/FCGS_QSG_DeployRN150.htm) (documentation Flexera)
+ [Installation de Gatherer (documentation](https://www.modelizeit.com/documentation/ADC-Gatherer-Install.html) ModelizeIt)
+ [Installation du serveur d'analyse sur](https://www.modelizeit.com/documentation/RejuvenApptor-Install.html) site (documentation ModelizeIt)

## Informations supplémentaires
<a name="get-started-with-automated-portfolio-discovery-additional"></a>

**Considérations relatives à la sélection d'un outil de découverte automatique**

Chaque outil de découverte présente des avantages et des limites. Lorsque vous sélectionnez l'outil adapté à votre cas d'utilisation, tenez compte des points suivants :
+ Sélectionnez un outil de découverte capable de collecter la plupart, sinon la totalité, des métadonnées dont vous avez besoin pour atteindre votre objectif d'évaluation de portefeuille.
+ Identifiez les métadonnées que vous devez collecter manuellement car l'outil ne les prend pas en charge.
+ Fournissez les exigences relatives à l'outil de découverte aux parties prenantes afin qu'elles puissent examiner et évaluer l'outil en fonction de leurs exigences internes en matière de sécurité et de conformité, telles que les exigences en matière de serveur, de réseau et d'informations d'identification.
  + L'outil nécessite-t-il que vous installiez un agent dans la charge de travail intégrée ?
  + L'outil nécessite-t-il que vous installiez une appliance virtuelle dans votre environnement ?
+ Déterminez vos exigences en matière de résidence des données. Certaines entreprises ne souhaitent pas stocker leurs données en dehors de leur environnement. Pour résoudre ce problème, vous devrez peut-être installer certains composants de l'outil dans l'environnement local.
+ Assurez-vous que l'outil prend en charge le système d'exploitation (OS) et la version du système d'exploitation de la charge de travail intégrée.
+ Déterminez si votre portefeuille comprend des serveurs centraux, de milieu de gamme et anciens. La plupart des outils de découverte peuvent détecter ces charges de travail en tant que dépendances, mais certains outils peuvent ne pas être en mesure d'obtenir les détails des appareils, tels que l'utilisation et les dépendances des serveurs. Les outils de découverte Device42 et ModernizeIT prennent tous deux en charge les serveurs mainframe et de milieu de gamme.

## Pièces jointes
<a name="attachments-8c9d84de-e84a-4b0c-bcaa-389cd90be1f0"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/8c9d84de-e84a-4b0c-bcaa-389cd90be1f0/attachments/attachment.zip)

# Migrez les charges de travail Cloudera sur site vers Cloudera Data Platform sur AWS
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws"></a>

*Battulga Purevragchaa et Nidhi Gupta, Amazon Web Services*

*Nijjwol Lamsal, Cloudera, Inc.*

## Résumé
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-summary"></a>

Ce modèle décrit les étapes de haut niveau de la migration de vos charges de travail Cloudera Distributed Hadoop (CDH), Hortonworks Data Platform (HDP) et Cloudera Data Platform (CDP) sur site vers le cloud public CDP sur AWS. Nous vous recommandons de vous associer à Cloudera Professional Services et à un intégrateur de systèmes (SI) pour mettre en œuvre ces étapes.

Les clients de Cloudera souhaitent déplacer leurs charges de travail CDH, HDP et CDP sur site vers le cloud pour de nombreuses raisons. Parmi les raisons typiques, citons :
+ Simplifiez l'adoption de nouveaux paradigmes de plateforme de données tels que Data Lakehouse ou Data Mesh
+ Améliorez l'agilité de l'entreprise, démocratisez l'accès et l'inférence sur les actifs de données existants
+ Réduisez le coût total de possession (TCO)
+ Améliorez l'élasticité de la charge
+ Améliorez l'évolutivité ; réduisez considérablement le temps de fourniture des services de données par rapport à l'ancienne base d'installation sur site
+ Supprimez le matériel existant ; réduisez considérablement les cycles d'actualisation du matériel
+ Profitez de la pay-as-you-go tarification, étendue aux charges de travail Cloudera sur AWS grâce au modèle de licence Cloudera (CCU)
+ Profitez d'un déploiement plus rapide et d'une intégration améliorée grâce aux plateformes d'intégration continue et de livraison continue (CI/CD)
+ Utilisez une plate-forme unifiée (CDP) unique pour plusieurs charges de travail

Cloudera prend en charge toutes les principales charges de travail, notamment le Machine Learning, l'ingénierie des données, l'entrepôt de données, la base de données opérationnelle, le traitement des flux (CSP), ainsi que la sécurité et la gouvernance des données. Cloudera propose ces charges de travail sur site depuis de nombreuses années, et vous pouvez les migrer vers le cloud AWS en utilisant le cloud public CDP avec Workload Manager et Replication Manager. 

Cloudera Shared Data Experience (SDX) fournit un catalogue de métadonnées partagé pour ces charges de travail afin de faciliter une gestion et des opérations cohérentes des données. SDX inclut également une sécurité complète et granulaire pour se protéger contre les menaces, ainsi qu'une gouvernance unifiée pour les capacités d'audit et de recherche afin de garantir la conformité aux normes telles que la norme de sécurité des données du secteur des cartes de paiement (PCI DSS) et le RGPD. 

**La migration vers le CDP en un coup d'œil**


|  |  | 
| --- |--- |
|    Charge de travail | Charge de travail source | Cloud privé CDH, HDP et CDP | 
| --- |--- |--- |
| Environnement source | Windows, LinuxSur site, en colocation ou dans tout autre environnement autre qu'AWS | 
| Charge de travail de destination | Cloud public CDP sur AWS | 
| Environnement de destination | Modèle de déploiement : compte clientModèle de fonctionnement : plan customer/Cloudera de commande | 
| ** **** ****Migration** | Stratégie de migration (7Rs) | Réhébergez, replatformatez ou refactorisez | 
| S'agit-il d'une mise à niveau de la version de charge de travail ? | Oui | 
| Durée de la migration | Déploiement : environ une semaine pour créer un compte client, un cloud privé virtuel (VPC) et un environnement CDP Public Cloud géré par le client.Durée de migration : 1 à 4 mois, en fonction de la complexité et de la taille de la charge de travail. | 
| **Coût** | Coût d'exécution de la charge de travail sur AWS | À un niveau élevé, le coût d'une migration de charge de travail CDH vers AWS suppose que vous établirez un nouvel environnement sur AWS. Cela inclut la comptabilisation du temps et des efforts du personnel, ainsi que le provisionnement des ressources informatiques et les licences de logiciels pour le nouvel environnement.Le modèle de tarification basé sur la consommation du cloud de Cloudera vous donne la flexibilité nécessaire pour tirer parti des fonctionnalités de mise à l'échelle automatique et en rafale. Pour plus d'informations, consultez les [tarifs du service CDP Public Cloud sur le site](https://www.cloudera.com/products/pricing/cdp-public-cloud-service-rates.html) Web de Cloudera.Cloudera Enterprise [Data Hub](https://www.cloudera.com/products/enterprise-data-hub.html) est basé sur Amazon Elastic Compute Cloud (Amazon EC2) et modélise étroitement les clusters traditionnels. Le hub de données peut être [personnalisé](https://docs.cloudera.com/data-hub/cloud/create-cluster-aws/topics/mc-creating-a-cluster.html), mais cela aura une incidence sur les coûts.[CDP Public Cloud Data Warehouse](https://docs.cloudera.com/data-warehouse/cloud/index.html), [Cloudera Machine Learning](https://docs.cloudera.com/machine-learning/cloud/product/topics/ml-product-overview.html) et [Cloudera Data Engineering (CDE)](https://docs.cloudera.com/data-engineering/cloud/index.html) sont basés sur des conteneurs et peuvent être configurés pour évoluer automatiquement. | 
| ** **** ****Contrats et cadres relatifs aux infrastructures** | Configuration système requise | Consultez la section [Conditions préalables](#migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-prereqs). | 
| SLA | Consultez l'[accord de niveau de service Cloudera pour le cloud public CDP](https://www.cloudera.com/legal/terms-and-conditions/cdp-public-cloud-sla.html). | 
| DR | Consultez [Disaster Recovery](https://docs.cloudera.com/cdp-reference-architectures/latest/cdp-ra-operations/topics/cdp-ra-abstract.html) dans la documentation de Cloudera. | 
| Modèle de licence et d'exploitation (pour le compte AWS cible) | Modèle « Bring Your Own License » (BYOL) | 
| ** ****Conformité** | Exigences de sécurité | Consultez la [présentation de la sécurité de Cloudera](https://docs.cloudera.com/cdp-private-cloud-base/7.1.6/security-overview/topics/cm-security-overview.html) dans la documentation de Cloudera. | 
| Autres [certifications de conformité](https://aws.amazon.com/compliance/programs) | Consultez les informations sur le site Web de Cloudera concernant la conformité au [règlement général sur la protection des données (RGPD](https://www.cloudera.com/solutions/lower-business-risks/general-data-protection-regulation.html)) et le [CDP Trust Center](https://www.cloudera.com/products/trust-center.html). | 

## Conditions préalables et limitations
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-prereqs"></a>

**Conditions préalables**
+ [Exigences relatives aux comptes AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-requirements-aws.html), y compris les comptes, les ressources, les services et les autorisations, telles que la configuration des rôles et des politiques AWS Identity and Access Management (IAM)
+ [Conditions préalables au déploiement du CDP depuis le site Web](https://docs.cloudera.com/cdp-public-cloud/cloud/getting-started/topics/cdp-set_up_cdp_prerequisites.html) de Cloudera

La migration nécessite les rôles et l'expertise suivants :


| 
| 
| Role | Compétences et responsabilités | 
| --- |--- |
| Responsable de la migration | Assure le soutien exécutif, la collaboration des équipes, la planification, la mise en œuvre et l'évaluation | 
| PME de Cloudera | Compétences spécialisées en administration, administration système et architecture CDH, HDP et CDP | 
| Architecte AWS | Compétences en matière de services, de mise en réseau, de sécurité et d'architectures AWS | 

## Architecture
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-architecture"></a>

La mise en place de l'architecture appropriée est une étape essentielle pour garantir que la migration et les performances répondent à vos attentes. Pour que votre effort de migration réponde aux hypothèses de ce manuel, votre environnement de données cible dans le cloud AWS, que ce soit sur des instances hébergées dans un cloud privé virtuel (VPC) ou sur CDP, doit correspondre de manière équivalente à votre environnement source en termes de systèmes d'exploitation et de versions logicielles, ainsi que des principales spécifications des machines.

Le schéma suivant (reproduit avec l'autorisation de la [fiche technique de Cloudera Shared Data Experience](https://www.cloudera.com/content/dam/www/marketing/resources/datasheets/cloudera-sdx-datasheet.pdf?daqp=true)) montre les composants de l'infrastructure de l'environnement CDP et la manière dont les niveaux ou les composants de l'infrastructure interagissent. 

![\[Composants de l'environnement CDP\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/bb47435e-2638-425c-ac37-7d55053452ac/images/91d62277-7fde-4ec6-8e2b-86a446e2f6ee.png)


L'architecture inclut les composants CDP suivants :
+ Data Hub est un service de lancement et de gestion de clusters de charges de travail basé sur Cloudera Runtime. Vous pouvez utiliser les définitions de clusters dans Data Hub pour provisionner et accéder à des clusters de charge de travail pour des cas d'utilisation personnalisés et définir des configurations de clusters personnalisées. Pour plus d'informations, consultez le [site Web de Cloudera](https://docs.cloudera.com/data-hub/cloud/index.html).
+ Le flux de données et le streaming répondent aux principaux défis auxquels les entreprises sont confrontées en matière de données en mouvement. Il gère les éléments suivants :
  + Traitement du streaming de données en temps réel à haut volume et à grande échelle
  + Suivi de la provenance des données et de la traçabilité des données de streaming
  + Gestion et surveillance des applications périphériques et des sources de streaming

  Pour plus d'informations, consultez [Cloudera DataFlow](https://www.cloudera.com/products/dataflow.html) et [CSP](https://www.cloudera.com/products/stream-processing.html) sur le site Web de Cloudera.
+ L'ingénierie des données inclut l'intégration des données, la qualité des données et la gouvernance des données, qui aident les organisations à créer et à maintenir des pipelines de données et des flux de travail. Pour plus d'informations, consultez le [site Web de Cloudera](https://docs.cloudera.com/data-engineering/cloud/index.html). Découvrez la prise en [charge des instances ponctuelles afin de réduire les coûts sur AWS](https://docs.cloudera.com/data-engineering/cloud/cost-management/topics/cde-spot-instances.html) pour les charges de travail d'ingénierie des données de Cloudera.
+ Data Warehouse vous**** permet de créer des entrepôts de données et des data marts indépendants qui s'adaptent automatiquement aux demandes de charge de travail. Ce service fournit des instances de calcul isolées et une optimisation automatisée pour chaque entrepôt de données et chaque data mart, et vous aide à réduire les coûts lors des réunions SLAs. Pour plus d'informations, consultez le [site Web de Cloudera](https://docs.cloudera.com/data-warehouse/cloud/index.html). Découvrez [la gestion des coûts](https://docs.cloudera.com/data-warehouse/cloud/planning/topics/dw-manage-cloud-costs.html) et l'[auto-scaling](https://docs.cloudera.com/data-warehouse/cloud/auto-scaling/topics/dw-public-cloud-autoscaling-overview.html) pour Cloudera Data Warehouse sur AWS.
+ La base de données opérationnelle du CDP fournit une base fiable et flexible pour des applications évolutives et performantes. Il fournit une base de données évolutive en temps réel, toujours disponible, qui sert les données structurées traditionnelles ainsi que les nouvelles données non structurées au sein d'une plateforme opérationnelle et d'entreposage unifiée. Pour plus d'informations, consultez le [site Web de Cloudera](https://www.cloudera.com/products/operational-db.html).
+ Machine Learning est une plateforme d'apprentissage automatique native du cloud qui fusionne les fonctionnalités de science et d'ingénierie des données en libre-service dans un service unique et portable au sein d'un cloud de données d'entreprise. Il permet un déploiement évolutif de l'apprentissage automatique et de l'intelligence artificielle (IA) sur les données, où qu'elles soient. Pour plus d'informations, consultez le [site Web de Cloudera](https://docs.cloudera.com/machine-learning/cloud/index.html).

**CDP sur AWS**

Le schéma suivant (adapté avec l'autorisation du site Web de Cloudera) montre l'architecture de haut niveau du CDP sur AWS. Le CDP met en œuvre son [propre modèle de sécurité](https://docs.cloudera.com/runtime/7.1.0/cdp-security-overview/topics/security-management-console-security.html) pour gérer à la fois les comptes et le flux de données. Ils sont intégrés à [IAM](https://aws.amazon.com/iam/) grâce à l'utilisation de rôles [entre comptes](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-aws-req-credential.html). 

![\[Architecture de haut niveau CDP sur AWS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/bb47435e-2638-425c-ac37-7d55053452ac/images/54420517-38b4-4e82-bd19-9ded50ed009c.png)


Le plan de contrôle CDP réside dans un compte principal Cloudera dans son propre VPC. Chaque compte client possède son propre sous-compte et son propre VPC. Les rôles IAM entre comptes et les technologies SSL acheminent le trafic de gestion vers et depuis le plan de contrôle vers les services clients qui résident sur des sous-réseaux publics routables par Internet au sein de chaque VPC client. Sur le VPC du client, le Cloudera Shared Data Experience (SDX) fournit une sécurité à la pointe de l'entreprise avec une gouvernance et une conformité unifiées afin que vous puissiez obtenir des informations plus rapidement à partir de vos données. SDX est une philosophie de conception intégrée à tous les produits Cloudera. Pour plus d'informations sur [SDX](https://docs.cloudera.com/cdp-public-cloud/cloud/overview/topics/cdp-services.html) et l'[architecture réseau CDP Public Cloud pour AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/aws-refarch/topics/cdp-pc-aws-refarch-overview.html), consultez la documentation Cloudera.

## Outils
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-tools"></a>

**Services AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.
+ [Amazon Elastic Kubernetes Service (Amazon](https://docs.aws.amazon.com/eks/latest/userguide/getting-started.html) EKS) vous aide à exécuter Kubernetes sur AWS sans avoir à installer ou à gérer votre propre plan de contrôle ou vos propres nœuds Kubernetes.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) vous aide à configurer, exploiter et dimensionner une base de données relationnelle dans le cloud AWS.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.

**Automatisation et outillage**
+ Pour obtenir des outils supplémentaires, vous pouvez utiliser [Cloudera Backup Data Recovery (BDR),](https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/cm_bdr_tutorials.html) AWS [Snowball et [AWS Snowmobile](https://aws.amazon.com/snowmobile/)](https://aws.amazon.com/snowball/) pour faciliter la migration des données d'un CDH, HDP et CDP sur site vers un CDP hébergé par AWS.
+ Pour les nouveaux déploiements, nous vous recommandons d'utiliser la [solution AWS Partner pour le CDP](https://aws.amazon.com/solutions/partners/terraform-modules/cdp-public-cloud/).

## Épopées
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-epics"></a>

### Préparation à la migration
<a name="prepare-for-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Engagez l'équipe Cloudera. | Cloudera applique un modèle d'engagement standardisé avec ses clients et peut travailler avec votre intégrateur de systèmes (SI) pour promouvoir la même approche. Contactez l'équipe client de Cloudera afin qu'elle puisse vous fournir des conseils et les ressources techniques nécessaires pour démarrer le projet. Contacter l'équipe Cloudera garantit que toutes les équipes nécessaires peuvent préparer la migration à l'approche de sa date. Vous pouvez contacter les services professionnels de Cloudera pour faire passer votre déploiement Cloudera du stade pilote à celui de la production rapidement, à moindre coût et avec des performances optimales. Pour une liste complète des offres, consultez le [site Web de Cloudera](https://www.cloudera.com/about/services-and-support/professional-services.html). | Responsable de la migration | 
| Créez un environnement de cloud public CDP sur AWS pour votre VPC. | Travaillez avec Cloudera Professional Services ou votre SI pour planifier et déployer le cloud public CDP dans un VPC sur AWS. | Architecte cloud, Cloudera PME | 
| Hiérarchisez et évaluez les charges de travail pour la migration. | Évaluez toutes vos charges de travail sur site afin de déterminer les charges de travail les plus faciles à migrer. Il est préférable de passer en premier aux applications qui ne sont pas critiques, car elles n'auront qu'un impact minimal sur vos clients. Conservez les charges de travail critiques pour la fin, une fois que vous aurez réussi à migrer d'autres charges de travail.Les charges de travail transitoires (CDP Data Engineering) sont plus faciles à migrer que les charges de travail persistantes (CDP Data Warehouse). Il est également important de prendre en compte le volume et les emplacements des données lors de la migration. Les défis peuvent inclure la réplication continue des données d'un environnement sur site vers le cloud et la modification des pipelines d'ingestion de données pour importer les données directement dans le cloud. | Responsable de la migration | 
| Discutez des activités de migration des applications CDH, HDP, CDP et des anciennes applications. | Envisagez et commencez à planifier les activités suivantes avec Cloudera Workload Manager :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.html) | Responsable de la migration | 
| Répondez aux exigences et aux recommandations de Cloudera Replication Manager. | Travaillez avec Cloudera Professional Services et votre SI pour préparer la migration des charges de travail vers votre environnement de cloud public CDP sur AWS. La compréhension des exigences et recommandations suivantes peut vous aider à éviter les problèmes courants pendant et après l'installation du service Replication Manager.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws.html) | Responsable de la migration | 

### Migrer le CDP vers AWS
<a name="migrate-cdp-to-aws"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez la première charge de travail pour les dev/test environnements à l'aide de Cloudera Workload Manager. | Votre SI peut vous aider à migrer votre première charge de travail vers le cloud AWS. Il doit s'agir d'une application qui n'est ni orientée vers le client ni essentielle à la mission. Les applications dont les données sont facilement assimilables par le cloud, telles que les charges de travail d'ingénierie des données CDP, sont les candidates idéales pour la dev/test migration. Il s'agit d'une charge de travail transitoire à laquelle moins d'utilisateurs accèdent, par rapport à une charge de travail persistante telle qu'une charge de travail d'entrepôt de données CDP à laquelle de nombreux utilisateurs peuvent avoir besoin d'un accès ininterrompu. Les charges de travail liées à l'ingénierie des données ne sont pas persistantes, ce qui minimise l'impact commercial en cas de problème. Cependant, ces tâches peuvent être essentielles pour les rapports de production. Priorisez donc d'abord les charges de travail d'ingénierie des données à faible impact. | Responsable de la migration | 
| Répétez les étapes de migration si nécessaire. | Cloudera Workload Manager permet d'identifier les charges de travail les mieux adaptées au cloud. Il fournit des indicateurs tels que les évaluations des performances du cloud, les sizing/capacity plans pour l'environnement cible et les plans de réplication. Les meilleurs candidats à la migration sont les charges de travail saisonnières, les rapports ad hoc et les emplois intermittents qui ne consomment pas beaucoup de ressources.Cloudera Replication Manager déplace les données de l'environnement sur site vers le cloud, et du cloud vers l'environnement sur site.Optimisez de manière proactive les charges de travail, les applications, les performances et la capacité de l'infrastructure pour l'entreposage de données, l'ingénierie des données et l'apprentissage automatique à l'aide de Workload Manager. Pour un guide complet sur la modernisation d'un entrepôt de données, consultez le [site Web de Cloudera](https://www.cloudera.com/content/dam/www/marketing/resources/webinars/modern-data-warehouse-fundamentals.png.landing.html). | PME de Cloudera | 

## Ressources connexes
<a name="migrate-on-premises-cloudera-workloads-to-cloudera-data-platform-on-aws-resources"></a>

Documentation de Cloudera :
+ [Enregistrement de clusters classiques avec CDP, Cloudera Manager et Replication Manager :](https://docs.cloudera.com/replication-manager/cloud/operations/topics/rm-requirements-for-bdr-cdh-clusters.html)
  + [Console de gestion](https://docs.cloudera.com/management-console/cloud/overview/topics/mc-management-console.html)
  + [Réplication en ruche de Replication Manager](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-replication-of-data-using-hive.html)
+ [Réplication de Sentry](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-sentry-policy-replication.html) 
+ [Autorisations de sentinelle](https://docs.cloudera.com/replication-manager/cloud/core-concepts/topics/rm-sentry-ranger-permissions.html)
+ [Liste de contrôle pour la planification du cluster Data Hub](https://docs.cloudera.com/data-hub/cloud/cluster-planning/topics/dh-cluster-checklist.html)
+ [Architecture du gestionnaire de charge de travail](https://docs.cloudera.com/workload-manager/cloud/configuration/topics/wm-public-architecture-wm.html)
+ [Exigences relatives à Replication Manager](https://docs.cloudera.com/replication-manager/cloud/index.html)
+ [Observabilité de la plateforme de données Cloudera](https://www.cloudera.com/products/observability.html)
+ [Exigences relatives à AWS](https://docs.cloudera.com/cdp-public-cloud/cloud/requirements-aws/topics/mc-requirements-aws.html)

Documentation AWS :
+ [Migration des données dans le cloud](https://aws.amazon.com/cloud-data-migration/)

# Résoudre les erreurs de connexion après la migration de Microsoft SQL Server vers le cloud AWS
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud"></a>

*Premkumar Chelladurai, Amazon Web Services*

## Résumé
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-summary"></a>

Après avoir migré Microsoft SQL Server exécuté sous Windows Server 2008 R2, 2012 ou 2012 R2 vers des instances Amazon Elastic Compute Cloud (Amazon EC2) sur le cloud Amazon Web Services (AWS), la connexion à SQL Server échoue et les erreurs suivantes apparaissent : 
+ `[Microsoft][ODBC SQL Server Driver][DBNETLIB] General Network error`
+ `ERROR [08S01] [Microsoft][SQL Native Client]Communication link failure. System.Data.SqlClient.SqlException: A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)`
+ `TCP Provider: The semaphore timeout period has expired`

Ce modèle décrit comment résoudre ces erreurs en désactivant les fonctionnalités du Windows Scalable Networking Pack (SNP) au niveau du système d'exploitation (OS) et de l'interface réseau pour SQL Server exécuté sous Windows Server 2008 R2, 2012 ou 2012 R2.

## Conditions préalables et limitations
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-prereqs"></a>

**Conditions préalables**
+ Privilèges d'administrateur pour Windows Server.
+ Si vous avez utilisé AWS Application Migration Service comme outil de migration, vous avez besoin de l'une des versions de Windows Server suivantes :
  + Windows Server 2008 R2 Service Pack 1, 2012 ou 2012 R2
+ Si vous avez utilisé CloudEndure Migration comme outil de migration, vous avez besoin de l'une des versions de Windows Server suivantes :
  + Windows Server 2003 R2 Service Pack 3, 2008, 2008 R2 Service Pack 1, 2012 ou 2012 R2

## Outils
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-tools"></a>
+ [Amazon EC2](https://docs.aws.amazon.com/ec2/index.html) — Amazon Elastic Compute Cloud (Amazon EC2) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez utiliser Amazon EC2 pour lancer autant ou aussi peu de serveurs virtuels que vous le souhaitez, et vous pouvez les étendre ou les intégrer. 
+ [Windows Server](https://docs.microsoft.com/en-us/windows-server/) — Windows Server est une plate-forme permettant de créer une infrastructure d'applications, de réseaux et de services Web connectés.

## Épopées
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-epics"></a>

### Désactiver les fonctionnalités du protocole SNP au niveau du système d'exploitation et de l'interface elastic network
<a name="turn-off-snp-features-at-the-os-and-elastic-network-interface-levels"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Désactivez les fonctionnalités du SNP au niveau du système d'exploitation. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.html) | Administrateur AWS, administrateur système AWS, ingénieur en migration, administrateur du cloud | 
| Désactivez les fonctionnalités du protocole SNP au niveau de l'interface elastic network. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.html) | Administrateur AWS, administrateur du cloud, administrateur des systèmes AWS | 

## Ressources connexes
<a name="resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud-resources"></a>
+ [Comment résoudre les problèmes liés aux fonctionnalités avancées de performance réseau telles que RSS et NetDMA](https://docs.microsoft.com/en-us/troubleshoot/windows-server/networking/troubleshoot-network-performance-features-rss-netdma)

# Redémarrez automatiquement l'agent de réplication AWS sans le désactiver SELinux après le redémarrage d'un serveur source RHEL
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server"></a>

*Anil Kunapareddy, Venkatramana Chintha et Shanmugam Shanker, Amazon Web Services*

## Résumé
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-summary"></a>

AWS Application Migration Service permet de simplifier, d'accélérer et d'automatiser la migration de votre charge de travail Red Hat Enterprise Linux (RHEL) vers le cloud Amazon Web Services (AWS). Pour ajouter des serveurs sources à Application Migration Service, vous devez installer l'agent de réplication AWS sur les serveurs.

Le service de migration d'applications fournit une réplication asynchrone en temps réel au niveau des blocs. Cela signifie que vous pouvez poursuivre les opérations informatiques normales pendant tout le processus de réplication. Ces opérations informatiques peuvent nécessiter le redémarrage ou le redémarrage de votre serveur source RHEL pendant la migration. Dans ce cas, l'agent de réplication AWS ne redémarrera pas automatiquement et la réplication de vos données s'arrêtera. En général, vous pouvez configurer Security-Enhanced Linux (SELinux) sur le mode **désactivé** ou sur le mode **permissif** pour redémarrer automatiquement AWS Replication Agent. Toutefois, les politiques de sécurité de votre entreprise peuvent interdire la désactivation SELinux et vous devrez peut-être également renommer [vos fichiers](https://access.redhat.com/solutions/3176).

Ce modèle décrit comment redémarrer automatiquement l'agent de réplication AWS sans le désactiver SELinux lorsque votre serveur source RHEL redémarre ou redémarre pendant une migration. 

## Conditions préalables et limitations
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Charge de travail RHEL sur site que vous souhaitez migrer vers le cloud AWS. 
+ Service de migration d'applications initialisé à partir de la console du service de migration d'applications. L'initialisation n'est requise que la première fois que vous utilisez ce service. Pour obtenir des instructions, consultez la [documentation du service de migration d'applications](https://docs.aws.amazon.com/mgn/latest/ug/mandatory-setup.html).
+ Une [politique AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) existante pour le service de migration d'applications. Pour plus d'informations, consultez la [documentation du service de migration des applications](https://docs.aws.amazon.com/mgn/latest/ug/mgn-policies.html).

**Versions**
+ RHEL version 7 ou ultérieure

## Outils
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-tools"></a>

**Services AWS**
+ [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) est une solution hautement automatisée lift-and-shift (réhébergement) qui simplifie, accélère et réduit le coût de la migration des applications vers AWS.

**Commandes Linux**

Le tableau suivant fournit une liste des commandes Linux que vous exécuterez sur votre serveur source RHEL. Ils sont également décrits dans les épopées et les récits de ce modèle. 


| 
| 
| Commande | Description | 
| --- |--- |
| `#systemctl –version` | Identifie la version du système. | 
| `#systemctl list-units --type=service` | Répertorie tous les services actifs disponibles sur le serveur RHEL. | 
| `#systemctl list-units --type=service \| grep running` | Répertorie tous les services actuellement en cours d'exécution sur le serveur RHEL. | 
| `#systemctl list-units --type=service \| grep failed` | Répertorie tous les services qui n'ont pas pu être chargés après le redémarrage ou le redémarrage du serveur RHEL. | 
| `restorecon -Rv /etc/rc.d/init.d/aws-replication-service` | Modifie le contexte en`aws-replication-service`. | 
| `yum install policycoreutils*` | Installe les utilitaires Policy Core nécessaires au fonctionnement du SELinux système. | 
| `ausearch -c "insmod" --raw \| audit2allow -M my-modprobe` | Effectue une recherche dans le journal d'audit et crée un module pour les politiques. | 
| `semodule -i my-modprobe.pp` | Active la politique. | 
| `cat my-modprobe.te` | Affiche le contenu du `my-modprobe.te` fichier. | 
| `semodule -l \| grep my-modprobe` | Vérifie si la politique a été chargée dans le SELinux module. | 

## Épopées
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-epics"></a>

### Installez l'agent de réplication AWS et redémarrez le serveur source RHEL
<a name="install-the-aws-replication-agent-and-reboot-the-rhel-source-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un utilisateur du service de migration d'applications avec une clé d'accès et une clé d'accès secrète.  | Pour installer l'agent de réplication AWS, vous devez créer un utilisateur du service de migration d'applications avec les informations d'identification AWS requises. Pour obtenir des instructions, consultez la [documentation du service de migration d'applications](https://docs.aws.amazon.com/mgn/latest/ug/credentials.html). | Ingénieur en migration | 
| Installez l'agent de réplication AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.html) | Ingénieur en migration | 
| Redémarrez ou redémarrez le serveur source RHEL. | Redémarrez ou redémarrez votre serveur source RHEL lorsque son **état de réplication des données indique Bloqué** **sur le tableau de** bord de [migration](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html). | Ingénieur en migration | 
| Vérifiez l'état de réplication des données. | Attendez une heure, puis vérifiez à nouveau l'**état de réplication des données** sur le tableau de bord de migration. Il doit être en **bon état de santé**. | Ingénieur en migration | 

### Vérifiez l'état de l'agent de réplication AWS sur le serveur source RHEL
<a name="check-aws-replication-agent-status-on-the-rhel-source-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez la version du système. | Ouvrez l'interface de ligne de commande de votre serveur source RHEL et exécutez la commande suivante pour identifier la version du système :`#systemctl –version` | Ingénieur en migration | 
| Répertoriez tous les services actifs. | Pour répertorier tous les services actifs disponibles sur le serveur RHEL, exécutez la commande suivante :`#systemctl list-units --type=service` | Ingénieur en migration | 
| Répertorie tous les services en cours d'exécution. | Pour répertorier tous les services actuellement en cours d'exécution sur le serveur RHEL, utilisez la commande :`#systemctl list-units --type=service \| grep running` | Ingénieur en migration | 
| Répertoriez tous les services qui n'ont pas pu être chargés. | Pour répertorier tous les services qui n'ont pas pu être chargés après le redémarrage ou le redémarrage du serveur RHEL, exécutez la commande suivante :`#systemctl list-units --type=service \| grep failed` | Ingénieur en migration | 

### Création et exécution du SELinux module
<a name="create-and-run-the-selinux-module"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Modifiez le contexte de sécurité. | Dans l'interface de ligne de commande de votre serveur source RHEL, exécutez la commande suivante pour remplacer le contexte de sécurité par le service de réplication AWS :`restorecon -Rv /etc/rc.d/init.d/aws-replication-service` | Ingénieur en migration | 
| Installez les principaux utilitaires. | Pour installer les principaux utilitaires nécessaires au fonctionnement du SELinux système et à ses politiques, exécutez la commande suivante :`yum install policycoreutils*` | Ingénieur en migration | 
| Effectuez une recherche dans le journal d'audit et créez un module pour les politiques. | Exécutez la commande  :`ausearch -c "insmod" --raw \| audit2allow -M my-modprobe` | Ingénieur en migration | 
| Affichez le contenu du my-modprobe-te fichier.  | Le `my-modprobe.te` fichier est généré par la commande **audit2allow**. Il inclut les SELinux domaines, le répertoire des sources de politiques et les sous-répertoires, et spécifie les règles du vecteur d'accès et les transitions associées aux domaines. Pour afficher le contenu du fichier, exécutez la commande suivante :`cat my modprobe.te` | Ingénieur en migration | 
| Activez la politique. | Pour insérer le module et activer le package de politiques, exécutez la commande suivante :`semodule -i my-modprobe.pp` | Ingénieur en migration | 
| Vérifiez si le module a été chargé.  | Exécutez la commande  :`semodule -l \| grep my-modprobe`Une fois le SELinux module chargé, vous n'aurez plus à passer en mode **désactivé** ou SELinux en mode **permissif** lors de votre migration. | Ingénieur en migration | 
| Redémarrez ou redémarrez le serveur source RHEL et vérifiez l'état de réplication des données. | Ouvrez la console AWS Migration Service, accédez à la **progression de la réplication des données**, puis redémarrez ou redémarrez votre serveur source RHEL. La réplication des données devrait désormais reprendre automatiquement après le redémarrage du serveur source RHEL. | Ingénieur en migration | 

## Ressources connexes
<a name="restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server-resources"></a>
+ [Documentation du service de migration d'applications](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Supports de formation technique](https://docs.aws.amazon.com/mgn/latest/ug/mgn-training.html)
+ [Résolution des problèmes liés à l'agent de réplication AWS](https://docs.aws.amazon.com/mgn/latest/ug/Troubleshooting-Agent-Issues.html)
+ [Politiques du service de migration des applications](https://docs.aws.amazon.com/mgn/latest/ug/mgn-policies.html)

# Ré-architecte
<a name="migration-rearchitect-pattern-list"></a>

**Topics**
+ [Convertir VARCHAR2 (1) type de données pour Oracle en type de données booléen pour Amazon Aurora PostgreSQL](convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.md)
+ [Création d'utilisateurs et de rôles d'application dans Aurora PostgreSQL compatible](create-application-users-and-roles-in-aurora-postgresql-compatible.md)
+ [Émulez Oracle DR à l'aide d'une base de données globale Aurora compatible avec PostgreSQL](emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.md)
+ [SHA1 Implémenter le hachage des données personnelles lors de la migration de SQL Server vers PostgreSQL](implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.md)
+ [Migrez progressivement d'Amazon RDS for Oracle vers Amazon RDS for PostgreSQL à l'aide d'Oracle SQL Developer et d'AWS SCT](incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.md)
+ [Chargez des fichiers BLOB dans TEXT en utilisant le codage de fichiers compatible avec Aurora PostgreSQL](load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.md)
+ [Migrer Amazon RDS for Oracle vers Amazon RDS for PostgreSQL avec et en utilisant et AWS SCT AWS DMS AWS CLI CloudFormation](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.md)
+ [Migrez Amazon RDS for Oracle vers Amazon RDS for PostgreSQL en mode SSL à l'aide d'AWS DMS](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.md)
+ [Migrer les packages pragma Oracle SERIALLY\$1REUSERABLE vers PostgreSQL](migrate-oracle-serially-reusable-pragma-packages-into-postgresql.md)
+ [Migrer des tables externes Oracle vers des tables compatibles avec Amazon Aurora PostgreSQL](migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible.md)
+ [Migrer les index basés sur les fonctions d'Oracle vers PostgreSQL](migrate-function-based-indexes-from-oracle-to-postgresql.md)
+ [Migrer les fonctions natives d'Oracle vers PostgreSQL à l'aide d'extensions](migrate-oracle-native-functions-to-postgresql-using-extensions.md)
+ [Migrer une base de données DB2 d'Amazon EC2 vers Aurora compatible avec MySQL à l'aide d'AWS DMS](migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.md)
+ [Migrer une base de données Microsoft SQL Server d'Amazon EC2 vers Amazon DocumentDB à l'aide d'AWS DMS](migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms.md)
+ [Migrer une base de données ThoughtSpot Falçon sur site vers Amazon Redshift](migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift.md)
+ [Migrer d'une base de données Oracle vers Amazon RDS for PostgreSQL à l'aide d'Oracle GoldenGate](migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.md)
+ [Migrer une table partitionnée Oracle vers PostgreSQL à l'aide d'AWS DMS](migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms.md)
+ [Migrer d'Amazon RDS for Oracle vers Amazon RDS for MySQL](migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql.md)
+ [Migrez d'IBM Db2 sur Amazon vers une version compatible avec Aurora PostgreSQL EC2 à l'aide d'AWS DMS et d'AWS SCT](migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.md)
+ [Migrez d'Oracle 8i ou 9i vers Amazon RDS for PostgreSQL à l'aide d'AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms.md)
+ [Migrez d'Oracle 8i ou 9i vers Amazon RDS for PostgreSQL à l'aide de vues matérialisées et d'AWS DMS](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms.md)
+ [Migrez d'Oracle sur Amazon EC2 vers Amazon RDS for MySQL à l'aide d'AWS DMS et d'AWS SCT](migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migrer une base de données Oracle d'Amazon EC2 vers Amazon RDS for MariaDB à l'aide d'AWS DMS et d'AWS SCT](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.md)
+ [Migrer une base de données Oracle sur site vers Amazon RDS for MySQL à l'aide d'AWS DMS et d'AWS SCT](migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migrer une base de données Oracle sur site vers Amazon RDS for PostgreSQL à l'aide d'un assistant Oracle et d'AWS DMS](migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.md)
+ [Migrer une base de données Oracle vers Amazon Redshift à l'aide d'AWS DMS et d'AWS SCT](migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct.md)
+ [Migrer une base de données Oracle vers Aurora PostgreSQL à l'aide d'AWS DMS et d'AWS SCT](migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.md)
+ [Migrer les données d'une base de données Oracle sur site vers Aurora PostgreSQL](migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql.md)
+ [Migrez de SAP ASE vers Amazon RDS for SQL Server à l'aide d'AWS DMS](migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Amazon Redshift à l'aide d'AWS DMS](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Amazon Redshift à l'aide des agents d'extraction de données AWS SCT](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents.md)
+ [Migrer les applications existantes d'Oracle Pro\$1C vers ECPG](migrate-legacy-applications-from-oracle-pro-c-to-ecpg.md)
+ [Migrer les colonnes générées virtuellement d'Oracle vers PostgreSQL](migrate-virtual-generated-columns-from-oracle-to-postgresql.md)
+ [Configuration de la fonctionnalité Oracle UTL\$1FILE sur Aurora compatible avec PostgreSQL](set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.md)
+ [Valider les objets de base de données après la migration d'Oracle vers Amazon Aurora PostgreSQL](validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql.md)

# Convertir VARCHAR2 (1) type de données pour Oracle en type de données booléen pour Amazon Aurora PostgreSQL
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql"></a>

*Caméra Naresh, Amazon Web Services*

## Résumé
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-summary"></a>

Lors d'une migration d'Amazon Relational Database Service (Amazon RDS) pour Oracle vers Amazon Aurora PostgreSQL Compatible Edition, il est possible que vous rencontriez une incompatibilité des données lors de la validation de la migration dans (). AWS Database Migration Service AWS DMS Pour éviter cette incompatibilité, vous pouvez convertir VARCHAR2 (1) type de données en type booléen.

VARCHAR2 le type de données stocke des chaînes de texte de longueur variable et VARCHAR2 (1) indique que la chaîne comporte 1 caractère ou 1 octet. Pour plus d'informations VARCHAR2, voir les [types de données intégrés](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020) d'Oracle (documentation Oracle).

Dans ce modèle, dans la colonne de la table de données source d'échantillons, les données VARCHAR2 (1) sont soit un **Y**, pour *Oui*, soit un **N**, pour *Non*.  Ce modèle inclut des instructions pour utiliser AWS DMS and AWS Schema Conversion Tool (AWS SCT) pour convertir ce type de données des valeurs **Y** et **N** dans VARCHAR2 (1) en valeurs **vraies** ou **fausses** dans le booléen.

**Public visé**

Ce modèle est recommandé pour ceux qui ont déjà migré des bases de données Oracle vers des bases de données compatibles avec Aurora PostgreSQL en utilisant. AWS DMS Lorsque vous terminez la migration, respectez les recommandations de la section [Conversion d'Oracle vers Amazon RDS for PostgreSQL ou Amazon AWS SCT Aurora PostgreSQL](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html) (documentation).

## Conditions préalables et limitations
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS.
+ Vérifiez que votre environnement est préparé pour Aurora, notamment en configurant les informations d'identification, les autorisations et un groupe de sécurité. Pour plus d'informations, consultez [Configuration de votre environnement pour Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_SettingUp_Aurora.html) (documentation Aurora).
+ Base de données source Amazon RDS for Oracle qui contient une colonne de table VARCHAR2 contenant (1) données.
+ Une instance de base de données cible compatible avec Amazon Aurora PostgreSQL. Pour plus d'informations, consultez [Création d'un cluster de bases de données et connexion à une base de données sur un cluster de bases de données Aurora PostgreSQL (documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html#CHAP_GettingStarted.AuroraPostgreSQL.CreateDBCluster) Aurora).

**Versions du produit**
+ Amazon RDS pour Oracle version 12.1.0.2 ou ultérieure.
+ AWS DMS version 3.1.4 ou ultérieure. Pour plus d'informations, consultez les [sections Utilisation d'une base de données Oracle comme source AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) et [Utilisation d'une base de données PostgreSQL comme cible AWS DMS pour AWS DMS (documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)). Nous vous recommandons d'utiliser la dernière version de AWS DMS pour bénéficier de la prise en charge la plus complète possible des versions et des fonctionnalités.
+ AWS Schema Conversion Tool (AWS SCT) version 1.0.632 ou ultérieure. Nous vous recommandons d'utiliser la dernière version de AWS SCT pour bénéficier de la prise en charge la plus complète possible des versions et des fonctionnalités.
+ Aurora prend en charge les versions de PostgreSQL répertoriées [dans la section Versions du moteur de base de données pour Aurora compatible avec PostgreSQL (documentation Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html)).

## Architecture
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-architecture"></a>

**Pile technologique source**

Instance de base de données Amazon RDS for Oracle

**Pile technologique cible**

Instance de base de données compatible avec Amazon Aurora PostgreSQL

**Architecture source et cible**

![\[Modification du type de données de VARCHAR2 (1) à un type booléen\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5d4dc568-20d8-4883-a942-21c81039d8e6/images/9fd82ae2-56e6-439c-b4cd-9e74fe77b480.png)


## Outils
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-tools"></a>

**Services AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer les banques de données vers AWS Cloud ou entre des combinaisons de configurations cloud et sur site.
+ [Amazon Relational Database Service (Amazon RDS) pour](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) Oracle vous aide à configurer, exploiter et dimensionner une base de données relationnelle Oracle dans le. AWS Cloud
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.

**Autres services**
+ [Oracle SQL Developer](https://docs.oracle.com/en/database/oracle/sql-developer/) est un environnement de développement intégré qui simplifie le développement et la gestion des bases de données Oracle dans les déploiements traditionnels et basés sur le cloud. Dans ce modèle, vous utilisez cet outil pour vous connecter à l'instance de base de données Amazon RDS for Oracle et interroger les données.
+ [pgAdmin](https://www.pgadmin.org/docs/) est un outil de gestion open source pour PostgreSQL. Il fournit une interface graphique qui vous permet de créer, de gérer et d'utiliser des objets de base de données. Dans ce modèle, vous utilisez cet outil pour vous connecter à l'instance de base de données Aurora et interroger les données.

## Épopées
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-epics"></a>

### Préparez-vous à la migration
<a name="prepare-for-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un rapport de migration de base de données. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html) | DBA, Développeur | 
| Désactivez les contraintes liées aux clés étrangères sur la base de données cible. | Dans PostgreSQL, les clés étrangères sont implémentées à l'aide de déclencheurs. Pendant la phase de chargement complet, AWS DMS charge chaque table une par une. Nous vous recommandons vivement de désactiver les contraintes liées aux clés étrangères lors d'un chargement complet en utilisant l'une des méthodes suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html)S'il n'est pas possible de désactiver les contraintes liées aux clés étrangères, créez une tâche de AWS DMS migration pour les données primaires spécifique à la table parent et à la table enfant. | DBA, Développeur | 
| Désactivez les clés primaires et les clés uniques de la base de données cible. | À l'aide des commandes suivantes, désactivez les clés primaires et les contraintes sur la base de données cible. Cela permet d'améliorer les performances de la tâche de chargement initiale.<pre>ALTER TABLE <table> DISABLE PRIMARY KEY;</pre><pre>ALTER TABLE <table> DISABLE CONSTRAINT <constraint_name>;</pre> | DBA, Développeur | 
| Créez la tâche de chargement initiale. | Dans AWS DMS, créez la tâche de migration pour le chargement initial. Pour obtenir des instructions, reportez-vous à [la section Création d'une tâche](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Pour la méthode de migration, choisissez **Migrer les données existantes**. Cette méthode de migration est**** appelée `Full Load` dans l'API. Ne commencez pas encore cette tâche. | DBA, Développeur | 
| Modifiez les paramètres de tâche pour la tâche de chargement initiale. | Modifiez les paramètres des tâches pour ajouter la validation des données. Ces paramètres de validation doivent être créés dans un fichier JSON. Pour obtenir des instructions et des exemples, consultez la section [Spécification des paramètres des tâches](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.html). Ajoutez les validations suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html)Pour valider le reste de la migration des données, activez la validation des données dans la tâche. Pour plus d'informations, consultez la section [Paramètres des tâches de validation des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.DataValidation.html). | Administrateur AWS, DBA | 
| Créez la tâche de réplication en cours. | Dans AWS DMS, créez la tâche de migration qui synchronise la base de données cible avec la base de données source. Pour obtenir des instructions, reportez-vous à [la section Création d'une tâche](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Pour la méthode de migration, sélectionnez **Répliquer uniquement les modifications de données**. Ne commencez pas encore cette tâche. | DBA | 

### Testez les tâches de migration
<a name="test-the-migration-tasks"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez des exemples de données pour les tests. | Dans la base de données source, créez un exemple de table contenant des données à des fins de test. | Developer | 
| Vérifiez qu'il n'y a pas d'activités conflictuelles. | Utilisez le `pg_stat_activity` pour vérifier toute activité sur le serveur susceptible d'affecter la migration. Pour plus d'informations, consultez [The Statistics Collector](https://www.postgresql.org/docs/current/monitoring-stats.html) (documentation PostgreSQL). | Administrateur AWS | 
| Démarrez les tâches de AWS DMS migration. | Dans la AWS DMS console, sur la page **Tableau de bord**, lancez le chargement initial et les tâches de réplication en cours que vous avez créées dans l'épopée précédente. | Administrateur AWS | 
| Surveillez les tâches et les états de chargement des tables. | Pendant la migration, surveillez l'[état des tâches](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html#CHAP_Tasks.Status) et les [états des tables](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html#CHAP_Tasks.CustomizingTasks.TableState). Lorsque la tâche de chargement initiale est terminée, dans l'onglet **Statistiques du tableau** :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.html) | Administrateur AWS | 
| Vérifiez les résultats de la migration. | À l'aide de pgAdmin, interrogez la table sur la base de données cible. Une requête réussie indique que les données ont été migrées avec succès. | Developer | 
| Ajoutez des clés primaires et des clés étrangères dans la base de données cible. | Créez la clé primaire et la clé étrangère dans la base de données cible. Pour plus d'informations, consultez [ALTER TABLE (site](https://www.postgresql.org/docs/current/sql-altertable.html) Web de PostgreSQL). | DBA | 
| Nettoyez les données de test. | Dans les bases de données source et cible, nettoyez les données créées pour les tests unitaires. | Developer | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Terminez la migration. | Répétez l'épopée précédente, *testez les tâches de migration* en utilisant les données source réelles. Cela permet de migrer les données de la base de données source vers la base de données cible. | Developer | 
| Vérifiez que les bases de données source et cible sont synchronisées. | Vérifiez que les bases de données source et cible sont synchronisées. Pour plus d'informations et d'instructions, consultez la section [Validation AWS DMS des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Developer | 
| Arrêtez la base de données source. | Arrêtez la base de données Amazon RDS for Oracle. Pour obtenir des instructions, consultez [Arrêter temporairement une instance de base de données Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_StopInstance.html). Lorsque vous arrêtez la base de données source, le chargement initial et les tâches de réplication en cours AWS DMS sont automatiquement interrompus. Aucune action supplémentaire n'est requise pour arrêter ces tâches. | Developer | 

## Ressources connexes
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-resources"></a>

**AWS références**
+ [Migrer une base de données Oracle vers Aurora PostgreSQL à l' AWS DMS aide de AWS SCT et AWS (directives](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.html) prescriptives)
+ [Conversion d'Oracle en Amazon RDS pour PostgreSQL ou Amazon AWS SCT Aurora PostgreSQL](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html) (documentation)
+ [Comment AWS DMS fonctionne](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.html) (AWS DMS documentation)

**Autres références**
+ [Type de données booléen (documentation](https://www.postgresqltutorial.com/postgresql-tutorial/postgresql-boolean/) PostgreSQL)
+ [Types de données intégrés](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF30020) à Oracle (documentation Oracle)
+ [pgAdmin (site](https://www.pgadmin.org/) Web de pgAdmin)
+ [Développeur SQL](https://www.oracle.com/database/technologies/appdev/sql-developer.html) (site Web Oracle)

**Tutoriels et vidéos**
+ [Commencer avec AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Commencer à utiliser Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Présentation de AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (vidéo)
+ [Comprendre Amazon RDS](https://www.youtube.com/watch?v=eMzCI7S1P9M) (vidéo)

## Informations supplémentaires
<a name="convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql-additional"></a>

**Script de validation des données**

Le script de validation des données suivant convertit **1** en **Y** et **0** en **N.** Cela permet de mener à bien la AWS DMS tâche et de réussir la validation de la table.

```
{
"rule-type": "validation",
"rule-id": "5",
"rule-name": "5",
"rule-target": "column",
"object-locator": {
"schema-name": "ADMIN",
"table-name": "TEMP_CHRA_BOOL",
"column-name": "GRADE"
},
"rule-action": "override-validation-function",
"target-function": "case grade when '1' then 'Y' else 'N' end"
        }
```

L'`case`instruction du script effectue la validation. Si la validation échoue, AWS DMS insère un enregistrement dans la table **public.awsdms\$1validation\$1failures\$1v1** de l'instance de base de données cible. Cet enregistrement inclut le nom de la table, l'heure de l'erreur et des détails sur les valeurs non concordantes dans les tables source et cible.

Si vous n'ajoutez pas ce script de validation des données à la AWS DMS tâche et que les données sont insérées dans la table cible, la AWS DMS tâche affiche l'état de validation sous la forme d'**enregistrements non concordants**.

Lors AWS SCT de la conversion, la tâche de AWS DMS migration change le type de données de VARCHAR2 (1) en type booléen et ajoute une contrainte de clé primaire sur la `"NO"` colonne.

# Création d'utilisateurs et de rôles d'application dans Aurora PostgreSQL compatible
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible"></a>

*Abhishek Verma, Amazon Web Services*

## Résumé
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-summary"></a>

Lorsque vous migrez vers l'édition compatible avec Amazon Aurora PostgreSQL, les utilisateurs et les rôles de base de données qui existent sur la base de données source doivent être créés dans la base de données compatible avec Aurora PostgreSQL. Vous pouvez créer les utilisateurs et les rôles dans Aurora PostgreSQL compatible en utilisant deux approches différentes :
+ Utilisez des utilisateurs et des rôles similaires dans la base de données cible et dans la base de données source. Dans cette approche, les langages de définition des données (DDLs) sont extraits de la base de données source pour les utilisateurs et les rôles. Ils sont ensuite transformés et appliqués à la base de données cible compatible Aurora PostgreSQL. Par exemple, le billet de blog [Utiliser SQL pour mapper les utilisateurs, les rôles et les autorisations d'Oracle à PostgreSQL traite de](https://aws.amazon.com/blogs/database/use-sql-to-map-users-roles-and-grants-from-oracle-to-postgresql) l'utilisation de l'extraction à partir d'un moteur de base de données source Oracle.
+ Utilisez des utilisateurs et des rôles standardisés couramment utilisés lors du développement, de l'administration et pour effectuer d'autres opérations connexes dans la base de données. Cela inclut les opérations de lecture seule, de lecture/écriture, de développement, d'administration et de déploiement effectuées par les utilisateurs respectifs.

Ce modèle contient les autorisations requises pour la création d'utilisateurs et de rôles dans Aurora PostgreSQL compatible avec l'approche standardisée des utilisateurs et des rôles. Les étapes de création des utilisateurs et des rôles sont alignées sur la politique de sécurité qui consiste à accorder le moindre privilège aux utilisateurs de la base de données. Le tableau suivant répertorie les utilisateurs, leurs rôles correspondants et leurs informations sur la base de données.


| 
| 
| Utilisateurs | Roles | Objectif | 
| --- |--- |--- |
| `APP_read` | `APP_RO` | Utilisé pour l'accès en lecture seule au schéma `APP` | 
| `APP_WRITE` | `APP_RW` | Utilisé pour les opérations d'écriture et de lecture sur le schéma `APP` | 
| `APP_dev_user` | `APP_DEV` | Utilisé à des fins de développement sur le schéma`APP_DEV`, avec accès en lecture seule au schéma `APP` | 
| `Admin_User` | `rds_superuser` | Utilisé pour effectuer des opérations d'administration sur la base de données | 
| `APP` | `APP_DEP` | Utilisé pour créer les objets sous le `APP` schéma et pour le déploiement d'objets dans le `APP` schéma | 

## Conditions préalables et limitations
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-prereqs"></a>

**Conditions préalables**
+ Un compte Amazon Web Services (AWS) actif
+ Une base de données PostgreSQL, une base de données Amazon Aurora PostgreSQL Edition compatible ou une base de données Amazon Relational Database Service (Amazon RDS) pour PostgreSQL

**Versions du produit**
+ Toutes les versions de PostgreSQL

## Architecture
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-architecture"></a>

**Pile technologique source**
+ Toute base de données

**Pile technologique cible**
+ Compatible avec Amazon Aurora PostgreSQL

**Architecture cible**

Le schéma suivant montre les rôles des utilisateurs et l'architecture du schéma dans la base de données compatible Aurora PostgreSQL.

![\[Rôles utilisateur et architecture de schéma pour la base de données compatible Aurora PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/80105a81-e3d1-4258-b3c1-77f3a5e78592/images/b95cb9bc-8bf7-47d1-92e7-66cfb37d7ce7.png)


                                                                                                                                    

**Automatisation et mise à l'échelle**

Ce modèle contient les utilisateurs, les rôles et le script de création de schéma, que vous pouvez exécuter plusieurs fois sans aucun impact sur les utilisateurs existants de la base de données source ou cible.

## Outils
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-tools"></a>

**Services AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.

**Autres services**
+ [psql](https://www.postgresql.org/docs/current/app-psql.html) est un outil frontal basé sur un terminal qui est installé avec chaque installation de base de données PostgreSQL. Il possède une interface de ligne de commande pour exécuter des commandes SQL, PL-PGSQL et du système d'exploitation.
+ [pgAdmin](https://www.pgadmin.org/) est un outil de gestion open source pour PostgreSQL. Il fournit une interface graphique qui vous permet de créer, de gérer et d'utiliser des objets de base de données.

## Épopées
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-epics"></a>

### Création des utilisateurs et des rôles
<a name="create-the-users-and-roles"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'utilisateur de déploiement. | L'utilisateur de déploiement `APP` sera utilisé pour créer et modifier les objets de base de données lors des déploiements. Utilisez les scripts suivants pour créer le rôle d'utilisateur de déploiement `APP_DEP` dans le schéma`APP`. Validez les droits d'accès pour vous assurer que cet utilisateur a uniquement le privilège de créer des objets dans le schéma requis`APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Créez l'utilisateur en lecture seule. | L'utilisateur en lecture seule `APP_read` sera utilisé pour effectuer l'opération en lecture seule dans le schéma. `APP` Utilisez les scripts suivants pour créer l'utilisateur en lecture seule. Validez les droits d'accès pour vous assurer que cet utilisateur a le privilège de lire uniquement les objets du schéma `APP` et d'accorder automatiquement un accès en lecture à tout nouvel objet créé dans le schéma`APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Créez l' read/write utilisateur. | L' read/write utilisateur `APP_WRITE` sera utilisé pour effectuer des opérations de lecture et d'écriture sur le schéma`APP`. Utilisez les scripts suivants pour créer l' read/write utilisateur et lui attribuer le `APP_RW` rôle. Validez les droits d'accès pour vous assurer que cet utilisateur dispose de privilèges de lecture et d'écriture uniquement sur les objets du schéma `APP` et pour accorder automatiquement un accès en lecture et en écriture à tout nouvel objet créé dans le schéma`APP`.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) |  | 
| Créez l'utilisateur administrateur. | L'utilisateur admin `Admin_User` sera utilisé pour effectuer des opérations d'administration sur la base de données. Des exemples de ces opérations sont `CREATE ROLE` et`CREATE DATABASE`. `Admin_User`utilise le rôle intégré `rds_superuser` pour effectuer des opérations d'administration sur la base de données. Utilisez les scripts suivants pour créer et tester les privilèges de l'utilisateur administrateur `Admin_User` dans la base de données.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 
| Créez l'utilisateur de développement. | L'utilisateur de développement `APP_dev_user` aura le droit de créer les objets dans son schéma local `APP_DEV` et d'accéder en lecture dans le schéma`APP`. Utilisez les scripts suivants pour créer et tester les privilèges de l'utilisateur `APP_dev_user` dans la base de données.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/create-application-users-and-roles-in-aurora-postgresql-compatible.html) | DBA | 

## Ressources connexes
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-resources"></a>

**Documentation de PostgreSQL**
+ [CRÉER UN RÔLE](https://www.postgresql.org/docs/9.1/sql-createrole.html)
+ [CRÉER UN UTILISATEUR](https://www.postgresql.org/docs/8.0/sql-createuser.html)
+ [Rôles prédéfinis](https://www.postgresql.org/docs/14/predefined-roles.html)

 

## Informations supplémentaires
<a name="create-application-users-and-roles-in-aurora-postgresql-compatible-additional"></a>

**Amélioration de PostgreSQL 14**

PostgreSQL 14 fournit un ensemble de rôles prédéfinis qui donnent accès à certaines fonctionnalités et informations privilégiées couramment nécessaires. Les administrateurs (y compris les rôles dotés de `CREATE ROLE` privilèges) peuvent accorder ces rôles ou d'autres rôles dans leur environnement aux utilisateurs, en leur donnant accès aux fonctionnalités et informations spécifiées.

Les administrateurs peuvent autoriser les utilisateurs à accéder à ces rôles à l'aide de la `GRANT` commande. Par exemple, pour attribuer le `pg_signal_backend` rôle à`Admin_User`, vous pouvez exécuter la commande suivante.

```
GRANT pg_signal_backend TO Admin_User;
```

Le `pg_signal_backend` rôle est destiné à permettre aux administrateurs d'activer des rôles fiables, non superutilisateurs, pour envoyer des signaux à d'autres backends. Pour plus d'informations, consultez la section Amélioration de [PostgreSQL 14](https://www.postgresql.org/docs/14/predefined-roles.html).

**Ajustement précis de l'accès**

Dans certains cas, il peut être nécessaire de fournir un accès plus granulaire aux utilisateurs (par exemple, un accès basé sur des tables ou un accès basé sur des colonnes). Dans de tels cas, des rôles supplémentaires peuvent être créés pour accorder ces privilèges aux utilisateurs. Pour plus d'informations, consultez la section [Subventions PostgreSQL](https://www.postgresql.org/docs/8.4/sql-grant.html).

# Émulez Oracle DR à l'aide d'une base de données globale Aurora compatible avec PostgreSQL
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database"></a>

*HariKrishna Boorgadda, Amazon Web Services*

## Résumé
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-summary"></a>

Les meilleures pratiques en matière de reprise après sinistre (DR) d'entreprise consistent essentiellement à concevoir et à mettre en œuvre des systèmes matériels et logiciels tolérants aux pannes capables de survivre à un sinistre (*continuité* des activités) et de reprendre leurs activités normales (*reprise des activités*), avec un minimum d'intervention et, idéalement, sans perte de données. La création d'environnements tolérants aux pannes pour répondre aux objectifs de reprise après sinistre des entreprises peut s'avérer coûteuse et chronophage et nécessite un engagement fort de la part de l'entreprise.

Oracle Database propose trois approches différentes de la reprise après sinistre qui offrent le plus haut niveau de protection et de disponibilité des données par rapport à toute autre approche de protection des données Oracle.
+ Appliance de restauration Oracle Zero Data Loss
+ Oracle Active Data Guard
+ Oracle GoldenGate

Ce modèle permet d'émuler le GoldenGate DR Oracle en utilisant une base de données globale Amazon Aurora. L'architecture de référence utilise Oracle GoldenGate pour la reprise après sinistre dans trois régions AWS. Le modèle décrit la replateforme de l'architecture source vers la base de données globale Aurora native pour le cloud basée sur l'édition compatible Amazon Aurora PostgreSQL.

Les bases de données mondiales Aurora sont conçues pour les applications ayant une présence mondiale. Une seule base de données Aurora couvre plusieurs régions AWS avec jusqu'à cinq régions secondaires. Les bases de données globales Aurora offrent les fonctionnalités suivantes :
+ Réplication physique au niveau du stockage
+ Lectures globales à faible latence
+ Reprise après sinistre rapide en cas de panne à l'échelle de la région
+ Migrations rapides entre régions
+ Faible délai de réplication entre les régions
+ Little-to-no impact sur les performances de votre base de données

Pour plus d'informations sur les fonctionnalités et les avantages de la base de données globale Aurora, consultez la section [Utilisation des bases de données mondiales Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-overview). Pour plus d'informations sur les basculements non planifiés et gérés, consultez la section [Utilisation du basculement dans une base de données globale Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html#aurora-global-database-failover).

## Conditions préalables et limitations
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif 
+ Un pilote PostgreSQL Java Database Connectivity (JDBC) pour la connectivité des applications
+ Une base de données mondiale Aurora basée sur l'édition compatible avec Amazon Aurora PostgreSQL
+ Une base de données Oracle Real Application Clusters (RAC) migrée vers la base de données globale Aurora basée sur la compatibilité avec Aurora PostgreSQL

**Limites des bases de données globales Aurora**
+ Les bases de données mondiales Aurora ne sont pas disponibles dans toutes les régions AWS. Pour obtenir la liste des régions prises en charge, consultez la section [Bases de données globales Aurora avec Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.html#Concepts.Aurora_Fea_Regions_DB-eng.Feature.GlobalDatabase.apg).
+ Pour plus d'informations sur les fonctionnalités non prises en charge et les autres limitations des bases de données mondiales Aurora, consultez les [limites des bases de données mondiales Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database.limitations).

**Versions du produit**
+ Amazon Aurora PostgreSQL : édition compatible 10.14 ou ultérieure

## Architecture
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-architecture"></a>

**Pile technologique source******
+ Base de données à quatre nœuds Oracle RAC
+ Oracle GoldenGate

**Architecture source******

Le schéma suivant montre trois clusters dotés d'Oracle RAC à quatre nœuds dans différentes régions AWS répliqués à l'aide d'Oracle. GoldenGate 

![\[Oracle RAC dans une région principale et deux régions secondaires.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/9fc740fc-d339-422e-beaf-1f65690c9d14.png)


**Pile technologique cible**
+ Une base de données globale Amazon Aurora à trois clusters basée sur la compatibilité avec Aurora PostgreSQL, avec un cluster dans la région principale, deux clusters dans différentes régions secondaires

**Architecture cible**

![\[Amazon Aurora dans une région principale et deux régions secondaires.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/11d4265b-31af-4ebf-a766-24196193ee01/images/8e3deca9-03f2-437c-9341-795ac17e2b42.png)


## Outils
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-tools"></a>

**Services AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
+ Les [bases de données mondiales Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html) s'étendent sur plusieurs régions AWS, ce qui permet des lectures globales à faible latence et une restauration rapide après les rares pannes susceptibles d'affecter une région AWS entière.

## Épopées
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-epics"></a>

### Ajouter des régions avec des instances de base de données de lecteur
<a name="add-regions-with-reader-db-instances"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Attachez un ou plusieurs clusters Aurora secondaires. | Sur la console de gestion AWS, sélectionnez Amazon Aurora. Sélectionnez le cluster principal, choisissez **Actions**, puis choisissez **Ajouter une région dans** la liste déroulante. | DBA | 
| Sélectionnez la classe d'instance. | Vous pouvez modifier la classe d'instance du cluster secondaire. Toutefois, nous vous recommandons de la conserver identique à la classe d'instance de cluster principale. | DBA | 
| Ajoutez la troisième région. | Répétez les étapes de cette épopée pour ajouter un cluster dans la troisième région. | DBA | 

### Basculez sur la base de données globale Aurora
<a name="fail-over-the-aurora-global-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Supprimez le cluster principal de la base de données globale Aurora. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.html) | DBA | 
| Reconfigurez l'application pour détourner le trafic d'écriture vers le cluster qui vient d'être promu. | Modifiez le point de terminaison de l'application avec celui du cluster nouvellement promu. | DBA | 
| Arrêtez d'exécuter des opérations d'écriture sur le cluster non disponible. | Arrêtez l'application et toute activité du langage de manipulation de données (DML) sur le cluster que vous avez supprimé. | DBA | 
| Créez une nouvelle base de données globale Aurora. | Vous pouvez désormais créer une base de données globale Aurora avec le cluster nouvellement promu comme cluster principal. | DBA | 

### Démarrez le cluster principal
<a name="start-the-primary-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Sélectionnez le cluster principal à démarrer dans la base de données globale. | Sur la console Amazon Aurora, dans la configuration de la base de données globale, choisissez le cluster principal. | DBA | 
| Démarrez le cluster. | Dans la liste déroulante **Actions**, sélectionnez **Démarrer**. Ce processus peut prendre un certain temps. **Actualisez l'écran pour voir le statut ou consultez la colonne État pour connaître l'état actuel du cluster une fois l'opération terminée.** | DBA | 

### Nettoyez les ressources
<a name="clean-up-the-resources"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Supprimez les clusters secondaires restants. | Une fois le pilote de basculement terminé, supprimez les clusters secondaires de la base de données globale. | DBA | 
| Supprimez le cluster principal. | Supprimez le cluster. | DBA | 

## Ressources connexes
<a name="emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database-resources"></a>
+ [Utilisation de bases de données globales Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database.html#aurora-global-database-detaching)
+ Solutions de [reprise après sinistre Aurora PostgreSQL utilisant la base de données mondiale Amazon Aurora](https://aws.amazon.com/blogs/database/aurora-postgresql-disaster-recovery-solutions-using-amazon-aurora-global-database/) (article de blog)

# SHA1 Implémenter le hachage des données personnelles lors de la migration de SQL Server vers PostgreSQL
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql"></a>

*Rajkumar Raghuwanshi et Jagadish Kantubugata, Amazon Web Services*

## Résumé
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-summary"></a>

Ce modèle décrit comment implémenter le hachage Secure Hash Algorithm 1 (SHA1) pour les adresses e-mail lors de la migration de SQL Server vers Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL compatible. Une adresse e-mail est un exemple d'*informations personnelles identifiables* (PII). Les informations personnelles sont des informations qui, lorsqu'elles sont consultées directement ou associées à d'autres données connexes, peuvent être utilisées pour déduire raisonnablement l'identité d'une personne. 

Ce modèle couvre les défis liés au maintien de valeurs de hachage cohérentes entre les différents classements de base de données et encodages de caractères, et fournit une solution utilisant les fonctions et les déclencheurs PostgreSQL. Bien que ce modèle se concentre sur le SHA1 hachage, il peut être adapté à d'autres algorithmes de hachage pris en charge par le module de PostgreSQL. `pgcrypto` Tenez toujours compte des implications de sécurité de votre stratégie de hachage et consultez des experts en sécurité si vous manipulez des données sensibles.

## Conditions préalables et limitations
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS
+ Base de données source SQL Server
+ Base de données PostgreSQL cible (compatible avec Amazon RDS for PostgreSQL ou Aurora PostgreSQL)
+ Expertise en codage PL/pgSQL

**Limites**
+ Ce modèle nécessite des modifications du classement au niveau de la base de données en fonction des cas d'utilisation.
+ L'impact sur les performances sur les grands ensembles de données n'a pas été évalué.
+ Certains Services AWS ne sont pas disponibles du tout Régions AWS. Pour connaître la disponibilité par région, consultez la section [AWS Services par région](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Pour des points de terminaison spécifiques, consultez [Points de terminaison de service et quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), puis choisissez le lien correspondant au service.

**Versions du produit**
+ Microsoft SQL Server 2012 ou version ultérieure

## Architecture
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-architecture"></a>

**Pile technologique source**
+ SQL Server
+ .NET Framework

**Pile technologique cible**
+ PostgreSQL
+ `pgcrypto`extension

**Automatisation et mise à l'échelle**
+ Envisagez d'implémenter la fonction de hachage en tant que procédure stockée pour faciliter la maintenance.
+ Pour les grands ensembles de données, évaluez les performances et envisagez des stratégies de traitement par lots ou d'indexation.

## Outils
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-tools"></a>

**Services AWS**
+ [Amazon Aurora PostgreSQL compatible](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer les banques de données vers AWS Cloud ou entre des combinaisons de configurations cloud et sur site.
+ [Amazon Relational Database Service Amazon RDS pour PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) vous aide à configurer, exploiter et dimensionner une base de données relationnelle PostgreSQL dans le. AWS Cloud
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.

**Autres outils**
+ [pgAdmin](https://www.pgadmin.org/) est un outil de gestion open source pour PostgreSQL. Il fournit une interface graphique qui vous permet de créer, de gérer et d'utiliser des objets de base de données.
+ [SQL Server Management Studio (SSMS)](https://learn.microsoft.com/en-us/ssms/sql-server-management-studio-ssms) est un environnement intégré permettant de gérer n'importe quelle infrastructure SQL.

## Bonnes pratiques
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-best-practices"></a>
+ Utilisez les paramètres de classement appropriés pour gérer les caractères spéciaux du côté de la base de données cible.
+ Effectuez des tests approfondis avec diverses adresses e-mail, y compris les adresses contenant des caractères non ASCII.
+ Maintenez la cohérence de la gestion des majuscules et des minuscules entre les couches d'application et de base de données.
+ Comparez les performances des requêtes à l'aide des valeurs hachées.

## Épopées
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-epics"></a>

### Analyser la mise en œuvre du hachage de source
<a name="analyze-source-hashing-implementation"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Passez en revue le code SQL Server. | Pour examiner le code SQL Server qui génère SHA1 des hachages, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Ingénieur de données, DBA, développeur d'applications | 
| Documentez l'algorithme de hachage et les transformations de données. | Pour documenter l'algorithme de hachage exact et les transformations de données, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Développeur d'applications, ingénieur de données, DBA | 

### Création d'une fonction de hachage PostgreSQL
<a name="create-postgresql-hashing-function"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une `pgcrypto` extension. | Pour créer l'`pgcrypto`extension, `pgAdmin/psql` exécutez la commande suivante :<pre>CREATE EXTENSION pgcrypto;</pre> | DBA, ingénieur de données | 
| Implémentez une fonction PostgreSQL. | Implémentez la fonction PostgreSQL suivante pour répliquer la logique de hachage de SQL Server. À un niveau élevé, cette fonction utilise les étapes suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html)<pre>CREATE OR REPLACE FUNCTION utility.hex_to_bigint ( <br />     par_val character varying, <br />     par_upper character varying DEFAULT 'lower'::character varying) <br />RETURNS bigint <br />LANGUAGE 'plpgsql' <br />AS $BODY$ <br />DECLARE <br />    retnumber bigint; <br />    digest_bytes bytea;<br />BEGIN <br />    if lower(par_upper) = 'upper' <br />    then <br />        digest_bytes := digest(upper(par_val), 'sha1');<br />    else <br />        digest_bytes := digest((par_val), 'sha1');<br />    end if; <br />    retnumber := ('x' || encode(substring(digest_bytes, length(digest_bytes)-10+1), 'hex'))::bit(64)::bigint; <br />    RETURN retnumber; <br />END; <br />$BODY$;</pre> | Ingénieur de données, DBA, développeur d'applications | 
| Test de la fonction. | Pour tester la fonction, utilisez des exemples de données provenant de SQL Server pour vérifier les valeurs de hachage correspondantes. Exécutez la commande suivante :<pre>select 'alejandro_rosalez@example.com' as Email, utility.hex_to_bigint('alejandro_rosalez@example.com','upper') as HashValue;<br /><br />--OUTPUT<br />/*<br />email 	        hashvalue<br />"alejandro_rosalez@example.com"	451397011176045063<br />*/<br /></pre> | Développeur d'applications, DBA, ingénieur de données | 

### Implémenter des déclencheurs pour le hachage automatique
<a name="implement-triggers-for-automatic-hashing"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez des déclencheurs sur les tables pertinentes. | Pour créer des déclencheurs sur les tables pertinentes afin de générer automatiquement des valeurs de hachage lors de l'insertion ou de la mise à jour, exécutez la commande suivante :<pre>CREATE OR REPLACE FUNCTION update_email_hash() <br />RETURNS TRIGGER <br />AS $$ <br />BEGIN <br />    NEW.email_hash = utility.hex_to_bigint(NEW.email, 'upper'); <br />    RETURN NEW; <br />END; <br />$$ LANGUAGE plpgsql;</pre><pre>CREATE TRIGGER email_hash_trigger BEFORE INSERT OR UPDATE ON users FOR EACH ROW EXECUTE FUNCTION update_email_hash();</pre> | Développeur d'applications, ingénieur de données, DBA | 

### Migrer les données existantes
<a name="migrate-existing-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Développez un script de migration ou utilisez-le AWS DMS.  | Développez un script de migration ou AWS DMS utilisez-le pour renseigner les valeurs de hachage des données existantes (y compris les valeurs de hachage stockées `BIGINT` dans le système source). Réalisez les tâches suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Ingénieur de données, développeur d'applications, DBA | 
| Utilisez la nouvelle fonction de hachage de PostgreSQL. | Pour utiliser la nouvelle fonction de hachage de PostgreSQL afin de garantir la cohérence, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Développeur d'applications, DBA, ingénieur DevOps  | 

### Mettre à jour les requêtes d'application
<a name="update-application-queries"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez les requêtes relatives aux applications. | Pour identifier les requêtes d'application qui utilisent des valeurs hachées, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Développeur d'applications, DBA, ingénieur de données | 
| Modifiez les requêtes. | Si nécessaire, modifiez les requêtes pour utiliser la nouvelle fonction de hachage PostgreSQL. Procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Développeur d'applications, DBA, ingénieur de données | 

### Tester et valider
<a name="test-and-validate"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Effectuez des tests. | Pour effectuer des tests approfondis avec un sous-ensemble de données de production, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Développeur d'applications, ingénieur de données, DBA | 
| Vérifiez que les valeurs de hachage correspondent. | Pour vérifier que les valeurs de hachage correspondent entre SQL Server et PostgreSQL, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Développeur d'applications, ingénieur de données, DBA | 
| Vérifiez le fonctionnement de l'application. | Pour vérifier le fonctionnement de l'application à l'aide des données migrées et de la nouvelle implémentation de hachage, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.html) | Développeur d'applications, DBA, ingénieur de données | 

## Résolution des problèmes
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Les valeurs de hachage ne correspondent pas. | Vérifiez les codages de caractères et les classements entre la source et la cible. Pour plus d'informations, consultez [Gérer les modifications de classement dans PostgreSQL sur Amazon Aurora et Amazon](https://aws.amazon.com/blogs/database/manage-collation-changes-in-postgresql-on-amazon-aurora-and-amazon-rds/)AWS RDS (blog). | 

## Ressources connexes
<a name="implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql-resources"></a>

**AWS Blogs**
+ [Gérez les modifications de classement dans PostgreSQL sur Amazon Aurora et Amazon RDS](https://aws.amazon.com/blogs/database/manage-collation-changes-in-postgresql-on-amazon-aurora-and-amazon-rds/)
+ [Migrez SQL Server vers Amazon Aurora PostgreSQL en utilisant les meilleures pratiques et les leçons apprises sur le terrain](https://aws.amazon.com/blogs/database/migrate-sql-server-to-amazon-aurora-postgresql-using-best-practices-and-lessons-learned-from-the-field/)

**Autres ressources**
+ Module [pgcrypto de PostgreSQL (documentation](https://www.postgresql.org/docs/current/pgcrypto.html) PostgreSQL)
+ [Fonctions de déclenchement de PostgreSQL (documentation](https://www.postgresql.org/docs/current/plpgsql-trigger.html) PostgreSQL)
+ [Fonction HASHBYTES de SQL Server](https://docs.microsoft.com/en-us/sql/t-sql/functions/hashbytes-transact-sql) (documentation Microsoft)

# Migrez progressivement d'Amazon RDS for Oracle vers Amazon RDS for PostgreSQL à l'aide d'Oracle SQL Developer et d'AWS SCT
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct"></a>

*Pinesh Singal, Amazon Web Services*

## Résumé
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-summary"></a>

De nombreuses stratégies et approches de migration se déroulent en plusieurs phases qui peuvent durer de quelques semaines à plusieurs mois. Pendant ce temps, vous pouvez rencontrer des retards en raison de l'application de correctifs ou de mises à niveau dans les instances de base de données Oracle source que vous souhaitez migrer vers des instances de base de données PostgreSQL. Pour éviter cette situation, nous vous recommandons de migrer progressivement le code de base de données Oracle restant vers le code de base de données PostgreSQL.

Ce modèle fournit une stratégie de migration incrémentielle sans interruption pour une instance de base de données Oracle de plusieurs téraoctets qui effectue un grand nombre de transactions après votre migration initiale et qui doit être migrée vers une base de données PostgreSQL. Vous pouvez utiliser l' step-by-stepapproche de ce modèle pour migrer progressivement une instance de base de données Amazon Relational Database Service (Amazon RDS) pour Oracle vers une instance de base de données Amazon RDS for PostgreSQL sans vous connecter à la console de gestion Amazon Web Services (AWS).

Le modèle utilise [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) pour trouver les différences entre deux schémas dans la base de données Oracle source. Vous utilisez ensuite AWS Schema Conversion Tool (AWS SCT) pour convertir les objets de schéma de base de données Amazon RDS for Oracle en objets de schéma de base de données Amazon RDS for PostgreSQL. Vous pouvez ensuite exécuter un script Python dans l'invite de commande Windows pour créer des objets AWS SCT pour les modifications incrémentielles apportées aux objets de base de données source.

**Note**  
Avant de migrer vos charges de travail de production, nous vous recommandons d'exécuter une validation de principe (PoC) pour l'approche de ce modèle dans un environnement de test ou hors production.

## Conditions préalables et limitations
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Une instance de base de données Amazon RDS pour Oracle existante. 
+ Une instance de base de données Amazon RDS pour PostgreSQL existante.
+ AWS SCT, installé et configuré avec des pilotes JDBC pour les moteurs de base de données Oracle et PostgreSQL. Pour plus d'informations à ce sujet, consultez les [sections Installation d'AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) et [Installation des pilotes de base de données requis](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.JDBCDrivers) dans la documentation AWS SCT. 
+ Oracle SQL Developer, installé et configuré. Pour plus d'informations à ce sujet, consultez la documentation [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html). 
+ Le `incremental-migration-sct-sql.zip` fichier (joint), téléchargé sur votre ordinateur local.

**Limites**
+ Les exigences minimales pour votre instance de base de données Amazon RDS for Oracle source sont les suivantes :
  + Oracle versions 10.2 et ultérieures (pour les versions 10.x), 11g (versions 11.2.0.3.v1 et ultérieures) et jusqu'à 12.2, et 18c pour les éditions Enterprise, Standard, Standard One et Standard Two
+ Les exigences minimales pour votre instance de base de données Amazon RDS pour PostgreSQL cible sont les suivantes :  
  + PostgreSQL versions 9.4 et ultérieures (pour les versions 9.x), 10.x et 11.x
+ Ce modèle utilise Oracle SQL Developer. Vos résultats peuvent varier si vous utilisez d'autres outils pour rechercher et exporter les différences de schéma.
+ Les [scripts SQL](https://docs.oracle.com/database/121/AEUTL/sql_rep.htm#AEUTL191) générés par Oracle SQL Developer peuvent générer des erreurs de transformation, ce qui signifie que vous devez effectuer une migration manuelle.
+ Si les connexions de test source et cible AWS SCT échouent, assurez-vous de configurer les versions du pilote JDBC et les règles entrantes pour que le groupe de sécurité du cloud privé virtuel (VPC) accepte le trafic entrant.

**Versions du produit**
+ Instance de base de données Amazon RDS pour Oracle version 12.1.0.2 (version 10.2 et versions ultérieures)
+ Instance de base de données Amazon RDS pour PostgreSQL version 11.5 (version 9.4 et versions ultérieures)
+ Oracle SQL Developer version 19.1 et versions ultérieures
+ AWS SCT version 1.0.632 et versions ultérieures

## Architecture
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-architecture"></a>

**Pile technologique source**
+ Instance de base de données Amazon RDS pour Oracle

**Pile technologique cible**
+ Instance de base de données Amazon RDS pour PostgreSQL

**Architecture source et cible**

Le schéma suivant montre la migration d'une instance de base de données Amazon RDS pour Oracle vers une instance de base de données Amazon RDS pour PostgreSQL.

![\[Flux de travail de migration d'Amazon RDS for Oracle vers Amazon RDS for PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/c7eed517-e496-4e8e-a520-c1e43397419e/images/bfbbed5e-db13-4a22-99aa-1a17f00f5faf.png)


Le schéma montre le flux de travail de migration suivant :

1. Ouvrez Oracle SQL Developer et connectez-vous aux bases de données source et cible.

1. Générez un [rapport de comparaison](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm), puis générez le fichier de scripts SQL pour les objets de différence de schéma. Pour plus d'informations sur les rapports de différence, consultez la section [Rapports de différence détaillés](https://docs.oracle.com/cd/E93130_01/rules_palette/Content/Diff%20Reports/Detailed_Diff_Reports.htm) dans la documentation Oracle.

1. Configurez AWS SCT et exécutez le code Python.

1. Le fichier de scripts SQL est converti d'Oracle en PostgreSQL.

1. Exécutez le fichier de scripts SQL sur l'instance de base de données PostgreSQL cible. 

**Automatisation et mise à l'échelle**

Vous pouvez automatiser cette migration en ajoutant des paramètres supplémentaires et des modifications liées à la sécurité pour plusieurs fonctionnalités dans un seul programme à votre script Python.

## Outils
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-tools"></a>
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) — AWS Schema Conversion Tool (AWS SCT) convertit votre schéma de base de données existant d'un moteur de base de données à un autre.
+ [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) — Oracle SQL Developer est un environnement de développement intégré (IDE) qui simplifie le développement et la gestion des bases de données Oracle dans les déploiements traditionnels et basés sur le cloud.

**Code**

Le `incremental-migration-sct-sql.zip` fichier (joint) contient le code source complet de ce modèle.

## Épopées
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-epics"></a>

### Créez le fichier de scripts SQL pour les différences de schéma de base de données source
<a name="create-the-sql-scripts-file-for-the-source-database-schema-differences"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Exécutez Database Diff dans Oracle SQL Developer.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | DBA | 
| Générez le fichier de scripts SQL. | Choisissez **Generate Script** pour générer les différences entre les fichiers SQL. Cela génère le fichier de scripts SQL qu'AWS SCT utilise pour convertir votre base de données d'Oracle en PostgreSQL. | DBA | 

### Utilisez le script Python pour créer les objets de base de données cibles dans AWS SCT
<a name="use-the-python-script-to-create-the-target-db-objects-in-aws-sct"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez AWS SCT à l'aide de l'invite de commande Windows.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html)<pre>#source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port<br /><br />ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432</pre>4. Modifiez les paramètres de configuration AWS SCT en fonction de vos besoins, puis copiez le fichier de scripts SQL dans votre répertoire de travail, dans le `input` sous-répertoire. | DBA | 
| Exécutez le script python.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.html) | DBA | 
|  Création des objets dans Amazon RDS for PostgreSQL | Exécutez les fichiers SQL et créez des objets dans votre instance de base de données Amazon RDS for PostgreSQL. | DBA | 

## Ressources connexes
<a name="incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct-resources"></a>
+ [Oracle sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [PostgreSQL sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
+ [Utilisation de l'interface utilisateur AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Utilisation d'Oracle comme source pour AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

## Pièces jointes
<a name="attachments-c7eed517-e496-4e8e-a520-c1e43397419e"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/c7eed517-e496-4e8e-a520-c1e43397419e/attachments/attachment.zip)

# Chargez des fichiers BLOB dans TEXT en utilisant le codage de fichiers compatible avec Aurora PostgreSQL
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible"></a>

*Bhanu Ganesh Gudivada et Jeevan Shetty, Amazon Web Services*

## Résumé
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-summary"></a>

Au cours de la migration, il arrive souvent que vous deviez traiter des données structurées et non structurées chargées à partir de fichiers sur un système de fichiers local. Les données peuvent également se trouver dans un jeu de caractères différent de celui de la base de données.

Ces fichiers contiennent les types de données suivants :
+ **Métadonnées** : ces données décrivent la structure du fichier.
+ **Données semi-structurées** : il s'agit de chaînes textuelles dans un format spécifique, tel que JSON ou XML. Vous pouvez peut-être faire des assertions à propos de ces données, par exemple « commencera toujours par « < » ou « ne contient aucun caractère de nouvelle ligne ».
+ **Texte intégral** — Ces données contiennent généralement tous les types de caractères, y compris les caractères de nouvelle ligne et les guillemets. Il peut également être composé de caractères multi-octets en UTF-8.
+ **Données binaires : ces** données peuvent contenir des octets ou des combinaisons d'octets, y compris des valeurs nulles et des end-of-file marqueurs.

Le chargement d'une combinaison de ces types de données peut s'avérer difficile.

Le modèle peut être utilisé avec les bases de données Oracle sur site, les bases de données Oracle qui se trouvent sur des instances Amazon Elastic Compute Cloud (Amazon EC2) sur le cloud Amazon Web Services (AWS) et Amazon Relational Database Service (Amazon RDS) pour les bases de données Oracle. Par exemple, ce modèle utilise Amazon Aurora PostgreSQL Compatible Edition.

Dans Oracle Database, à l'aide d'un pointeur `BFILE` (fichier binaire), du `DBMS_LOB` package et des fonctions du système Oracle, vous pouvez charger un fichier et le convertir en CLOB avec un codage de caractères. PostgreSQL ne prenant pas en charge le type de données BLOB lors de la migration vers une base de données Amazon Aurora PostgreSQL Edition compatible, ces fonctions doivent être converties en scripts compatibles avec PostgreSQL.

Ce modèle propose deux approches pour charger un fichier dans une seule colonne de base de données d'une base de données compatible avec Amazon Aurora PostgreSQL :
+ Approche 1 — Vous importez des données depuis votre compartiment Amazon Simple Storage Service (Amazon S3) en utilisant `table_import_from_s3` la fonction de l'extension avec `aws_s3` l'option d'encodage.
+ Approche 2 — Vous encodez en hexadécimal à l'extérieur de la base de données, puis vous le décodez pour afficher à `TEXT` l'intérieur de la base de données.

Nous vous recommandons d'utiliser Approach 1 car la compatibilité avec Aurora PostgreSQL est directement intégrée à l'extension. `aws_s3`

Ce modèle utilise l'exemple du chargement d'un fichier plat contenant un modèle d'e-mail, comportant des caractères multi-octets et un formatage distinct, dans une base de données compatible avec Amazon Aurora PostgreSQL.

## Conditions préalables et limitations
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une instance Amazon RDS ou une instance compatible avec Aurora PostgreSQL
+ Compréhension de base du SQL et du système de gestion de base de données relationnelle (RDBMS)
+ Un bucket Amazon Simple Storage Service (Amazon S3).
+ Connaissance des fonctions système dans Oracle et PostgreSQL
+ Package RPM HexDump -XXD-0.1.1 (inclus avec Amazon Linux 2)
**Note**  
Le support d'Amazon Linux 2 touche à sa fin. Pour plus d'informations, consultez [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).

**Limites**
+ Pour le type de `TEXT` données, la plus longue chaîne de caractères pouvant être stockée est d'environ 1 Go.

**Versions du produit**
+ Aurora prend en charge les versions de PostgreSQL répertoriées dans les mises à jour d'[Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html) PostgreSQL.

## Architecture
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-architecture"></a>

**Pile technologique cible**
+ Compatible avec Aurora avec PostgreSQL

**Architecture cible**

*Approche 1 — Utilisation de aws\$1s3.table\$1import\$1from\$1s3*

À partir d'un serveur sur site, un fichier contenant un modèle d'e-mail avec des caractères multioctets et un formatage personnalisé est transféré vers Amazon S3. La fonction de base de données personnalisée fournie par ce modèle utilise la `aws_s3.table_import_from_s3` fonction with `file_encoding` pour charger des fichiers dans la base de données et renvoyer les résultats de la requête sous forme de type de `TEXT` données.

![\[Processus en quatre étapes depuis le serveur sur site jusqu'à la sortie TEXT de la base de données Aurora.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/cbf63cac-dcea-4e18-ab4f-c4f6296f60e7/images/9c46b385-e8a0-4e50-b856-d522c44d79e3.png)


1. Les fichiers sont transférés vers le compartiment S3 intermédiaire.

1. Les fichiers sont chargés dans la base de données compatible avec Amazon Aurora PostgreSQL.

1. À l'aide du client pgAdmin, la `load_file_into_clob` fonction personnalisée est déployée dans la base de données Aurora.

1. La fonction personnalisée est utilisée en interne `table_import_from_s3` avec file\$1encoding. La sortie de la fonction est obtenue en utilisant `array_to_string` et `array_agg` comme `TEXT` sortie.

*Approche 2 — Encodage en hexadécimal à l'extérieur de la base de données et décodage pour afficher le TEXTE à l'intérieur de la base de données*

Un fichier provenant d'un serveur local ou d'un système de fichiers local est converti en vidage hexadécimal. Le fichier est ensuite importé dans PostgreSQL sous forme de champ. `TEXT`

![\[Processus en trois étapes utilisant le vidage hexadécimal.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/cbf63cac-dcea-4e18-ab4f-c4f6296f60e7/images/563038ca-f890-4874-85df-d0f82d99800a.png)


1. Convertissez le fichier en vidage hexadécimal dans la ligne de commande à l'aide de l'`xxd -p`option.

1. Téléchargez les fichiers de vidage hexadécimal dans un environnement compatible avec Aurora PostgreSQL à l'aide de `\copy` cette option, puis décodez les fichiers de vidage hexadécimal en binaire.

1. Codez les données binaires à renvoyer sous la forme`TEXT`.

## Outils
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-tools"></a>

**Services AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
+ [L'interface de ligne de commande AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.

**Autres outils**
+ [pgAdmin4](https://www.pgadmin.org/) est une plateforme d'administration et de développement open source pour PostgreSQL. pgAdmin4 peut être utilisé sous Linux, Unix, Mac OS et Windows pour gérer PostgreSQL.  

## Épopées
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-epics"></a>

### Approche 1 : Importer des données depuis Amazon S3 vers une version compatible avec Aurora PostgreSQL
<a name="approach-1-import-data-from-amazon-s3-to-aurora-postgresql-compatible"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Lancez une EC2 instance. | Pour obtenir des instructions sur le lancement d'une instance, consultez [Lancer votre instance](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html). | DBA | 
| Installez l'outil pgAdmin du client PostgreSQL. | Téléchargez et installez [pgAdmin.](https://www.pgadmin.org/download/) | DBA | 
| Créez une politique IAM. | Créez une politique AWS Identity and Access Management (IAM) nommée `aurora-s3-access-pol` qui accorde l'accès au compartiment S3 dans lequel les fichiers seront stockés. Utilisez le code suivant, en le `<bucket-name>` remplaçant par le nom de votre compartiment S3.<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:DeleteObject",<br />                "s3:ListMultipartUploadParts",<br />                "s3:PutObject",<br />                "s3:ListBucket"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::<bucket-name>/*",<br />                "arn:aws:s3:::<bucket-name>"<br />            ]<br />        }<br />    ]<br />}</pre> | DBA | 
| Créez un rôle IAM pour l'importation d'objets depuis Amazon S3 vers Aurora compatible avec PostgreSQL. | Utilisez le code suivant pour créer un rôle IAM nommé `aurora-s3-import-role` avec la relation de [AssumeRole](https://docs.amazonaws.cn/en_us/STS/latest/APIReference/API_AssumeRole.html)confiance. `AssumeRole`permet à Aurora d'accéder à d'autres services AWS en votre nom.<pre>{<br />  "Version": "2012-10-17",		 	 	 <br />  "Statement": [<br />    {<br />      "Effect": "Allow","Principal": {<br />        "Service": "rds.amazonaws.com"<br />      },"Action": "sts:AssumeRole"<br />    }<br />  ]<br />}<br /></pre> | DBA | 
| Associez le rôle IAM au cluster. | Pour associer le rôle IAM au cluster de base de données compatible Aurora PostgreSQL, exécutez la commande AWS CLI suivante. Modifiez `<Account-ID>` l'ID du compte AWS qui héberge la base de données compatible Aurora PostgreSQL. Cela permet à la base de données compatible Aurora PostgreSQL d'accéder au compartiment S3.<pre>aws rds add-role-to-db-cluster --db-cluster-identifier aurora-postgres-cl<br />--feature-name s3Import --role-arn arn:aws:iam::<Account-ID>:role/aurora-s3-import-role</pre> | DBA | 
| Téléchargez l'exemple sur Amazon S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | DBA, propriétaire de l'application | 
| Déployez la fonction personnalisée. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | Propriétaire de l'application, DBA | 
| Exécutez la fonction personnalisée pour importer les données dans la base de données. | Exécutez la commande SQL suivante en remplaçant les éléments entre crochets par les valeurs appropriées.<pre>select load_file_into_clob('aws-s3-import-test'::text,'us-west-1'::text,'employee.salary.event.notification.email.vm'::text);</pre>Remplacez les éléments entre crochets par les valeurs appropriées, comme indiqué dans l'exemple suivant, avant d'exécuter la commande.<pre>Select load_file_into_clob('aws-s3-import-test'::text,'us-west-1'::text,'employee.salary.event.notification.email.vm'::text);</pre>La commande charge le fichier depuis Amazon S3 et renvoie le résultat sous la forme`TEXT`. | Propriétaire de l'application, DBA | 

### Approche 2 : convertir le fichier modèle en un dump hexadécimal dans un système Linux local
<a name="approach-2-convert-the-template-file-into-a-hex-dump-in-a-local-linux-system"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Convertissez le fichier modèle en un dump hexadécimal. | L'utilitaire Hexdump affiche le contenu des fichiers binaires en hexadécimal, décimal, octal ou ASCII. La `hexdump` commande fait partie du `util-linux` package et est préinstallée dans les distributions Linux. Le package Hexdump RPM fait également partie d'Amazon Linux 2. (: Le support d'Amazon Linux 2 touche à sa fin. Pour plus d'informations, consultez [Amazon Linux 2 FAQs](https://aws.amazon.com/amazon-linux-2/faqs/).)Pour convertir le contenu du fichier en un dump hexadécimal, exécutez la commande shell suivante.<pre>xxd -p </path/file.vm> | tr -d '\n' > </path/file.hex></pre>Remplacez le chemin et le fichier par les valeurs appropriées, comme indiqué dans l'exemple suivant.<pre>xxd -p employee.salary.event.notification.email.vm | tr -d '\n' > employee.salary.event.notification.email.vm.hex</pre> | DBA | 
| Chargez le fichier hexdump dans le schéma de base de données. | Utilisez les commandes suivantes pour charger le fichier hexdump dans la base de données compatible Aurora PostgreSQL.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.html) | DBA | 

## Ressources connexes
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-resources"></a>

**Références**
+ [Utilisation d'une base de données PostgreSQL comme cible pour AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Manuel de migration d'Oracle Database 19c vers Amazon Aurora avec compatibilité avec PostgreSQL (12.4)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook-12.4.pdf)
+ [Création de politiques IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)
+ [Associer un rôle IAM à un cluster de base de données Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.AddRoleToDBCluster.html)
+ [pgAdmin](https://www.pgadmin.org/)

**Didacticiels**
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)
+ [Migrer d'Oracle vers Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)

## Informations supplémentaires
<a name="load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible-additional"></a>

**Fonction personnalisée load\$1file\$1into\$1clob**

```
CREATE OR REPLACE FUNCTION load_file_into_clob(
    s3_bucket_name text,
    s3_bucket_region text,
    file_name text,
    file_delimiter character DEFAULT '&'::bpchar,
    file_encoding text DEFAULT 'UTF8'::text)
    RETURNS text
    LANGUAGE 'plpgsql'
    COST 100
    VOLATILE PARALLEL UNSAFE
AS $BODY$
DECLARE
    blob_data BYTEA;
    clob_data TEXT;
    l_table_name CHARACTER VARYING(50) := 'file_upload_hex';
    l_column_name CHARACTER VARYING(50) := 'template';
    l_return_text TEXT;
    l_option_text CHARACTER VARYING(150);
    l_sql_stmt CHARACTER VARYING(500);
        
BEGIN
    
    EXECUTE format ('CREATE TEMPORARY TABLE %I (%I text, id_serial serial)', l_table_name, l_column_name);
    
    l_sql_stmt := 'select ''(format text, delimiter ''''' || file_delimiter || ''''', encoding ''''' || file_encoding ||  ''''')'' ';
    
    EXECUTE FORMAT(l_sql_stmt)
    INTO l_option_text;
    
    EXECUTE FORMAT('SELECT aws_s3.table_import_from_s3($1,$2,$6, aws_commons.create_s3_uri($3,$4,$5))')
    INTO l_return_text
    USING l_table_name, l_column_name, s3_bucket_name, file_name,s3_bucket_region,l_option_text;
    
    EXECUTE format('select array_to_string(array_agg(%I order by id_serial),E''\n'') from %I', l_column_name, l_table_name)
    INTO clob_data;
    
    drop table file_upload_hex;
    
    RETURN clob_data;
END;
$BODY$;
```

**Modèle d'e-mail**

```
######################################################################################
##                                                                                    ##
##    johndoe Template Type: email                                                    ##
##    File: johndoe.salary.event.notification.email.vm                                ##
##    Author: Aimée Étienne    Date 1/10/2021                                                ##
##  Purpose: Email template used by EmplmanagerEJB to inform a johndoe they         ##
##        have been given access to a salary event                                    ##
##    Template Attributes:                                                             ##
##        invitedUser - PersonDetails object for the invited user                        ##
##        salaryEvent - OfferDetails object for the event the user was given access    ##
##        buyercollege - CompDetails object for the college owning the salary event    ##
##        salaryCoordinator - PersonDetails of the salary coordinator for the event    ##
##        idp - Identity Provider of the email recipient                                ##
##        httpWebRoot - HTTP address of the server                                    ##
##                                                                                    ##
######################################################################################

$!invitedUser.firstname $!invitedUser.lastname,

Ce courriel confirme que vous avez ete invite par $!salaryCoordinator.firstname $!salaryCoordinator.lastname de $buyercollege.collegeName a participer a l'evenement "$salaryEvent.offeringtitle" sur johndoeMaster Sourcing Intelligence.

Votre nom d'utilisateur est $!invitedUser.username

Veuillez suivre le lien ci-dessous pour acceder a l'evenement.

${httpWebRoot}/myDashboard.do?idp=$!{idp}

Si vous avez oublie votre mot de passe, utilisez le lien "Mot de passe oublie" situe sur l'ecran de connexion et entrez votre nom d'utilisateur ci-dessus.

Si vous avez des questions ou des preoccupations, nous vous invitons a communiquer avec le coordonnateur de l'evenement $!salaryCoordinator.firstname $!salaryCoordinator.lastname au ${salaryCoordinator.workphone}.

*******

johndoeMaster Sourcing Intelligence est une plateforme de soumission en ligne pour les equipements, les materiaux et les services.

Si vous avez des difficultes ou des questions, envoyez un courriel a support@johndoeMaster.com pour obtenir de l'aide.
```

# Migrer Amazon RDS for Oracle vers Amazon RDS for PostgreSQL avec et en utilisant et AWS SCT AWS DMS AWS CLI CloudFormation
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation"></a>

*Pinesh Singal, Amazon Web Services*

## Résumé
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-summary"></a>

Ce modèle montre comment migrer une instance de base de données [Amazon Relational Database Service (Amazon RDS) de plusieurs téraoctets pour Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) vers une instance de base de données [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) à l'aide du (). AWS Command Line Interface AWS CLI Cette approche permet un temps d'arrêt minimal et ne nécessite pas de connexion au AWS Management Console.

Ce modèle permet d'éviter les configurations manuelles et les migrations individuelles en utilisant les consoles AWS Schema Conversion Tool (AWS SCT) et AWS Database Migration Service (AWS DMS). La solution met en place une configuration unique pour plusieurs bases de données et effectue les migrations en utilisant AWS SCT et AWS DMS dans le AWS CLI.

Le modèle est utilisé AWS SCT pour convertir des objets de schéma de base de données d'Amazon RDS for Oracle vers Amazon RDS for PostgreSQL, AWS DMS puis pour migrer les données. À l'aide de scripts Python AWS CLI, vous créez des AWS SCT objets et des AWS DMS tâches à l'aide d'un CloudFormation modèle.

## Conditions préalables et limitations
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS.
+ Une instance de base de données Amazon RDS pour Oracle existante.
+ Une instance de base de données Amazon RDS pour PostgreSQL existante. 
+ Une instance Amazon Elastic Compute Cloud (Amazon EC2) ou une machine locale avec un système d'exploitation Windows ou Linux pour exécuter des scripts.
+ Compréhension des types de tâches de AWS DMS migration suivants :`full-load`,`cdc`,`full-load-and-cdc`.  Pour plus d'informations, consultez [la section Création d'une tâche](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) dans la AWS DMS documentation. 
+ AWS SCT, installé et configuré avec les pilotes Java Database Connectivity (JDBC) pour les moteurs de base de données Oracle et PostgreSQL. Pour plus d'informations, consultez la section [Installation et configuration AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure) dans la AWS SCT documentation. 
+ Le `AWSSchemaConversionToolBatch.jar` fichier du AWS SCT dossier installé, copié dans votre répertoire de travail.
+ Le `cli-sct-dms-cft.zip` fichier (joint), téléchargé et extrait dans votre répertoire de travail.
+ Version la plus récente du moteur d'instance de AWS DMS réplication. Pour plus d'informations, consultez la section [Comment créer une instance de AWS DMS réplication](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) dans la AWS Support documentation et les [notes AWS DMS de publication](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReleaseNotes.html). 
+ AWS CLI version 2, installée et configurée avec votre identifiant de clé d'accès, votre clé d'accès secrète et le Région AWS nom par défaut de l' EC2 instance ou du système d'exploitation sur lequel les scripts sont exécutés. Pour plus d'informations, consultez les [sections Installation ou mise à jour vers la dernière version AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) et [Configuration des paramètres correspondants AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) dans la AWS CLI documentation. 
+ Connaissance des CloudFormation modèles. Pour plus d'informations, consultez [la section CloudFormation Fonctionnement](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-overview.html) de la CloudFormation documentation. 
+ Python version 3, installé et configuré sur l' EC2 instance ou le système d'exploitation sur lequel les scripts sont exécutés. Pour plus d'informations, consultez la [documentation Python](https://docs.python.org/3/). 

**Limites**
+ Les exigences minimales pour votre instance de base de données Amazon RDS for Oracle source sont les suivantes : 
  + Versions Oracle 12c (12.1.0.2, 12.2.0.1), 18c (18.0.0.0) et 19c (19.0.0.0) pour les éditions Enterprise, Standard, Standard One et Standard Two.
  + Bien qu'Amazon RDS prenne en charge Oracle 18c (18.0.0.0), cette version est sur le point de devenir obsolète car Oracle ne fournit plus de correctifs pour 18c après cette date. end-of-support Pour plus d'informations, consultez [Amazon RDS pour](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html#Oracle.Concepts.Deprecate.11204) Oracle dans la documentation Amazon RDS.
  + Amazon RDS pour Oracle 11g n'est plus pris en charge.
+ Les exigences minimales pour votre instance de base de données Amazon RDS pour PostgreSQL cible sont les suivantes : 
  + PostgreSQL versions 9 (9.5 et 9.6), 10.x, 11.x, 12.x et 13.x

**Versions du produit**
+ Instance de base de données Amazon RDS pour Oracle, versions 12.1.0.2 et ultérieures
+ Instance de base de données Amazon RDS pour PostgreSQL version 11.5 et ultérieure
+ AWS CLI version 2 
+ La dernière version de AWS SCT
+ La dernière version de Python 3

## Architecture
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-architecture"></a>

**Pile technologique source**
+ Amazon RDS for Oracle

**Pile technologique cible**
+ Amazon RDS pour PostgreSQL

**Architecture source et cible**

Le schéma suivant montre la migration d'une instance de base de données Amazon RDS pour Oracle vers une instance de base de données Amazon RDS for AWS DMS PostgreSQL à l'aide de scripts Python.

![\[Migration d'une instance de base de données RDS pour Oracle vers une instance de base de données RDS pour PostgreSQL à l'aide d'AWS DMS et de Python.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5e041494-2e64-4f09-b6ec-0e0cba3a4972/images/77022e13-46fb-4aa8-ab49-85b0ca4c317a.png)


 

Le schéma montre le flux de travail de migration suivant :

1. Le script Python permet AWS SCT de se connecter aux instances de base de données source et cible.

1. L'utilisateur AWS SCT commence par le script Python, convertit le code Oracle en code PostgreSQL et l'exécute sur l'instance de base de données cible.

1. Le script Python crée des tâches de AWS DMS réplication pour les instances de base de données source et cible.

1. L'utilisateur déploie des scripts Python pour démarrer les AWS DMS tâches, puis les arrête une fois la migration des données terminée.

**Automatisation et évolutivité**

Vous pouvez automatiser cette migration en ajoutant des paramètres et des modifications liées à la sécurité à votre script Python, afin de fournir des fonctionnalités supplémentaires. 

## Outils
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-tools"></a>
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)vous aide à configurer les ressources AWS, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie dans toutes Comptes AWS les régions. Ce modèle convertit le fichier `.csv` d'entrée en fichier d'`.json`entrée à l'aide d'un script Python. Le `.json` fichier est utilisé dans AWS CLI les commandes pour créer une CloudFormation pile qui crée plusieurs tâches de AWS DMS réplication avec Amazon Resource Names (ARNs), des types de migration, des paramètres de tâches et des mappages de tables.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer les banques de données vers AWS Cloud ou entre des combinaisons de configurations cloud et sur site. Ce modèle est utilisé AWS DMS pour créer, démarrer et arrêter des tâches avec un script Python qui s'exécute sur la ligne de commande et pour créer le CloudFormation modèle.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible. Ce modèle nécessite que le `AWSSchemaConversionToolBatch.jar` fichier se trouve dans le AWS SCT répertoire installé.

**Code**

Le `cli-sct-dms-cft.zip` fichier (joint) contient le code source complet de ce modèle.

## Épopées
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-epics"></a>

### Configurer AWS SCT et créer des objets de base de données dans AWS CLI
<a name="configure-awssct-and-create-database-objects-in-the-cli"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez AWS SCT pour exécuter à partir du AWS CLI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Exécutez le script `run_aws_sct.py` Python. | Exécutez le script `run_aws_sct.py` Python à l'aide de la commande suivante :`$ python run_aws_sct.py database_migration.txt`Le script Python convertit les objets de base de données d'Oracle en PostgreSQL et crée des fichiers SQL au format PostgreSQL. Le script crée également le fichier PDF`Database migration assessment report`, qui fournit des recommandations détaillées et des statistiques de conversion pour les objets de base de données. | DBA | 
| Créez des objets dans Amazon RDS for PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 

### Configurez et créez AWS DMS des tâches à l'aide AWS CLI des CloudFormation
<a name="configure-and-create-dms-tasks-by-using-the-cli-and-cfn"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance AWS DMS de réplication. | Connectez-vous à la [AWS DMS console AWS Management Console, ouvrez-la](https://console.aws.amazon.com/dms/v2/) et créez une instance de réplication configurée en fonction de vos besoins.Pour plus d'informations, consultez les [sections Création d'une instance de réplication](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) dans la AWS DMS documentation et [Comment créer une instance de AWS DMS réplication](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/) dans la AWS Support documentation. | DBA | 
| Créez le point de terminaison source. | Sur la AWS DMS console, choisissez **Endpoints**, puis créez un point de terminaison source pour la base de données Oracle en fonction de vos besoins. L'attribut de connexion supplémentaire doit `numberDataTypeScale` comporter une `-2` valeur.Pour plus d'informations, consultez la section [Création de points de terminaison source et cible](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) dans la AWS DMS documentation. | DBA | 
| Créez le point de terminaison cible. | Sur la AWS DMS console, choisissez **Endpoints**, puis créez un point de terminaison cible pour la base de données PostgreSQL en fonction de vos besoins.  Pour plus d'informations, consultez la section [Création de points de terminaison source et cible](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) dans la AWS DMS documentation. | DevOps ingénieur | 
| Configurez les détails de AWS DMS réplication à exécuter à partir du AWS CLI. | Configurez les points de terminaison AWS DMS source et cible ainsi que les détails de réplication dans le `dms-arn-list.txt` fichier avec l'ARN du point de terminaison source, l'ARN du point de terminaison cible et l'ARN de l'instance de réplication en utilisant le format suivant :<pre>#sourceARN,targetARN,repARN<br />arn:aws:dms:us-east-1:123456789012:endpoint:EH7AINRUDZ5GOYIY6HVMXECMCQ<br />arn:aws:dms:us-east-1:123456789012:endpoint:HHJVUV57N7O3CQF4PJZKGIOYY5<br />arn:aws:dms:us-east-1:123456789012:rep:LL57N77AQQAHHJF4PJFHNEDZ5G</pre> | DBA | 
| Exécutez le script `dms-create-task.py` Python pour créer les AWS DMS tâches. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html) | DBA | 
| Vérifiez que AWS DMS les tâches sont prêtes. | Sur la AWS DMS console, vérifiez le `Ready` statut de vos AWS DMS tâches dans la section **État**. | DBA | 

### Démarrez et arrêtez les AWS DMS tâches à l'aide du AWS CLI
<a name="start-and-stop-the-dms-tasks-by-using-the-cli"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Commencez les AWS DMS tâches. | Exécutez le script `dms-start-task.py` Python à l'aide de la commande suivante :<pre>$ python dms-start-task.py start '<cdc-start-datetime>'</pre>La date et l'heure de début doivent être au `'YYYY-MM-DDTHH:MI:SS'` format `'DD-MON-YYYY'` ou (par exemple, `'01-Dec-2019'` ou`'2018-03-08T12:12:12'`).Vous pouvez consulter l'état des AWS DMS tâches dans l'onglet **Tableau des statistiques** de la page **Tâches** de la AWS DMS console. | DBA | 
| Validez les données. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.html)Pour plus d'informations, consultez la section [validation AWS DMS des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) dans la AWS DMS documentation. | DBA | 
| Arrêtez les AWS DMS tâches. | Exécutez le script Python à l'aide de la commande suivante :<pre>$ python dms-start-task.py stop</pre>AWS DMS les tâches peuvent s'arrêter avec un `failed` statut, en fonction de l'état de validation. Pour plus d'informations, consultez la section suivante, . | DBA | 

## Résolution des problèmes
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| AWS SCT les connexions de test source et cible échouent. | Configurez les versions du pilote JDBC et les règles entrantes du groupe de sécurité VPC pour accepter le trafic entrant. | 
| L'exécution du test du point de terminaison source ou cible échoue. | Vérifiez si les paramètres du point de terminaison et l'instance de réplication sont en `Available` état. Vérifiez si l'état de la connexion du terminal est`Successful`. Pour plus d'informations, consultez la section [Comment résoudre les problèmes de connectivité des terminaux AWS DMS dans](https://aws.amazon.com/premiumsupport/knowledge-center/dms-endpoint-connectivity-failures/) la AWS Support documentation. | 
| L'exécution à chargement complet échoue. | Vérifiez si les types et les tailles de données des bases de données source et cible correspondent. Pour plus d'informations, consultez la section [Résolution des problèmes liés aux tâches de migration AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html) dans la AWS DMS documentation. | 
| Vous rencontrez des erreurs lors de l'exécution de la validation. | Vérifiez si la table possède une clé primaire car les tables non primaires ne sont pas validées.Si la table contient une clé primaire et des erreurs, vérifiez que l'attribut de connexion supplémentaire du point de terminaison source en possède un`numberDataTypeScale=-2`.Pour plus d'informations, consultez [les sections Paramètres du point de terminaison lors de l'utilisation d'Oracle comme source pour AWS DMS[OracleSettings](https://docs.aws.amazon.com/dms/latest/APIReference/API_OracleSettings.html)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.ConnectionAttrib), et [Résolution des problèmes](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html#CHAP_Validating.Troubleshooting) dans la AWS DMS documentation. | 

## Ressources connexes
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation-resources"></a>
+ [Installation et configuration AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html#CHAP_Installing.Procedure)
+ [Présentation AWS DMS](https://www.youtube.com/watch?v=ouia1Sc5QGo) (vidéo)
+ [Exemples de commandes d'opération de CloudFormation pile pour AWS CLI et PowerShell](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-using-cli.html)
+ [Naviguer dans l'interface utilisateur du AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Connexion aux bases de données Oracle avec AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilisation d'une base de données PostgreSQL comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 
+ [Sources pour la migration des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Objectifs de migration des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [formation sur le cloud](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/index.html) (AWS CLI documentation)
+ [create-stack (documentation](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudformation/create-stack.html))AWS CLI  
+ [dms](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/dms/index.html) (AWS CLI documentation) 

## Pièces jointes
<a name="attachments-5e041494-2e64-4f09-b6ec-0e0cba3a4972"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/5e041494-2e64-4f09-b6ec-0e0cba3a4972/attachments/attachment.zip)

# Migrez Amazon RDS for Oracle vers Amazon RDS for PostgreSQL en mode SSL à l'aide d'AWS DMS
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms"></a>

*Pinesh Singal, Amazon Web Services*

## Résumé
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-summary"></a>

Ce modèle fournit des conseils pour la migration d'une instance de base de données Amazon Relational Database Service (Amazon RDS) pour Oracle vers une base de données Amazon RDS for PostgreSQL sur le cloud Amazon Web Services (AWS). Pour chiffrer les connexions entre les bases de données, le modèle utilise l'autorité de certification (CA) et le mode SSL dans Amazon RDS et AWS Database Migration Service (AWS DMS).

Le modèle décrit une stratégie de migration en ligne avec peu ou pas de temps d'arrêt pour une base de données source Oracle de plusieurs téraoctets comportant un grand nombre de transactions. Pour la sécurité des données, le modèle utilise le protocole SSL lors du transfert des données.

Ce modèle utilise AWS Schema Conversion Tool (AWS SCT) pour convertir le schéma de base de données Amazon RDS for Oracle en schéma Amazon RDS for PostgreSQL. Le modèle utilise ensuite AWS DMS pour migrer les données de la base de données Amazon RDS for Oracle vers la base de données Amazon RDS for PostgreSQL.

## Conditions préalables et limitations
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif 
+ Autorité de certification (CA) de base de données Amazon RDS configurée uniquement avec ***rds-ca-rsa2048-g1*** 
  + Le certificat ***rds-ca-2019*** a expiré en août 2024.
  + Le certificat ***rds-ca-2015*** a expiré le 5 mars 2020.
+ AWS SCT
+ AWS DMS
+ pgAdmin
+ Outils SQL (par exemple, SQL Developer ou SQL\$1Plus)

**Limites**
+ Base de données Amazon RDS for Oracle : la configuration minimale requise concerne les versions 19c d'Oracle pour les éditions Enterprise et Standard Two.
+ Base de données Amazon RDS for PostgreSQL : la configuration minimale requise est celle de PostgreSQL version 12 et ultérieure (pour les versions 9.x et ultérieures).

**Versions du produit**
+ Instance de base de données Amazon RDS for Oracle version 12.1.0.2
+ Instance de base de données Amazon RDS for PostgreSQL version 11.5

## Architecture
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-architecture"></a>

**Pile technologique source**
+ Une instance de base de données Amazon RDS for Oracle avec la version 12.1.0.2.v18.

**Pile technologique cible**
+ AWS DMS
+ Une instance de base de données Amazon RDS for PostgreSQL avec la version 11.5.

**Architecture cible**

Le schéma suivant montre l'architecture de l'architecture de migration des données entre les bases de données Oracle (source) et PostgreSQL (cible). L'architecture inclut les éléments suivants :
+ Un cloud privé virtuel (VPC)
+ Une zone de disponibilité
+ Un sous-réseau privé
+ Une base de données Amazon RDS for Oracle
+ Une instance de réplication AWS DMS
+ Une base de données RDS pour PostgreSQL

Pour chiffrer les connexions pour les bases de données source et cible, les modes CA et SSL doivent être activés dans Amazon RDS et AWS DMS.

![\[Transfert de données entre RDS pour Oracle et AWS DMS, et entre AWS DMS et RDS pour PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/7098e2a3-b456-4e14-8881-c97145aef483/images/55b50ff7-1e6a-4ff0-9bcd-2fd419d5316a.png)


## Outils
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-tools"></a>

**Services AWS**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ [Amazon Relational Database Service (Amazon RDS) pour](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle vous aide à configurer, exploiter et dimensionner une base de données relationnelle Oracle dans le cloud AWS.
+ [Amazon Relational Database Service (Amazon RDS) pour PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) vous aide à configurer, exploiter et dimensionner une base de données relationnelle PostgreSQL dans le cloud AWS.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.

**Autres services**
+ [pgAdmin](https://www.pgadmin.org/) est un outil de gestion open source pour PostgreSQL. Il fournit une interface graphique qui vous permet de créer, de gérer et d'utiliser des objets de base de données.

## Bonnes pratiques
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-best-practices"></a>

Dans le cadre des bonnes pratiques de sécurité AWS, Amazon RDS fournit de nouveaux certificats d'autorité de certification. Pour plus d'informations sur les nouveaux certificats et les régions AWS prises en charge, consultez la section [Utilisation SSL/TLS pour chiffrer une connexion à une instance ou à un cluster](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html) de base de données.

Si votre instance RDS possède actuellement un certificat CA et que vous souhaitez passer à un certificat CA `rds-ca-2019``rds-ca-rsa2048-g1`, suivez les instructions de la section Mise à [jour de votre certificat CA en modifiant votre instance ou cluster de base de données ou](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-updating) de la section [Mise à jour de votre certificat CA en appliquant la maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-maintenance-update).

## Épopées
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-epics"></a>

### Configuration de l'instance Amazon RDS pour Oracle
<a name="configure-the-amazon-rds-for-oracle-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de base de données Oracle. | Connectez-vous à votre compte AWS, ouvrez l'AWS Management Console et accédez à la console Amazon RDS. Sur la console, choisissez **Créer une base de données**, puis **Oracle**. | AWS, DBA en général | 
| Configurez les groupes de sécurité. | Configurez les groupes de sécurité entrants et sortants. | AWS général | 
| Créez un groupe d'options. | Créez un groupe d'options dans le même VPC et le même groupe de sécurité que la base de données Amazon RDS for Oracle. Pour **Option**, choisissez **SSL**. Pour **Port**, choisissez **2484** (pour les connexions SSL). | AWS général | 
| Configurez les paramètres des options. | Utilisez les paramètres suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS général | 
| Modifiez l'instance de base de données RDS pour Oracle. | Définissez le certificat CA comme **rds-ca-rsa2048-g1**. Sous **Groupe d'options**, attachez le groupe d'options créé précédemment. | DBA, AWS général | 
| Vérifiez que l'instance de base de données RDS pour Oracle est disponible. | Assurez-vous que l'instance de base de données Amazon RDS for Oracle est opérationnelle et que le schéma de base de données est accessible.Pour vous connecter au RDS pour Oracle DB, utilisez la `sqlplus` commande depuis la ligne de commande.<pre>$ sqlplus orcl/****@myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com:1521/ORCL<br />SQL*Plus: Release 12.1.0.2.0 Production on Tue Oct 15 18:11:07 2019<br />Copyright (c) 1982, 2016, Oracle.  All rights reserved.<br />Last Successful login time: Mon Dec 16 2019 23:17:31 +05:30<br />Connected to:<br />Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production<br />With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options<br />SQL></pre> | DBA | 
| Créez des objets et des données dans la base de données RDS pour Oracle. | Créez des objets et insérez des données dans le schéma. | DBA | 

### Configuration de l'instance Amazon RDS pour PostgreSQL
<a name="configure-the-amazon-rds-for-postgresql-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez la base de données RDS pour PostgreSQL. | Sur la page **Créer une base** de données de la console Amazon RDS, choisissez **PostgreSQL** pour créer une instance de base de données Amazon RDS for PostgreSQL. | DBA, AWS général | 
| Configurez les groupes de sécurité. | Configurez les groupes de sécurité entrants et sortants. | AWS général | 
| Créez un groupe de paramètres. | Si vous utilisez PostgreSQL version 11.x, créez un groupe de paramètres pour définir les paramètres SSL. Dans PostgreSQL version 12, le groupe de paramètres SSL est activé par défaut. | AWS général | 
| Modifiez les paramètres. | Modifiez le `rds.force_ssl` paramètre sur `1` (activé).Par défaut, le `ssl` paramètre est `1` (activé). En définissant le `rds.force_ssl` paramètre sur`1`, vous forcez toutes les connexions à se connecter uniquement via le mode SSL. | AWS général | 
| Modifiez l'instance de base de données RDS pour PostgreSQL. | Définissez le certificat CA comme **rds-ca-rsa2048-g1**. Attachez le groupe de paramètres par défaut ou le groupe de paramètres créé précédemment, selon votre version de PostgreSQL. | DBA, AWS général | 
| Vérifiez que l'instance de base de données RDS pour PostgreSQL est disponible. | Assurez-vous que la base de données Amazon RDS for PostgreSQL est opérationnelle.La `psql` commande établit une connexion SSL avec `sslmode` set depuis la ligne de commande.L'une des options consiste `sslmode=1` à définir le groupe de paramètres et à utiliser une `psql` connexion sans inclure le `sslmode` paramètre dans la commande.Le résultat suivant indique que la connexion SSL est établie.<pre>$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser"<br />Password for user pguser:<br />psql (11.3, server 11.5)<br />SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)<br />Type "help" for help.<br />pgdb=></pre>Une deuxième option consiste à le définir `sslmode=1` dans le groupe de paramètres et à inclure le `sslmode` paramètre dans la `psql` commande.Le résultat suivant indique que la connexion SSL est établie.<pre>$ psql -h mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com -p 5432 "dbname=pgdb user=pguser sslmode=require"<br />Password for user pguser: <br />psql (11.3, server 11.5)<br />SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)<br />Type "help" for help.<br />pgdb=></pre> | DBA | 

### Configuration et exécution d'AWS SCT
<a name="configure-and-run-aws-sct"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installer AWS SCT. | Installez la dernière version de l'application AWS SCT. | AWS général | 
| Configurez AWS SCT avec des pilotes JDBC. | [Téléchargez les pilotes Java Database Connectivity (JDBC) pour Oracle ([ojdbc8.jar](https://download.oracle.com/otn-pub/otn_software/jdbc/233/ojdbc8.jar)) et PostgreSQL (postgresql-42.2.5.jar).](https://jdbc.postgresql.org/download/postgresql-42.2.19.jar)Pour configurer les pilotes dans AWS SCT, choisissez **Paramètres, Paramètres** **globaux**, **Pilotes**. | AWS général | 
| Créez le projet AWS SCT. | Créez le projet et le rapport AWS SCT en utilisant Oracle comme moteur de base de données source et Amazon RDS for PostgreSQL comme moteur de base de données cible :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS général | 
| Validez les objets de base de données | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | DBA, AWS général | 

### Configuration et exécution d'AWS DMS
<a name="configure-and-run-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS général | 
| Importez le certificat. | Téléchargez le [bundle de certificats (PEM)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions) pour votre région AWS.Le bundle contient à la fois le certificat `rds-ca-2019` intermédiaire et le certificat racine. Le bundle contient également les certificats CA `rds-ca-rsa2048-g1``rds-ca-rsa4096-g1`,, et `rds-ca-ecc384-g1` racine. Le magasin de confiance de votre application doit uniquement enregistrer le certificat CA racine. | AWS général | 
| Créez le point de terminaison source. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html)Pour plus d'informations, consultez la section [Utilisation d'une base de données Oracle comme source pour AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). | AWS général | 
| Créez le point de terminaison cible. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html)Pour plus d'informations, consultez [Utilisation d'une base de données PostgreSQL comme cible pour AWS Database](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) Migration Service. | AWS général | 
| Testez les points de terminaison. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS général | 
| Créez des tâches de migration. | Pour créer une tâche de migration pour le chargement complet et la capture des données modifiées (CDC) ou pour la validation des données, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS général | 
| Planifiez le cycle de production. | Confirmez les interruptions de service auprès des parties prenantes telles que les propriétaires d'applications pour exécuter AWS DMS dans les systèmes de production. | Responsable de la migration | 
| Exécutez la tâche de migration . | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS général | 
| Validez les données. | Passez en revue les résultats et les données des tâches de migration dans les bases de données Oracle source et PostgreSQL cible :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | DBA | 
| Arrêtez la tâche de migration. | Une fois la validation des données terminée avec succès, arrêtez la tâche de migration. | AWS général | 

### Nettoyez les ressources
<a name="clean-up-the-resources"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Supprimez les tâches AWS DMS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS général | 
| Supprimez les points de terminaison AWS DMS. | Sélectionnez les points de terminaison source et cible que vous avez créés, choisissez **Actions**, puis choisissez **Supprimer**. | AWS général | 
| Supprimez l'instance de réplication AWS DMS. | Choisissez l'instance de réplication, sélectionnez **Actions**, puis sélectionnez **Supprimer**. | AWS général | 
| Supprimez la base de données PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | AWS général | 
| Supprimez la base de données Oracle. | Sur la console Amazon RDS, sélectionnez l'instance de base de données Oracle, choisissez **Actions**, puis choisissez **Supprimer**. | AWS général | 

## Résolution des problèmes
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Les connexions de test source et cible AWS SCT échouent. | Configurez les versions du pilote JDBC et les règles entrantes du groupe de sécurité VPC pour accepter le trafic entrant. | 
| L'exécution du test du point de terminaison source Oracle échoue. | Vérifiez les paramètres du point de terminaison et vérifiez si l'instance de réplication est disponible. | 
| L'exécution à chargement complet de la tâche AWS DMS échoue. | Vérifiez si les types et les tailles de données des bases de données source et cible correspondent. | 
| La tâche de migration de validation AWS DMS renvoie des erreurs. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.html) | 

## Ressources connexes
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-resources"></a>

**Bases de données**
+ [Amazon RDS for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Amazon RDS for PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)

**Connexion à la base de données SSL**
+ [Utilisation SSL/TLS pour chiffrer une connexion à une instance de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)
  + [Utilisation du protocole SSL avec une instance de base de données RDS pour Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.SSL.html)
  + [Sécurisation des connexions à RDS pour PostgreSQL avec SSL/TLS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Concepts.General.Security.html)
  + [Téléchargez des ensembles de certificats pour des régions AWS spécifiques](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html#UsingWithRDS.SSL.CertificatesAllRegions)
    + [Télécharger le certificat racine CA-2019](https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem) (expiré en août 2024)
+ [Utilisation de groupes d'options](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html)
  + [Ajouter des options aux instances de base de données Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.html)
  + [couche Oracle Secure Sockets](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.SSL.html)
+ [Utilisation de groupes de paramètres](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html)
+ [Paramètre de connexion SSLmode de PostgreSQL](https://www.postgresql.org/docs/11/libpq-connect.html#LIBPQ-CONNECT-SSLMODE)
+ [Utilisation du protocole SSL à partir de JDBC](https://jdbc.postgresql.org/documentation/ssl/)
+ [Rotation de votre SSL/TLS certificat](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html)
  + [Mettre à jour votre certificat CA en modifiant votre instance ou cluster de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-updating)
  + [Mettre à jour votre certificat CA en appliquant la maintenance](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL-certificate-rotation.html#UsingWithRDS.SSL-certificate-rotation-maintenance-update)

**AWS SCT**
+ [Outil de conversion de schéma AWS](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Guide de l'utilisateur de l'outil AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Utilisation de l'interface utilisateur AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Utilisation de la base de données Oracle comme source pour AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)

**AWS DMS**
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Guide de l'utilisateur d'AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
  + [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
  + [Utilisation d'une base de données PostgreSQL comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Utilisation du protocole SSL avec AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Security.SSL.html)
+ [Migration d'applications exécutant des bases de données relationnelles vers AWS](https://d1.awsstatic.com/whitepapers/Migration/migrating-applications-to-aws.pdf)

## Informations supplémentaires
<a name="migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms-additional"></a>

Les certificats de l'autorité de certification Amazon RDS ont `rds-ca-2019` expiré en août 2024. Si vous utilisez ou prévoyez d'utiliser le protocole SSL ou TLS avec vérification des certificats pour vous connecter à vos instances de base de données RDS ou à vos clusters de bases de données multi-AZ, pensez à utiliser l'un des nouveaux certificats CA :`rds-ca-rsa2048-g1`,, `rds-ca-rsa4096-g1` ou. `rds-ca-ecc384-g1`

# Migrer les packages pragma Oracle SERIALLY\$1REUSERABLE vers PostgreSQL
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql"></a>

*Vinay Paladi, Amazon Web Services*

## Résumé
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-summary"></a>

Ce modèle fournit une step-by-step approche pour la migration des packages Oracle définis comme le pragma SERIALLY\$1REUSIBLE vers PostgreSQL sur Amazon Web Services (AWS). Cette approche conserve les fonctionnalités du pragma SERIALLY\$1REUSERABLE.

PostgreSQL ne supporte pas le concept de packages ni le pragma SERIALLY\$1REUSIBLE. Pour obtenir des fonctionnalités similaires dans PostgreSQL, vous pouvez créer des schémas pour les packages et déployer tous les objets associés (tels que les fonctions, les procédures et les types) dans les schémas. Pour bénéficier des fonctionnalités du pragma SERIALLY\$1REUSERABLE, l'exemple de script de fonction wrapper fourni dans ce modèle utilise un pack d'extension AWS Schema [Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html).

Pour plus d'informations, consultez [SERIALLY\$1REUSERABLE Pragma](https://docs.oracle.com/cd/B13789_01/appdev.101/b10807/13_elems046.htm) dans la documentation Oracle.

## Conditions préalables et limitations
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ La dernière version d'AWS SCT et les pilotes requis
+ Une base de données Amazon Aurora PostgreSQL Edition compatible ou une base de données Amazon Relational Database Service (Amazon RDS) pour PostgreSQL 

**Versions du produit**
+ Oracle Database version 10g et versions ultérieures

## Architecture
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-architecture"></a>

**Pile technologique source**
+ Base de données Oracle sur site

**Pile technologique cible**
+ [Compatible avec Aurora PostgreSQL ou Amazon RDS](https://aws.amazon.com/rds/aurora/details/postgresql-details/) pour PostgreSQL
+ AWS SCT

**Architecture de migration**

![\[Données de base de données Oracle sur site envoyées à AWS à l'aide d'AWS SCT, de fichiers .sql, conversion manuelle, vers PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/fe3c45d2-6ea4-43b5-adb1-18f068f126b9/images/2dc90708-e300-4251-9d12-de97b6588b72.png)


## Outils
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-tools"></a>

**Services AWS**
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
+ [Amazon Relational Database Service (Amazon RDS) pour PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) vous aide à configurer, exploiter et dimensionner une base de données relationnelle PostgreSQL dans le cloud AWS.

**Autres outils**
+ [pgAdmin](https://www.pgadmin.org/) est un outil de gestion open source pour PostgreSQL. Il fournit une interface graphique qui vous permet de créer, de gérer et d'utiliser des objets de base de données.

## Épopées
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-epics"></a>

### Migrer le package Oracle à l'aide d'AWS SCT
<a name="migrate-the-oracle-package-by-using-aws-sct"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez AWS SCT. | Configurez la connectivité AWS SCT à la base de données source. Pour plus d'informations, consultez la section [Utilisation de la base de données Oracle comme source pour AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) | DBA, Développeur | 
| Convertissez le script. | Utilisez AWS SCT pour convertir le package Oracle en sélectionnant la base de données cible compatible avec Aurora PostgreSQL. | DBA, Développeur | 
| Enregistrez les fichiers .sql. | Avant d'enregistrer le fichier .sql, modifiez l'option **Paramètres du projet** dans AWS SCT sur **Fichier unique par étape.** AWS SCT séparera le fichier .sql en plusieurs fichiers .sql en fonction du type d'objet. | DBA, Développeur | 
| Changez le code. | Ouvrez la `init` fonction générée par AWS SCT et modifiez-la comme indiqué dans l'exemple de la section *Informations supplémentaires*. Il ajoutera une variable pour obtenir la fonctionnalité`pg_serialize = 0`. | DBA, Développeur | 
| Testez la conversion. | Déployez la `init` fonction sur la base de données compatible Aurora PostgreSQL et testez les résultats. | DBA, Développeur | 

## Ressources connexes
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-resources"></a>
+ [Outil de conversion de schéma AWS](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Amazon RDS](https://aws.amazon.com/rds/)
+ [Fonctionnalités d'Amazon Aurora](https://aws.amazon.com/rds/aurora/postgresql-features/)
+ [PRAGMA RÉUTILISABLE EN SÉRIE](https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/seriallyreusable_pragma.htm#LNPLS01346)

## Informations supplémentaires
<a name="migrate-oracle-serially-reusable-pragma-packages-into-postgresql-additional"></a>

```
Source Oracle Code:

CREATE OR REPLACE PACKAGE test_pkg_var
IS
PRAGMA SERIALLY_REUSABLE;
PROCEDURE function_1
 (test_id number);
PROCEDURE function_2
 (test_id number
 );
END;

CREATE OR REPLACE PACKAGE BODY test_pkg_var
IS
PRAGMA SERIALLY_REUSABLE;
v_char VARCHAR2(20) := 'shared.airline';
v_num number := 123;

PROCEDURE function_1(test_id number)
IS
begin
dbms_output.put_line( 'v_char-'|| v_char);
dbms_output.put_line( 'v_num-'||v_num);
v_char:='test1';
function_2(0);
END;

PROCEDURE function_2(test_id number)
is
begin
dbms_output.put_line( 'v_char-'|| v_char);
dbms_output.put_line( 'v_num-'||v_num);
END;
END test_pkg_var;

Calling the above functions

set serveroutput on


EXEC test_pkg_var.function_1(1);


EXEC test_pkg_var.function_2(1);


Target Postgresql Code:


CREATE SCHEMA test_pkg_var;

CREATE OR REPLACE FUNCTION test_pkg_var.init(pg_serialize IN INTEGER DEFAULT 0)

RETURNS void
AS
$BODY$

DECLARE

BEGIN

if aws_oracle_ext.is_package_initialized( 'test_pkg_var' ) AND pg_serialize = 0

then

return;

end if;

PERFORM aws_oracle_ext.set_package_initialized( 'test_pkg_var' );

PERFORM aws_oracle_ext.set_package_variable( 'test_pkg_var', 'v_char', 'shared.airline.basecurrency'::CHARACTER

VARYING(100));

PERFORM aws_oracle_ext.set_package_variable('test_pkg_var', 'v_num', 123::integer);

END;

$BODY$

LANGUAGE plpgsql;


CREATE OR REPLACE FUNCTION test_pkg_var.function_1(pg_serialize int default 1)

RETURNS void
AS

$BODY$
DECLARE

BEGIN

PERFORM test_pkg_var.init(pg_serialize);

raise notice 'v_char%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_char');

raise notice 'v_num%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_num');

PERFORM aws_oracle_ext.set_package_variable( 'test_pkg_var', 'v_char', 'test1'::varchar);

PERFORM test_pkg_var.function_2(0);
END;

$BODY$
LANGUAGE plpgsql;


CREATE OR REPLACE FUNCTION test_pkg_var.function_2(IN pg_serialize integer default 1)

RETURNS void

AS

$BODY$

DECLARE

BEGIN

PERFORM test_pkg_var.init(pg_serialize);

raise notice 'v_char%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_char');

raise notice 'v_num%',aws_oracle_ext.get_package_variable( 'test_pkg_var', 'v_num');

END;
$BODY$
LANGUAGE plpgsql;


Calling the above functions

select test_pkg_var.function_1()

 select test_pkg_var.function_2()
```

# Migrer des tables externes Oracle vers des tables compatibles avec Amazon Aurora PostgreSQL
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible"></a>

*Anuradha Chintha et Rakesh Raghav, Amazon Web Services*

## Résumé
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-summary"></a>

Les tables externes permettent à Oracle d'interroger des données stockées en dehors de la base de données dans des fichiers plats. Vous pouvez utiliser le pilote ORACLE\$1LOADER pour accéder à toutes les données stockées dans n'importe quel format pouvant être chargées par l'utilitaire SQL\$1Loader. Vous ne pouvez pas utiliser le langage de manipulation de données (DML) sur des tables externes, mais vous pouvez utiliser des tables externes pour les opérations de requête, de jointure et de tri.

L'édition compatible avec Amazon Aurora PostgreSQL ne fournit pas de fonctionnalités similaires à celles des tables externes d'Oracle. Vous devez plutôt recourir à la modernisation pour développer une solution évolutive répondant aux exigences fonctionnelles et économe.

Ce modèle décrit les étapes à suivre pour migrer différents types de tables externes Oracle vers l'édition compatible Aurora PostgreSQL sur le cloud Amazon Web Services (AWS) à l'aide de l'extension. `aws_s3`

Nous vous recommandons de tester minutieusement cette solution avant de l'implémenter dans un environnement de production.

## Conditions préalables et limitations
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Interface de ligne de commande AWS (AWS CLI)
+ Une instance de base de données compatible Aurora PostgreSQL disponible.
+ Une base de données Oracle sur site avec une table externe
+ API PG.Client
+ Fichiers de données 

**Limites**
+ Ce modèle ne fournit pas les fonctionnalités nécessaires pour remplacer les tables externes Oracle. Cependant, les étapes et les exemples de code peuvent être encore améliorés pour atteindre vos objectifs de modernisation de base de données.
+ Les fichiers ne doivent pas contenir le caractère utilisé comme délimiteur dans les fonctions `aws_s3` d'exportation et d'importation.

**Versions du produit**
+ Pour effectuer une importation depuis Amazon S3 vers RDS pour PostgreSQL, la base de données doit exécuter PostgreSQL version 10.7 ou ultérieure.

## Architecture
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-architecture"></a>

**Pile technologique source**
+ Oracle

**Architecture source**

![\[Schéma des fichiers de données envoyés dans un répertoire et une table de la base de données Oracle locale.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/555e69af-36fc-4ff5-b66c-af22b4cf262a/images/3fbc507d-b0fa-4e05-b999-043dc7327ed7.png)


**Pile technologique cible**
+ Compatible avec Amazon Aurora PostgreSQL
+ Amazon CloudWatch
+ AWS Lambda
+ AWS Secrets Manager
+ Amazon Simple Notiﬁcation Service (Amazon SNS)
+ Amazon Simple Storage Service (Amazon S3)

**Architecture cible**

Le schéma suivant montre une représentation de haut niveau de la solution.

![\[La description se trouve après le schéma.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/555e69af-36fc-4ff5-b66c-af22b4cf262a/images/5421540e-d2e3-4361-89cc-d8415fcb21fd.png)


1. Les fichiers sont chargés dans le compartiment S3.

1. La fonction Lambda est lancée.

1. La fonction Lambda lance l'appel de fonction de base de données.

1. Secrets Manager fournit les informations d'identification pour accéder à la base de données.

1. En fonction de la fonction de base de données, une alarme SNS est créée.

**Automatisation et mise à l'échelle**

Tout ajout ou modification aux tables externes peut être géré grâce à la maintenance des métadonnées.

## Outils
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-tools"></a>
+ Compatible avec [Amazon Aurora PostgreSQL — Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) Compatible Edition est un moteur de base de données relationnelle entièrement géré, compatible avec PostgreSQL et conforme à l'ACID qui associe la vitesse et la fiabilité des bases de données commerciales haut de gamme à la rentabilité des bases de données open source.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) — AWS Command Line Interface (AWS CLI) est un outil unifié permettant de gérer vos services AWS. Avec un seul outil à télécharger et à configurer, vous pouvez contrôler plusieurs services AWS depuis la ligne de commande et les automatiser par le biais de scripts.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) — Amazon CloudWatch surveille les ressources et l'utilisation d'Amazon S3.
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) — AWS Lambda est un service de calcul sans serveur qui permet d'exécuter du code sans provisionner ni gérer de serveurs, de créer une logique de dimensionnement des clusters adaptée à la charge de travail, de gérer les intégrations d'événements ou de gérer les temps d'exécution. Dans ce modèle, Lambda exécute la fonction de base de données chaque fois qu'un fichier est chargé sur Amazon S3.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) — AWS Secrets Manager est un service de stockage et de récupération des informations d'identification. À l'aide de Secrets Manager, vous pouvez 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.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) — Amazon Simple Storage Service (Amazon S3) fournit une couche de stockage permettant de recevoir et de stocker des fichiers destinés à être consommés et transmis vers et depuis le cluster compatible Aurora PostgreSQL.
+ [aws\$1s3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#aws_s3.table_import_from_s3) — L'`aws_s3`extension intègre la compatibilité avec Amazon S3 et Aurora PostgreSQL.
+ [Amazon SNS —](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) Amazon Simple Notification Service (Amazon SNS) coordonne et gère la distribution ou l'envoi de messages entre les éditeurs et les clients. Dans ce modèle, Amazon SNS est utilisé pour envoyer des notifications.

**Code**

Chaque fois qu'un fichier est placé dans le compartiment S3, une fonction de base de données doit être créée et appelée depuis l'application de traitement ou la fonction Lambda. Pour plus de détails, consultez le code (ci-joint).

## Épopées
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-epics"></a>

### Création d'un fichier externe
<a name="create-an-external-file"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Ajoutez un fichier externe à la base de données source. | Créez un fichier externe et déplacez-le vers le `oracle` répertoire. | DBA | 

### Configuration de la cible (compatible avec Aurora PostgreSQL)
<a name="configure-the-target-aurora-postgresql-compatible"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une base de données Aurora PostgreSQL. | Créez une instance de base de données dans votre cluster compatible Amazon Aurora PostgreSQL. | DBA | 
| Créez un schéma, une extension aws\$1s3 et des tables. | Utilisez le code ci-dessous `ext_tbl_scripts` dans la section *Informations supplémentaires*. Les tables incluent des tables réelles, des tables intermédiaires, des tables d'erreurs et de journaux, ainsi qu'une métatable. | DBA, Développeur | 
| Créez la fonction de base de données. | Pour créer la fonction de base de données, utilisez le code sous `load_external_table_latest` fonction dans la section *Informations supplémentaires*. | DBA, Développeur | 

### Créer et configurer la fonction Lambda
<a name="create-and-configure-the-lambda-function"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un rôle. | Créez un rôle avec des autorisations pour accéder à Amazon S3 et Amazon Relational Database Service (Amazon RDS). Ce rôle sera attribué à Lambda pour exécuter le modèle. | DBA | 
| Créez la fonction Lambda. | Créez une fonction Lambda qui lit le nom du fichier depuis Amazon S3 (par exemple`file_key = info.get('object', {}).get('key')`) et appelle la fonction de base de données (par exemple,`curs.callproc("load_external_tables", [file_key])`) avec le nom du fichier comme paramètre d'entrée.En fonction du résultat de l'appel de fonction, une notification SNS sera lancée (par exemple,`client.publish(TopicArn='arn:',Message='fileloadsuccess',Subject='fileloadsuccess')`).En fonction des besoins de votre entreprise, vous pouvez créer une fonction Lambda avec du code supplémentaire si nécessaire. Pour plus d'informations, consultez la documentation [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html). | DBA | 
| Configurez un déclencheur d'événement du compartiment S3. | Configurez un mécanisme pour appeler la fonction Lambda pour tous les événements de création d'objets dans le compartiment S3. | DBA | 
| Créez un secret. | Créez un nom secret pour les informations d'identification de la base de données à l'aide de Secrets Manager. Transmettez le secret dans la fonction Lambda. | DBA | 
| Téléchargez les fichiers de support Lambda. | Téléchargez un fichier .zip contenant les packages de support Lambda et le script Python joint pour vous connecter à Aurora PostgreSQL compatible. Le code Python appelle la fonction que vous avez créée dans la base de données. | DBA | 
| Créez une rubrique SNS. | Créez une rubrique SNS pour envoyer un e-mail en cas de réussite ou d'échec du chargement des données. | DBA | 

### Ajouter une intégration avec Amazon S3
<a name="add-integration-with-amazon-s3"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un compartiment S3. | Sur la console Amazon S3, créez un compartiment S3 avec un nom unique qui ne contient pas de barres obliques. Le nom d'un compartiment S3 est unique au monde et l'espace de noms est partagé par tous les comptes AWS. | DBA | 
| Créez des politiques IAM. | Pour créer les politiques AWS Identity and Access Management (IAM), utilisez le code ci-dessous `s3bucketpolicy_for_import` dans la section *Informations supplémentaires*. | DBA | 
| Créez des rôles. | Créez deux rôles pour la compatibilité avec Aurora PostgreSQL, un rôle pour l'importation et un rôle pour l'exportation. Assignez les politiques correspondantes aux rôles. | DBA | 
| Associez les rôles au cluster compatible Aurora PostgreSQL. | Sous **Gérer les rôles**, attachez les rôles d'importation et d'exportation au cluster Aurora PostgreSQL. | DBA | 
| Créez des objets de support compatibles avec Aurora PostgreSQL. | Pour les scripts de table, utilisez le code ci-dessous `ext_tbl_scripts` dans la section *Informations supplémentaires*.Pour la fonction personnalisée, utilisez le code ci-dessous `load_external_Table_latest` dans la section *Informations supplémentaires*. | DBA | 

### Traiter un fichier de test
<a name="process-a-test-file"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez un fichier dans le compartiment S3. | Pour télécharger un fichier de test dans le compartiment S3, utilisez la console ou la commande suivante dans l'AWS CLI. <pre>aws s3 cp /Users/Desktop/ukpost/exttbl/"testing files"/aps s3://s3importtest/inputext/aps</pre>Dès que le fichier est chargé, un événement de bucket lance la fonction Lambda, qui exécute la fonction compatible avec Aurora PostgreSQL. | DBA | 
| Vérifiez les données, le journal et les fichiers d'erreurs. | La fonction compatible avec Aurora PostgreSQL charge les fichiers dans la table principale `.log` et crée des `.bad` fichiers dans le compartiment S3. | DBA | 
| Surveillez la solution. | Dans la CloudWatch console Amazon, surveillez la fonction Lambda. | DBA | 

## Ressources connexes
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-resources"></a>
+ [Intégration avec Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html)
+ [Amazon S3](https://aws.amazon.com/s3/)
+ [Utilisation de l'édition compatible avec Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)
+ [AWS Lambda](https://aws.amazon.com/lambda/)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/)
+ [Configuration des notifications Amazon SNS](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)

## Informations supplémentaires
<a name="migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible-additional"></a>

**ext\$1table\$1scripts**

```
CREATE EXTENSION aws_s3 CASCADE;
CREATE TABLE IF NOT EXISTS meta_EXTERNAL_TABLE
(
    table_name_stg character varying(100) ,
    table_name character varying(100)  ,
    col_list character varying(1000)  ,
    data_type character varying(100)  ,
    col_order numeric,
    start_pos numeric,
    end_pos numeric,
    no_position character varying(100)  ,
    date_mask character varying(100)  ,
    delimeter character(1)  ,
    directory character varying(100)  ,
    file_name character varying(100)  ,
    header_exist character varying(5)
);
CREATE TABLE IF NOT EXISTS ext_tbl_stg
(
    col1 text
);
CREATE TABLE IF NOT EXISTS error_table
(
    error_details text,
    file_name character varying(100),
    processed_time timestamp without time zone
);
CREATE TABLE IF NOT EXISTS log_table
(
    file_name character varying(50) COLLATE pg_catalog."default",
    processed_date timestamp without time zone,
    tot_rec_count numeric,
    proc_rec_count numeric,
    error_rec_count numeric
);
sample insert scripts of meta data:
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'source_filename', 'character varying', 2, 8, 27, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'record_type_identifier', 'character varying', 3, 28, 30, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'fad_code', 'numeric', 4, 31, 36, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'session_sequence_number', 'numeric', 5, 37, 42, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
INSERT INTO meta_EXTERNAL_TABLE (table_name_stg, table_name, col_list, data_type, col_order, start_pos, end_pos, no_position, date_mask, delimeter, directory, file_name, header_exist) VALUES ('F_EX_APS_TRANSACTIONS_STG', 'F_EX_APS_TRANSACTIONS', 'transaction_sequence_number', 'numeric', 6, 43, 48, NULL, NULL, NULL, 'databasedev', 'externalinterface/loaddir/APS', 'NO');
```

**s3bucketpolicy\$1for import**

```
---Import role policy
--Create an IAM policy to allow, Get,  and list actions on S3 bucket
 {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "s3import",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::s3importtest",
                "arn:aws:s3:::s3importtest/*"
            ]
        }
    ]
}
--Export Role policy
--Create an IAM policy to allow, put,  and list actions on S3 bucket
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "s3export",
            "Action": [
                "S3:PutObject",
                "s3:ListBucket"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::s3importtest/*"
            ]
        }
    ]
}
```

**Exemple de fonction de base de données load\$1external\$1tables\$1latest**

```
CREATE OR REPLACE FUNCTION public.load_external_tables(pi_filename text)
 RETURNS character varying
 LANGUAGE plpgsql
AS $function$
/* Loading data from S3 bucket into a APG table */
DECLARE
 v_final_sql TEXT;
 pi_ext_table TEXT;
 r refCURSOR;
 v_sqlerrm text;
 v_chunk numeric;
 i integer;
 v_col_list TEXT;
 v_postion_list CHARACTER VARYING(1000);
 v_len  integer;
 v_delim varchar;
 v_file_name CHARACTER VARYING(1000);
 v_directory CHARACTER VARYING(1000);
 v_table_name_stg CHARACTER VARYING(1000);
 v_sql_col TEXT;
 v_sql TEXT;
 v_sql1 TEXT;
 v_sql2 TEXT;
 v_sql3 TEXT;
 v_cnt integer;
 v_sql_dynamic TEXT;
 v_sql_ins TEXT;
 proc_rec_COUNT integer;
 error_rec_COUNT integer;
 tot_rec_COUNT integer;
 v_rec_val integer;
 rec record;
 v_col_cnt integer;
 kv record;
 v_val text;
 v_header text;
 j integer;
 ERCODE VARCHAR(5);
 v_region text;
 cr CURSOR FOR
 SELECT distinct DELIMETER,
   FILE_NAME,
   DIRECTORY
 FROM  meta_EXTERNAL_TABLE
 WHERE table_name = pi_ext_table
   AND DELIMETER IS NOT NULL;


 cr1 CURSOR FOR
   SELECT   col_list,
   data_type,
   start_pos,
   END_pos,
   concat_ws('',' ',TABLE_NAME_STG) as TABLE_NAME_STG,
   no_position,date_mask
 FROM  meta_EXTERNAL_TABLE
 WHERE table_name = pi_ext_table
 order by col_order asc;
cr2 cursor FOR
SELECT  distinct table_name,table_name_stg
   FROM  meta_EXTERNAL_TABLE
   WHERE upper(file_name) = upper(pi_filename);


BEGIN
 -- PERFORM utl_file_utility.init();
   v_region := 'us-east-1';
   /* find tab details from file name */


   --DELETE FROM  ERROR_TABLE WHERE file_name= pi_filename;
  -- DELETE FROM  log_table WHERE file_name= pi_filename;


 BEGIN


   SELECT distinct table_name,table_name_stg INTO strict pi_ext_table,v_table_name_stg
   FROM  meta_EXTERNAL_TABLE
   WHERE upper(file_name) = upper(pi_filename);
 EXCEPTION
   WHEN NO_DATA_FOUND THEN
    raise notice 'error 1,%',sqlerrm;
    pi_ext_table := null;
    v_table_name_stg := null;
      RAISE USING errcode = 'NTFIP' ;
    when others then
        raise notice 'error others,%',sqlerrm;
 END;
 j :=1 ;
  
for rec in  cr2
 LOOP




  pi_ext_table     := rec.table_name;
  v_table_name_stg := rec.table_name_stg;
  v_col_list := null;


 IF pi_ext_table IS NOT NULL
  THEN
    --EXECUTE concat_ws('','truncate table  ' ,pi_ext_table) ;
   EXECUTE concat_ws('','truncate table  ' ,v_table_name_stg) ;




       SELECT distinct DELIMETER INTO STRICT v_delim
       FROM  meta_EXTERNAL_TABLE
       WHERE table_name = pi_ext_table;


       IF v_delim IS NOT NULL THEN
     SELECT distinct DELIMETER,
       FILE_NAME,
       DIRECTORY ,
       concat_ws('',' ',table_name_stg),
       case  header_exist when 'YES' then 'CSV HEADER' else 'CSV' end as header_exist
     INTO STRICT v_delim,v_file_name,v_directory,v_table_name_stg,v_header
     FROM  meta_EXTERNAL_TABLE
     WHERE table_name = pi_ext_table
       AND DELIMETER IS NOT NULL;


     IF    upper(v_delim) = 'CSV'
     THEN
       v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3 ( ''',
       v_table_name_stg,''','''',
       ''DELIMITER '''','''' CSV HEADER QUOTE ''''"'''''', aws_commons.create_s3_uri ( ''',
       v_directory,''',''',v_file_name,''', ''',v_region,'''))');
       ELSE
       v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3(''',
           v_table_name_stg, ''','''', ''DELIMITER AS ''''^''''',''',','
          aws_commons.create_s3_uri
           ( ''',v_directory, ''',''',
           v_file_name, ''',',
            '''',v_region,''')
          )');
          raise notice 'v_sql , %',v_sql;
       begin
        EXECUTE  v_sql;
       EXCEPTION
         WHEN OTHERS THEN
           raise notice 'error 1';
         RAISE USING errcode = 'S3IMP' ;
       END;


       select count(col_list) INTO v_col_cnt
       from  meta_EXTERNAL_TABLE where table_name = pi_ext_table;






        -- raise notice 'v_sql 2, %',concat_ws('','update ',v_table_name_stg, ' set col1 = col1||''',v_delim,'''');


       execute concat_ws('','update ',v_table_name_stg, ' set col1 = col1||''',v_delim,'''');




       i :=1;
       FOR rec in cr1
       loop
       v_sql1 := concat_ws('',v_sql1,'split_part(col1,''',v_delim,''',', i,')',' as ',rec.col_list,',');
       v_sql2 := concat_ws('',v_sql2,rec.col_list,',');
   --    v_sql3 := concat_ws('',v_sql3,'rec.',rec.col_list,'::',rec.data_type,',');


       case
         WHEN upper(rec.data_type) = 'NUMERIC'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 coalesce((trim(split_part(col1,''',v_delim,''',', i,')))::NUMERIC,0)::',rec.data_type,' END as ',rec.col_list,',') ;
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDD'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),''99990101''),''YYYYMMDD'')::',rec.data_type,' END as ',rec.col_list,',');
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask =  'MM/DD/YYYY hh24:mi:ss'
         THEN v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),''01/01/9999 0024:00:00''),''MM/DD/YYYY hh24:mi:ss'')::',rec.data_type,' END as ',rec.col_list,',');
          ELSE
        v_sql3 := concat_ws('',v_sql3,' case WHEN length(trim(split_part(col1,''',v_delim,''',', i,'))) =0
                THEN null
                 ELSE
                  coalesce((trim(split_part(col1,''',v_delim,''',', i,'))),'''')::',rec.data_type,' END as ',rec.col_list,',') ;
       END case;


       i :=i+1;
       end loop;


         -- raise notice 'v_sql 3, %',v_sql3;


       SELECT trim(trailing ' ' FROM v_sql1) INTO v_sql1;
       SELECT trim(trailing ',' FROM v_sql1) INTO v_sql1;


       SELECT trim(trailing ' ' FROM v_sql2) INTO v_sql2;
       SELECT trim(trailing ',' FROM v_sql2) INTO v_sql2;


       SELECT trim(trailing ' ' FROM v_sql3) INTO v_sql3;
       SELECT trim(trailing ',' FROM v_sql3) INTO v_sql3;


       END IF;
      raise notice 'v_delim , %',v_delim;


     EXECUTE concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg)  INTO v_cnt;


    raise notice 'stg cnt , %',v_cnt;


    /* if upper(v_delim) = 'CSV' then
       v_sql_ins := concat_ws('', ' SELECT * from ' ,v_table_name_stg );
     else
      -- v_sql_ins := concat_ws('',' SELECT ',v_sql1,'  from (select col1 from ' ,v_table_name_stg , ')sub ');
       v_sql_ins := concat_ws('',' SELECT ',v_sql3,'  from (select col1 from ' ,v_table_name_stg , ')sub ');
       END IF;*/


v_chunk := v_cnt/100;




for i in 1..101
loop
     BEGIN
    -- raise notice 'v_sql , %',v_sql;
       -- raise notice 'Chunk number , %',i;
       v_sql_ins := concat_ws('',' SELECT ',v_sql3,'  from (select col1 from ' ,v_table_name_stg , ' offset ',v_chunk*(i-1), ' limit ',v_chunk,') sub ');


     v_sql := concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins);
     -- raise notice 'select statement , %',v_sql_ins;
          -- v_sql := null;
     -- EXECUTE concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins, 'offset ',v_chunk*(i-1), ' limit ',v_chunk );
     --v_sql := concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins );


     -- raise notice 'insert statement , %',v_sql;


    raise NOTICE 'CHUNK START %',v_chunk*(i-1);
   raise NOTICE 'CHUNK END %',v_chunk;


     EXECUTE v_sql;


  EXCEPTION
       WHEN OTHERS THEN
       -- v_sql_ins := concat_ws('',' SELECT ',v_sql1, '  from (select col1 from ' ,v_table_name_stg , ' )sub ');
         -- raise notice 'Chunk number for cursor , %',i;


    raise NOTICE 'Cursor - CHUNK START %',v_chunk*(i-1);
   raise NOTICE 'Cursor -  CHUNK END %',v_chunk;
         v_sql_ins := concat_ws('',' SELECT ',v_sql3, '  from (select col1 from ' ,v_table_name_stg , ' )sub ');


         v_final_sql := REPLACE (v_sql_ins, ''''::text, ''''''::text);
        -- raise notice 'v_final_sql %',v_final_sql;
         v_sql :=concat_ws('','do $a$ declare  r refcursor;v_sql text; i numeric;v_conname text;  v_typ  ',pi_ext_table,'[]; v_rec  ','record',';
           begin






           open r for execute ''select col1 from ',v_table_name_stg ,'  offset ',v_chunk*(i-1), ' limit ',v_chunk,''';
           loop
           begin
           fetch r into v_rec;
           EXIT WHEN NOT FOUND;




           v_sql := concat_ws('''',''insert into  ',pi_ext_table,' SELECT ',REPLACE (v_sql3, ''''::text, ''''''::text) , '  from ( select '''''',v_rec.col1,'''''' as col1) v'');
            execute v_sql;


           exception
            when others then
          v_sql := ''INSERT INTO  ERROR_TABLE VALUES (concat_ws('''''''',''''Error Name: '''',$$''||SQLERRM||''$$,''''Error State: '''',''''''||SQLSTATE||'''''',''''record : '''',$$''||v_rec.col1||''$$),'''''||pi_filename||''''',now())'';


               execute v_sql;
             continue;
           end ;
           end loop;
           close r;
           exception
           when others then
         raise;
           end ; $a$');
      -- raise notice ' inside excp v_sql %',v_sql;
          execute v_sql;
      --  raise notice 'v_sql %',v_sql;
       END;
  END LOOP;
     ELSE


     SELECT distinct DELIMETER,FILE_NAME,DIRECTORY ,concat_ws('',' ',table_name_stg),
       case  header_exist when 'YES' then 'CSV HEADER' else 'CSV' end as header_exist
       INTO STRICT v_delim,v_file_name,v_directory,v_table_name_stg,v_header
     FROM  meta_EXTERNAL_TABLE
     WHERE table_name = pi_ext_table                  ;
     v_sql := concat_ws('','SELECT aws_s3.table_import_FROM_s3(''',
       v_table_name_stg, ''','''', ''DELIMITER AS ''''#'''' ',v_header,' '',','
      aws_commons.create_s3_uri
       ( ''',v_directory, ''',''',
       v_file_name, ''',',
        '''',v_region,''')
      )');
         EXECUTE  v_sql;


     FOR rec in cr1
     LOOP


      IF rec.start_pos IS NULL AND rec.END_pos IS NULL AND rec.no_position = 'recnum'
      THEN
        v_rec_val := 1;
      ELSE


       case
         WHEN upper(rec.data_type) = 'NUMERIC'
         THEN v_sql1 := concat_ws('',' case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1)))::NUMERIC,0)::',rec.data_type,' END as ',rec.col_list,',') ;
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDD'
         THEN v_sql1 := concat_ws('','case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),''99990101''),''YYYYMMDD'')::',rec.data_type,' END as ',rec.col_list,',');
         WHEN UPPER(rec.data_type) = 'TIMESTAMP WITHOUT TIME ZONE' AND rec.date_mask = 'YYYYMMDDHH24MISS'
         THEN v_sql1 := concat_ws('','case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                 to_date(coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),''9999010100240000''),''YYYYMMDDHH24MISS'')::',rec.data_type,' END as ',rec.col_list,',');
          ELSE
        v_sql1 := concat_ws('',' case WHEN length(trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))) =0
                THEN null
                 ELSE
                  coalesce((trim(substring(COL1, ',rec.start_pos ,',', rec.END_pos,'-',rec.start_pos ,'+1))),'''')::',rec.data_type,' END as ',rec.col_list,',') ;
       END case;


      END IF;
      v_col_list := concat_ws('',v_col_list ,v_sql1);
     END LOOP;




           SELECT trim(trailing ' ' FROM v_col_list) INTO v_col_list;
           SELECT trim(trailing ',' FROM v_col_list) INTO v_col_list;


           v_sql_col   :=  concat_ws('',trim(trailing ',' FROM v_col_list) , ' FROM  ',v_table_name_stg,' WHERE col1 IS NOT NULL AND length(col1)>0 ');




           v_sql_dynamic := v_sql_col;


           EXECUTE  concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg) INTO v_cnt;




         IF v_rec_val = 1 THEN
             v_sql_ins := concat_ws('',' select row_number() over(order by ctid) as line_number ,' ,v_sql_dynamic) ;


         ELSE
               v_sql_ins := concat_ws('',' SELECT' ,v_sql_dynamic) ;
           END IF;


     BEGIN
       EXECUTE concat_ws('','insert into  ', pi_ext_table ,' ', v_sql_ins);
           EXCEPTION
              WHEN OTHERS THEN
          IF v_rec_val = 1 THEN
                  v_final_sql := ' select row_number() over(order by ctid) as line_number ,col1 from ';
                ELSE
                 v_final_sql := ' SELECT col1 from';
               END IF;
       v_sql :=concat_ws('','do $a$ declare  r refcursor;v_rec_val numeric := ',coalesce(v_rec_val,0),';line_number numeric; col1 text; v_typ  ',pi_ext_table,'[]; v_rec  ',pi_ext_table,';
             begin
             open r for execute ''',v_final_sql, ' ',v_table_name_stg,' WHERE col1 IS NOT NULL AND length(col1)>0 '' ;
             loop
             begin
             if   v_rec_val = 1 then
             fetch r into line_number,col1;
             else
             fetch r into col1;
             end if;


             EXIT WHEN NOT FOUND;
              if v_rec_val = 1 then
              select line_number,',trim(trailing ',' FROM v_col_list) ,' into v_rec;
              else
                select ',trim(trailing ',' FROM v_col_list) ,' into v_rec;
              end if;


             insert into  ',pi_ext_table,' select v_rec.*;
              exception
              when others then
               INSERT INTO  ERROR_TABLE VALUES (concat_ws('''',''Error Name: '',SQLERRM,''Error State: '',SQLSTATE,''record : '',v_rec),''',pi_filename,''',now());
               continue;
              end ;
               end loop;
             close r;
              exception
              when others then
              raise;
              end ; $a$');
         execute v_sql;


     END;


         END IF;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM  ' ,pi_ext_table)   INTO proc_rec_COUNT;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM  error_table WHERE file_name =''',pi_filename,''' and processed_time::date = clock_timestamp()::date')  INTO error_rec_COUNT;


   EXECUTE concat_ws('','SELECT COUNT(*) FROM ',v_table_name_stg)   INTO tot_rec_COUNT;


   INSERT INTO  log_table values(pi_filename,now(),tot_rec_COUNT,proc_rec_COUNT, error_rec_COUNT);


   raise notice 'v_directory, %',v_directory;


   raise notice 'pi_filename, %',pi_filename;


   raise notice 'v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT replace(trim(substring(error_details,position(''('' in error_details)+1),'')''),'','','';''),file_name,processed_time FROM  error_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.bad', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );


raise notice 'v_directory, %',v_directory;


   raise notice 'pi_filename, %',pi_filename;


   raise notice 'v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT * FROM  log_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.log', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );




   END IF;
 j := j+1;
 END LOOP;


       RETURN 'OK';
EXCEPTION
    WHEN  OTHERS THEN
  raise notice 'error %',sqlerrm;
   ERCODE=SQLSTATE;
   IF ERCODE = 'NTFIP' THEN
     v_sqlerrm := concat_Ws('',sqlerrm,'No data for the filename');
   ELSIF ERCODE = 'S3IMP' THEN
    v_sqlerrm := concat_Ws('',sqlerrm,'Error While exporting the file from S3');
   ELSE
      v_sqlerrm := sqlerrm;
   END IF;


 select distinct directory into v_directory from  meta_EXTERNAL_TABLE;




 raise notice 'exc v_directory, %',v_directory;


   raise notice 'exc pi_filename, %',pi_filename;


   raise notice 'exc v_region, %',v_region;


  perform aws_s3.query_export_to_s3('SELECT * FROM  error_table WHERE file_name = '''||pi_filename||'''',
   aws_commons.create_s3_uri(v_directory, pi_filename||'.bad', v_region),
   options :='FORmat csv, header, delimiter $$,$$'
   );
    RETURN null;
END;
$function$
```

# Migrer les index basés sur les fonctions d'Oracle vers PostgreSQL
<a name="migrate-function-based-indexes-from-oracle-to-postgresql"></a>

*Veeranjaneyulu Grandhi et Navakanth Talluri, Amazon Web Services*

## Résumé
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-summary"></a>

Les index constituent un moyen courant d'améliorer les performances des bases de données. Un index permet au serveur de base de données de rechercher et de récupérer des lignes spécifiques bien plus rapidement qu'il ne le pourrait sans index. Mais les index alourdissent également le système de base de données dans son ensemble, ils doivent donc être utilisés judicieusement. Les index basés sur une fonction, qui sont basés sur une fonction ou une expression, peuvent comporter plusieurs colonnes et expressions mathématiques. Un index basé sur une fonction améliore les performances des requêtes qui utilisent l'expression d'index. 

En mode natif, PostgreSQL ne prend pas en charge la création d'index basés sur des fonctions à l'aide de fonctions dont la volatilité est définie comme stable. Cependant, vous pouvez créer des fonctions de volatilité similaires `IMMUTABLE` et les utiliser dans la création d'index.

Une `IMMUTABLE` fonction ne peut pas modifier la base de données et il est garanti qu'elle renverra toujours les mêmes résultats avec les mêmes arguments. Cette catégorie permet à l'optimiseur de préévaluer la fonction lorsqu'une requête l'appelle avec des arguments constants. 

Ce modèle facilite la migration des index basés sur les fonctions Oracle lorsqu'ils sont utilisés avec des fonctions telles que `to_char``to_date`, et vers `to_number` l'équivalent de PostgreSQL.

## Conditions préalables et limitations
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-prereqs"></a>

**Conditions préalables**
+ Un compte Amazon Web Services (AWS) actif
+ Une instance de base de données Oracle source avec le service d'écoute configuré et en cours d'exécution
+ Connaissance des bases de données PostgreSQL

**Limites**
+ La limite de taille de la base de données est de 64 To.
+ Les fonctions utilisées lors de la création d'index doivent être IMMUABLES.

**Versions du produit**
+ Toutes les éditions de base de données Oracle pour les versions 11g (versions 11.2.0.3.v1 et ultérieures), 12.2 et 18c
+ PostgreSQL 9.6 et versions ultérieures

## Architecture
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-architecture"></a>

**Pile technologique source**
+ Une base de données Oracle sur site ou sur une instance Amazon Elastic Compute Cloud (Amazon EC2), ou une instance de base de données Amazon RDS for Oracle

**Pile technologique cible**
+ N'importe quel moteur PostgreSQL

## Outils
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-tools"></a>
+ **pgAdmin** 4 est un outil de gestion open source pour Postgres. L'outil pgAdmin 4 fournit une interface graphique pour créer, gérer et utiliser des objets de base de données.
+ **Oracle SQL Developer** est un environnement de développement intégré (IDE) permettant de développer et de gérer Oracle Database dans le cadre de déploiements traditionnels et dans le cloud.

## Épopées
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-epics"></a>

### Création d'un index basé sur une fonction à l'aide d'une fonction par défaut
<a name="create-a-function-based-index-using-a-default-function"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un index basé sur une fonction sur une colonne à l'aide de la fonction to\$1char. | Utilisez le code suivant pour créer l'index basé sur les fonctions.<pre>postgres=# create table funcindex( col1 timestamp without time zone);<br />CREATE TABLE<br />postgres=# insert into funcindex values (now());<br />INSERT 0 1<br />postgres=# select * from funcindex;<br />            col1<br />----------------------------<br /> 2022-08-09 16:00:57.77414<br />(1 rows)<br /> <br />postgres=# create index funcindex_idx on funcindex(to_char(col1,'DD-MM-YYYY HH24:MI:SS'));<br />ERROR:  functions in index expression must be marked IMMUTABLE</pre> PostgreSQL n'autorise pas la création d'un index basé sur une fonction sans cette clause. `IMMUTABLE` | DBA, développeur d'applications | 
| Vérifiez la volatilité de la fonction. | Pour vérifier la volatilité de la fonction, utilisez le code de la section *Informations supplémentaires*.   | DBA | 

### Créez des index basés sur les fonctions à l'aide d'une fonction wrapper
<a name="create-function-based-indexes-using-a-wrapper-function"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une fonction wrapper. | Pour créer une fonction wrapper, utilisez le code de la *section Informations supplémentaires*. | Développeur PostgreSQL | 
| Créez un index à l'aide de la fonction wrapper. | Utilisez le code de la section *Informations supplémentaires* pour créer une fonction définie par l'utilisateur avec le mot-clé `IMMUTABLE` dans le même schéma que l'application, et faites-y référence dans le script de création d'index.Si une fonction définie par l'utilisateur est créée dans un schéma commun (dans l'exemple précédent), mettez-la à jour `search_path` comme indiqué.<pre>ALTER ROLE <ROLENAME> set search_path=$user, COMMON;</pre> | DBA, développeur PostgreSQL | 

### Valider la création d'index
<a name="validate-index-creation"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez la création de l'index. | Vérifiez que l'index doit être créé, en fonction des modèles d'accès aux requêtes. | DBA | 
| Vérifiez que l'index peut être utilisé. | Pour vérifier si l'index basé sur les fonctions est détecté par PostgreSQL Optimizer, exécutez une instruction SQL en utilisant explain ou explain analyze. Utilisez le code dans la section *Informations supplémentaires*. Si possible, rassemblez également les statistiques du tableau.Si vous remarquez le plan d'explication, cela signifie que l'optimiseur PostgreSQL a choisi un index basé sur les fonctions en raison de la condition du prédicat. | DBA | 

## Ressources connexes
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-resources"></a>
+ [Index basés sur les fonctions (documentation Oracle](https://docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_indexes.htm#ADFNS00505))
+ [Index des expressions (documentation](https://www.postgresql.org/docs/9.4/indexes-expressional.html) PostgreSQL)
+ [Volatilité de PostgreSQL (documentation PostgreSQL](https://www.postgresql.org/docs/current/xfunc-volatility.html))
+ chemin de [recherche PostgreSQL (documentation de PostgreSQL)](https://www.postgresql.org/docs/current/ddl-schemas.html#DDL-SCHEMAS-PATH)
+ [Manuel de migration d'Oracle Database 19c vers Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/dms/latest/oracle-to-aurora-postgresql-migration-playbook/chap-oracle-aurora-pg.html) 

## Informations supplémentaires
<a name="migrate-function-based-indexes-from-oracle-to-postgresql-additional"></a>

**Création d'une fonction wrapper**

```
CREATE OR REPLACE FUNCTION myschema.to_char(var1 timestamp without time zone, var2 varchar) RETURNS varchar AS $BODY$ select to_char(var1, 'YYYYMMDD'); $BODY$ LANGUAGE sql IMMUTABLE;
```

**Créez un index à l'aide de la fonction wrapper**

```
postgres=# create function common.to_char(var1 timestamp without time zone, var2 varchar) RETURNS varchar AS $BODY$ select to_char(var1, 'YYYYMMDD'); $BODY$ LANGUAGE sql IMMUTABLE;
CREATE FUNCTION
postgres=# create index funcindex_idx on funcindex(common.to_char(col1,'DD-MM-YYYY HH24:MI:SS'));
CREATE INDEX
```

**Vérifiez la volatilité de la fonction**

```
SELECT DISTINCT p.proname as "Name",p.provolatile as "volatility" FROM pg_catalog.pg_proc p
 LEFT JOIN pg_catalog.pg_namespace n ON n.oid = p.pronamespace
 LEFT JOIN pg_catalog.pg_language l ON l.oid = p.prolang
 WHERE n.nspname OPERATOR(pg_catalog.~) '^(pg_catalog)$' COLLATE pg_catalog.default AND p.proname='to_char'GROUP BY p.proname,p.provolatile
ORDER BY 1;
```

**Validez que l'index peut être utilisé**

```
explain analyze <SQL>
 
 
postgres=# explain select col1 from funcindex where common.to_char(col1,'DD-MM-YYYY HH24:MI:SS') = '09-08-2022 16:00:57';
                                                       QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
 Index Scan using funcindex_idx on funcindex  (cost=0.42..8.44 rows=1 width=8)
   Index Cond: ((common.to_char(col1, 'DD-MM-YYYY HH24:MI:SS'::character varying))::text = '09-08-2022 16:00:57'::text)
(2 rows)
```

# Migrer les fonctions natives d'Oracle vers PostgreSQL à l'aide d'extensions
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions"></a>

*Pinesh Singal, Amazon Web Services*

## Résumé
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-summary"></a>

Ce modèle de migration fournit des step-by-step conseils pour migrer une instance de base de données Amazon Relational Database Service (Amazon RDS) pour Oracle vers une base de données Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL compatible Edition en modifiant le code intégré natif et les extensions de PostgreSQL (). `aws_oracle_ext` `orafce` `psql` Cela permettra de gagner du temps de traitement.

Le modèle décrit une stratégie de migration manuelle hors ligne sans interruption pour une base de données source Oracle de plusieurs téraoctets comportant un grand nombre de transactions.

Le processus de migration utilise AWS Schema Conversion Tool (AWS SCT) avec les `orafce` extensions `aws_oracle_ext` et pour convertir un schéma de base de données Amazon RDS for Oracle en un schéma de base de données compatible avec Amazon RDS pour PostgreSQL ou Aurora PostgreSQL. Le code est ensuite modifié manuellement en code intégré natif compatible `psql` avec PostgreSQL. Cela est dû au fait que les appels d'extension ont un impact sur le traitement du code sur le serveur de base de données PostgreSQL et que le code d'extension n'est pas entièrement conforme ou compatible avec le code PostgreSQL.

Ce modèle se concentre principalement sur la migration manuelle de codes SQL à l'aide d'AWS SCT et des extensions `aws_oracle_ext` et. `orafce` Vous convertissez les extensions déjà utilisées en extensions natives de `psql` PostgreSQL (). Ensuite, vous supprimez toutes les références aux extensions et vous convertissez les codes en conséquence.

## Conditions préalables et limitations
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif 
+ Système d'exploitation (Windows ou Mac) ou EC2 instance Amazon (en cours d'exécution) 
+ Orace

**Limites**

Toutes les fonctions Oracle utilisant `aws_oracle_ext` ou les `orafce` extensions ne peuvent pas être converties en fonctions PostgreSQL natives. Il peut nécessiter une refonte manuelle afin de le compiler avec les bibliothèques PostgreSQL.

L'un des inconvénients de l'utilisation des extensions AWS SCT est leur faible performance lors de l'exécution et de la récupération des résultats. Son coût peut être compris à partir d'un simple plan [PostgreSQL EXPLAIN](https://www.postgresql.org/docs/current/sql-explain.html) (plan d'exécution d'une instruction) relatif à la migration de la fonction `SYSDATE` Oracle vers la fonction `NOW()` PostgreSQL entre les trois codes `aws_oracle_ext` (`orafce`,, `psql` et default), comme expliqué dans *la section Contrôle de comparaison des performances du document joint*.

**Versions du produit**
+ **Source :** base de données Amazon RDS pour Oracle 10.2 et versions ultérieures (pour 10.x), 11g (11.2.0.3.v1 et versions ultérieures) et jusqu'à 12.2, 18c et 19c (et versions ultérieures) pour Enterprise Edition, Standard Edition, Standard Edition 1 et Standard Edition 2
+ **Cible** : base de données compatible avec Amazon RDS for PostgreSQL ou Aurora PostgreSQL 9.4 et versions ultérieures (pour 9.x), 10.x, 11.x, 12.x, 13.x et 14.x (et versions ultérieures)
+ **AWS SCT** : dernière version (ce modèle a été testé avec 1.0.632)
+ **Oracle : dernière version (ce** modèle a été testé avec 3.9.0)

## Architecture
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-architecture"></a>

**Pile technologique source**
+ Une instance de base de données Amazon RDS for Oracle avec la version 12.1.0.2.v18

**Pile technologique cible**
+ Une instance de base de données compatible avec Amazon RDS for PostgreSQL ou Aurora PostgreSQL avec la version 11.5

**Architecture de migration de base de données**

Le schéma suivant représente l'architecture de migration de base de données entre les bases de données Oracle source et PostgreSQL cible. L'architecture comprend le cloud AWS, un cloud privé virtuel (VPC), des zones de disponibilité, un sous-réseau privé, une base de données Amazon RDS pour Oracle, AWS SCT, une base de données compatible Amazon RDS pour PostgreSQL ou Aurora PostgreSQL, des extensions pour Oracle (et) et des fichiers de langage de requête structuré (SQL). `aws_oracle_ext` `orafce`

![\[Le processus est expliqué dans la liste suivante.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/158847bb-27ef-4915-a9ca-7d87073792c1/images/234b824a-bfe5-4ef0-9fa7-8401370b92a5.png)


1. Lancez l'instance de base de données Amazon RDS pour Oracle (base de données source).

1. Utilisez AWS SCT avec les packs d'`orafce`extension `aws_oracle_ext` et pour convertir le code source d'Oracle vers PostreSQL.

1. La conversion produit des fichiers .sql migrés compatibles avec PostgreSQL.

1. Convertissez manuellement les codes d'extension Oracle non convertis en codes PostgreSQL (). `psql`

1. La conversion manuelle produit des fichiers .sql convertis compatibles avec PostgreSQL.

1. Exécutez ces fichiers .sql sur votre instance de base de données Amazon RDS for PostgreSQL (base de données cible).

## Outils
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-tools"></a>

**Outils**

*Services AWS*
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) - AWS Schema Conversion Tool (AWS SCT) convertit votre schéma de base de données existant d'un moteur de base de données à un autre. Vous pouvez convertir un schéma de traitement transactionnel en ligne (OLTP) relationnel ou un schéma d'entrepôt de données. Votre schéma converti convient à une instance de base de données Amazon RDS pour MySQL, à un cluster de base de données Amazon Aurora, à une instance de base de données Amazon RDS pour PostgreSQL ou à un cluster Amazon Redshift. Le schéma converti peut également être utilisé avec une base de données sur une EC2 instance Amazon ou stocké sous forme de données dans un compartiment Amazon S3.

  AWS SCT fournit une interface utilisateur basée sur un projet pour convertir automatiquement le schéma de base de données de votre base de données source dans un format compatible avec votre instance Amazon RDS cible. 

  Vous pouvez utiliser AWS SCT pour effectuer une migration d'une base de données source Oracle vers l'une des cibles répertoriées ci-dessus. À l'aide d'AWS SCT, vous pouvez exporter les définitions d'objets de base de données source, telles que le schéma, les vues, les procédures stockées et les fonctions. 

  Vous pouvez utiliser AWS SCT pour convertir des données d'Oracle vers Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL Compatible Edition. 

  Dans ce modèle, vous utilisez AWS SCT pour convertir et migrer le code Oracle vers PostgreSQL à l'aide des `aws_oracle_ext` extensions `orafce` et pour migrer manuellement les codes `psql` d'extension vers du code intégré par défaut ou natif.
+ Le pack d'extension [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html) est un module complémentaire qui émule les fonctions présentes dans la base de données source qui sont requises lors de la conversion d'objets vers la base de données cible. Avant de pouvoir installer le pack d'extension AWS SCT, vous devez convertir le schéma de votre base de données.

  Lorsque vous convertissez votre schéma de base de données ou d'entrepôt de données, AWS SCT ajoute un schéma supplémentaire à votre base de données cible. Ce schéma met en œuvre les fonctions système SQL de la base de données source nécessaires lors de l'écriture du schéma converti dans la base de données cible. Ce schéma supplémentaire est appelé schéma du kit d'extension.

  Le schéma du pack d'extension pour les bases de données OLTP est nommé en fonction de la base de données source. Pour les bases de données Oracle, le schéma du pack d'extension est`AWS_ORACLE_EXT`.

*Autres outils*
+ [Oracle](https://github.com/orafce/orafce) — Oracle est un module qui implémente des fonctions, des types de données et des packages compatibles avec Oracle. Il s'agit d'un outil open source avec une licence Berkeley Source Distribution (BSD) afin que tout le monde puisse l'utiliser. Le `orafce` module est utile pour migrer d'Oracle vers PostgreSQL car de nombreuses fonctions Oracle sont implémentées dans PostgreSQL.

 

**Code**

Pour obtenir une liste de tous les codes couramment utilisés et migrés d'Oracle vers PostgreSQL afin d'éviter l'utilisation du code d'extension AWS SCT, consultez le document ci-joint.

## Épopées
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-epics"></a>

### Configuration de la base de données source Amazon RDS for Oracle
<a name="configure-the-amazon-rds-for-oracle-source-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de base de données Oracle. | Créez une instance de base de données compatible avec Amazon RDS for Oracle ou Aurora PostgreSQL à partir de la console Amazon RDS. | AWS, DBA en général | 
| Configurez les groupes de sécurité. | Configurez les groupes de sécurité entrants et sortants. | AWS général | 
| Créez la base de données. | Créez la base de données Oracle avec les utilisateurs et les schémas nécessaires. | AWS, DBA en général | 
| Créez les objets. | Créez des objets et insérez des données dans le schéma. | DBA | 

### Configuration de la base de données cible Amazon RDS for PostgreSQL
<a name="configure-the-amazon-rds-for-postgresql-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de base de données PostgreSQL. | Créez une instance de base de données Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL à partir de la console Amazon RDS. | AWS, DBA en général | 
| Configurez les groupes de sécurité. | Configurez les groupes de sécurité entrants et sortants. | AWS général | 
| Créez la base de données. | Créez la base de données PostgreSQL avec les utilisateurs et les schémas nécessaires. | AWS, DBA en général | 
| Validez les extensions. | Assurez-vous qu'`aws_oracle_ext``orafce`ils sont correctement installés et configurés dans la base de données PostgreSQL. | DBA | 
| Vérifiez que la base de données PostgreSQL est disponible. | Assurez-vous que la base de données PostgreSQL est opérationnelle. | DBA | 

### Migrez le schéma Oracle vers PostgreSQL à l'aide d'AWS SCT et des extensions
<a name="migrate-the-oracle-schema-into-postgresql-using-aws-sct-and-the-extensions"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installer AWS SCT. | Installez la dernière version d'AWS SCT. | DBA | 
| Configurez AWS SCT. | Configurez AWS SCT avec les pilotes Java Database Connectivity (JDBC) pour Oracle () `ojdbc8.jar` et PostgreSQL (). `postgresql-42.2.5.jar` | DBA | 
| Activez le pack ou le modèle d'extension AWS SCT. | Dans les **paramètres du projet** AWS SCT, activez l'implémentation de fonctions intégrées avec les `orafce` extensions `aws_oracle_ext` et pour le schéma de base de données Oracle. | DBA | 
| Convertissez le schéma. | Dans AWS SCT, choisissez **Convert Schema** pour convertir le schéma d'Oracle en PostgreSQL et générer les fichiers .sql. | DBA | 

### Convertir le code d'extension AWS SCT en code psql
<a name="convert-aws-sct-extension-code-to-psql-code"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Convertissez le code manuellement. | Convertissez manuellement chaque ligne de code compatible avec les extensions en code intégré `psql` par défaut, comme indiqué dans le document ci-joint. Par exemple, modifier `AWS_ORACLE_EXT.SYSDATE()` ou `ORACLE.SYSDATE()` faire`NOW()`. | DBA | 
| Validez le code | (Facultatif) Validez chaque ligne de code en l'exécutant temporairement dans la base de données PostgreSQL. | DBA | 
| Créez des objets dans la base de données PostgreSQL. | Pour créer des objets dans la base de données PostgreSQL, exécutez les fichiers .sql générés par AWS SCT et modifiés au cours des deux étapes précédentes. | DBA | 

## Ressources connexes
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-resources"></a>
+ Base de données
  + [Oracle sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)
  + [PostgreSQL sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)
  + [Utilisation d'Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)
  + [Plan PostgreSQL EXPLAIN](https://www.postgresql.org/docs/current/sql-explain.html)
+ AWS SCT
  + [Présentation de l'outil AWS Schema Conversion Tool](https://aws.amazon.com/dms/schema-conversion-tool/)
  + [Guide de l'utilisateur d'AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
  + [Utilisation de l'interface utilisateur AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
  + [Utilisation de la base de données Oracle comme source pour AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html)
+ Extensions pour AWS SCT
  + [Utilisation du pack d'extension AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_ExtensionPack.html)
  + [Fonctionnalité Oracle (en)](https://postgres.cz/wiki/Oracle_functionality_(en))
  + [PGXN ou](https://pgxn.org/dist/orafce/)
  + [GitHub orafce](https://github.com/orafce/orafce)

## Informations supplémentaires
<a name="migrate-oracle-native-functions-to-postgresql-using-extensions-additional"></a>

Pour plus d'informations, suivez les commandes détaillées, avec syntaxe et exemples, pour convertir manuellement le code dans le document joint.

## Pièces jointes
<a name="attachments-158847bb-27ef-4915-a9ca-7d87073792c1"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/158847bb-27ef-4915-a9ca-7d87073792c1/attachments/attachment.zip)

# Migrer une base de données DB2 d'Amazon EC2 vers Aurora compatible avec MySQL à l'aide d'AWS DMS
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms"></a>

*Pinesh Singal, Amazon Web Services*

## Résumé
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-summary"></a>

Après avoir migré votre [base de données IBM Db2 for LUW](https://www.ibm.com/docs/en/db2/11.5?topic=federation) vers Amazon [Elastic Compute Cloud EC2 (Amazon)](https://docs.aws.amazon.com/ec2/), envisagez de réorganiser l'architecture de la base de données en passant à une base de données native pour le cloud Amazon Web Services (AWS). Ce modèle couvre la migration d'une base de données IBM [Db2](https://www.ibm.com/docs/en/db2/11.5) for LUW exécutée sur une EC2 instance [Amazon](https://docs.aws.amazon.com/ec2/) vers une base de données [Amazon Aurora MySQL compatible](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html) Edition sur AWS.  

Le modèle décrit une stratégie de migration en ligne avec un temps d'arrêt minimal pour une base de données source DB2 de plusieurs téraoctets avec un nombre élevé de transactions. 

Ce modèle utilise [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) pour convertir le schéma de base de données DB2 en un schéma compatible avec Aurora MySQL. Le modèle utilise ensuite [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) pour migrer les données de la base de données DB2 vers la base de données compatible Aurora MySQL. Des conversions manuelles seront requises pour le code qui n'est pas converti par AWS SCT.

## Conditions préalables et limitations
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif avec un cloud privé virtuel (VPC)
+ AWS SCT
+ AWS DMS

**Versions du produit**
+ Dernière version d'AWS SCT
+ Db2 pour Linux version 11.1.4.4 et versions ultérieures

## Architecture
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-architecture"></a>

**Pile technologique source**
+ DB2/Linux x86-64 bits monté sur une instance EC2  

**Pile technologique cible**
+ Une instance de base de données Amazon Aurora compatible avec MySQL Edition

**Architecture source et cible**

Le schéma suivant montre l'architecture de migration des données entre la base de données source Db2 et la base de données cible compatible Aurora MySQL. L'architecture du cloud AWS comprend un cloud privé virtuel (VPC) (cloud privé virtuel), une zone de disponibilité, un sous-réseau public pour l'instance Db2 et l'instance de réplication AWS DMS, et un sous-réseau privé pour la base de données compatible Aurora MySQL.

![\[Architecture de migration des données entre les bases de données source Db2 et cibles Aurora MySQL compatibles.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5abfccc4-148c-4794-8d80-e3c122679125/images/f30664f8-2d6a-4448-8d5c-cff3988a52c7.png)


## Outils
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-tools"></a>

**Services AWS**
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html) est un moteur de base de données relationnelle entièrement géré conçu pour le cloud et compatible avec MySQL et PostgreSQL.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible. AWS SCT prend en charge en tant que source IBM Db2 pour LUW versions 9.1, 9.5, 9.7, 10.1, 10.5, 11.1 et 11.5.

## Bonnes pratiques
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-best-practices"></a>

Pour connaître les meilleures pratiques, consultez la section [Meilleures pratiques pour AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html).

## Épopées
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-epics"></a>

### Configuration de la base de données IBM Db2 source
<a name="configure-the-source-ibm-db2-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez la base de données IBM Db2 sur Amazon EC2. | Vous pouvez créer une base de données IBM Db2 sur une EC2 instance en utilisant une Amazon Machine Image (AMI) d'AWS Marketplace ou en installant le logiciel Db2 sur une EC2 instance.Lancez une EC2 instance en sélectionnant une AMI pour IBM Db2 (par exemple, [IBM Db2 v11.5.7 RHEL 7.9](https://aws.amazon.com/marketplace/pp/prodview-aclrjj4hq2ols?sr=0-1&ref_=beagle&applicationId=AWS-EC2-Console)), similaire à une base de données sur site. | DBA, AWS général | 
| Configurez les groupes de sécurité. | Configurez les règles entrantes du groupe de sécurité VPC pour SSH (Secure Shell) et TCP avec les ports 22 et 50000, respectivement. | AWS général | 
| Créez l'instance de base de données. | Créez une nouvelle instance (utilisateur) et une nouvelle base de données (schéma), ou utilisez l'`db2inst1`instance par défaut et un exemple de base de données.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA | 
| Vérifiez que l'instance de base de données DB2 est disponible. | Pour vérifier que l'instance de base de données DB2 est opérationnelle, utilisez la `Db2pd -` commande. | DBA | 

### Configuration de la base de données cible compatible Aurora MySQL
<a name="configure-the-target-aurora-mysql-compatible-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez la base de données compatible Aurora MySQL. | Création d'une base de données de compatibilité Amazon Aurora avec MySQL à partir du service AWS RDS[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA, AWS général | 
| Configurez les groupes de sécurité. | Configurez les règles entrantes du groupe de sécurité VPC pour les connexions SSH et TCP. | AWS général | 
| Vérifiez que la base de données Aurora est disponible. | Pour vous assurer que la base de données compatible Aurora MySQL est opérationnelle, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA | 

### Configuration et exécution d'AWS SCT
<a name="configure-and-run-aws-sct"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installer AWS SCT. | Téléchargez et installez la dernière version d'[AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) (dernière version 1.0.628). | AWS général | 
| Configurez AWS SCT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS général | 
| Créez un projet AWS SCT. | Créez un projet et un rapport AWS SCT qui utilisent Db2 pour LUW comme moteur de base de données source et compatible Aurora MySQL pour le moteur de base de données cible.Pour identifier les privilèges nécessaires pour se connecter à une base de données DB2 pour LUW, consultez la section [Utilisation de DB2 LUW comme source pour](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html) AWS SCT. | AWS général | 
| Validez les objets. | Choisissez **Charger le schéma**, puis validez les objets. Mettez à jour les objets incorrects dans la base de données cible :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA, AWS général | 

### Configuration et exécution d'AWS DMS
<a name="configure-and-run-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication. | Connectez-vous à l'AWS Management Console, accédez au service AWS DMS et créez une instance de réplication avec des paramètres valides pour le groupe de sécurité VPC que vous avez configuré pour les bases de données source et cible. | AWS général | 
| Créez des points de terminaison. | Créez le point de terminaison source pour la base de données DB2 et créez le point de terminaison cible pour la base de données compatible Aurora MySQL :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS général | 
| Créez des tâches de migration. | Créez une ou plusieurs tâches de migration pour le chargement complet et la validation CDC ou des données :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS général | 
| Planifiez le cycle de production. | Confirmez les interruptions de service auprès des parties prenantes telles que les propriétaires d'applications pour exécuter AWS DMS dans les systèmes de production. | Responsable de la migration | 
| Exécutez les tâches de migration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | AWS général | 
| Validez les données. | Passez en revue les résultats et les données des tâches de migration dans les bases de données MySQL source et cible Db2 :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | DBA | 
| Arrêtez les tâches de migration. | Une fois la validation des données terminée avec succès, arrêtez les tâches de migration de validation. | AWS général | 

## Résolution des problèmes
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Les connexions de test source et cible AWS SCT échouent. | Configurez les versions du pilote JDBC et les règles entrantes du groupe de sécurité VPC pour accepter le trafic entrant. | 
| L'exécution du test du point de terminaison source DB2 échoue. | Configurez le paramètre de connexion supplémentaire`CurrentLSN=<scan>;`. | 
| La AWSDMS tâche ne parvient pas à se connecter à la source DB2 et l'erreur suivante est renvoyée.`database is recoverable if either or both of the database configuration parameters LOGARCHMETH1 and LOGARCHMETH2 are set to ON` | Pour éviter cette erreur, exécutez les commandes suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.html) | 

## Ressources connexes
<a name="migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms-resources"></a>

**Amazon EC2**
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Guides de EC2 l'utilisateur Amazon](https://docs.aws.amazon.com/ec2/)

**Bases de données**
+ [Base de données IBM Db2](https://www.ibm.com/products/db2-database)
+ [Amazon Aurora](https://aws.amazon.com/rds/aurora/)
+ [Utilisation d'Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html)

**AWS SCT**
+ [Conversion du schéma AWS DMS](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Guide de l'utilisateur de l'outil AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Utilisation de l'interface utilisateur AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html)
+ [Utilisation d'IBM Db2 LUW comme source pour AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.DB2LUW.html)

**AWS DMS**
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Guide de l'utilisateur d'AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Sources pour la migration des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html)
+ [Objectifs de migration des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html)
+ [AWS Database Migration Service et AWS Schema Conversion Tool prennent désormais en charge IBM Db2 LUW en tant que source](https://aws.amazon.com/blogs/database/aws-database-migration-service-and-aws-schema-conversion-tool-now-support-ibm-db2-as-a-source/) (article de blog)
+ [Migration d'applications exécutant des bases de données relationnelles vers AWS](https://d1.awsstatic.com/whitepapers/Migration/migrating-applications-to-aws.pdf)

# Migrer une base de données Microsoft SQL Server d'Amazon EC2 vers Amazon DocumentDB à l'aide d'AWS DMS
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms"></a>

*Umamaheswara Nooka, Amazon Web Services*

## Résumé
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-summary"></a>

Ce modèle décrit comment utiliser AWS Database Migration Service (AWS DMS) pour migrer une base de données Microsoft SQL Server hébergée sur une instance Amazon Elastic Compute Cloud (Amazon EC2) vers une base de données Amazon DocumentDB (compatible avec MongoDB).

La tâche de réplication AWS DMS lit la structure des tables de la base de données SQL Server, crée la collection correspondante dans Amazon DocumentDB et effectue une migration à chargement complet.

Vous pouvez également utiliser ce modèle pour migrer une instance de base de données SQL Server sur site ou Amazon Relational Database Service (Amazon RDS) pour SQL Server vers Amazon DocumentDB. Pour plus d'informations, consultez le guide [Migration des bases de données Microsoft SQL Server vers le cloud AWS sur le](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/welcome.html) site Web AWS Prescriptive Guidance.

## Conditions préalables et limitations
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Une base de données SQL Server existante sur une EC2 instance.
+ Rôle de base de données fixe (**db\$1owner**) attribué à AWS DMS dans la base de données SQL Server. Pour plus d'informations, consultez la section [Rôles au niveau de la base](https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/database-level-roles?view=sql-server-ver15) de données dans la documentation de SQL Server. 
+ Connaissance de l'utilisation des `mongoimport` utilitaires `mongodump``mongorestore`,`mongoexport`, et pour [déplacer des données vers et depuis un cluster Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/backup_restore-dump_restore_import_export_data.html).
+ [Microsoft SQL Server Management Studio](https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15), installé et configuré.

**Limites**
+ La limite de taille du cluster dans Amazon DocumentDB est de 64 To. Pour plus d'informations, consultez la section [Limites de cluster](https://docs.aws.amazon.com/documentdb/latest/developerguide/limits.html#limits-cluster) dans la documentation Amazon DocumentDB. 
+ AWS DMS ne prend pas en charge la fusion de plusieurs tables sources en une seule collection Amazon DocumentDB.
+ Si AWS DMS traite des modifications depuis une table source sans clé primaire, il ignorera les colonnes de grands objets (LOB) de la table source.

## Architecture
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-architecture"></a>

**Pile technologique source**
+ Amazon EC2

**Pile technologique cible**
+ Amazon DocumentDB

**Architecture cible**

![\[AWS Cloud architecture showing VPC with private DB subnet and components for SQL Server and DocumentDB.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f186220b-5a94-48b2-840d-f04aedf51651/images/00962b85-8b71-49df-b84a-3adcbc9ad3a3.png)


## Outils
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) — AWS Database Migration Service (AWS DMS) vous aide à migrer des bases de données facilement et en toute sécurité.
+ [Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html) — Amazon DocumentDB (compatible avec MongoDB) est un service de base de données rapide, fiable et entièrement géré.
+ [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) — Amazon Elastic Compute Cloud (Amazon EC2) fournit une capacité de calcul évolutive dans le cloud AWS.
+ [Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/sql-server/?view=sql-server-ver15) — SQL Server est un système de gestion de base de données relationnelle.
+ [SQL Server Management Studio (SSMS)](https://docs.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms?view=sql-server-ver15) : SSMS est un outil de gestion de SQL Server, y compris l'accès, la configuration et l'administration des composants de SQL Server.

## Épopées
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-epics"></a>

### créer et configurer un VPC ;
<a name="create-and-configure-a-vpc"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un VPC. | Connectez-vous à l'AWS Management Console et ouvrez la console Amazon VPC. Créez un cloud privé virtuel (VPC) avec une plage de blocs IPv4 CIDR. | Administrateur système | 
| Créez des groupes de sécurité et un réseau ACLs. | Sur la console Amazon VPC, créez des groupes de sécurité et des listes de contrôle d'accès réseau (réseau ACLs) pour votre VPC, en fonction de vos besoins. Vous pouvez également utiliser les paramètres par défaut pour ces configurations. Pour plus d'informations à ce sujet et sur d'autres articles, consultez la section « Ressources connexes ». | Administrateur système | 

### Création et configuration du cluster Amazon DocumentDB
<a name="create-and-configure-the-amazon-documentdb-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
|  Créez un cluster Amazon DocumentDB. | Ouvrez la console Amazon DocumentDB et choisissez « Clusters ». Choisissez « Create » et créez un cluster Amazon DocumentDB avec une instance. Important : assurez-vous de configurer ce cluster avec les groupes de sécurité de votre VPC. | Administrateur système  | 
|  Installez le shell Mongo. | Le shell mongo est un utilitaire de ligne de commande que vous utilisez pour vous connecter à votre cluster Amazon DocumentDB et l’interroger. Pour l'installer, exécutez la commande «/etc/yum.repos.d/mongodb-org-3.6.repo » afin de créer le fichier de dépôt. Exécutez la commande « sudo yum install -y mongodb-org-shell » pour installer le shell mongo. Pour chiffrer les données en transit, téléchargez la clé publique pour Amazon DocumentDB, puis connectez-vous à votre instance Amazon DocumentDB. Pour plus d'informations sur ces étapes, consultez la section « Ressources associées ». | Administrateur système  | 
| Créez une base de données dans le cluster Amazon DocumentDB.  | Exécutez la commande « use » avec le nom de votre base de données pour créer une base de données dans votre cluster Amazon DocumentDB. | Administrateur système  | 

### Création et configuration de l'instance de réplication AWS DMS
<a name="create-and-configure-the-aws-dms-replication-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de réplication AWS DMS. | Ouvrez la console AWS DMS et choisissez « Créer une instance de réplication ». Entrez le nom et la description de votre tâche de réplication. Choisissez la classe d'instance, la version du moteur, le stockage, le VPC, le Multi-AZ et rendez-les accessibles au public. Choisissez l'onglet « Avancé » pour définir les paramètres réseau et de chiffrement. Spécifiez les paramètres de maintenance, puis choisissez « Créer une instance de réplication ». | Administrateur système  | 
| Configurez la base de données SQL Server.  | Connectez-vous à Microsoft SQL Server et ajoutez une règle entrante pour la communication entre le point de terminaison source et l'instance de réplication AWS DMS. Utilisez l'adresse IP privée de l'instance de réplication comme source. Important : L'instance de réplication et le point de terminaison cible doivent se trouver sur le même VPC. Utilisez une autre source dans le groupe de sécurité si les instances de source et de réplication VPCs sont différentes. | Administrateur système  | 

### Création et test des points de terminaison source et cible dans AWS DMS
<a name="create-and-test-the-source-and-target-endpoints-in-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez les points de terminaison de base de données source et cible. | Ouvrez la console AWS DMS et choisissez « Connect les points de terminaison de base de données source et cible ». Spécifiez les informations de connexion pour les bases de données source et cible. Si nécessaire, choisissez l'onglet « Avancé » pour définir les valeurs des « Attributs de connexion supplémentaires ». Téléchargez et utilisez le bundle de certificats dans la configuration de votre point de terminaison. | Administrateur système  | 
| Testez la connexion du point de terminaison.  | Choisissez « Exécuter le test » pour tester la connexion. Résolvez les messages d'erreur en vérifiant les paramètres du groupe de sécurité et les connexions à l'instance de réplication AWS DMS à partir des instances de base de données source et cible. | Administrateur système  | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez la tâche de migration AWS DMS.  | Sur la console AWS DMS, choisissez « Tâches », « Créer une tâche ». Spécifiez les options de tâche, y compris les noms des points de terminaison source et de destination, ainsi que les noms des instances de réplication. Sous « Type de migration », choisissez « Migrer les données existantes » et « Répliquer uniquement les modifications apportées aux données ». Choisissez « Démarrer la tâche ». | Administrateur système  | 
| Exécutez la tâche de migration vers AWS DMS. | Sous « Paramètres des tâches », spécifiez les paramètres du mode de préparation des tables, tels que « Ne rien faire », « Supprimer les tables sur la cible », « Tronquer » et « Inclure les colonnes LOB dans la réplication ». Définissez une taille LOB maximale qu'AWS DMS acceptera et choisissez « Activer la journalisation ». Conservez les valeurs par défaut des « Paramètres avancés » et choisissez « Créer une tâche ». | Administrateur système  | 
| Surveillez la migration. | Sur la console AWS DMS, choisissez « Tâches » et choisissez votre tâche de migration. Choisissez « Surveillance des tâches » pour surveiller votre tâche. La tâche s'arrête lorsque la migration complète est terminée et que les modifications mises en cache sont appliquées. | Administrateur système  | 

### Tester et vérifier la migration
<a name="test-and-verify-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
|  Connectez-vous au cluster Amazon DocumentDB à l'aide du shell mongo. | Ouvrez la console Amazon DocumentDB, choisissez votre cluster sous « Clusters ». Dans l'onglet « Connectivité et sécurité », choisissez « Se connecter à ce cluster avec le shell mongo ». | Administrateur système  | 
| Vérifiez les résultats de votre migration. | Exécutez la commande « use » avec le nom de votre base de données, puis exécutez la commande « show collections ». Exécutez la commande « db. .count () ; » avec le nom de votre base de données. Si les résultats correspondent à ceux de votre base de données source, cela signifie que votre migration est réussie. | Administrateur système  | 

## Ressources connexes
<a name="migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms-resources"></a>

**Création et configuration d'un VPC**
+ [Créez un groupe de sécurité pour votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups)
+ [Création d'une ACL réseau](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-network-acls.html)

** **

**Création et configuration du cluster Amazon DocumentDB**
+ [Création d'un cluster Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-cluster)
+ [Installation du shell mongo pour Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-mongoshell)
+ [Connectez-vous à votre cluster Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/get-started-guide.html#cloud9-connectcluster)

** **

**Création et configuration de l'instance de réplication AWS DMS**
+ [Utiliser des instances de réplication publiques et privées](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html#CHAP_ReplicationInstance.PublicPrivate)

** **

**Création et test des points de terminaison source et cible dans AWS DMS**
+ [Utiliser Amazon DocumentDB comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/target.docdb.html)
+ [Utiliser une base de données SQL Server comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html)
+ [Utiliser les points de terminaison AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.html)

** **

**Migrer les données**
+ [Migrer vers Amazon DocumentDB](https://docs.aws.amazon.com/documentdb/latest/developerguide/docdb-migration.html)

** **

**Autres ressources**
+ [Limitations relatives à l'utilisation de SQL Server comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html#CHAP_Source.SQLServer.Limitations) 
+ [Comment utiliser Amazon DocumentDB pour créer et gérer des applications à grande échelle](https://aws.amazon.com/blogs/database/how-to-use-amazon-documentdb-with-mongodb-compatibility-to-build-and-manage-applications-at-scale/)

# Migrer une base de données ThoughtSpot Falçon sur site vers Amazon Redshift
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift"></a>

*Battulga Purevragchaa et Antony Prasad Thevaraj, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-summary"></a>

Les entrepôts de données sur site nécessitent beaucoup de temps et de ressources d'administration, en particulier pour les grands ensembles de données. Le coût financier de la construction, de l'entretien et de la croissance de ces entrepôts est également très élevé. Pour vous aider à gérer les coûts, à réduire la complexité de l'extraction, de la transformation et du chargement (ETL) et à optimiser les performances à mesure que vos données augmentent, vous devez constamment choisir les données à charger et les données à archiver.

En migrant vos [bases de données ThoughtSpot Falçon](https://docs.thoughtspot.com/software/latest/data-caching) sur site vers le cloud Amazon Web Services (AWS), vous pouvez accéder à des lacs de données et à des entrepôts de données basés sur le cloud qui améliorent l'agilité, la sécurité et la fiabilité des applications de votre entreprise, tout en réduisant vos coûts d'infrastructure globaux. Amazon Redshift permet de réduire de manière significative les coûts et les frais opérationnels d'un entrepôt de données. Vous pouvez également utiliser Amazon Redshift Spectrum pour analyser de grandes quantités de données dans son format natif sans les charger.

Ce modèle décrit les étapes et le processus de migration d'une base de données ThoughtSpot Falçon d'un centre de données sur site vers une base de données Amazon Redshift sur le cloud AWS.

## Conditions préalables et limitations
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données ThoughtSpot Falçon hébergée dans un centre de données sur site

**Versions du produit**
+ ThoughtSpot version 7.0.1 

## Architecture
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-architecture"></a>

![\[Migration d'une base de données ThoughtSpot Falçon depuis un centre de données sur site vers Amazon Redshift.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/b0ca29f4-b269-4b57-b386-738693a6b334/images/2b483990-1f30-439c-ba13-dc0cb0650360.png)


 

Le schéma suivant illustre le flux de travail suivant :

1. Les données sont hébergées dans une base de données relationnelle sur site.

1. AWS Schema Conversion Tool (AWS SCT) convertit le langage de définition de données (DDL) compatible avec Amazon Redshift.

1. Une fois les tables créées, vous pouvez migrer les données à l'aide d'AWS Database Migration Service (AWS DMS).

1. Les données sont chargées dans Amazon Redshift.

1. Les données sont stockées dans Amazon Simple Storage Service (Amazon S3) si vous utilisez Redshift Spectrum ou si vous hébergez déjà les données dans Amazon S3.

## Outils
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) — AWS Data Migration Service (AWS DMS) vous aide à migrer rapidement et en toute sécurité des bases de données vers AWS.
+ [Amazon Redshift — Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html) est un service d'entrepôt de données rapide, entièrement géré et de plusieurs pétaoctets qui permet d'analyser de manière simple et rentable toutes vos données à l'aide de vos outils de business intelligence existants.
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) — AWS Schema Conversion Tool (AWS SCT) convertit votre schéma de base de données existant d'un moteur de base de données à un autre.

## Épopées
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-epics"></a>

### Préparez-vous à la migration
<a name="prepare-for-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez la configuration Amazon Redshift appropriée. | Identifiez la configuration de cluster Amazon Redshift appropriée en fonction de vos besoins et du volume de données. Pour plus d'informations, consultez les [clusters Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) dans la documentation Amazon Redshift. | DBA | 
| Faites des recherches sur Amazon Redshift pour déterminer s'il répond à vos besoins. | Utilisez [Amazon Redshift FAQs](https://aws.amazon.com/redshift/faqs/) pour comprendre et évaluer si Amazon Redshift répond à vos exigences. | DBA | 

### Préparez le cluster Amazon Redshift cible
<a name="prepare-the-target-amazon-redshift-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un cluster Amazon Redshift. | Connectez-vous à l'AWS Management Console, ouvrez la console Amazon Redshift, puis créez un cluster Amazon Redshift dans un cloud privé virtuel (VPC). Pour plus d'informations, consultez la section [Création d'un cluster dans un VPC](https://docs.aws.amazon.com/redshift/latest/mgmt/getting-started-cluster-in-vpc.html) dans la documentation Amazon Redshift. | DBA | 
| Réalisez un PoC pour la conception de votre base de données Amazon Redshift. | Suivez les meilleures pratiques d'Amazon Redshift en effectuant une preuve de concept (PoC) pour la conception de votre base de données. Pour plus d'informations, consultez la section [Réalisation d'une preuve de concept pour Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/proof-of-concept-playbook.html) dans la documentation Amazon Redshift. | DBA | 
| Créez des utilisateurs de base de données. | Créez les utilisateurs dans votre base de données Amazon Redshift et accordez les rôles appropriés pour accéder au schéma et aux tables.  Pour plus d'informations, consultez la section [Accorder des privilèges d'accès à un utilisateur ou à un groupe d'utilisateurs](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html) dans la documentation Amazon Redshift. | DBA | 
| Appliquez les paramètres de configuration à la base de données cible. | Appliquez les paramètres de configuration à la base de données Amazon Redshift en fonction de vos besoins. Pour plus d'informations sur l'activation des paramètres de base de données, de session et de niveau serveur, consultez la [référence de configuration](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_ConfigurationRef.html) dans la documentation Amazon Redshift. | DBA | 

### Création d'objets dans le cluster Amazon Redshift
<a name="create-objects-in-the-amazon-redshift-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez manuellement des tables avec DDL dans Amazon Redshift. | (Facultatif) Si vous utilisez AWS SCT, les tables sont créées automatiquement. Toutefois, en cas d'échec lors de la réplication DDLs, vous devez créer les tables manuellement | DBA | 
| Créez des tables externes pour Redshift Spectrum. | Créez une table externe avec un schéma externe pour Amazon Redshift Spectrum. Pour créer des tables externes, vous devez être le propriétaire du schéma externe ou un [superutilisateur de base de données](https://docs.aws.amazon.com/redshift/latest/dg/r_superusers.html). Pour plus d'informations, consultez la section [Création de tables externes pour Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c-spectrum-external-tables.html) Spectrum dans la documentation Amazon Redshift. | DBA | 

### Migrer des données à l'aide d'AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez AWS DMS pour migrer les données. | Après avoir créé le DDL des tables dans la base de données Amazon Redshift, migrez vos données vers Amazon Redshift à l'aide d'AWS DMS.Pour obtenir des instructions et des étapes détaillées, consultez la section [Utilisation d'une base de données Amazon Redshift comme cible pour AWS DMS dans la documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html) AWS DMS. | DBA | 
| Utilisez la commande COPY pour charger les données. | Utilisez la `COPY` commande Amazon Redshift pour charger les données d'Amazon S3 vers Amazon Redshift.Pour plus d'informations, consultez la section [Utilisation de la commande COPY pour charger depuis Amazon S3](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-tables-from-s3.html) dans la documentation Amazon Redshift. | DBA | 

### Valider le cluster Amazon Redshift
<a name="validate-the-amazon-redshift-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les enregistrements source et cible.  | Validez le nombre de tables pour les enregistrements source et cible chargés depuis votre système source. | DBA | 
| Mettez en œuvre les meilleures pratiques d'Amazon Redshift pour optimiser les performances. | Mettez en œuvre les meilleures pratiques d'Amazon Redshift pour la conception de tables et de bases de données. Pour plus d'informations, consultez le billet de blog [Les 10 meilleures techniques d'optimisation des performances pour Amazon Redshift](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-techniques-for-amazon-redshift/). | DBA | 
| Optimisez les performances des requêtes. | Amazon Redshift utilise des requêtes SQL pour interagir avec les données et les objets du système. Le langage de manipulation de données (DML) est le sous-ensemble du langage SQL que vous pouvez utiliser pour afficher, ajouter, modifier et supprimer des données. Le DDL est le sous-ensemble de SQL que vous utilisez pour ajouter, modifier et supprimer des objets de base de données tels que des tables et des vues.Pour plus d'informations, consultez la section [Optimisation des performances des requêtes](https://docs.aws.amazon.com/redshift/latest/dg/c-optimizing-query-performance.html) dans la documentation Amazon Redshift. | DBA | 
| Implémentez le WLM.  | Vous pouvez utiliser la gestion de la charge de travail (WLM) pour définir plusieurs files d'attente de requêtes et acheminer les requêtes vers les files d'attente appropriées lors de l'exécution.Pour plus d'informations, consultez [Implémentation de la gestion de la charge](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-implementing-workload-management.html) de travail dans la documentation Amazon Redshift. | DBA | 
| Travaillez avec la mise à l'échelle simultanée. | En utilisant la fonctionnalité Concurrency Scaling, vous pouvez prendre en charge un nombre pratiquement illimité d'utilisateurs simultanés et de requêtes simultanées, avec des performances de requête toujours rapides.Pour plus d'informations, consultez la section [Utilisation du dimensionnement simultané](https://docs.aws.amazon.com/redshift/latest/dg/concurrency-scaling.html) dans la documentation Amazon Redshift. | DBA | 
| Utilisez les meilleures pratiques d'Amazon Redshift pour la conception des tables. | Lorsque vous planifiez votre base de données, certaines décisions importantes relatives à la conception des tables peuvent fortement influencer les performances globales des requêtes.Pour plus d'informations sur le choix de l'option de conception de table la plus appropriée, consultez les [meilleures pratiques d'Amazon Redshift pour la conception de tables](https://docs.aws.amazon.com/redshift/latest/dg/c_designing-tables-best-practices.html) dans la documentation Amazon Redshift. | DBA | 
| Créez des vues matérialisées dans Amazon Redshift. | Une vue matérialisée contient un ensemble de résultats précalculés basé sur une requête SQL sur une ou plusieurs tables de base. Vous pouvez émettre `SELECT` des instructions pour interroger une vue matérialisée de la même manière que vous interrogez d'autres tables ou vues de la base de données.Pour plus d'informations, consultez la section [Création de vues matérialisées dans Amazon](https://docs.aws.amazon.com/redshift/latest/dg/materialized-view-overview.html) Redshift dans la documentation Amazon Redshift. | DBA | 
| Définissez les jointures entre les tables. | Pour effectuer une recherche dans plusieurs tables à la fois ThoughtSpot, vous devez définir les jointures entre les tables en spécifiant les colonnes contenant les données correspondantes dans deux tables. Ces colonnes représentent la fin `primary key` `foreign key` de la jointure.Vous pouvez les définir à l'aide de la `ALTER TABLE` commande dans Amazon Redshift ou. ThoughtSpot Pour plus d'informations, consultez [ALTER TABLE](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_TABLE.html) dans la documentation Amazon Redshift. | DBA | 

### Configurer la ThoughtSpot connexion à Amazon Redshift
<a name="set-up-thoughtspot-connection-to-amazon-redshift"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
|  Ajoutez une connexion Amazon Redshift. | Ajoutez une connexion Amazon Redshift à votre base de données Falçon sur site. ThoughtSpot Pour plus d'informations, consultez la section [Ajouter une connexion Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-add-connection.html) dans la ThoughtSpot documentation. | DBA | 
| Modifiez la connexion Amazon Redshift. | Vous pouvez modifier la connexion Amazon Redshift pour ajouter des tables et des colonnes.Pour plus d'informations, consultez [Modifier une connexion Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-edit-connection.html) dans la ThoughtSpot documentation. | DBA | 
| Remappez la connexion Amazon Redshift. | Modifiez les paramètres de connexion en modifiant le fichier de mappage source .yaml créé lorsque vous avez ajouté la connexion Amazon Redshift. Par exemple, vous pouvez remapper la table ou la colonne existante à une autre table ou colonne dans une connexion à une base de données existante. ThoughtSpot recommande de vérifier les dépendances avant et après le remappage d'une table ou d'une colonne dans une connexion afin de s'assurer qu'elles s'affichent comme prévu.Pour plus d'informations, consultez [Remapper une connexion Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-remap-connection.html) dans ThoughtSpot la documentation. | DBA | 
| Supprimez une table de la connexion Amazon Redshift.  | (Facultatif) Si vous tentez de supprimer une table dans une connexion Amazon Redshift, vérifiez ThoughtSpot les dépendances et affiche une liste des objets dépendants. Vous pouvez choisir les objets répertoriés pour les supprimer ou supprimer la dépendance. Vous pouvez ensuite retirer le tableau.Pour plus d'informations, consultez [Supprimer une table d'une connexion Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table.html) dans la ThoughtSpot documentation. | DBA | 
|  Supprimez une table contenant des objets dépendants d'une connexion Amazon Redshift. | (Facultatif) Si vous essayez de supprimer un tableau contenant des objets dépendants, l'opération est bloquée. Une `Cannot delete` fenêtre apparaît, avec une liste de liens vers des objets dépendants. Lorsque toutes les dépendances sont supprimées, vous pouvez supprimer la tablePour plus d'informations, consultez [Supprimer une table contenant des objets dépendants d'une connexion Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-table-dependencies.html) dans la ThoughtSpot documentation. | DBA | 
| Supprimez une connexion Amazon Redshift. | (Facultatif) Comme une connexion peut être utilisée dans plusieurs sources de données ou visualisations, vous devez supprimer toutes les sources et tâches qui utilisent cette connexion avant de pouvoir supprimer la connexion Amazon Redshift.Pour plus d'informations, consultez [Supprimer une connexion Amazon Redshift](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-delete-connection.html) dans la ThoughtSpot documentation. | DBA | 
|  Vérifiez la référence de connexion pour Amazon Redshift. | Assurez-vous de fournir les informations requises pour votre connexion Amazon Redshift en utilisant la [référence de connexion](https://cloud-docs.thoughtspot.com/admin/ts-cloud/ts-cloud-embrace-redshift-connection-reference.html) figurant dans la ThoughtSpot documentation. | DBA | 

## Informations supplémentaires
<a name="migrate-an-on-premises-thoughtspot-falcon-database-to-amazon-redshift-additional"></a>
+ [Analyses basées sur l'IA à n'importe quelle échelle avec Amazon ThoughtSpot Redshift](https://aws.amazon.com/blogs/apn/ai-driven-analytics-at-any-scale-with-thoughtspot-and-amazon-redshift/)
+ [Tarification d’Amazon Redshift](https://aws.amazon.com/redshift/pricing/)
+ [Commencer à utiliser AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html) 
+ [Commencer à utiliser Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)
+ [Utilisation d'agents d'extraction de données](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.html)
+ [Chick-fil-A accélère l'obtention d'informations grâce ThoughtSpot à AWS](https://www.thoughtspot.com/sites/default/files/pdf/ThoughtSpot-Chick-fil-A-AWS-Case-Study.pdf) 

# Migrer d'une base de données Oracle vers Amazon RDS for PostgreSQL à l'aide d'Oracle GoldenGate
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate"></a>

*Dhairya Jindani, Sindhusha Paturu et Rajeshkumar Sabankar, Amazon Web Services*

## Résumé
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-summary"></a>

Ce modèle montre comment migrer une base de données Oracle vers Amazon Relational Database Service (Amazon RDS) pour PostgreSQL à l'aide d'Oracle Cloud Infrastructure (OCI). GoldenGate

Oracle GoldenGate vous permet de répliquer les données entre votre base de données source et une ou plusieurs bases de données de destination avec un temps d'arrêt minimal.

**Note**  
La base de données Oracle source peut se trouver sur site ou sur une instance Amazon Elastic Compute Cloud (Amazon EC2). Vous pouvez utiliser une procédure similaire lorsque vous utilisez des outils de réplication locaux.

## Conditions préalables et limitations
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une GoldenGate licence Oracle
+ pilote Java Database Connectivity (JDBC) pour se connecter à la base de données PostgreSQL
+ Schéma et tables créés avec l'[outil AWS Schema Conversion Tool (AWS SCT)](https://aws.amazon.com/dms/schema-conversion-tool/) sur la base de données Amazon RDS for PostgreSQL cible

**Limites**
+ Oracle GoldenGate peut uniquement répliquer les données de table existantes (chargement initial) et les modifications en cours (capture des données de modification)

**Versions du produit**
+ Oracle Database Enterprise Edition 10g ou versions plus récentes 
+ Oracle GoldenGate 12.2.0.1.1 pour Oracle ou versions plus récentes
+ Oracle GoldenGate 12.2.0.1.1 pour PostgreSQL ou versions plus récentes

## Architecture
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-architecture"></a>

Le schéma suivant montre un exemple de flux de travail pour la migration d'une base de données Oracle vers Amazon RDS for PostgreSQL à l'aide d'Oracle : GoldenGate

![\[Flux de travail de migration de la base de données Oracle sur site vers Amazon RDS for PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/384f0eaf-8582-474a-a7f4-ec1048a4feb3/images/de541887-0d5f-4a9a-b136-ce2599355cb8.png)


Le schéma suivant illustre le flux de travail suivant :

1. Le [processus Oracle GoldenGate Extract](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-6419F3A9-71EC-4D14-9C41-3BAA1E3CA19C) s'exécute sur la base de données source pour extraire les données.

1. Le [processus Oracle GoldenGate Replicat](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-5EF0326C-9058-4C40-8925-98A223388C95) fournit les données extraites à la base de données Amazon RDS for PostgreSQL cible.

## Outils
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-tools"></a>
+ [Oracle](https://www.oracle.com/integration/goldengate/#:~:text=OCI%20GoldenGate%20is%20a%20real,in%20the%20Oracle%20Cloud%20Infrastructure.) vous GoldenGate aide à concevoir, exécuter, orchestrer et surveiller vos solutions de réplication et de traitement des données en continu dans l'infrastructure cloud Oracle.
+ [Amazon Relational Database Service (Amazon RDS) pour PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) vous aide à configurer, exploiter et dimensionner une base de données relationnelle PostgreSQL dans le cloud AWS.

## Épopées
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-epics"></a>

### Téléchargez et installez Oracle GoldenGate
<a name="download-and-install-oracle-goldengate"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez Oracle GoldenGate. | Téléchargez les versions suivantes d'Oracle GoldenGate :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html)Pour télécharger le logiciel, consultez [Oracle GoldenGate Downloads](https://www.oracle.com/middleware/technologies/goldengate-downloads.html) sur le site Web d'Oracle. | DBA | 
| Installez Oracle GoldenGate pour Oracle sur le serveur de base de données Oracle source. | Pour obtenir des instructions, consultez la [ GoldenGate documentation Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm). | DBA | 
| Installez la base de données Oracle GoldenGate pour PostgreSQL sur l'instance Amazon. EC2  | Pour obtenir des instructions, consultez la [ GoldenGate documentation Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm). | DBA | 

### Configuration d'Oracle GoldenGate sur les bases de données source et cible
<a name="configure-oracle-goldengate-on-the-source-and-target-databases"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez la base de données Oracle GoldenGate pour Oracle sur la base de données source. | Pour obtenir des instructions, consultez la [ GoldenGate documentation Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/toc.htm).Assurez-vous de configurer les éléments suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html) | DBA | 
| Configurez Oracle GoldenGate pour PostgreSQL sur la base de données cible. | Pour obtenir des instructions, reportez-vous à [la partie VI Utilisation d'Oracle GoldenGate pour PostgreSQL](https://docs.oracle.com/en/middleware/goldengate/core/19.1/gghdb/using-oracle-goldengate-postgresql.html) sur le site Web d'Oracle.Assurez-vous de configurer les éléments suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.html) | DBA | 

### Configuration de la capture de données
<a name="configure-the-data-capture"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez le processus d'extraction dans la base de données source. | Dans la base de données Oracle source, créez un fichier d'extraction pour extraire les données.Pour obtenir des instructions, voir [AJOUTER UN EXTRAIT](https://docs.oracle.com/goldengate/1212/gg-winux/GWURF/ggsci_commands006.htm#GWURF122) dans la documentation Oracle.Le fichier d'extrait inclut la création du fichier de paramètres d'extraction et du répertoire du fichier de suivi. | DBA | 
| Configurez une pompe de données pour transférer le fichier de suivi de la base de données source vers la base de données cible. | Créez un fichier de paramètres EXTRACT et un répertoire de fichiers de suivi en suivant les instructions de la section [PARFILE](https://docs.oracle.com/database/121/SUTIL/GUID-7A045C82-5993-44EB-AFAD-B7D39C34BCCD.htm#SUTIL859) dans *Database Utilities* sur le site Web d'Oracle.Pour plus d'informations, voir [Qu'est-ce qu'un sentier ?](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GUID-88674F53-1E07-4C00-9868-598F82D7113C) dans *Fusion Middleware Understanding Oracle GoldenGate sur le site* Web d'Oracle. | DBA | 
| Configurez la réplication sur l' EC2 instance Amazon. | Créez un fichier de paramètres de réplication et un répertoire de fichiers de suivi.Pour plus d'informations sur la création de fichiers de paramètres de réplication, reportez-vous à la section [3.5 Validation d'un fichier de paramètres](https://docs.oracle.com/en/middleware/goldengate/core/21.3/admin/using-oracle-goldengate-parameter-files.html#GUID-1E32A9AD-25DB-4243-93CD-E643E7116215) dans la documentation de la base de données Oracle.Pour plus d'informations sur la création d'un répertoire de fichiers de suivi, consultez la section [Création d'un](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/creating-trail.html) journal dans la documentation d'Oracle Cloud.Assurez-vous d'ajouter une entrée de table de points de contrôle dans le fichier GLOBALS au niveau de la cible.Pour plus d'informations, voir [Qu'est-ce qu'un réplicat ?](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/processes-and-terminology.htm#GGCON-GUID-5EF0326C-9058-4C40-8925-98A223388C95) dans *Fusion Middleware Understanding Oracle GoldenGate sur le site* Web d'Oracle. | DBA | 

### Configuration de la réplication des données
<a name="configure-the-data-replication"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Dans la base de données source, créez un fichier de paramètres pour extraire les données pour le chargement initial. | Suivez les instructions de la section [Création d'un fichier de paramètres dans GGSCI](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/using-oracle-goldengate-parameter-files.html#GUID-5C49C522-8B28-4E4B-908D-66A33717CE6C) dans la documentation Oracle Cloud.Assurez-vous que le gestionnaire est en cours d'exécution sur la cible. | DBA | 
| Dans la base de données cible, créez un fichier de paramètres pour répliquer les données pour le chargement initial. | Suivez les instructions de la section [Création d'un fichier de paramètres dans GGSCI](https://docs.oracle.com/en/cloud/paas/goldengate-cloud/gwuad/using-oracle-goldengate-parameter-files.html#GUID-5C49C522-8B28-4E4B-908D-66A33717CE6C) dans la documentation Oracle Cloud.Assurez-vous d'ajouter et de démarrer le processus Replicat. | DBA | 

### Passez à la base de données Amazon RDS for PostgreSQL
<a name="cut-over-to-the-amazon-rds-for-postgresql-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez le processus Replicat et assurez-vous que les bases de données source et cible sont synchronisées. | Comparez le nombre de lignes entre les bases de données source et cible pour vous assurer que la réplication des données a été réussie. | DBA | 
| Configurez la prise en charge du langage de définition des données (DDL). | Exécutez le script DDL pour créer des déclencheurs, des séquences, des synonymes et des clés de référence sur PostgreSQL.Vous pouvez utiliser n'importe quelle application client SQL standard pour vous connecter à une base de données de votre cluster de bases de données. Par exemple, vous pouvez utiliser [pgAdmin](https://www.pgadmin.org/) pour vous connecter à votre instance de base de données. | DBA | 

## Ressources connexes
<a name="migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate-resources"></a>
+ [Amazon RDS pour PostgreSQL (Guide de l'utilisateur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html)*)*
+ [ EC2 Documentation Amazon](https://docs.aws.amazon.com/ec2/)
+ [Méthodes de traitement et bases de données prises en GoldenGate charge](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD112) par Oracle (documentation Oracle)

# Migrer une table partitionnée Oracle vers PostgreSQL à l'aide d'AWS DMS
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms"></a>

*Saurav Mishra et Eduardo Valentim, Amazon Web Services*

## Résumé
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-summary"></a>

Ce modèle décrit comment accélérer le chargement d'une table partitionnée d'Oracle vers PostgreSQL à l'aide d'AWS Database Migration Service (AWS DMS), qui ne prend pas en charge le partitionnement natif. La base de données PostgreSQL cible peut être installée sur Amazon Elastic Compute Cloud (Amazon), ou il peut s'agir d'une instance de base de données EC2 Amazon Relational Database Service (Amazon RDS) pour PostgreSQL ou d'une instance de base de données Amazon Aurora PostgreSQL Edition compatible. 

Le téléchargement d'une table partitionnée inclut les étapes suivantes :

1. Créez une table parent similaire à la table de partition Oracle, mais n'incluez aucune partition.

1. Créez des tables enfants qui hériteront de la table parent que vous avez créée à l'étape 1.

1. Créez une fonction de procédure et un déclencheur pour gérer les insertions dans la table parent.

Cependant, comme le déclencheur est déclenché à chaque insertion, le chargement initial à l'aide d'AWS DMS peut être très lent.

Pour accélérer les chargements initiaux d'Oracle vers PostgreSQL 9.0, ce modèle crée une tâche AWS DMS distincte pour chaque partition et charge les tables enfants correspondantes. Vous créez ensuite un déclencheur lors du passage. 

La version 10 de PostgreSQL prend en charge le partitionnement natif. Toutefois, vous pouvez décider d'utiliser le partitionnement hérité dans certains cas. Pour plus d'informations, consultez la section [Informations supplémentaires](#migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-additional).

## Conditions préalables et limitations
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Oracle source avec une table partitionnée
+ Une base de données PostgreSQL sur AWS

**Versions du produit**
+ PostgreSQL 9.0

## Architecture
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-architecture"></a>

**Pile technologique source**
+ Une table partitionnée dans Oracle

**Pile technologique cible**
+ Une table partitionnée dans PostgreSQL (sur EC2 Amazon, Amazon RDS pour PostgreSQL ou Aurora PostgreSQL)

**Architecture cible**

![\[Les données de table partitionnées dans Oracle sont transférées vers une tâche AWS DMS pour chaque partition, puis vers PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/7fa2898e-3308-436a-aec8-ab6f680d7bac/images/1b9742ea-a13d-434c-83a7-56686cf76ea0.png)


## Outils
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.

## Épopées
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-epics"></a>

### Configuration d'AWS DMS
<a name="set-up-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez les tables dans PostgreSQL. | Créez les tables parent et enfant correspondantes dans PostgreSQL avec les conditions de vérification requises pour les partitions. | DBA | 
| Créez la tâche AWS DMS pour chaque partition. | Incluez la condition de filtre de la partition dans la tâche AWS DMS. Mappez les partitions aux tables enfants PostgreSQL correspondantes. | DBA | 
| Exécutez les tâches AWS DMS en utilisant le chargement complet et la capture des données de modification (CDC). | Assurez-vous que le `StopTaskCachedChangesApplied` paramètre est défini sur `true` et que le `StopTaskCachedChangesNotApplied` paramètre est défini sur`false`. | DBA | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les tâches de réplication. | Avant d'arrêter les tâches, vérifiez que la source et la destination sont synchronisées. | DBA | 
| Créez un déclencheur sur la table parent. | Étant donné que la table parent recevra toutes les commandes d'insertion et de mise à jour, créez un déclencheur qui acheminera ces commandes vers les tables enfants respectives en fonction de la condition de partitionnement. | DBA | 

## Ressources connexes
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-resources"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Partitionnement de tables (documentation PostgreSQL)](https://www.postgresql.org/docs/10/ddl-partitioning.html)

## Informations supplémentaires
<a name="migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms-additional"></a>

Bien que PostgreSQL version 10 prenne en charge le partitionnement natif, vous pouvez décider d'utiliser le partitionnement hérité dans les cas d'utilisation suivants :
+ Le partitionnement impose une règle selon laquelle toutes les partitions doivent avoir le même ensemble de colonnes que le parent, mais l'héritage des tables permet aux enfants d'avoir des colonnes supplémentaires.
+ L'héritage de tables prend en charge les héritages multiples.
+ Le partitionnement déclaratif ne prend en charge que le partitionnement par liste et par plage. Grâce à l'héritage des tables, vous pouvez diviser les données comme vous le souhaitez. Toutefois, si l'exclusion des contraintes ne permet pas d'élaguer efficacement les partitions, les performances des requêtes en pâtiront.
+ Certaines opérations nécessitent un verrou plus fort lors de l'utilisation du partitionnement déclaratif que lors de l'utilisation de l'héritage de tables. Par exemple, l'ajout ou la suppression d'une partition dans ou depuis une table partitionnée nécessite un `ACCESS EXCLUSIVE` verrou sur la table parent, alors qu'un `SHARE UPDATE EXCLUSIVE` verrou suffit pour un héritage normal.

Lorsque vous utilisez des partitions de travail distinctes, vous pouvez également recharger les partitions en cas de problème de validation AWS DMS. Pour améliorer les performances et le contrôle de la réplication, exécutez les tâches sur des instances de réplication distinctes.

# Migrer d'Amazon RDS for Oracle vers Amazon RDS for MySQL
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql"></a>

*Jitender Kumar, Srini Ramaswamy et Neha Sharma, Amazon Web Services*

## Résumé
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-summary"></a>

Ce modèle fournit des conseils pour la migration d'une instance de base de données Amazon Relational Database Service (Amazon RDS) pour Oracle vers une instance de base de données Amazon RDS for MySQL sur Amazon Web Services (AWS). Le modèle utilise AWS Database Migration Service (AWS DMS) et AWS Schema Conversion Tool (AWS SCT). 

Le modèle fournit les meilleures pratiques pour gérer la migration des procédures stockées. Il couvre également et modifie le code pour prendre en charge la couche d'application. 

## Conditions préalables et limitations
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Une base de données source Amazon RDS for Oracle.
+ Une base de données cible Amazon RDS for MySQL. Les bases de données source et cible doivent se trouver dans le même cloud privé virtuel (VPC). Si vous en utilisez plusieurs VPCs, ou si vous devez disposer des autorisations d'accès requises.
+ Groupes de sécurité qui permettent la connectivité entre les bases de données source et cible, AWS SCT, le serveur d'applications et AWS DMS.
+ Un compte utilisateur doté des privilèges requis pour exécuter AWS SCT sur la base de données source.
+ La journalisation supplémentaire est activée pour exécuter AWS DMS sur la base de données source.

**Limites**
+ La limite de taille de la base de données Amazon RDS source et cible est de 64 To. Pour obtenir des informations sur la taille d'Amazon RDS, consultez la [documentation AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html).
+ Oracle ne fait pas la distinction majuscules/majuscules pour les objets de base de données, mais MySQL ne le fait pas. AWS SCT peut gérer ce problème lors de la création d'un objet. Cependant, un certain travail manuel est nécessaire pour pallier l'indifférence totale entre majuscules et minuscules.
+ Cette migration n'utilise pas les extensions MySQL pour activer les fonctions natives d'Oracle. AWS SCT gère la majeure partie de la conversion, mais certains travaux sont nécessaires pour modifier le code manuellement.
+ Les modifications du pilote Java Database Connectivity (JDBC) sont requises dans l'application.

**Versions du produit**
+ Amazon RDS pour Oracle 12.2.0.1 et versions ultérieures. Pour connaître les versions RDS pour Oracle actuellement prises en charge, consultez la [documentation AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Concepts.database-versions.html).
+ Amazon RDS for MySQL 8.0.15 et versions ultérieures. Pour connaître les versions de RDS pour MySQL actuellement prises en charge, consultez la [documentation AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Concepts.VersionMgmt.html).
+ AWS DMS version 3.3.0 et versions ultérieures. Consultez la documentation AWS pour plus d'informations sur les points de [terminaison source et les points de terminaison](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html) [cibles](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html) pris en charge par AWS DMS.
+ AWS SCT version 1.0.628 et versions ultérieures.  Consultez la [matrice de prise en charge des points de terminaison source et cible AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) dans la documentation AWS.

## Architecture
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-architecture"></a>

**Pile technologique source**
+ Amazon RDS pour Oracle. Pour plus d'informations, consultez la section [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). 

**Pile technologique cible**
+ Amazon RDS pour MySQL. Pour plus d'informations, consultez la section [Utilisation d'une base de données compatible MySQL comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html).

**Architecture de migration**

Dans le schéma suivant, AWS SCT copie et convertit des objets de schéma depuis la base de données source Amazon RDS for Oracle et envoie les objets vers la base de données cible Amazon RDS for MySQL. AWS DMS réplique les données de la base de données source et les envoie à l'instance Amazon RDS for MySQL.

![\[AWS SCT, AWS DMS et Amazon RDS déployés dans un sous-réseau privé.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/e1efa7c2-47c1-4677-80bc-6b19250fc0d6/images/b54a8442-9ab9-4074-b8f6-a08f87fa2f52.jpeg)


## Outils
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-tools"></a>
+ [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) vous aide à configurer, exploiter et dimensionner une base de données relationnelle dans le cloud AWS. Ce modèle utilise [Amazon RDS pour](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle [et Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html) pour MySQL.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.

## Épopées
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-epics"></a>

### Préparation à la migration
<a name="prepare-for-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions et les moteurs de base de données source et cible. |  | DBA | 
|  Identifiez la configuration matérielle requise pour l'instance de serveur cible. |  | DBA, SysAdmin | 
| Identifiez les exigences de stockage (type et capacité de stockage). |  | DBA, SysAdmin | 
| Choisissez le type d'instance approprié (capacité, fonctionnalités de stockage, fonctionnalités réseau). |  | DBA, SysAdmin | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA, SysAdmin  | 
| Choisissez une stratégie de migration d'applications. | Déterminez si vous souhaitez un temps d'arrêt complet ou partiel pour les activités de transition. | DBA, propriétaire de SysAdmin l'application | 

### Configuration de l'infrastructure
<a name="configure-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un VPC et des sous-réseaux. |  | SysAdmin | 
| Créez des groupes de sécurité et des listes de contrôle d'accès au réseau (ACLs). |  | SysAdmin | 
| Configurez et démarrez l'instance Amazon RDS for Oracle. |  | DBA, SysAdmin | 
| Configurez et démarrez l'instance Amazon RDS for MySQL.  |  | DBA, SysAdmin | 
| Préparez un scénario de test pour la validation de la conversion de code. | Cela facilitera les tests unitaires pour le code converti. | DBA, Développeur | 
| Configurez l'instance AWS DMS. |  |  | 
| Configurez les points de terminaison source et cible dans AWS DMS. |  |  | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Générez le script de base de données cible à l'aide d'AWS SCT. | Vérifiez l'exactitude du code converti par AWS SCT. Certains travaux manuels seront nécessaires. | DBA, Développeur | 
| Dans AWS SCT, choisissez le paramètre « Insensible aux majuscules et minuscules ». | Dans AWS SCT, choisissez Paramètres du projet, Target Case Sensibility, Case Insensitive. | DBA, Développeur | 
| Dans AWS SCT, choisissez de ne pas utiliser la fonction native d'Oracle. | Dans les paramètres du projet, cochez les fonctions TO\$1 CHAR/TO\$1NUMBER/TO \$1DATE. | DBA, Développeur | 
| Apportez des modifications au code « sql%notfound ». | Il se peut que vous deviez convertir le code manuellement. |  | 
| Interrogez les tables et les objets dans les procédures stockées (utilisez des requêtes en minuscules). |  | DBA, Développeur | 
| Créez le script principal une fois que toutes les modifications ont été apportées, puis déployez le script principal sur la base de données cible. |  | DBA, Développeur | 
| Testez les procédures stockées et les appels d'application unitaires à l'aide d'échantillons de données.  |  |  | 
| Nettoyez les données créées lors des tests unitaires. |  | DBA, Développeur | 
| Supprimez les contraintes liées aux clés étrangères sur la base de données cible. | Cette étape est nécessaire pour charger les données initiales. Si vous ne souhaitez pas supprimer les contraintes liées aux clés étrangères, vous devez créer une tâche de migration pour les données spécifiques aux tables principale et secondaire. | DBA, Développeur | 
| Supprimez les clés primaires et les clés uniques dans la base de données cible. | Cette étape permet d'obtenir de meilleures performances pour le chargement initial. | DBA, Développeur | 
| Activez la journalisation supplémentaire sur la base de données source.  |  | DBA | 
| Créez une tâche de migration pour le chargement initial dans AWS DMS, puis exécutez-la. | Choisissez l'option permettant de migrer les données existantes. | DBA | 
| Ajoutez les clés primaires et les clés étrangères à la base de données cible. | Les contraintes doivent être ajoutées après le chargement initial. | DBA, Développeur | 
| Créez une tâche de migration pour une réplication continue. | La réplication continue permet de synchroniser la base de données cible avec la base de données source. | DBA | 

### Migrer des applications
<a name="migrate-applications"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Remplacez les fonctions natives d'Oracle par des fonctions natives de MySQL. |  | Propriétaire de l'application | 
| Assurez-vous que seuls les noms en minuscules sont utilisés pour les objets de base de données dans les requêtes SQL. |  | DBA, propriétaire de SysAdmin l'application | 

### Passez à la base de données cible
<a name="cut-over-to-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez le serveur d'applications. |  | Propriétaire de l'application | 
| Vérifiez que les bases de données source et cible sont synchronisées. |  | DBA, propriétaire de l'application | 
| Arrêtez l'instance de base de données Amazon RDS for Oracle. |  | DBA | 
| Arrêtez la tâche de migration. | Cela s'arrêtera automatiquement une fois que vous aurez terminé l'étape précédente. | DBA | 
| Changez la connexion JDBC d'Oracle à MySQL. |  | Propriétaire de l'application, DBA | 
| Lancez l'application. |  | DBA, propriétaire de SysAdmin l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Passez en revue et validez les documents du projet. |  | DBA, SysAdmin | 
| Collectez des indicateurs concernant le temps de migration, le pourcentage de tâches manuelles par rapport aux tâches liées aux outils, les économies de coûts, etc. |  | DBA, SysAdmin | 
| Arrêtez et supprimez les instances AWS DMS. |  | DBA | 
| Supprimez les points de terminaison source et cible. |  | DBA | 
| Supprimez les tâches de migration. |  | DBA | 
| Prenez un instantané de l'instance de base de données Amazon RDS for Oracle. |  | DBA | 
| Supprimez l'instance de base de données Amazon RDS for Oracle. |  | DBA | 
| Arrêtez et supprimez toutes les autres ressources AWS temporaires que vous avez utilisées. |  | DBA, SysAdmin | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA | 

## Ressources connexes
<a name="migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql-resources"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.html)
+ [Tarification d'Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Commencer à utiliser AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)

# Migrez d'IBM Db2 sur Amazon vers une version compatible avec Aurora PostgreSQL EC2 à l'aide d'AWS DMS et d'AWS SCT
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct"></a>

*Sirsendu Halder et Abhimanyu Chhabra, Amazon Web Services*

## Résumé
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-summary"></a>

Ce modèle fournit des conseils pour la migration d'une base de données IBM Db2 sur une instance Amazon Elastic Compute Cloud EC2 (Amazon) vers une instance de base de données Amazon Aurora PostgreSQL Edition compatible. Ce modèle utilise AWS Database Migration Service (AWS DMS) et AWS Schema Conversion Tool (AWS SCT) pour la migration des données et la conversion de schéma.

Le modèle cible une stratégie de migration en ligne avec peu ou pas de temps d'arrêt pour une base de données IBM Db2 de plusieurs téraoctets comportant un grand nombre de transactions. Nous vous recommandons de convertir les colonnes en clés primaires (PKs) et en clés étrangères (FKs) avec le type de données `NUMERIC` vers `INT` ou `BIGINT` dans PostgreSQL pour de meilleures performances. 

## Conditions préalables et limitations
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif 
+ Une base de données IBM Db2 source sur une instance EC2 

**Versions du produit**
+ DB2/LINUXX8664 version 11.1.4.4 et versions ultérieures

## Architecture
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-architecture"></a>

**Pile technologique source******
+ Une base de données DB2 sur une instance EC2  

**Pile technologique cible**
+ Une instance de base de données compatible avec Aurora PostgreSQL version 10.18 ou ultérieure

**Architecture de migration de base de données******

![\[Utilisation d'AWS DMS pour migrer d'IMB Db2 sur Amazon vers une version compatible avec EC2 Aurora PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5e737fab-3e04-4887-9fb0-d1c88503b57d/images/789fabcc-8052-40d5-a746-986d799576e9.png)


## Outils
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des bases de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site. 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. Vous pouvez utiliser AWS DMS pour migrer vos données vers et depuis les bases de données commerciales et open source les plus utilisées. AWS DMS prend en charge les migrations hétérogènes entre différentes plateformes de base de données, telles qu'IBM Db2 vers la version 10.18 ou supérieure compatible avec Aurora PostgreSQL. Pour plus de détails, consultez [les sections Sources pour la migration des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) et [cibles pour la migration des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html) dans la documentation AWS DMS.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité des objets du code de base de données, y compris les vues, les procédures stockées et les fonctions, dans un format compatible avec la base de données cible. Tous les objets qui ne sont pas automatiquement convertis sont clairement marqués afin de pouvoir être convertis manuellement pour terminer la migration. AWS SCT peut également analyser le code source de l'application à la recherche d'instructions SQL intégrées et les convertir. 

## Épopées
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-epics"></a>

### Configuration de l'environnement
<a name="set-up-the-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de base de données compatible avec Aurora PostgreSQL. | Pour créer l'instance de base de données, suivez les instructions de la [documentation AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html). Pour le type de moteur, choisissez **Amazon Aurora**. Pour l'édition, choisissez l'édition compatible avec **Amazon Aurora PostgreSQL**.L'instance de base de données compatible Aurora PostgreSQL version 10.18 ou ultérieure doit se trouver dans le même cloud privé virtuel (VPC) que la base de données IBM Db2 source. | Amazon RDS | 

### Convertissez le schéma de votre base de données
<a name="convert-your-database-schema"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez et vérifiez AWS SCT. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Administrateur AWS, DBA, ingénieur en migration | 
| Démarrez AWS SCT et créez un projet. | Pour démarrer l'outil AWS SCT et créer un nouveau projet afin d'exécuter un rapport d'évaluation de la migration de base de données, suivez les instructions de la documentation [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Launching) | Ingénieur en migration | 
| Ajoutez des serveurs de base de données et créez une règle de mappage. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Ingénieur en migration | 
| Créez un rapport d'évaluation de la migration de base de données.  | Créez le rapport d'évaluation de la migration de base de données en suivant les étapes de la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) | Ingénieur en migration | 
| Consultez le rapport d'évaluation. | Utilisez l'onglet **Résumé** du rapport d'évaluation de la migration de la base de données pour consulter le rapport et analyser les données. Cette analyse vous aidera à déterminer la complexité de la migration. Pour plus d'informations, consultez la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.View.html) | Ingénieur en migration | 
| Convertissez le schéma. | Pour convertir les schémas de votre base de données source :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)Pour plus d'informations, consultez la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Converting) | Ingénieur en migration | 
| Appliquez le schéma de base de données converti à l'instance de base de données cible. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html)Pour plus d'informations, consultez la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.ApplyingConversion) | Ingénieur en migration | 

### Migrez vos données
<a name="migrate-your-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez un VPC et des groupes de paramètres de base de données.  | Configurez un VPC et des groupes de paramètres de base de données, et configurez les règles et paramètres entrants requis pour la migration. Pour obtenir des instructions, consultez la [documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Prerequisites.html).Pour le groupe de sécurité VPC, sélectionnez à la fois l' EC2 instance pour Db2 et l'instance de base de données compatible Aurora PostgreSQL. Cette instance de réplication doit se trouver dans le même VPC que les instances de base de données source et cible. | Ingénieur en migration | 
| Préparez les instances de base de données source et cible. | Préparez les instances de base de données source et cible pour la migration. Dans un environnement de production, la base de données source existe déjà.Pour la base de données source, le nom du serveur doit être le système de noms de domaine (DNS) public de l' EC2 instance sur laquelle Db2 est exécuté. Pour le nom d'utilisateur, vous pouvez utiliser `db2inst1` suivi du port, qui sera 5000 pour IBM Db2.  | Ingénieur en migration | 
| Créez un EC2 client Amazon et des points de terminaison. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Ingénieur en migration | 
| Créez une instance de réplication. | Créez une instance de réplication à l'aide de la console AWS DMS et spécifiez les points de terminaison source et cible. L'instance de réplication effectue la migration des données entre les points de terminaison. Pour en savoir plus, consultez [la documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html).  | Ingénieur en migration | 
| Créez une tâche AWS DMS pour migrer les données. | [Créez une tâche pour charger les tables IBM Db2 source sur l'instance de base de données PostgreSQL cible en suivant les étapes de la documentation AWS DMS.](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Tasks)[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.html) | Ingénieur en migration | 

## Ressources connexes
<a name="migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct-resources"></a>

**Références**
+ [Documentation Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_AuroraOverview.html)
+ [Documentation sur le wrapper de données étrangères (FDW) PostgreSQL](https://www.postgresql.org/docs/10/postgres-fdw.html) 
+ [Documentation relative à l'importation de schémas étrangers dans PostgreSQL](https://www.postgresql.org/docs/10/sql-importforeignschema.html) 
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/index.html)  
+ [Documentation AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 

**Tutoriels et vidéos**
+ [Mise en route avec AWS DMS](https://aws.amazon.com/dms/getting-started/) (procédure pas à pas)
+ [Présentation d'Amazon EC2 - Serveur cloud élastique et hébergement avec AWS](https://www.youtube.com/watch?v=TsRBftzZsQo) (vidéo)

# Migrez d'Oracle 8i ou 9i vers Amazon RDS for PostgreSQL à l'aide d'AWS DMS SharePlex
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms"></a>

*Kumar Babu PG, Amazon Web Services*

## Résumé
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-summary"></a>

Ce modèle décrit comment migrer une base de données Oracle 8i ou 9i sur site vers Amazon Relational Database Service (Amazon RDS) pour PostgreSQL ou Amazon Aurora PostgreSQL. AWS Database Migration Service (AWS DMS) ne prend pas en charge Oracle 8i ou 9i en tant que source. Quest SharePlex réplique donc les données d'une base de données 8i ou 9i sur site vers une base de données Oracle intermédiaire (Oracle 10g ou 11g), compatible avec AWS DMS.

À partir de l'instance Oracle intermédiaire, le schéma et les données sont migrés vers la base de données PostgreSQL sur AWS à l'aide d'AWS Schema Conversion Tool (AWS SCT) et d'AWS DMS. Cette méthode permet de diffuser en continu les données de la base de données Oracle source vers l'instance de base de données PostgreSQL cible avec un délai de réplication minimal. Dans cette implémentation, le temps d'arrêt est limité au temps nécessaire pour créer ou valider l'ensemble des clés étrangères, des déclencheurs et des séquences sur la base de données PostgreSQL cible.

La migration utilise une instance Amazon Elastic Compute Cloud (Amazon EC2) sur laquelle Oracle 10g ou 11g est installé pour héberger les modifications depuis la base de données Oracle source. AWS DMS utilise cette instance Oracle intermédiaire comme source pour diffuser les données vers Amazon RDS for PostgreSQL ou Aurora PostgreSQL. La réplication des données peut être suspendue et reprise depuis la base de données Oracle locale vers l'instance Oracle intermédiaire. Il peut également être suspendu et repris depuis l'instance Oracle intermédiaire vers la base de données PostgreSQL cible afin que vous puissiez valider les données à l'aide de la validation des données AWS DMS ou d'un outil de validation de données personnalisé.

## Conditions préalables et limitations
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Oracle 8i ou 9i source dans un centre de données sur site 
+ AWS Direct Connect configuré entre le centre de données sur site et AWS 
+ Pilotes de connectivité de base de données Java (JDBC) pour les connecteurs AWS SCT installés soit sur une machine locale, soit sur l'instance EC2 où AWS SCT est installé
+ Connaissance de [l'utilisation d'une base de données Oracle en tant que source AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Connaissance de [l'utilisation d'une base de données PostgreSQL en tant que cible](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) AWS DMS
+ Connaissance de la réplication de SharePlex données Quest

 

**Limites**
+ La limite de taille de base de données est de 64 To
+ La base de données Oracle sur site doit être Enterprise Edition

 

**Versions du produit**
+ Oracle 8i ou 9i pour la base de données source
+ Oracle 10g ou 11g pour la base de données intermédiaire 
+ PostgreSQL 9.6 ou version ultérieure

## Architecture
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-architecture"></a>

**Pile technologique source**
+ Base de données Oracle 8i ou 9i 
+ Quête SharePlex 

 

**Pile technologique cible**
+ Amazon RDS pour PostgreSQL ou Aurora PostgreSQL 

** **

**Architecture source et cible**

![\[Architecture diagram showing migration from on-premises Oracle database to AWS cloud using various services.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/b6c30668-fc2e-4293-a59a-e01fd151f4bb/images/25082670-0bf3-4b20-8c80-99c6633b046f.png)


## Outils
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-tools"></a>
+ **AWS DMS** — [AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) (AWS DMS) vous aide à migrer des bases de données rapidement et en toute sécurité. 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. 
+ **AWS SCT** — [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) rend les migrations de bases de données hétérogènes prévisibles en convertissant automatiquement le schéma de base de données source et la majorité des objets du code de base de données, y compris les vues, les procédures stockées et les fonctions, dans un format compatible avec la base de données cible. Les objets qui ne peuvent pas être convertis automatiquement sont clairement marqués afin de pouvoir être convertis manuellement pour terminer la migration. AWS SCT peut également scanner le code source de votre application à la recherche d'instructions SQL intégrées et les convertir dans le cadre d'un projet de conversion de schéma de base de données. Au cours de ce processus, AWS SCT optimise le code natif du cloud en convertissant les anciennes fonctions Oracle et SQL Server en leurs équivalents AWS, afin de vous aider à moderniser vos applications lors de la migration de vos bases de données. Lorsque la conversion du schéma est terminée, AWS SCT peut aider à migrer les données de différents entrepôts de données vers Amazon Redshift en utilisant des agents de migration de données intégrés.
+ **Quest SharePlex** — [ SharePlexQuest](https://www.quest.com/register/120420/?gclid=Cj0KCQiA6IHwBRCJARIsALNjViVSt9fHqAsf9XbWkoCwKKyQqollR_5kSxNhBagh9s3spQT4IQCaVy0aAmCnEALw_wcB) est un outil de réplication de Oracle-to-Oracle données permettant de déplacer des données avec un minimum de temps d'arrêt et sans perte de données.

## Épopées
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-epics"></a>

### Créez l' EC2 instance et installez Oracle
<a name="create-the-ec2-instance-and-install-oracle"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez le réseau pour Amazon EC2. | Créez le cloud privé virtuel (VPC), les sous-réseaux, la passerelle Internet, les tables de routage et les groupes de sécurité. | AWS SysAdmin | 
| Créez la nouvelle EC2 instance. | Sélectionnez l'Amazon Machine Image (AMI) pour l' EC2 instance. Choisissez la taille de l'instance et configurez les détails de l'instance : le nombre d'instances (1), le VPC et le sous-réseau de l'étape précédente, l'attribution automatique d'une adresse IP publique et d'autres options. Ajoutez du stockage, configurez les groupes de sécurité et lancez l'instance. Lorsque vous y êtes invité, créez et enregistrez une paire de clés pour l'étape suivante. | AWS SysAdmin | 
| Installez Oracle sur l' EC2 instance. | Procurez-vous les licences et les fichiers binaires Oracle requis, puis installez Oracle 10g ou 11g sur l'instance. EC2  | DBA | 

### Installation SharePlex sur une EC2 instance et configuration de la réplication des données
<a name="set-up-shareplex-on-an-ec2-instance-and-configure-data-replication"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez SharePlex. | Créez une EC2 instance Amazon et installez les SharePlex fichiers binaires compatibles avec Oracle 8i ou 9i. | AWS SysAdmin, DBA | 
| Configurez la réplication des données. | Suivez les SharePlex meilleures pratiques pour configurer la réplication des données d'une base de données Oracle 8i/9i sur site vers une instance Oracle 10g/11g. | DBA | 

### Convertir le schéma de base de données Oracle en PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez AWS SCT. | Créez un nouveau rapport, puis connectez-vous à Oracle en tant que source et à PostgreSQL en tant que cible. Dans les paramètres du projet, ouvrez l'onglet SQL Scripting et remplacez le script SQL cible par Multiple Files. | DBA | 
| Convertissez le schéma de base de données Oracle. | Dans l'onglet Action, choisissez Générer le rapport, Convertir le schéma, puis Enregistrer en tant que SQL. | DBA | 
| Modifiez les scripts SQL générés par AWS SCT. |  | DBA | 

### Création et configuration de l'instance de base de données Amazon RDS
<a name="create-and-configure-the-amazon-rds-db-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de base de données Amazon RDS. | Dans la console Amazon RDS, créez une nouvelle instance de base de données PostgreSQL. | AWS SysAdmin, DBA | 
| Configurez l'instance de base de données. | Spécifiez la version du moteur de base de données, la classe d'instance de base de données, le déploiement multi-AZ, le type de stockage et le stockage alloué. Entrez l'identifiant de l'instance de base de données, un nom d'utilisateur principal et un mot de passe principal. | AWS SysAdmin, DBA | 
| Configurez le réseau et la sécurité. | Spécifiez le VPC, le groupe de sous-réseaux, l'accessibilité publique, la préférence de zone de disponibilité et les groupes de sécurité. | AWS SysAdmin, DBA | 
| Configurer les options de base de données. | Spécifiez le nom de la base de données, le port, le groupe de paramètres, le chiffrement et la clé principale. | AWS SysAdmin, DBA | 
| Configurez des sauvegardes. | Spécifiez la période de conservation des sauvegardes, la fenêtre de sauvegarde, l'heure de début, la durée et indiquez s'il faut copier les balises dans les instantanés. | AWS SysAdmin, DBA | 
| Configurez les options de surveillance. | Activez ou désactivez la surveillance améliorée et les informations sur les performances. | AWS SysAdmin, DBA | 
| Configurez les options de maintenance. | Spécifiez la mise à niveau automatique de la version mineure, la fenêtre de maintenance, ainsi que le jour, l'heure et la durée de début. | AWS SysAdmin, DBA | 
| Exécutez les scripts de pré-migration depuis AWS SCT. | Sur l'instance Amazon RDS, exécutez les scripts suivants : create\$1database.sql, create\$1sequence.sql, create\$1table.sql, create\$1view.sql et create\$1function.sql. | AWS SysAdmin, DBA | 

### Migrer les données à l'aide d'AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication dans AWS DMS. | Renseignez les champs relatifs au nom, à la classe d'instance, au VPC (comme pour l' EC2 instance), au Multi-AZ et à l'accessibilité publique. Dans la section de configuration avancée, spécifiez le stockage alloué, le groupe de sous-réseaux, la zone de disponibilité, les groupes de sécurité VPC et la clé racine AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA | 
| Créez le point de terminaison de la base de données source. | Spécifiez le nom du point de terminaison, le type, le moteur source (Oracle), le nom du serveur (nom DNS EC2 privé Amazon), le port, le mode SSL, le nom d'utilisateur, le mot de passe, le SID, le VPC (spécifiez le VPC qui possède l'instance de réplication) et l'instance de réplication. Pour tester la connexion, choisissez Run Test, puis créez le point de terminaison. Vous pouvez également configurer les paramètres avancés suivants : maxFileSize et numberDataType Scale. | AWS SysAdmin, DBA | 
| Créez la tâche de réplication AWS DMS. | Spécifiez le nom de la tâche, l'instance de réplication, les points de terminaison source et cible, ainsi que l'instance de réplication. Pour le type de migration, choisissez « Migrer les données existantes et répliquer les modifications en cours ». Décochez la case « Démarrer la tâche lors de la création ». | AWS SysAdmin, DBA | 
| Configurez les paramètres des tâches de réplication AWS DMS. | Pour le mode de préparation de la table cible, choisissez « Ne rien faire ». Arrêtez la tâche une fois le chargement complet terminé pour créer des clés primaires. Spécifiez le mode LOB limité ou complet et activez les tables de contrôle. Vous pouvez éventuellement configurer le paramètre CommitRate avancé. | DBA | 
| Configurez les mappages de tables. | Dans la section mappages de tables, créez une règle d'inclusion pour toutes les tables de tous les schémas inclus dans la migration, puis créez une règle d'exclusion. Ajoutez trois règles de transformation pour convertir les noms de schéma, de table et de colonne en minuscules, et ajoutez toutes les autres règles nécessaires à cette migration spécifique. | DBA | 
| Démarrez la tâche . | Lancez la tâche de réplication. Assurez-vous que le chargement complet est en cours. Exécutez ALTER SYSTEM SWITCH LOGFILE sur la base de données Oracle principale pour démarrer la tâche. | DBA | 
| Exécutez les scripts de mi-migration depuis AWS SCT. | Dans Amazon RDS for PostgreSQL, exécutez les scripts suivants : create\$1index.sql et create\$1constraint.sql. | DBA | 
| Redémarrez la tâche pour poursuivre la capture des données de modification (CDC). | Dans l'instance de base de données Amazon RDS for PostgreSQL, exécutez VACUUM et redémarrez la tâche AWS DMS pour appliquer les modifications du CDC mises en cache. | DBA | 

### Passez à la base de données PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Consultez les journaux et les tables de métadonnées AWS DMS. | Validez les erreurs et corrigez-les si nécessaire. | DBA | 
| Arrêtez toutes les dépendances Oracle. | Arrêtez les écouteurs de la base de données Oracle et exécutez ALTER SYSTEM SWITCH LOGFILE. Arrêtez la tâche AWS DMS lorsqu'elle ne montre aucune activité. | DBA | 
| Exécutez les scripts de post-migration depuis AWS SCT. | Dans Amazon RDS for PostgreSQL, exécutez les scripts suivants : create\$1foreign\$1key\$1constraint.sql et create\$1triggers.sql. | DBA | 
| Effectuez toutes les étapes supplémentaires relatives à Amazon RDS for PostgreSQL. | Incrémentez les séquences pour qu'elles correspondent à Oracle si nécessaire, exécutez VACUUM et ANALYZE, puis prenez un instantané pour vérifier la conformité. | DBA | 
| Ouvrez les connexions à Amazon RDS for PostgreSQL. | Supprimez les groupes de sécurité AWS DMS d'Amazon RDS for PostgreSQL, ajoutez des groupes de sécurité de production et dirigez vos applications vers la nouvelle base de données. | DBA | 
| Nettoyez les ressources AWS DMS. | Supprimez les points de terminaison, les tâches de réplication, les instances de réplication et l' EC2 instance. | SysAdmin, DBA | 

## Ressources connexes
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms-resources"></a>
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Documentation AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Tarification d'Amazon RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/)
+ [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilisation d'une base de données PostgreSQL comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) 
+ [ SharePlex Documentation sur les quêtes](https://support.quest.com/shareplex/9.0.2/technical-documents)

# Migrez d'Oracle 8i ou 9i vers Amazon RDS for PostgreSQL à l'aide de vues matérialisées et d'AWS DMS
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms"></a>

*Kumar Babu PG et Pragnesh Patel, Amazon Web Services*

## Résumé
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-summary"></a>

Ce modèle décrit comment migrer une ancienne base de données Oracle 8i ou 9i sur site vers Amazon Relational Database Service (Amazon RDS) pour PostgreSQL ou Amazon Aurora PostgreSQL compatible Edition. 

AWS Database Migration Service (AWS DMS) ne prend pas en charge Oracle 8i ou 9i en tant que source. Ce modèle utilise donc une instance de base de données Oracle intermédiaire compatible avec AWS DMS, telle qu'Oracle 10g ou 11g. Il utilise également la fonctionnalité de vues matérialisées pour migrer les données de l'instance Oracle 8i/9i source vers l'instance Oracle 10g/11g intermédiaire.

AWS Schema Conversion Tool (AWS SCT) convertit le schéma de base de données et AWS DMS migre les données vers la base de données PostgreSQL cible. 

Ce modèle aide les utilisateurs qui souhaitent migrer à partir de bases de données Oracle existantes avec un temps d'arrêt minimal des bases de données. Dans cette implémentation, le temps d'arrêt serait limité au temps nécessaire pour créer ou valider toutes les clés étrangères, tous les déclencheurs et toutes les séquences sur la base de données cible. 

Le modèle utilise des instances Amazon Elastic Compute Cloud (Amazon EC2) avec une base de données Oracle 10g/11g installée pour aider AWS DMS à diffuser les données. Vous pouvez suspendre temporairement la réplication en continu depuis la base de données Oracle sur site vers l'instance Oracle intermédiaire afin de permettre à AWS DMS de rattraper son retard en matière de validation des données ou d'utiliser un autre outil de validation des données. L'instance de base de données PostgreSQL et la base de données Oracle intermédiaire disposeront des mêmes données lorsque AWS DMS aura terminé la migration des modifications en cours.

## Conditions préalables et limitations
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Oracle 8i ou 9i source dans un centre de données sur site 
+ AWS Direct Connect configuré entre le centre de données sur site et AWS
+ Pilotes de connectivité de base de données Java (JDBC) pour les connecteurs AWS SCT installés soit sur une machine locale, soit sur l'instance EC2 où AWS SCT est installé
+ Connaissance de [l'utilisation d'une base de données Oracle en tant que source AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Connaissance de [l'utilisation d'une base de données PostgreSQL en tant que cible](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) AWS DMS

**Limites**
+ La limite de taille de base de données est de 64 To

**Versions du produit**
+ Oracle 8i ou 9i pour la base de données source
+ Oracle 10g ou 11g pour la base de données intermédiaire
+ PostgreSQL 10.17 ou version ultérieure

## Architecture
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-architecture"></a>

**Pile technologique source**
+ Base de données Oracle 8i ou 9i 

**Pile technologique cible**
+ Compatible avec Amazon RDS for PostgreSQL ou Aurora PostgreSQL

**Architecture cible**

![\[Architecture pour la migration d'une ancienne base de données Oracle vers Amazon RDS ou Aurora\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/8add9b21-1b62-46a2-bb8e-0350f36a924a/images/f34f9b0f-f1da-4c27-a385-71b12d16c375.png)


## Outils
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) permet de migrer les bases de données rapidement et en toute sécurité. 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. 
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) convertit automatiquement le schéma de base de données source et la majorité des objets du code de base de données, y compris les vues, les procédures stockées et les fonctions, dans un format compatible avec la base de données cible. Les objets qui ne peuvent pas être convertis automatiquement sont clairement marqués afin de pouvoir être convertis manuellement pour terminer la migration. AWS SCT peut également scanner le code source de votre application à la recherche d'instructions SQL intégrées et les convertir dans le cadre d'un projet de conversion de schéma de base de données. Au cours de ce processus, AWS SCT optimise le code natif du cloud en convertissant les anciennes fonctions Oracle et SQL Server en leurs équivalents AWS, afin de vous aider à moderniser vos applications lors de la migration de vos bases de données. Lorsque la conversion du schéma est terminée, AWS SCT peut aider à migrer les données de différents entrepôts de données vers Amazon Redshift en utilisant des agents de migration de données intégrés.  

## Bonnes pratiques
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-best-practices"></a>

Pour connaître les meilleures pratiques relatives à l'actualisation des vues matérialisées, consultez la documentation Oracle suivante :
+ [Actualisation des vues matérialisées](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG-GUID-64068234-BDB0-4C12-AE70-75571046A586)
+ [Actualisation rapide pour les vues matérialisées](https://docs.oracle.com/database/121/DWHSG/refresh.htm#DWHSG8361)

## Épopées
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-epics"></a>

### Installez Oracle sur une EC2 instance et créez des vues matérialisées
<a name="install-oracle-on-an-ec2-instance-and-create-materialized-views"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez le réseau pour l' EC2 instance. | Créez le cloud privé virtuel (VPC), les sous-réseaux, la passerelle Internet, les tables de routage et les groupes de sécurité. | AWS SysAdmin | 
| Créez l' EC2 instance. | Sélectionnez l'Amazon Machine Image (AMI) pour l' EC2 instance. Choisissez la taille de l'instance et configurez les détails de l'instance : le nombre d'instances (1), le VPC et le sous-réseau de l'étape précédente, l'attribution automatique d'une adresse IP publique et d'autres options. Ajoutez du stockage, configurez les groupes de sécurité et lancez l'instance. Lorsque vous y êtes invité, créez et enregistrez une paire de clés pour l'étape suivante. | AWS SysAdmin | 
| Installez Oracle sur l' EC2 instance. | Procurez-vous les licences et les fichiers binaires Oracle requis, puis installez Oracle 10g ou 11g sur l'instance. EC2  | DBA | 
| Configurez le réseau Oracle. | Modifiez ou ajoutez des entrées `listener.ora` pour vous connecter à la base de données source Oracle 8i/9i locale, puis créez les liens de base de données. | DBA | 
| Créez des vues matérialisées. | Identifiez les objets de base de données à répliquer dans la base de données Oracle 8i/9i source, puis créez des vues matérialisées pour tous les objets à l'aide du lien de base de données. | DBA | 
| Déployez des scripts pour actualiser les vues matérialisées aux intervalles requis. | Développez et déployez des scripts pour actualiser les vues matérialisées aux intervalles requis sur l'instance Amazon EC2 Oracle 10g/11g. Utilisez l'option d'actualisation incrémentielle pour actualiser les vues matérialisées. | DBA | 

### Convertir le schéma de base de données Oracle en PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez AWS SCT. | Créez un nouveau rapport, puis connectez-vous à Oracle en tant que source et à PostgreSQL en tant que cible. Dans les paramètres du projet, ouvrez l'onglet **SQL Scripting**. Modifiez le script SQL cible en **plusieurs fichiers**. (AWS SCT ne prend pas en charge les bases de données Oracle 8i/9i. Vous devez donc restaurer le dump basé uniquement sur le schéma sur l'instance Oracle 10g/11g intermédiaire et l'utiliser comme source pour AWS SCT.) | DBA | 
| Convertissez le schéma de base de données Oracle. | Dans l'onglet **Action**, choisissez **Générer le rapport**, **Convertir le schéma**, puis **Enregistrer en tant que SQL**. | DBA | 
| Modifiez les scripts SQL. | Apportez des modifications conformément aux meilleures pratiques. Par exemple, passez aux types de données appropriés et développez des équivalents PostgreSQL pour les fonctions spécifiques à Oracle. | DBA, DevDBA | 

### Création et configuration de l'instance de base de données Amazon RDS pour héberger la base de données convertie
<a name="create-and-configure-the-amazon-rds-db-instance-to-host-the-converted-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de base de données Amazon RDS. | Dans la console Amazon RDS, créez une nouvelle instance de base de données PostgreSQL. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Configurez l'instance de base de données. | Spécifiez la version du moteur de base de données, la classe d'instance de base de données, le déploiement multi-AZ, le type de stockage et le stockage alloué. Entrez l'identifiant de l'instance de base de données, un nom d'utilisateur principal et un mot de passe principal. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Configurez le réseau et la sécurité. | Spécifiez le VPC, le groupe de sous-réseaux, l'accessibilité publique, la préférence de zone de disponibilité et les groupes de sécurité. | DBA, SysAdmin | 
| Configurez les options de base de données | Spécifiez le nom de la base de données, le port, le groupe de paramètres, le chiffrement et la clé principale. | ADMINISTRATEUR DE BASES DE DONNÉES, AWS SysAdmin | 
| Configurez des sauvegardes. | Spécifiez la période de conservation des sauvegardes, la fenêtre de sauvegarde, l'heure de début, la durée et indiquez s'il faut copier les balises dans les instantanés. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Configurez les options de surveillance. | Activez ou désactivez la surveillance améliorée et les informations sur les performances. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Configurez les options de maintenance. | Spécifiez la mise à niveau automatique de la version mineure, la fenêtre de maintenance, ainsi que le jour, l'heure et la durée de début. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Exécutez les scripts de pré-migration depuis AWS SCT. | Sur l'instance Amazon RDS for PostgreSQL cible, créez le schéma de base de données en utilisant les scripts SQL d'AWS SCT avec d'autres modifications. Cela peut inclure l'exécution de plusieurs scripts, notamment la création d'utilisateurs, la création de bases de données, la création de schémas, de tables, de vues, de fonctions et d'autres objets de code. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 

### Migrer les données à l'aide d'AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication dans AWS DMS. | Renseignez les champs relatifs au nom, à la classe d'instance, au VPC (comme pour l' EC2 instance), au Multi-AZ et à l'accessibilité publique. Dans la section de configuration avancée, spécifiez le stockage alloué, le groupe de sous-réseaux, la zone de disponibilité, les groupes de sécurité VPC et la clé AWS Key Management Service (AWS KMS). | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Créez le point de terminaison de la base de données source. | Spécifiez le nom du point de terminaison, le type, le moteur source (Oracle), le nom du serveur (nom DNS privé de l' EC2 instance), le port, le mode SSL, le nom d'utilisateur, le mot de passe, le SID, le VPC (spécifiez le VPC qui possède l'instance de réplication) et l'instance de réplication. Pour tester la connexion, choisissez **Run Test**, puis créez le point de terminaison. Vous pouvez également configurer les paramètres avancés suivants : **maxFileSize**et **numberDataTypeScale**. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Connectez AWS DMS à Amazon RDS pour PostgreSQL. | Créez un groupe de sécurité de migration pour les connexions entre celles-ci VPCs, si votre base de données PostgreSQL se trouve dans un autre VPC. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Créez le point de terminaison de base de données cible. | Spécifiez le nom du point de terminaison, le type, le moteur source (PostgreSQL), le nom du serveur (point de terminaison Amazon RDS), le port, le mode SSL, le nom d'utilisateur, le mot de passe, le nom de la base de données, le VPC (spécifiez le VPC qui possède l'instance de réplication) et l'instance de réplication. Pour tester la connexion, choisissez **Run Test**, puis créez le point de terminaison. Vous pouvez également configurer les paramètres avancés suivants : **maxFileSize**et **numberDataTypeScale**. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Créez la tâche de réplication AWS DMS. | Spécifiez le nom de la tâche, l'instance de réplication, les points de terminaison source et cible, ainsi que l'instance de réplication. Pour le type de migration, choisissez **Migrer les données existantes et répliquer les modifications en cours**. Désactivez la case à cocher **Démarrer la tâche lors de la création**. | AWS SysAdmin, ADMINISTRATEUR DE BASE DE DONNÉES | 
| Configurez les paramètres des tâches de réplication AWS DMS. | Pour le mode de préparation de la table cible, choisissez **Ne rien faire**. Arrêtez la tâche une fois le chargement complet terminé (pour créer des clés primaires). Spécifiez le mode LOB limité ou complet et activez les tables de contrôle. Vous pouvez éventuellement configurer le paramètre **CommitRate**avancé. | DBA | 
| Configurez les mappages de tables. | Dans la section **Mappages de tables**, créez une règle d'inclusion pour toutes les tables de tous les schémas inclus dans la migration, puis créez une règle d'exclusion. Ajoutez trois règles de transformation pour convertir les noms de schéma, de table et de colonne en minuscules, et ajoutez toutes les autres règles dont vous avez besoin pour cette migration spécifique. | DBA | 
| Démarrez la tâche . | Lancez la tâche de réplication. Assurez-vous que le chargement complet est en cours. Exécutez `ALTER SYSTEM SWITCH LOGFILE` sur la base de données Oracle principale pour démarrer la tâche. | DBA | 
| Exécutez les scripts de mi-migration depuis AWS SCT. | Dans Amazon RDS for PostgreSQL, exécutez les `create_index.sql` scripts suivants `create_constraint.sql` : et (si le schéma complet n'a pas été créé initialement). | DBA | 
| Reprenez la tâche pour continuer la saisie des données de modification (CDC). | Exécutez `VACUUM` sur l'instance de base de données Amazon RDS for PostgreSQL et redémarrez la tâche AWS DMS pour appliquer les modifications CDC mises en cache. | DBA | 

### Passez à la base de données PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Consultez les journaux et les tables de validation d'AWS DMS. | Vérifiez et corrigez les erreurs de réplication ou de validation. | DBA | 
| Arrêtez d'utiliser la base de données Oracle locale et ses dépendances. | Arrêtez toutes les dépendances Oracle, arrêtez les écouteurs de la base de données Oracle et exécutez`ALTER SYSTEM SWITCH LOGFILE`. Arrêtez la tâche AWS DMS lorsqu'elle ne montre aucune activité. | DBA | 
| Exécutez les scripts de post-migration depuis AWS SCT. | Dans Amazon RDS for PostgreSQL, exécutez les scripts suivants :. `create_foreign_key_constraint.sql and create_triggers.sql` Assurez-vous que les séquences sont à jour. | DBA | 
| Effectuez les étapes supplémentaires relatives à Amazon RDS for PostgreSQL. | Incrémentez les séquences pour qu'elles correspondent à Oracle si nécessaire, `ANALYZE` exécutez-les `VACUUM` et prenez un instantané pour garantir la conformité. | DBA | 
| Ouvrez les connexions à Amazon RDS for PostgreSQL. | Supprimez les groupes de sécurité AWS DMS d'Amazon RDS for PostgreSQL, ajoutez des groupes de sécurité de production et dirigez vos applications vers la nouvelle base de données. | DBA | 
| Nettoyez les objets AWS DMS. | Supprimez les points de terminaison, les tâches de réplication, les instances de réplication et l' EC2 instance. | SysAdmin, DBA | 

## Ressources connexes
<a name="migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms-resources"></a>
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Documentation AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Tarification d'Amazon RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/)
+ [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilisation d'une base de données PostgreSQL comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

# Migrez d'Oracle sur Amazon EC2 vers Amazon RDS for MySQL à l'aide d'AWS DMS et d'AWS SCT
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct"></a>

*Anil Kunapareddy, Amazon Web Services*

*Harshad Gohil, aucun*

## Résumé
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-summary"></a>

La gestion de bases de données Oracle sur des instances Amazon Elastic Compute Cloud (Amazon EC2) nécessite des ressources et peut s'avérer coûteuse. Le déplacement de ces bases de données vers une instance de base de données Amazon Relational Database Service (Amazon RDS) pour MySQL vous facilitera la tâche en optimisant le budget informatique global. Amazon RDS for MySQL propose également des fonctionnalités telles que le multi-AZ, l'évolutivité et les sauvegardes automatiques. 

Ce modèle vous guide tout au long de la migration d'une base de données Oracle source sur Amazon EC2 vers une instance de base de données Amazon RDS for MySQL cible. Il utilise AWS Database Migration Service (AWS DMS) pour migrer les données, et AWS Schema Conversion Tool (AWS SCT) pour convertir le schéma et les objets de la base de données source dans un format compatible avec Amazon RDS for MySQL. 

## Conditions préalables et limitations
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données source avec des services d'instance et d'écoute exécutés, en mode ARCHIVELOG
+ Une base de données Amazon RDS for MySQL cible, dotée d'un espace de stockage suffisant pour la migration des données

**Limites**
+ AWS DMS ne crée pas de schéma sur la base de données cible ; c'est ce que vous devez faire. Le nom du schéma doit déjà exister pour la cible. Les tables du schéma source sont importées dans user/schema, qu'AWS DMS utilise pour se connecter à l'instance cible. Vous devez créer plusieurs tâches de réplication si vous avez plusieurs schémas à migrer. 

**Versions du produit**
+ Toutes les éditions de base de données Oracle pour les versions 10.2 et ultérieures, 11g et versions ultérieures, 12.2 et 18c. Pour obtenir la dernière liste des versions prises en charge, consultez les [sections Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) et [Utilisation d'une base de données compatible MySQL comme cible pour](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) AWS DMS. Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités. Pour plus d'informations sur les versions de base de données Oracle prises en charge par AWS SCT, consultez la documentation [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ AWS DMS prend en charge les versions 5.5, 5.6 et 5.7 de MySQL. 

## Architecture
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-architecture"></a>

**Pile technologique source**
+ Une base de données Oracle sur une instance EC2  

**Pile technologique cible**
+ Instance de base de données Amazon RDS pour MySQL

**Architecture de migration des données**

![\[Utilisation d'AWS DMS pour migrer d'Oracle sur Amazon EC2 vers Amazon RDS for MySQL\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/8a8e346e-7944-4999-bc11-208efead3792/images/c00f908c-f348-41dd-a31c-3931b990777a.png)


**Architecture source et cible**

![\[Utilisation d'AWS DMS et d'AWS SCT pour migrer d'Oracle sur Amazon EC2 vers Amazon RDS for MySQL\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/8a8e346e-7944-4999-bc11-208efead3792/images/e7ba7ac0-3094-4142-b355-fb192e242432.png)


## Outils
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS** - [AWS Database Migration Service](https://docs.aws.amazon.com/dms/) (AWS DMS) est un service Web que vous pouvez utiliser pour migrer les données de votre base de données sur site, sur une instance de base de données Amazon RDS ou d'une base de données sur une instance EC2, vers une base de données sur un service AWS tel qu'Amazon RDS for MySQL ou une instance EC2. Vous pouvez également migrer une base de données d'un service AWS vers une base de données sur site. Vous pouvez migrer des données entre des moteurs de base de données hétérogènes ou homogènes.
+ **AWS SCT** - [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) rend les migrations de bases de données hétérogènes prévisibles en convertissant automatiquement le schéma de base de données source et la majorité des objets du code de base de données, y compris les vues, les procédures stockées et les fonctions, dans un format compatible avec la base de données cible. Après avoir converti le schéma de votre base de données et les objets de code à l'aide d'AWS SCT, vous pouvez utiliser AWS DMS pour migrer les données de la base de données source vers la base de données cible afin de terminer vos projets de migration.

## Épopées
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez les versions et les moteurs de base de données source et cible. |  | DBA/Développeur | 
| Identifiez l'instance de réplication DMS. |  | DBA/Développeur | 
| Identifiez les exigences de stockage telles que le type et la capacité de stockage. |  | DBA/Développeur | 
| Identifiez les exigences du réseau telles que la latence et la bande passante. |  |  DBA/Développeur | 
| Identifiez les exigences matérielles pour les instances du serveur source et cible (sur la base de la liste de compatibilité Oracle et des exigences de capacité). |  | DBA/Développeur | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA/Développeur | 
| Installez les pilotes AWS SCT et Oracle. |  | DBA/Développeur | 
| Déterminez une stratégie de sauvegarde. |  | DBA/Développeur | 
| Déterminez les exigences de disponibilité. |  | DBA/Développeur | 
| Identifiez la stratégie de migration et de transition des applications. |  | DBA/Développeur | 
| Sélectionnez le type d'instance de base de données approprié en fonction de la capacité, du stockage et des fonctionnalités réseau. |  | DBA/Développeur | 

### Configuration de l'environnement
<a name="configure-the-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC) La source, la cible et l'instance de réplication doivent se trouver dans le même VPC. Il est également bon de les avoir dans la même zone de disponibilité. |  | Developer | 
| Créez les groupes de sécurité nécessaires pour accéder à la base de données. |  |  Developer | 
| Générez et configurez une paire de clés. |  | Developer | 
| Configurez les sous-réseaux, les zones de disponibilité et les blocs CIDR. |  | Developer | 

### Configurer la source : base de données Oracle sur une instance EC2
<a name="configure-the-source-oracle-database-on-ec2-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez Oracle Database sur Amazon EC2 avec les utilisateurs et les rôles requis. |  | DBA | 
|  Effectuez les trois étapes de la colonne suivante pour accéder à Oracle depuis l'extérieur de l'instance EC2. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.html) | DBA | 
| Lorsque Amazon EC2 est redémarré, le DNS public change. Assurez-vous de mettre à jour le DNS public Amazon EC2 dans « tnsnames » et « listener » ou d'utiliser une adresse IP élastique. |  | DBA/Développeur | 
| Configurez le groupe de sécurité de l'instance EC2 afin que l'instance de réplication et les clients requis puissent accéder à la base de données source. |  | DBA/Développeur | 

### Configuration de la cible : Amazon RDS for MySQL
<a name="configure-the-target-amazon-rds-for-mysql"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez et démarrez l'instance de base de données Amazon RDS for MySQL. |  | Developer | 
| Créez le tablespace nécessaire dans l'instance de base de données Amazon RDS for MySQL. |  | DBA | 
| Configurez le groupe de sécurité afin que l'instance de réplication et les clients requis puissent accéder à la base de données cible. |  | Developer | 

### Configurer AWS SCT et créer un schéma dans la base de données cible
<a name="configure-aws-sct-and-create-a-schema-in-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez les pilotes AWS SCT et Oracle. |  | Developer | 
| Entrez les paramètres appropriés et connectez-vous à la source et à la cible. |  | Developer | 
| Générez un rapport de conversion de schéma. |  | Developer | 
| Corrigez le code et le schéma selon les besoins, en particulier les tablespaces et les guillemets, et exécutez-les sur la base de données cible. |  |  Developer | 
| Validez le schéma sur la source par rapport à la cible avant de migrer les données. |  | Developer | 

### Migrer des données à l'aide d'AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Pour le chargement complet et la capture des données (CDC) ou uniquement pour le CDC, vous devez définir un attribut de connexion supplémentaire. |  | Developer | 
| L'utilisateur spécifié dans les définitions de la base de données Oracle source AWS DMS doit disposer de tous les privilèges requis. Pour une liste complète, voir https://docs.aws.amazon.com/dms/ latest/userguide/CHAP \$1source.oracle.html \$1CHAP\$1Source .Oracle.Self-Managed. |  | DBA/Développeur | 
| Activez la journalisation supplémentaire dans la base de données source. |  | DBA/Développeur | 
| Pour le chargement complet et la capture des données (CDC) ou simplement pour le CDC, activez le mode ARCHIVELOG dans la base de données source. |  | DBA | 
| Créez des points de terminaison source et cible et testez les connexions. |  | Developer | 
| Lorsque les points de terminaison sont correctement connectés, créez une tâche de réplication. |  | Developer | 
| Sélectionnez CDC uniquement (ou) pleine charge plus CDC dans la tâche pour capturer les modifications pour une réplication continue uniquement (ou) charge complète plus modifications en cours, respectivement. |  | Developer | 
| Exécutez la tâche de réplication et surveillez CloudWatch les journaux Amazon. |  |  Developer | 
| Validez les données dans les bases de données source et cible. |  | Developer | 

### Migrez votre application et réduisez les dépenses
<a name="migrate-your-application-and-cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez les étapes de votre stratégie de migration d'applications. |  | DBA, développeur, propriétaire de l'application | 
| Suivez les étapes de votre stratégie de transfert et de transition d'applications. |  | DBA, développeur, propriétaire de l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez le schéma et les données dans les bases de données source par rapport aux bases de données cibles. |  | DBA/Développeur | 
| Collectez des indicateurs concernant le délai de migration, le pourcentage de manuel par rapport à l'outil, les économies de coûts, etc. |  |  DBA/Developer/AppOwner | 
| Passez en revue les documents et les artefacts du projet. |  | DBA/Developer/AppOwner | 
| Arrêtez les ressources AWS temporaires. |  | DBA/Développeur | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA/Developer/AppOwner | 

## Ressources connexes
<a name="migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-resources"></a>
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 
+ [Site Web AWS DMS](https://aws.amazon.com/dms/)
+ [Articles de blog AWS DMS](https://aws.amazon.com/blogs/database/tag/dms/) 
+ [Stratégies de migration d'une base de données Oracle vers AWS](https://d1.awsstatic.com/whitepapers/strategies-for-migrating-oracle-database-to-aws.pdf) 
+ [Amazon RDS for Oracle FAQs](https://aws.amazon.com/rds/oracle/faqs/) 
+ [FAQ sur Oracle](https://aws.amazon.com/oracle/faq/) 
+ [Amazon EC2](https://aws.amazon.com/ec2/) 
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [Octroi de licences aux logiciels Oracle dans un environnement de cloud computing](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)

# Migrer une base de données Oracle d'Amazon EC2 vers Amazon RDS for MariaDB à l'aide d'AWS DMS et d'AWS SCT
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct"></a>

*Veeranjaneyulu Grandhi et Vinod Kumar, Amazon Web Services*

## Résumé
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-summary"></a>

Ce modèle explique les étapes de migration d'une base de données Oracle sur une instance Amazon Elastic Compute Cloud (Amazon EC2) vers une instance de base de données Amazon Relational Database Service (Amazon RDS) pour MariaDB. Le modèle utilise AWS Data Migration Service (AWS DMS) pour la migration des données et AWS Schema Conversion Tool (AWS SCT) pour la conversion de schéma. 

La gestion des bases de données Oracle sur des EC2 instances nécessite davantage de ressources et est plus coûteuse que l'utilisation d'une base de données sur Amazon RDS. Amazon RDS facilite la configuration, l'exploitation et le dimensionnement d'une base de données relationnelle dans le cloud. Amazon RDS fournit une capacité rentable et redimensionnable tout en automatisant les tâches d'administration fastidieuses telles que le provisionnement du matériel, la configuration de bases de données, l'application de correctifs et les sauvegardes.

## Conditions préalables et limitations
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Une base de données Oracle source avec des services d'instance et d'écoute opérationnels. Cette base de données doit être en mode ARCHIVELOG.
+ Connaissance de l'[utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html).
+ Connaissance de l'[utilisation d'Oracle comme source pour AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html).

**Limites**
+ Limite de taille de base de données : 64 To 

**Versions du produit**
+ Toutes les éditions de base de données Oracle pour les versions 10.2 et ultérieures, 11g et versions ultérieures, 12.2 et 18c. Pour obtenir la dernière liste des versions prises en charge, consultez la section [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) et le [tableau des versions d'AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) dans la documentation AWS.
+ Amazon RDS prend en charge les versions 10.3, 10.4, 10.5 et 10.6 du serveur communautaire MariaDB Server. Pour obtenir la dernière liste des versions prises en charge, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html)

## Architecture
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-architecture"></a>

**Pile technologique source**
+ Une base de données Oracle sur une EC2 instance

**Pile technologique cible**
+ Amazon RDS for MariaDB

**Architecture de migration des données**

![\[Utilisation d'AWS DMS pour la migration.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/0b4269c6-8ea3-4672-ad14-1ffac1dc14f3/images/ed191145-e5c2-4d61-8827-31f081450c03.png)


**Architecture cible**

![\[Utilisation d'AWS SCT pour la migration.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/0b4269c6-8ea3-4672-ad14-1ffac1dc14f3/images/0171f548-37dd-4110-851c-7e74dfff3732.png)


## Outils
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) rend les migrations de bases de données hétérogènes prévisibles en convertissant automatiquement le schéma de base de données source et la majorité des objets du code de base de données (y compris les vues, les procédures stockées et les fonctions) dans un format compatible avec la base de données cible. Après avoir converti le schéma de votre base de données et les objets de code à l'aide d'AWS SCT, vous pouvez utiliser AWS DMS pour migrer les données de la base de données source vers la base de données cible afin de terminer vos projets de migration. Pour plus d'informations, consultez la section [Utilisation d'Oracle comme source pour AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) dans la documentation AWS SCT.
+ [AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) (AWS DMS) vous aide à migrer des bases de données vers AWS rapidement et en toute sécurité. 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. AWS DMS prend en charge les migrations homogènes telles qu'Oracle vers Oracle, ainsi que les migrations hétérogènes entre différentes plateformes de base de données, telles qu'Oracle ou Microsoft SQL Server vers Amazon Aurora. Pour en savoir plus sur la migration des bases de données Oracle, consultez la section [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) dans la documentation AWS DMS.

## Épopées
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-epics"></a>

### Planifier la migration
<a name="plan-for-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez les versions et les moteurs de base de données. | Identifiez les versions et les moteurs de base de données source et cible. | DBA, Développeur | 
| Identifiez l'instance de réplication. | Identifiez l'instance de réplication AWS DMS. | DBA, Développeur | 
| Identifiez les besoins en matière de stockage. | Identifiez le type et la capacité de stockage. | DBA, Développeur | 
| Identifiez les exigences du réseau. | Identifiez la latence et la bande passante du réseau. | DBA, Développeur | 
| Identifiez les exigences matérielles. | Identifiez les exigences matérielles pour les instances du serveur source et cible (sur la base de la liste de compatibilité Oracle et des exigences de capacité). | DBA, Développeur | 
| Identifiez les exigences en matière de sécurité. | Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. | DBA, Développeur | 
| Installez les pilotes. | Installez les derniers pilotes AWS SCT et Oracle. | DBA, Développeur | 
| Déterminez une stratégie de sauvegarde. |  | DBA, Développeur | 
| Déterminez les exigences de disponibilité. |  | DBA, Développeur | 
| Choisissez une migration/switchover stratégie d'application. |  | DBA, Développeur | 
| Sélectionnez le type d'instance . | Sélectionnez le type d'instance approprié en fonction de la capacité, du stockage et des fonctionnalités réseau. | DBA, Développeur | 

### Configuration de l'environnement
<a name="configure-the-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC)  | Les instances source, cible et de réplication doivent se trouver dans le même VPC et dans la même zone de disponibilité (recommandé). | Developer | 
| Créez des groupes de sécurité. | Créez les groupes de sécurité nécessaires pour accéder à la base de données. | Developer | 
| Générez une paire de clés. | Générez et configurez une paire de clés. | Developer | 
| Configurez d'autres ressources. | Configurez les sous-réseaux, les zones de disponibilité et les blocs CIDR. | Developer | 

### Configuration de la source
<a name="configure-the-source"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Lancez l' EC2 instance. | Pour obtenir des instructions, consultez la [ EC2 documentation Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html). | Developer | 
| Installez la base de données Oracle. | Installez la base de données Oracle sur l' EC2 instance, avec les utilisateurs et les rôles requis. | DBA | 
| Suivez les étapes décrites dans la description de la tâche pour accéder à Oracle depuis l'extérieur de l' EC2 instance. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.html) | DBA | 
| Mettez à jour le DNS EC2 public d'Amazon. | Après le redémarrage de l' EC2 instance, le DNS public change. Assurez-vous de mettre à jour le DNS EC2 public `tnsnames` d'Amazon dans `listener` et/ou d'utiliser une adresse IP élastique. | DBA, Développeur | 
| Configurez le groupe de sécurité de l' EC2 instance. | Configurez le groupe de sécurité de l' EC2 instance afin que l'instance de réplication et les clients requis puissent accéder à la base de données source. | DBA, Développeur | 

### Configuration de l'environnement Amazon RDS pour MariaDB cible
<a name="configure-the-target-amazon-rds-for-mariadb-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Démarrez l'instance de base de données RDS. | Configurez et démarrez l'instance de base de données Amazon RDS for MariaDB. | Developer | 
| Créez des tablespaces. | Créez tous les espaces de table nécessaires dans la base de données Amazon RDS MariaDB. | DBA | 
| Configurez un groupe de sécurité. | Configurez un groupe de sécurité afin que l'instance de réplication et les clients requis puissent accéder à la base de données cible. | Developer | 

### Configuration d'AWS SCT
<a name="configure-aws-sct"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez les pilotes. | Installez les derniers pilotes AWS SCT et Oracle. | Developer | 
| Connexion. | Entrez les paramètres appropriés, puis connectez-vous à la source et à la cible. | Developer | 
| Générez un rapport de conversion de schéma. | Générez un rapport de conversion du schéma AWS SCT. | Developer | 
| Corrigez le code et le schéma si nécessaire. | Apportez les corrections nécessaires au code et au schéma (en particulier aux tablespaces et aux guillemets). | DBA, Développeur | 
| Validez le schéma. | Validez le schéma sur la source par rapport à la cible avant de charger les données. | Developer | 

### Migrer des données à l'aide d'AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Définissez un attribut de connexion. | Pour le chargement complet et la capture des données modifiées (CDC) ou simplement pour le CDC, définissez un attribut de connexion supplémentaire. Pour plus d'informations, consultez la [documentation Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html). | Developer | 
| Activez la journalisation supplémentaire. | Activez la journalisation supplémentaire sur la base de données source. | DBA, Développeur | 
| Activez le mode journal d'archivage. | Pour le chargement complet et le CDC (ou simplement pour le CDC), activez le mode journal d'archivage sur la base de données source. | DBA | 
| Créez et testez des points de terminaison. | Créez des points de terminaison source et cible et testez les connexions. Pour plus d'informations, consultez la [documentation Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html). | Developer | 
| Créez une tâche de réplication. | Lorsque les points de terminaison sont correctement connectés, créez une tâche de réplication. Pour plus d'informations, consultez la [documentation Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html). | Developer | 
| Choisissez le type de réplication. | Choisissez **CDC uniquement** ou **Chargement complet plus CDC** dans la tâche pour capturer les modifications pour la réplication continue uniquement, ou pour le chargement complet et les modifications en cours, respectivement. | Developer | 
| Démarrez et surveillez la tâche. | Lancez la tâche de réplication et surveillez CloudWatch les journaux Amazon. Pour plus d'informations, consultez la [documentation Amazon DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html). | Developer | 
| Validez les données. | Validez les données dans les bases de données source et cible. | Developer | 

### Migrez les applications et passez à la base de données cible
<a name="migrate-applications-and-cut-over-to-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de migration des applications choisie. |  | DBA, propriétaire de l'application, développeur | 
| Suivez la cutover/switchover stratégie de candidature choisie. |  | DBA, propriétaire de l'application, développeur | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez le schéma et les données. | Assurez-vous que le schéma et les données sont validés avec succès dans la source par rapport à la cible avant la clôture du projet. | DBA, Développeur | 
| Collectez des statistiques. | Collectez des indicateurs concernant le temps de migration, le pourcentage de tâches manuelles par rapport aux tâches liées aux outils, les économies de coûts et des critères similaires. | DBA, propriétaire de l'application, développeur | 
| Consultez la documentation. | Passez en revue les documents et les artefacts du projet. | DBA, propriétaire de l'application, développeur | 
| Arrêtez les ressources. | Arrêtez les ressources AWS temporaires. | DBA, Développeur | 
| Fermez le projet. | Clôturez le projet de migration et faites part de vos commentaires. | DBA, propriétaire de l'application, développeur | 

## Ressources connexes
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct-resources"></a>
+ [Présentation de MariaDB Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html)
+ [Détails du produit Amazon RDS for MariaDB](https://aws.amazon.com/rds/mariadb/features)
+ [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Stratégies de migration des bases de données Oracle vers AWS](https://docs.aws.amazon.com/whitepapers/latest/strategies-migrating-oracle-db-to-aws/strategies-migrating-oracle-db-to-aws.html)
+ [Octroi de licences aux logiciels Oracle dans un environnement de cloud computing](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)
+ [Amazon RDS for Oracle FAQs](https://aws.amazon.com/rds/oracle/faqs/)
+ [Présentation d'AWS DMS](https://aws.amazon.com/dms/)
+ [Articles de blog AWS DMS](https://aws.amazon.com/blogs/database/tag/dms/)
+ [ EC2 Présentation d'Amazon](https://aws.amazon.com/ec2/)
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [Documentation AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)

# Migrer une base de données Oracle sur site vers Amazon RDS for MySQL à l'aide d'AWS DMS et d'AWS SCT
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct"></a>

*Sergueï Dmitriev et Naresh Damera, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-summary"></a>

Ce modèle vous guide tout au long de la migration d'une base de données Oracle sur site vers une instance de base de données Amazon Relational Database Service (Amazon RDS) pour MySQL. Il utilise AWS Database Migration Service (AWS DMS) pour migrer les données, et AWS Schema Conversion Tool (AWS SCT) pour convertir le schéma et les objets de la base de données source dans un format compatible avec Amazon RDS for MySQL. 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Oracle source dans un centre de données sur site 

**Limites**
+ Limite de taille de base de données : 64 To

**Versions du produit**
+ Toutes les éditions de base de données Oracle pour les versions 11g (versions 11.2.0.3.v1 et ultérieures), 12.2 et 18c. Pour obtenir la dernière liste des versions prises en charge, consultez [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités. Pour plus d'informations sur les versions de base de données Oracle prises en charge par AWS SCT, consultez la documentation [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ AWS DMS prend actuellement en charge les versions 5.5, 5.6 et 5.7 de MySQL. Pour obtenir la dernière liste des versions prises en charge, consultez la section [Utilisation d'une base de données compatible MySQL comme cible pour AWS DMS dans la documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) AWS. 

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-architecture"></a>

**Pile technologique source**
+ Base de données Oracle sur site

**Pile technologique cible**
+ Instance de base de données Amazon RDS pour MySQL

**Architecture de migration des données**

![\[AWS Cloud architecture showing data migration from on-premises to RDS via VPC, Internet Gateway, and AWS DMS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/0385e5ad-a1ca-4c29-945b-592321d95f9d/images/c872e033-b13a-4436-b503-0632b5d437ae.png)


 

## Outils
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS** - [AWS Database Migration Services](https://docs.aws.amazon.com/dms/latest/userguide/) (AWS DMS) vous aide à migrer des bases de données relationnelles, des entrepôts de données, des bases de données NoSQL et d'autres types de magasins de données. Vous pouvez utiliser AWS DMS pour migrer vos données dans le cloud AWS, entre plusieurs instances sur site (via une configuration AWS Cloud) ou entre différentes combinaisons de configurations cloud et sur site.
+ **AWS SCT** - [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) est utilisé pour convertir le schéma de votre base de données d'un moteur de base de données à un autre. Le code personnalisé converti par l'outil inclut les vues, les procédures stockées et les fonctions. Tout code que l'outil ne peut pas convertir automatiquement est clairement indiqué afin que vous puissiez le convertir vous-même.

## Épopées
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez la version et le moteur de la base de données source et cible. |  | DBA | 
|  Identifiez la configuration matérielle requise pour l'instance de serveur cible. |  | DBA, SysAdmin | 
| Identifiez les exigences de stockage (type et capacité de stockage). |  | DBA, SysAdmin | 
| Choisissez le type d'instance approprié en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. |  | DBA, SysAdmin | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA, SysAdmin  | 
| Identifiez la stratégie de migration des applications. |  | DBA, propriétaire de SysAdmin l'application | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un cloud privé virtuel (VPC) et des sous-réseaux. |  | SysAdmin | 
| Créez les groupes de sécurité et les listes de contrôle d'accès au réseau (ACLs). |  | SysAdmin | 
| Configurez et démarrez une instance de base de données Amazon RDS. |  | DBA, SysAdmin | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez le schéma de base de données à l'aide d'AWS SCT. |  | DBA | 
| Migrez les données à l'aide d'AWS DMS. |  | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez AWS SCT pour analyser et convertir le code SQL contenu dans le code de l'application. | Pour plus d'informations, consultez https://docs.aws.amazon.com/SchemaConversionTool/ latest/userguide/CHAP \$1converting.app.html. | Propriétaire de l'application | 
| Suivez la stratégie de migration des applications. |  | DBA, propriétaire de SysAdmin l'application | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Basculez les clients de l'application vers la nouvelle infrastructure. |  | DBA, propriétaire de SysAdmin l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. |  | DBA, SysAdmin | 
| Passez en revue et validez les documents du projet. |  | DBA, SysAdmin | 
| Collectez des indicateurs concernant le délai de migration, le pourcentage de manuel par rapport à l'outil, les économies de coûts, etc. |  | DBA, SysAdmin | 
| Clôturez le projet et faites part de vos commentaires. |  |  | 

## Ressources connexes
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct-related-resources"></a>

**Références**
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/)
+ [Documentation AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Tarification d'Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Tutoriel et vidéos**
+ [Commencer à utiliser AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)
+ [AWS DMS (vidéo)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (vidéo)](https://www.youtube.com/watch?v=igRfulrrYCo) 

# Migrer une base de données Oracle sur site vers Amazon RDS for PostgreSQL à l'aide d'un assistant Oracle et d'AWS DMS
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms"></a>

*Cady Motyka, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-summary"></a>

Ce modèle décrit comment vous pouvez migrer une base de données Oracle sur site vers l'un des services de base de données AWS compatibles avec PostgreSQL suivants avec un temps d'arrêt minimal :
+ Amazon Relational Database Service (Amazon RDS) pour PostgreSQL
+ Amazon Aurora PostgreSQL-Compatible Edition

La solution utilise AWS Database Migration Service (AWS DMS) pour migrer les données, AWS Schema Conversion Tool (AWS SCT) pour convertir le schéma de base de données et une base de données Oracle Bystander pour aider à gérer la migration. Dans cette implémentation, le temps d'arrêt est limité au temps nécessaire pour créer ou valider toutes les clés étrangères de la base de données. 

La solution utilise également des instances Amazon Elastic Compute Cloud (Amazon EC2) associées à une base de données Oracle Bystander pour aider à contrôler le flux de données via AWS DMS. Vous pouvez suspendre temporairement la réplication en continu depuis la base de données Oracle sur site vers le périphérique Oracle pour activer AWS DMS afin de rattraper le retard de validation des données, ou pour utiliser un autre outil de validation des données. L'instance de base de données Amazon RDS for PostgreSQL ou l'instance de base de données compatible Aurora PostgreSQL et la base de données externe disposeront des mêmes données lorsque AWS DMS aura terminé de migrer les modifications en cours. 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Oracle source dans un centre de données sur site avec une base de données de secours Active Data Guard configurée
+ AWS Direct Connect configuré entre le centre de données sur site et AWS Secrets Manager pour stocker les secrets de base de données
+ Pilotes de connectivité de base de données Java (JDBC) pour les connecteurs AWS SCT, installés soit sur une machine locale, soit sur l'instance EC2 où AWS SCT est installé
+ Connaissance de l'[utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Connaissance de [l'utilisation d'une base de données PostgreSQL comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**Limites**
+ Limite de taille de base de données : 64 To

**Versions du produit**
+ AWS DMS prend en charge toutes les éditions de base de données Oracle pour les versions 10.2 et ultérieures (pour les versions 10.x), 11g et versions supérieures à 12.2, 18c et 19c. Pour obtenir la dernière liste des versions prises en charge, consultez [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités. Pour plus d'informations sur les versions de base de données Oracle prises en charge par AWS SCT, consultez la documentation [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ AWS DMS prend en charge les versions 9.4 et ultérieures de PostgreSQL (pour les versions 9.x), 10.x, 11.x, 12.x et 13.x. Pour obtenir les informations les plus récentes, consultez la section [Utilisation d'une base de données PostgreSQL comme cible pour AWS DMS dans la documentation AWS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html).

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-architecture"></a>

**Pile technologique source**
+ Une base de données Oracle sur site
+ Une EC2 instance qui contient un témoin pour la base de données Oracle

**Pile technologique cible**
+ Instance Amazon RDS pour PostgreSQL ou Aurora PostgreSQL, PostgreSQL 9.3 et versions ultérieures

**Architecture cible**

Le schéma suivant montre un exemple de flux de travail pour la migration d'une base de données Oracle vers une base de données AWS compatible avec PostgreSQL à l'aide d'AWS DMS et d'un assistant Oracle :

![\[Migration d'une base de données Oracle sur site vers PostgreSQL sur AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/6f5d5500-8b09-4bd1-8ef9-e670d58d07f8/images/1de98abd-c143-481a-b55f-e8d00eb96a38.png)


## Outils
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) vous aide à configurer, exploiter et dimensionner une base de données relationnelle dans le cloud AWS.

## Épopées
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-epics"></a>

### Convertir le schéma de base de données Oracle en PostgreSQL
<a name="convert-the-oracle-database-schema-to-postgresql"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez AWS SCT. | Créez un nouveau rapport et connectez-vous à Oracle en tant que source et à PostgreSQL en tant que cible. Dans **les paramètres du projet**, accédez à l'onglet **SQL Scripting**. Remplacez le **script SQL cible** par **plusieurs fichiers**. Ces fichiers seront utilisés ultérieurement et nommés comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | DBA | 
| Convertissez le schéma de base de données Oracle. | Dans l'onglet **Action**, choisissez **Générer un rapport**. Choisissez ensuite **Convertir le schéma**, puis **Enregistrer en tant que SQL**. | DBA | 
| Modifiez les scripts. | Par exemple, vous souhaiterez peut-être modifier le script si un nombre du schéma source a été converti au format numérique dans PostgreSQL, mais vous souhaitez plutôt **utiliser** BIGINT pour de meilleures performances. | DBA | 

### Création et configuration de l'instance de base de données Amazon RDS
<a name="create-and-configure-the-amazon-rds-db-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de base de données Amazon RDS. | Dans la région AWS appropriée, créez une nouvelle instance de base de données PostgreSQL. Pour plus d'informations, consultez [Création d'une instance de base de données PostgreSQL et connexion à une base de données sur une instance de base de données PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html) dans la documentation Amazon RDS. | AWS SysAdmin, DBA | 
| Configurez les spécifications de l'instance DB. | Spécifiez la version du moteur de base de données, la classe d'instance de base de données, le déploiement multi-AZ, le type de stockage et le stockage alloué. Entrez l'identifiant de l'instance de base de données, un nom d'utilisateur principal et un mot de passe principal. | AWS SysAdmin, DBA | 
| Configurez le réseau et la sécurité. | Spécifiez le cloud privé virtuel (VPC), le groupe de sous-réseaux, l'accessibilité publique, la préférence de zone de disponibilité et les groupes de sécurité. | DBA, SysAdmin | 
| Configurer les options de base de données. | Spécifiez le nom de la base de données, le port, le groupe de paramètres, le chiffrement et la clé KMS. | AWS SysAdmin, DBA | 
| Configurez des sauvegardes. | Spécifiez la période de conservation des sauvegardes, la fenêtre de sauvegarde, l'heure de début, la durée et indiquez s'il faut copier les balises dans les instantanés. | AWS SysAdmin, DBA | 
| Configurez les options de surveillance. | Activez ou désactivez une surveillance améliorée et des informations sur les performances. | AWS SysAdmin, DBA | 
| Configurez les options de maintenance. | Spécifiez la mise à niveau automatique de la version mineure, la fenêtre de maintenance, ainsi que le jour, l'heure et la durée de début. | AWS SysAdmin, DBA | 
| Exécutez les scripts de pré-migration depuis AWS SCT. | Sur l'instance Amazon RDS, exécutez les scripts suivants générés par AWS SCT :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | AWS SysAdmin, DBA | 

### Configuration de l'Oracle Bystander dans Amazon EC2
<a name="configure-the-oracle-bystander-in-amazon-ec2"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez le réseau pour Amazon EC2. | Créez le nouveau VPC, les sous-réseaux, la passerelle Internet, les tables de routage et les nouveaux groupes de sécurité. | AWS SysAdmin | 
| Créez l' EC2 instance. | Dans la région AWS appropriée, créez une nouvelle EC2 instance. Sélectionnez l'Amazon Machine Image (AMI), choisissez la taille de l'instance et configurez les détails de l'instance : nombre d'instances (1), VPC et sous-réseau que vous avez créés lors de la tâche précédente, attribution automatique d'une adresse IP publique et autres options. Ajoutez de l'espace de stockage, configurez les groupes de sécurité et lancez-vous. Lorsque vous y êtes invité, créez et enregistrez une paire de clés pour l'étape suivante. | AWS SysAdmin | 
| Connectez la base de données source Oracle à l' EC2 instance. | Copiez l'adresse IP IPv4 publique et le DNS dans un fichier texte et connectez-vous en utilisant SSH comme suit : **ssh -i « your\$1file.pem » EC2-User@<your-IP** - -DNS>. address-or-public | AWS SysAdmin | 
| Configurez l'hôte initial pour un spectateur sur Amazon. EC2 | Configurez les clés SSH, le profil bash, ORATAB et les liens symboliques. Créez des annuaires Oracle. | AWS SysAdmin, administrateur Linux | 
| Configurer la copie de base de données pour un spectateur sur Amazon EC2 | Utilisez RMAN pour créer une copie de base de données, activer la journalisation supplémentaire et créer le fichier de contrôle de secours. Une fois la copie terminée, placez la base de données en mode de restauration. | AWS SysAdmin, DBA | 
| Configurez Oracle Data Guard. | Modifiez votre fichier **listener.ora** et démarrez l'écouteur. Configurez une nouvelle destination d'archivage. Placez le témoin en mode de restauration, remplacez les fichiers temporaires pour éviter toute corruption future, installez un crontab si nécessaire pour empêcher le répertoire d'archives de manquer d'espace et modifiez le fichier **manage-trclog-files-oracle.cfg** pour la source et le fichier de secours. | AWS SysAdmin, DBA | 
| Préparez la base de données Oracle pour synchroniser les expéditions. | Ajoutez les fichiers journaux de secours et modifiez le mode de restauration. Modifiez le journal d'expédition en **SYNC AFFIRM** à la fois sur la source principale et sur la source de secours. Activez les journaux principaux, confirmez via le journal des alertes Amazon EC2 Bystander que vous utilisez les fichiers journaux de secours et confirmez que le flux de rétablissement circule en mode SYNC. | AWS SysAdmin, DBA | 

### Migrer les données avec AWS DMS
<a name="migrate-data-with-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication dans AWS DMS. | Renseignez les champs relatifs au nom, à la classe d'instance, au VPC (identique à l' EC2 instance Amazon), au Multi-AZ et à l'accessibilité publique. Sous **Advance**, spécifiez le stockage alloué, le groupe de sous-réseaux, la zone de disponibilité, les groupes de sécurité VPC et la clé AWS Key Management Service (AWS KMS). | AWS SysAdmin, DBA | 
| Créez le point de terminaison de la base de données source. | Spécifiez le nom du point de terminaison, le type, le moteur source (Oracle), le nom du serveur (nom DNS EC2 privé Amazon), le port, le mode SSL, le nom d'utilisateur, le mot de passe, le SID, le VPC (spécifiez le VPC qui possède l'instance de réplication) et l'instance de réplication. Pour tester la connexion, choisissez **Run Test**, puis créez le point de terminaison. Vous pouvez également configurer les paramètres avancés suivants : **maxFileSize**et **numberDataTypeScale**. | AWS SysAdmin, DBA | 
| Connectez AWS DMS à Amazon RDS pour PostgreSQL. | Créez un groupe de sécurité de migration pour les connexions entre elles VPCs. | AWS SysAdmin, DBA | 
| Créez le point de terminaison de base de données cible. | Spécifiez le nom du point de terminaison, le type, le moteur source (PostgreSQL), le nom du serveur (point de terminaison Amazon RDS), le port, le mode SSL, le nom d'utilisateur, le mot de passe, le nom de la base de données, le VPC (spécifiez le VPC qui possède l'instance de réplication) et l'instance de réplication. Pour tester la connexion, choisissez **Run Test**, puis créez le point de terminaison. Vous pouvez également configurer les paramètres avancés suivants : **maxFileSize **et **numberDataTypeScale**. | AWS SysAdmin, DBA | 
| Créez la tâche de réplication AWS DMS. | Spécifiez le nom de la tâche, l'instance de réplication, les points de terminaison source et cible, ainsi que l'instance de réplication. Pour le type de migration, choisissez **Migrer les données existantes et répliquer les modifications en cours**. Décochez la case **Démarrer la tâche lors de la création**. | AWS SysAdmin, DBA | 
| Configurez les paramètres des tâches de réplication AWS DMS. | Pour le mode de préparation de la table cible, choisissez **Ne rien faire**. Arrêtez la tâche une fois le chargement complet terminé (pour créer des clés primaires). Spécifiez le mode LOB limité ou complet et activez les tables de contrôle. Vous pouvez éventuellement configurer le réglage **CommitRate**avancé. | DBA | 
| Configurez les mappages de tables. | Dans la section **Mappages de tables**, créez une règle d'**inclusion** pour toutes les tables de tous les schémas inclus dans la migration, puis créez une règle d'**exclusion**. Ajoutez trois règles de transformation pour convertir les noms de schéma, de table et de colonne en minuscules, et ajoutez toutes les autres règles nécessaires à cette migration spécifique. | DBA | 
| Démarrez la tâche . | Lancez la tâche de réplication. Assurez-vous que le chargement complet est en cours. Exécutez **ALTER SYSTEM SWITCH LOGFILE** sur la base de données Oracle principale pour démarrer la tâche. | DBA | 
| Exécutez les scripts de mi-migration depuis AWS SCT. | Dans Amazon RDS for PostgreSQL, exécutez les scripts suivants générés par AWS SCT : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | DBA | 
| Redémarrez la tâche pour continuer la capture des données de modification (CDC). | Exécutez **VACUUM** sur l'instance de base de données Amazon RDS for PostgreSQL et redémarrez la tâche AWS DMS pour appliquer les modifications CDC mises en cache. | DBA | 

### Passez à la base de données PostgreSQL
<a name="cut-over-to-the-postgresql-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Consultez les journaux et les tables de validation d'AWS DMS pour détecter toute erreur. | Vérifiez et corrigez les erreurs de réplication ou de validation. | DBA | 
| Arrêtez toutes les dépendances Oracle. | Arrêtez toutes les dépendances Oracle, arrêtez les écouteurs de la base de données Oracle et exécutez **ALTER SYSTEM SWITCH LOGFILE**. Arrêtez la tâche AWS DMS lorsqu'elle ne montre aucune activité. | DBA | 
| Exécutez les scripts de post-migration depuis AWS SCT. | Dans Amazon RDS for PostgreSQL, exécutez les scripts suivants générés par AWS SCT :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.html) | DBA | 
| Effectuez les étapes supplémentaires relatives à Amazon RDS for PostgreSQL. | Incrémentez les séquences pour qu'elles correspondent à Oracle si nécessaire, exécutez **VACUUM** et **ANALYZE**, puis prenez un instantané pour vérifier la conformité. | DBA | 
| Ouvrez les connexions à Amazon RDS for PostgreSQL. | Supprimez les groupes de sécurité AWS DMS d'Amazon RDS for PostgreSQL, ajoutez des groupes de sécurité de production et dirigez vos applications vers la nouvelle base de données. | DBA | 
| Nettoyez les objets AWS DMS. | Supprimez les points de terminaison, les tâches de réplication, les instances de réplication et l' EC2 instance. | SysAdmin, DBA | 

## Ressources connexes
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms-resources"></a>
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/)
+ [Documentation AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Tarification d'Amazon RDS for PostgreSQL](https://aws.amazon.com/rds/postgresql/pricing/) 

# Migrer une base de données Oracle vers Amazon Redshift à l'aide d'AWS DMS et d'AWS SCT
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct"></a>

*Piyush Goyal et Brian Motzer, Amazon Web Services*

## Résumé
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-summary"></a>

Ce modèle fournit des conseils pour la migration de bases de données Oracle vers un entrepôt de données cloud Amazon Redshift dans le cloud Amazon Web Services (AWS) à l'aide d'AWS Database Migration Service (AWS DMS) et d'AWS Schema Conversion Tool (AWS SCT). Le modèle couvre les bases de données Oracle sources qui sont sur site ou installées sur une instance Amazon Elastic Compute Cloud (Amazon EC2). Il couvre également Amazon Relational Database Service (Amazon RDS) pour les bases de données Oracle.

## Conditions préalables et limitations
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-prereqs"></a>

**Conditions préalables**
+ Une base de données Oracle exécutée dans un centre de données sur site ou dans le cloud AWS
+ Un compte AWS actif
+ Connaissance de l'[utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Connaissance de [l'utilisation d'une base de données Amazon Redshift comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html)
+ Connaissance d'Amazon RDS, d'Amazon Redshift, des technologies de base de données applicables et de SQL
+ Pilotes de connectivité de base de données Java (JDBC) pour les connecteurs AWS SCT, sur lesquels AWS SCT est installé

**Versions du produit**
+ Pour les bases de données Oracle autogérées, AWS DMS prend en charge toutes les éditions de base de données Oracle pour les versions 10.2 et ultérieures (pour les versions 10). *x*), 11 g et jusqu'à 12,2, 18 °C et 19 °C. Pour les bases de données Amazon RDS for Oracle gérées par AWS, AWS DMS prend en charge toutes les éditions des bases de données Oracle pour les versions 11g (versions 11.2.0.4 et ultérieures) et jusqu'à 12.2, 18c et 19c. Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités.

## Architecture
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-architecture"></a>

**Pile technologique source**

L’un des éléments suivants :
+ Une base de données Oracle sur site
+ Une base de données Oracle sur une EC2 instance
+ Une instance de base de données Amazon RDS pour Oracle

**Pile technologique cible**
+ Amazon Redshift

**Architecture cible**

*D'une base de données Oracle exécutée dans le cloud AWS à Amazon Redshift :*

![\[Migration d'une base de données Oracle dans le cloud AWS vers un entrepôt de données Amazon Redshift.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/22807be0-c7e0-49c6-8923-7d23bf83a50d/images/7140e819-81d6-45c4-805b-8e10828076a7.png)


*D'une base de données Oracle exécutée dans un centre de données sur site à Amazon Redshift :*

![\[Migration d'une base de données Oracle sur site vers un entrepôt de données Amazon Redshift.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/22807be0-c7e0-49c6-8923-7d23bf83a50d/images/d6654b48-0e1b-4b01-a261-5a640be01fd7.png)


## Outils
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) - AWS Data Migration Service (AWS DMS) vous aide à migrer des bases de données vers AWS rapidement et en toute sécurité. 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. 
+ [AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) - AWS Schema Conversion Tool (AWS SCT) peut être utilisé pour convertir votre schéma de base de données existant d'un moteur de base de données à un autre. Il prend en charge divers moteurs de base de données, notamment Oracle, SQL Server et PostgressQL, en tant que sources.

## Épopées
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-epics"></a>

### Préparez-vous à la migration
<a name="prepare-for-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions de base de données. | Validez les versions de base de données source et cible et assurez-vous qu'elles sont prises en charge par AWS DMS. Pour plus d'informations sur les versions de base de données Oracle prises en charge, consultez la section [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Pour plus d'informations sur l'utilisation d'Amazon Redshift comme cible, consultez la section [Utilisation d'une base de données Amazon Redshift comme cible pour](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html) AWS DMS. | DBA | 
| Créez un VPC et un groupe de sécurité. | Dans votre compte AWS, créez un cloud privé virtuel (VPC), s'il n'existe pas. Créez un groupe de sécurité pour le trafic sortant vers les bases de données source et cible. Pour plus d'informations, consultez la [documentation Amazon Virtual Private Cloud (Amazon VPC).](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) | Administrateur de systèmes | 
| Installer AWS SCT. | Téléchargez et installez la dernière version d'AWS SCT et les pilotes correspondants. Pour plus d'informations, consultez [Installation, vérification et mise à jour de l'AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) | DBA | 
| Créez un utilisateur pour la tâche AWS DMS. | Créez un utilisateur AWS DMS dans la base de données source et accordez-lui les privilèges READ. Cet utilisateur sera utilisé à la fois par AWS SCT et AWS DMS. | DBA | 
| Testez la connectivité à la base de données. | Testez la connectivité à l'instance de base de données Oracle. | DBA | 
| Créez un projet dans AWS SCT. | Ouvrez l'outil AWS SCT et créez un nouveau projet. | DBA | 
| Analysez le schéma Oracle à migrer. | Utilisez AWS SCT pour analyser le schéma à migrer et générer un rapport d'évaluation de la migration de base de données. Pour plus d'informations, consultez la section [Création d'un rapport d'évaluation de la migration de base](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.Create.html) de données dans la documentation AWS SCT. | DBA | 
| Consultez le rapport d'évaluation. | Consultez le rapport pour connaître la faisabilité de la migration. Certains objets de base de données peuvent nécessiter une conversion manuelle. Pour plus d'informations sur le rapport, consultez la section [Affichage du rapport d'évaluation](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.View.html) dans la documentation AWS SCT. | DBA | 

### Préparer la base de données cible
<a name="prepare-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un cluster Amazon Redshift. | Créez un cluster Amazon Redshift au sein du VPC que vous avez créé précédemment. Pour plus d'informations, consultez les [clusters Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-clusters.html) dans la documentation Amazon Redshift. | DBA | 
| Créez des utilisateurs de base de données. | Extrayez la liste des utilisateurs, des rôles et des autorisations de la base de données source Oracle. Créez des utilisateurs dans la base de données Amazon Redshift cible et appliquez les rôles définis à l'étape précédente. | DBA | 
| Évaluez les paramètres de base de données. | Passez en revue les options de base de données, les paramètres, les fichiers réseau et les liens de base de données de la base de données source Oracle, et évaluez leur applicabilité à la cible.             | DBA | 
| Appliquez tous les paramètres pertinents à la cible.  | Pour plus d'informations sur cette étape, consultez [la référence de configuration](https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_ConfigurationRef.html) dans la documentation Amazon Redshift. | DBA | 

### Création d'objets dans la base de données cible
<a name="create-objects-in-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un utilisateur AWS DMS dans la base de données cible. | Créez un utilisateur AWS DMS dans la base de données cible et accordez-lui des privilèges de lecture et d'écriture. Validez la connectivité depuis AWS SCT. | DBA | 
| Convertissez le schéma, consultez le rapport SQL et enregistrez les erreurs ou les avertissements éventuels. | Pour plus d'informations, consultez la section [Conversion de schémas de base de données à l'aide d'AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html) dans la documentation AWS SCT. | DBA | 
| Appliquez les modifications de schéma à la base de données cible ou enregistrez-les sous forme de fichier .sql. | Pour obtenir des instructions, consultez la section [Enregistrer et appliquer votre schéma converti dans l'AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.DW.html#CHAP_Converting.DW.SaveAndApply) dans la documentation AWS SCT. | DBA | 
| Validez les objets de la base de données cible. | Validez les objets créés à l'étape précédente dans la base de données cible. Réécrivez ou redessinez les objets qui n'ont pas été correctement convertis. | DBA | 
| Désactivez les clés étrangères et les déclencheurs. | Désactivez toute clé étrangère et tous les déclencheurs. Cela peut entraîner des problèmes de chargement des données pendant le processus de chargement complet lors de l'exécution d'AWS DMS. | DBA | 

### Migrer des données à l'aide d'AWS DMS
<a name="migrate-data-using-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication AWS DMS. | Connectez-vous à l'AWS Management Console, puis ouvrez la console AWS DMS. Dans le volet de navigation, choisissez **Instances de réplication**, puis **Créer une instance de réplication**. Pour obtenir des instructions détaillées, consultez [l'étape 1](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.ReplicationInstance) de la section *Mise en route avec AWS DMS* dans la documentation AWS DMS. | DBA | 
| Créez des points de terminaison source et cible. | Créez des points de terminaison source et cible, testez la connexion entre l'instance de réplication et les points de terminaison source et cible. Pour obtenir des instructions détaillées, consultez [l'étape 2](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Endpoints) de la section *Mise en route avec AWS DMS* dans la documentation AWS DMS. | DBA | 
| Créez une tâche de réplication. | Créez une tâche de réplication et sélectionnez la méthode de migration appropriée. Pour obtenir des instructions détaillées, consultez [l'étape 3](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Tasks) de la section *Mise en route avec AWS DMS* dans la documentation AWS DMS. | DBA | 
| Démarrez la réplication des données. | Lancez la tâche de réplication et surveillez les journaux pour détecter toute erreur. | DBA | 

### Migrez votre application
<a name="migrate-your-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez des serveurs d'applications. | Créez les nouveaux serveurs d'applications sur AWS. | Propriétaire de l'application | 
| Migrez le code de l'application. | Migrez le code de l'application vers les nouveaux serveurs. | Propriétaire de l'application | 
| Configurez le serveur d'applications. | Configurez le serveur d'applications pour la base de données cible et les pilotes. | Propriétaire de l'application | 
| Optimisez le code de l'application. | Optimisez le code de l'application pour le moteur cible. | Propriétaire de l'application | 

### Passez à la base de données cible
<a name="cut-over-to-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les utilisateurs. | Dans la base de données Amazon Redshift cible, validez les utilisateurs et accordez-leur des rôles et des privilèges. | DBA | 
| Vérifiez que l'application est verrouillée. | Assurez-vous que l'application est verrouillée afin d'empêcher toute modification ultérieure. | Propriétaire de l'application | 
| Validez les données. | Validez les données de la base de données Amazon Redshift cible. | DBA | 
| Activez les clés étrangères et les déclencheurs. | Activez les clés étrangères et les déclencheurs dans la base de données Amazon Redshift cible. | DBA | 
| Connectez-vous à la nouvelle base de données. | Configurez l'application pour qu'elle se connecte à la nouvelle base de données Amazon Redshift. | Propriétaire de l'application | 
| Effectuez les dernières vérifications. | Effectuez une dernière vérification complète du système avant la mise en ligne. | DBA, propriétaire de l'application | 
| Passez en direct. | Passez en ligne avec la base de données Amazon Redshift cible. | DBA | 

### Clôturer le projet de migration
<a name="close-the-migration-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. | Arrêtez les ressources AWS temporaires telles que l'instance de réplication AWS DMS et l' EC2 instance utilisée pour AWS SCT.  | DBA, administrateur système | 
| Passez en revue les documents.  | Passez en revue et validez les documents du projet de migration.     | DBA, administrateur système | 
| Collectez des statistiques. | Collectez des informations sur le projet de migration, telles que le délai de migration, le pourcentage de tâches manuelles par rapport aux tâches liées aux outils et les économies totales.  | DBA, administrateur système | 
| Clôturez le projet. | Clôturez le projet et faites part de vos commentaires. | DBA, administrateur système | 

## Ressources connexes
<a name="migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct-resources"></a>

**Références**
+ [Guide de l'utilisateur d'AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Guide de l'utilisateur d'AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Guide de démarrage d'Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)

**Tutoriels et vidéos**
+ [Découvrez AWS SCT et AWS DMS en profondeur](https://www.youtube.com/watch?v=kJs9U4ys5FE) (présentation tirée d'AWS re:Invent 2019)
+ [Commencer à utiliser AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/)

# Migrer une base de données Oracle vers Aurora PostgreSQL à l'aide d'AWS DMS et d'AWS SCT
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct"></a>

*Senthil Ramasamy, Amazon Web Services*

## Résumé
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-summary"></a>

Ce modèle décrit comment migrer une base de données Oracle vers Amazon Aurora PostgreSQL Compatible Edition à l'aide d'AWS Data Migration Service (AWS DMS) et d'AWS Schema Conversion Tool (AWS SCT). 

Le modèle couvre les bases de données Oracle sources qui se trouvent sur site, les bases de données Oracle installées sur les instances Amazon Elastic Compute Cloud (Amazon EC2) et Amazon Relational Database Service (Amazon RDS) pour les bases de données Oracle. Le modèle convertit ces bases de données en bases de données compatibles avec Aurora PostgreSQL.

## Conditions préalables et limitations
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Une base de données Oracle dans un centre de données sur site ou dans le cloud AWS.
+ Clients SQL installés sur une machine locale ou sur une EC2 instance.
+ Pilotes Java Database Connectivity (JDBC) pour les connecteurs AWS SCT, installés soit sur une machine locale, soit sur une instance sur EC2 laquelle AWS SCT est installé. 

**Limites**
+ Limite de taille de base de données : 128 To 
+ Si la base de données source prend en charge une application commerciale off-the-shelf (COTS) ou est spécifique à un fournisseur, vous ne pourrez peut-être pas la convertir vers un autre moteur de base de données. Avant d'utiliser ce modèle, vérifiez que l'application est compatible avec Aurora PostgreSQL.  

**Versions du produit**
+ Pour les bases de données Oracle autogérées, AWS DMS prend en charge toutes les éditions de base de données Oracle pour les versions 10.2 et ultérieures (pour les versions 10.x), 11g et jusqu'à 12.2, 18c et 19c. Pour obtenir la dernière liste des versions de base de données Oracle prises en charge (autogérée et Amazon RDS for Oracle), [consultez les sections Utilisation d'une base de données Oracle comme source pour AWS DMS et Utilisation d'](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)[une base de données PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) comme cible pour AWS DMS. 
+ Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités. Pour plus d'informations sur les versions de base de données Oracle prises en charge par AWS SCT, consultez la documentation [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ Aurora prend en charge les versions de PostgreSQL répertoriées dans les versions et versions du [moteur d'Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html).

## Architecture
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-architecture"></a>

**Pile technologique source**

L’un des éléments suivants :
+ Une base de données Oracle sur site
+ Une base de données Oracle sur une EC2 instance  
+ Une instance de base de données Amazon RDS pour Oracle

**Pile technologique cible**
+ Compatible avec Aurora avec PostgreSQL 

**Architecture cible**

![\[Architecture cible pour la migration des bases de données Oracle vers la compatibilité Aurora PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/68beb634-926e-4908-97b1-edcd23e06a2b.png)


**Architecture de migration des données**
+ À partir d'une base de données Oracle exécutée dans le cloud AWS   
![\[Architecture de migration de données pour une base de données Oracle sur AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/7fc32019-3db1-485b-93e5-6d5539be048c.png)

   
+ À partir d'une base de données Oracle exécutée dans un centre de données sur site  
![\[Architecture de migration de données pour une base de données Oracle dans un centre de données sur site.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/6de157c4-dcc9-4186-ae32-17efbbbee709/images/c70d8774-aef7-4414-9766-ce8f25757c4b.png)

## Outils
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.

## Épopées
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-epics"></a>

### Préparer la migration
<a name="prepare-for-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez la base de données source. | Pour préparer la base de données source, consultez la section [Utilisation d'Oracle Database comme source pour AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.html) dans la documentation AWS SCT. | DBA | 
| Créez une EC2 instance pour AWS SCT. | Créez et configurez une EC2 instance pour AWS SCT, si nécessaire. | DBA | 
| Téléchargez AWS SCT. | Téléchargez la dernière version d'AWS SCT et des pilotes associés. Pour plus d'informations, consultez la section [Installation, vérification et mise à jour d'AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Installing.html) dans la documentation AWS SCT. | DBA | 
| Ajoutez des utilisateurs et des autorisations. | Ajoutez et validez les utilisateurs et autorisations requis dans la base de données source. | DBA | 
| Créez un projet AWS SCT. | Créez un projet AWS SCT pour la charge de travail et connectez-vous à la base de données source. Pour obtenir des instructions, consultez les [sections Création d'un projet AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.Project) et [Ajout de serveurs de base de données](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AddServers) dans la documentation AWS SCT. | DBA | 
| Évaluez la faisabilité. | Générez un rapport d'évaluation qui résume les mesures à prendre pour les schémas qui ne peuvent pas être convertis automatiquement et fournit des estimations pour les efforts de conversion manuels. Pour plus d'informations, consultez la section [Création et révision du rapport d'évaluation de la migration de base](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) de données dans la documentation AWS SCT. | DBA | 

### Préparer la base de données cible
<a name="prepare-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de base de données Amazon RDS cible. | Créez une instance de base de données Amazon RDS cible en utilisant Amazon Aurora comme moteur de base de données. Pour obtenir des instructions, consultez [la section Création d'une instance de base de données Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) dans la documentation Amazon RDS. | DBA | 
| Extrayez les utilisateurs, les rôles et les autorisations. | Extrayez la liste des utilisateurs, des rôles et des autorisations de la base de données source. | DBA | 
| Cartographier les utilisateurs. | Mappez les utilisateurs de base de données existants aux nouveaux utilisateurs de base de données. | Propriétaire de l'application | 
| Créez des utilisateurs. | Créez des utilisateurs dans la base de données cible. | DBA, propriétaire de l'application | 
| Appliquez des rôles. | Appliquez les rôles de l'étape précédente à la base de données cible. | DBA | 
| Vérifiez les options, les paramètres, les fichiers réseau et les liens de base de données. | Passez en revue les options, les paramètres, les fichiers réseau et les liens de base de données dans la base de données source, puis évaluez leur applicabilité à la base de données cible. | DBA | 
| Appliquez les paramètres. | Appliquez tous les paramètres pertinents à la base de données cible. | DBA | 

### Transférer des objets
<a name="transfer-objects"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez la connectivité AWS SCT. | Configurez la connectivité AWS SCT à la base de données cible. | DBA | 
| Convertissez le schéma à l'aide d'AWS SCT. | AWS SCT convertit automatiquement le schéma de base de données source et la majeure partie du code personnalisé dans un format compatible avec la base de données cible. Tout code que l'outil ne peut pas convertir automatiquement est clairement marqué afin que vous puissiez le convertir manuellement. | DBA | 
| Passez en revue le rapport. | Passez en revue le rapport SQL généré et enregistrez les erreurs et les avertissements éventuels. | DBA | 
| Appliquez des modifications de schéma automatisées. | Appliquez des modifications de schéma automatisées à la base de données cible ou enregistrez-les sous forme de fichier .sql. | DBA | 
| Validez les objets. | Vérifiez qu'AWS SCT a créé les objets sur la cible.  | DBA | 
| Gérez les éléments qui n'ont pas été convertis. | Réécrivez, rejetez ou redessinez manuellement les éléments qui n'ont pas pu être convertis automatiquement. | DBA, propriétaire de l'application | 
| Appliquez les autorisations des rôles et des utilisateurs. | Appliquez le rôle et les autorisations utilisateur générés et passez en revue les exceptions. | DBA | 

### Migrer les données
<a name="migrate-the-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Déterminez la méthode. | Déterminez la méthode de migration des données. | DBA | 
| Créez une instance de réplication. | Créez une instance de réplication depuis la console AWS DMS. Pour plus d'informations, consultez la section [Utilisation d'une instance de réplication AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html) dans la documentation AWS DMS. | DBA | 
| Créez les points de terminaison source et cible. | Pour créer des points de terminaison, suivez les instructions de la section [Création de points de terminaison source et cible dans la documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html). | DBA | 
| Créez une tâche de réplication. | Pour créer une tâche, consultez la section [Utilisation des tâches AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html) dans la documentation AWS DMS. | DBA | 
| Lancez la tâche de réplication et surveillez les journaux. | Pour plus d'informations sur cette étape, consultez la section [Surveillance des tâches AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html) dans la documentation AWS DMS. | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Analysez et convertissez les éléments SQL dans le code de l'application. | Utilisez AWS SCT pour analyser et convertir les éléments SQL du code de l'application. Lorsque vous convertissez votre schéma de base de données à partir d'un moteur à un autre, vous devez également mettre à jour le code SQL dans vos applications pour interagir avec le nouveau moteur de base de données au lieu de l'ancien. Vous pouvez afficher, analyser, modifier et enregistrer le code SQL converti. | Propriétaire de l'application | 
| Créez des serveurs d'applications. | Créez les nouveaux serveurs d'applications sur AWS. | Propriétaire de l'application | 
| Migrez le code de l'application. | Migrez le code de l'application vers les nouveaux serveurs. | Propriétaire de l'application | 
| Configurez les serveurs d'applications. | Configurez les serveurs d'applications pour la base de données cible et les pilotes. | Propriétaire de l'application | 
| Corrigez le code. | Corrigez tout code spécifique au moteur de base de données source de votre application. | Propriétaire de l'application | 
| Optimisez le code. | Optimisez le code de votre application pour le moteur de base de données cible. | Propriétaire de l'application | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Passez à la base de données cible. | Effectuez le transfert vers la nouvelle base de données. | DBA | 
| Verrouillez l'application. | Empêchez toute autre modification de l'application. | Propriétaire de l'application | 
| Validez les modifications. | Vérifiez que toutes les modifications ont été propagées à la base de données cible. | DBA | 
| Redirige vers la base de données cible. | Dirigez les nouveaux serveurs d'applications vers la base de données cible. | Propriétaire de l'application | 
| Vérifiez tout. | Effectuez une dernière vérification complète du système. | Propriétaire de l'application | 
| Passez en direct. | Effectuez les dernières tâches de transition. | Propriétaire de l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources temporaires. | Arrêtez les ressources AWS temporaires telles que l'instance de réplication AWS DMS et l' EC2 instance utilisée pour AWS SCT. | DBA, propriétaire de l'application | 
| Mettez à jour les commentaires. | Mettez à jour les commentaires sur le processus AWS DMS destinés aux équipes internes. | DBA, propriétaire de l'application | 
| Réviser le processus et les modèles. | Révisez le processus AWS DMS et améliorez le modèle si nécessaire. | DBA, propriétaire de l'application | 
| Validez les documents. | Passez en revue et validez les documents du projet. | DBA, propriétaire de l'application | 
| Collectez des statistiques. | Collectez des indicateurs pour évaluer le temps nécessaire à la migration, le pourcentage d'économies réalisées manuellement par rapport aux coûts liés aux outils, etc. | DBA, propriétaire de l'application | 
| Fermez le projet. | Clôturez le projet de migration et faites part de vos commentaires aux parties prenantes. | DBA, propriétaire de l'application | 

## Ressources connexes
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-resources"></a>

**Références**
+ [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ [Utilisation d'une base de données PostgreSQL comme cible pour AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)
+ [Manuel de migration d'une base de données Oracle 11g/12c vers Amazon Aurora compatible avec PostgreSQL (9.6.x)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook.pdf) 
+ [Manuel de migration d'Oracle Database 19c vers Amazon Aurora avec compatibilité avec PostgreSQL (12.4)](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook-12.4.pdf)
+ [Migration d'une base de données Amazon RDS for Oracle vers une édition compatible avec Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/dms/latest/sbs/chap-oracle-postgresql.html)
+ [Service de migration de données AWS](https://aws.amazon.com/dms/)
+ [Outil de conversion de schéma AWS](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 
+ [Migrer d'Oracle vers Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)
+ [Tarification d’Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Tutoriels et vidéos**
+ [Tutoriels de migration de base de Step-by-Step données](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Commencer à utiliser AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)
+ [Service de migration de données AWS](https://www.youtube.com/watch?v=zb4GcjEdl8U) (vidéo)
+ [Migration d'une base de données Oracle vers PostgreSQL](https://www.youtube.com/watch?v=ibtNkChGFkw) (vidéo)

## Informations supplémentaires
<a name="migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct-additional"></a>

.

# Migrer les données d'une base de données Oracle sur site vers Aurora PostgreSQL
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql"></a>

*Michelle Deng et Shunan Xiang, Amazon Web Services*

## Résumé
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-summary"></a>

Ce modèle fournit des conseils pour la migration des données d'une base de données Oracle sur site vers une édition compatible avec Amazon Aurora PostgreSQL. Il cible une stratégie de migration des données en ligne avec un minimum de temps d'arrêt pour les bases de données Oracle de plusieurs téraoctets contenant de grandes tables impliquant des activités de langage de manipulation de données (DML) élevées. Une base de données de secours Oracle Active Data Guard est utilisée comme source pour décharger la migration des données depuis la base de données principale. La réplication de la base de données principale Oracle vers la base de données de secours peut être suspendue pendant le chargement complet afin d'éviter les erreurs ORA-01555. 

Les colonnes de table contenant des clés primaires (PKs) ou des clés étrangères (FKs), avec le type de données NUMBER, sont couramment utilisées pour stocker des entiers dans Oracle. Nous vous recommandons de les convertir en INT ou BIGINT dans PostgreSQL pour de meilleures performances. Vous pouvez utiliser l'AWS Schema Conversion Tool (AWS SCT) pour modifier le mappage des types de données par défaut pour les colonnes PK et FK. (Pour plus d'informations, consultez le billet de AWS blog [Convertir le type de données NUMBER d'Oracle en PostgreSQL](https://aws.amazon.com/blogs/database/convert-the-number-data-type-from-oracle-to-postgresql-part-2/).) La migration des données selon ce modèle utilise AWS Database Migration Service (AWS DMS) à la fois pour le chargement complet et la capture des données modifiées (CDC).

Vous pouvez également utiliser ce modèle pour migrer une base de données Oracle sur site vers Amazon Relational Database Service (Amazon RDS) pour PostgreSQL, ou une base de données Oracle hébergée sur Amazon Elastic Compute Cloud (Amazon) vers EC2 Amazon RDS for PostgreSQL ou Aurora PostgreSQL compatible.

## Conditions préalables et limitations
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données source Oracle dans un centre de données sur site avec Active Data Guard en mode veille configuré 
+ AWS Direct Connect configuré entre le centre de données sur site et le cloud AWS
+ Connaissance de l'[utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ Connaissance de [l'utilisation d'une base de données PostgreSQL comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html)

**Limites**
+ Les clusters de base de données Amazon Aurora peuvent être créés avec jusqu'à 128 TiB de stockage. Les instances de base de données Amazon RDS for PostgreSQL peuvent être créées avec jusqu'à 64 TiB de stockage. Pour obtenir les dernières informations sur le stockage, consultez les [sections Stockage et fiabilité Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.StorageReliability.html) et [Amazon RDS DB instance Storage](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) dans la documentation AWS.

**Versions du produit**
+ AWS DMS prend en charge toutes les éditions de base de données Oracle pour les versions 10.2 et ultérieures (pour les versions 10.x), 11g et versions supérieures à 12.2, 18c et 19c. Pour obtenir la dernière liste des versions prises en charge, consultez la section [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) dans la documentation AWS. 

## Architecture
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-architecture"></a>

**Pile technologique source**
+ Bases de données Oracle sur site avec configuration de secours Oracle Active Data Guard 

**Pile technologique cible**
+ Compatible avec Aurora avec PostgreSQL 

**Architecture de migration des données**

![\[Migration d'une base de données Oracle vers une version compatible avec Aurora PostgreSQL\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/49f9b03e-6d33-4ac0-94ad-d3e6d02e6d63/images/0038a36b-fb7d-4f2d-8376-8d38290b0736.png)


## Outils
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-tools"></a>
+ **AWS DMS** - [AWS Database Migration Service](https://docs.aws.amazon.com/dms/index.html) (AWS DMS) prend en charge plusieurs bases de données sources et cibles. Consultez la section [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) dans la documentation AWS DMS pour obtenir la liste des versions et éditions de base de données source et cible Oracle prises en charge. Si la base de données source n'est pas prise en charge par AWS DMS, vous devez sélectionner une autre méthode pour migrer les données dans la phase 6 (dans la section *Epics*). **Remarque importante : comme** il s'agit d'une migration hétérogène, vous devez d'abord vérifier si la base de données prend en charge une application commerciale off-the-shelf (COTS). Si l'application est COTS, consultez le fournisseur pour vérifier que la compatibilité avec Aurora PostgreSQL est prise en charge avant de continuer. Pour plus d'informations, consultez les [procédures pas à pas de Step-by-Step migration vers AWS DMS dans](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) la documentation AWS.
+ **AWS SCT** - L'[AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/Welcome.htm) (AWS SCT) facilite les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible. Le code personnalisé converti par l'outil inclut les vues, les procédures stockées et les fonctions. Tout code que l'outil ne peut pas convertir automatiquement est clairement indiqué afin que vous puissiez le convertir vous-même. 

## Épopées
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions de base de données source et cible. |  | DBA | 
| Installez AWS SCT et ses pilotes. |  | DBA | 
| Ajoutez et validez les utilisateurs prérequis d'AWS SCT et la base de données des sources de subventions. |  | DBA | 
| Créez un projet AWS SCT pour la charge de travail et connectez-vous à la base de données source. |  | DBA | 
| Générez un rapport d'évaluation et évaluez la faisabilité. |  | DBA, propriétaire de l'application | 

### Préparer la base de données cible
<a name="prepare-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une base de données cible compatible avec Aurora PostgreSQL. |  | DBA | 
| Extrayez la liste des utilisateurs, des rôles et des autorisations de la base de données source. |  | DBA | 
| Mappez les utilisateurs de base de données existants aux nouveaux utilisateurs de base de données. |  | Propriétaire de l'application | 
| Créez des utilisateurs dans la base de données cible. |  | DBA | 
| Appliquez les rôles de l'étape précédente à la base de données cible compatible Aurora PostgreSQL. |  | DBA | 
| Passez en revue les options de base de données, les paramètres, les fichiers réseau et les liens de base de données depuis la base de données source, et évaluez leur applicabilité à la base de données cible. |  | DBA, propriétaire de l'application | 
| Appliquez tous les paramètres pertinents à la base de données cible. |  | DBA | 

### Préparation à la conversion du code objet de la base de données
<a name="prepare-for-database-object-code-conversion"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez la connectivité AWS SCT à la base de données cible. |  | DBA | 
| Convertissez le schéma dans AWS SCT et enregistrez le code converti dans un fichier .sql. |  | DBA, propriétaire de l'application | 
| Convertissez manuellement tous les objets de base de données qui n'ont pas pu être convertis automatiquement. |  | DBA, propriétaire de l'application | 
| Optimisez la conversion du code de base de données. |  | DBA, propriétaire de l'application | 
| Séparez le fichier .sql en plusieurs fichiers .sql en fonction du type d'objet. |  | DBA, propriétaire de l'application | 
| Validez les scripts SQL dans la base de données cible. |  | DBA, propriétaire de l'application | 

### Préparation à la migration des données
<a name="prepare-for-data-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication AWS DMS. |  | DBA | 
| Créez les points de terminaison source et cible.  | Si le type de données du PKs et FKs est converti de NUMBER dans Oracle en BIGINT dans PostgreSQL, pensez à spécifier l'`numberDataTypeScale=-2`attribut de connexion lorsque vous créez le point de terminaison source. | DBA | 

### Migrer les données — chargement complet
<a name="migrate-data-ndash-full-load"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez le schéma et les tables dans la base de données cible. |  | DBA | 
|  Créez des tâches à chargement complet AWS DMS en regroupant les tables ou en divisant une grande table en fonction de la taille de la table. |  | DBA | 
| Arrêtez les applications sur les bases de données Oracle sources pendant une courte période. |  | Propriétaire de l'application | 
| Vérifiez que la base de données de secours Oracle est synchrone avec la base de données principale et arrêtez la réplication de la base de données principale vers la base de données de secours. |  | DBA, propriétaire de l'application | 
| Démarrez les applications sur la base de données Oracle source. |  | Propriétaire de l'application | 
| Démarrez les tâches de chargement complet d'AWS DMS en parallèle depuis la base de données de secours Oracle vers la base de données compatible Aurora PostgreSQL. |  | DBA | 
| Créez PKs des index secondaires une fois le chargement complet terminé. |  | DBA | 
| Validez les données. |  | DBA | 

### Migrer les données — CDC
<a name="migrate-data-ndash-cdc"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez des tâches de réplication continues AWS DMS en spécifiant une heure de début CDC ou un numéro de modification du système (SCN) personnalisé lorsque le serveur de secours Oracle a été synchronisé avec la base de données principale et avant le redémarrage des applications lors de la tâche précédente. |  | DBA | 
| Démarrez des tâches AWS DMS en parallèle pour répliquer les modifications en cours depuis la base de données de secours Oracle vers la base de données compatible Aurora PostgreSQL. |  | DBA | 
| Rétablissez la réplication de la base de données principale Oracle vers la base de données de secours. |  | DBA | 
| Surveillez les journaux et arrêtez les applications sur la base de données Oracle lorsque la base de données cible compatible Aurora PostgreSQL est presque synchrone avec la base de données Oracle source. |  | DBA, propriétaire de l'application | 
| Arrêtez les tâches AWS DMS lorsque la cible est entièrement synchronisée avec la base de données Oracle source. |  | DBA | 
| Créez FKs et validez les données dans la base de données cible. |  | DBA | 
| Créez des fonctions, des vues, des déclencheurs, des séquences et d'autres types d'objets dans la base de données cible. |  | DBA | 
| Appliquez des attributions de rôles dans la base de données cible. |  | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez AWS SCT pour analyser et convertir les instructions SQL contenues dans le code de l'application. |  | Propriétaire de l'application | 
| Créez de nouveaux serveurs d'applications sur AWS. |  | Propriétaire de l'application | 
| Migrez le code de l'application vers les nouveaux serveurs. |  | Propriétaire de l'application | 
| Configurez le serveur d'applications pour la base de données cible et les pilotes. |  | Propriétaire de l'application | 
| Corrigez tout code spécifique au moteur de base de données source de l'application. |  | Propriétaire de l'application | 
| Optimisez le code de l'application pour la base de données cible. |  | Propriétaire de l'application | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Pointez le nouveau serveur d'applications vers la base de données cible. |  | DBA, propriétaire de l'application | 
| Effectuez des contrôles de santé mentale. |  | DBA, propriétaire de l'application | 
| Passez en direct. |  | DBA, propriétaire de l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. |  | DBA, administrateur système | 
| Passez en revue et validez les documents du projet. |  | DBA, propriétaire de l'application | 
| Collectez des indicateurs concernant le temps de migration, le pourcentage d'utilisation manuelle par rapport à l'utilisation d'outils, les économies de coûts et les données similaires. |  | DBA, propriétaire de l'application | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA, propriétaire de l'application | 

## Ressources connexes
<a name="migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql-resources"></a>

**Références**
+ [Compatible avec Oracle Database vers Aurora PostgreSQL : manuel de migration](https://d1.awsstatic.com/whitepapers/Migration/oracle-database-amazon-aurora-postgresql-migration-playbook.pdf) 
+ [Migration d'une base de données Amazon RDS for Oracle vers Amazon Aurora MySQL](https://docs.aws.amazon.com/dms/latest/sbs/chap-rdsoracle2aurora.html)
+ [Site Web AWS DMS](https://aws.amazon.com/dms/)
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Site Web AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/)
+ [Documentation AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Migrer d'Oracle vers Amazon Aurora](https://aws.amazon.com/getting-started/projects/migrate-oracle-to-amazon-aurora/)

**Didacticiels**
+ [Commencer à utiliser AWS DMS](https://aws.amazon.com/dms/getting-started/) 
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)
+ [Procédures Step-by-Step pas à pas du service de migration de base de données AWS](https://docs.aws.amazon.com/dms/latest/sbs/dms-sbs-welcome.html)

# Migrez de SAP ASE vers Amazon RDS for SQL Server à l'aide d'AWS DMS
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms"></a>

*Amit Kumar, Amazon Web Services*

## Résumé
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-summary"></a>

Ce modèle fournit des conseils pour la migration d'une base de données SAP Adaptive Server Enterprise (ASE) vers une instance de base de données Amazon Relational Database Service (Amazon RDS) exécutant Microsoft SQL Server. La base de données source peut être située dans un centre de données sur site ou sur une instance Amazon Elastic Compute Cloud (Amazon EC2). Le modèle utilise AWS Database Migration Service (AWS DMS) pour migrer les données et (éventuellement) des outils d'ingénierie logicielle assistée par ordinateur (CASE) pour convertir le schéma de base de données. 

## Conditions préalables et limitations
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données SAP ASE dans un centre de données sur site ou sur une instance EC2 
+ Une base de données Amazon RDS for SQL Server cible qui est opérationnelle

**Limites**
+ Limite de taille de base de données : 64 To

**Versions du produit**
+ SAP ASE version 15.7 ou 16.x uniquement. Pour obtenir les dernières informations, consultez la section [Utilisation d'une base de données SAP comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html).
+ Pour les bases de données cibles Amazon RDS, AWS DMS prend en charge [les versions de Microsoft SQL Server sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.VersionSupport) pour les éditions Enterprise, Standard, Web et Express. Pour obtenir les dernières informations sur les versions prises en charge, consultez la [documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html). Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités.  

## Architecture
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-architecture"></a>

**Pile technologique source**
+ Une base de données SAP ASE sur site ou sur une EC2 instance Amazon

**Pile technologique cible**
+ Une instance de base de données Amazon RDS pour SQL Server

**Architecture source et cible**

*D'une base de données SAP ASE sur Amazon EC2 à une instance de base de données Amazon RDS for SQL Server :*

![\[Architecture cible pour SAP ASE sur Amazon EC2 vers Amazon RDS for SQL Server\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5ca697a2-9ca3-4231-b457-c1dc59ada5f1/images/957bdcf0-ab58-4b6d-a71a-d0ecbc31822c.png)


*D'une base de données SAP ASE sur site à une instance de base de données Amazon RDS for SQL Server :*

![\[Architecture cible pour SAP ASE sur site vers Amazon RDS for SQL Server\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5ca697a2-9ca3-4231-b457-c1dc59ada5f1/images/65aab2f5-0e63-4c34-97e2-cd4ac23751a4.png)


## Outils
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-tools"></a>
+ [AWS Database Migration Service](https://docs.aws.amazon.com/dms/) (AWS DMS) est un service Web que vous pouvez utiliser pour migrer les données de votre base de données sur site, sur une instance de base de données Amazon RDS ou d'une base de données sur une EC2 instance, vers une base de données sur un service AWS tel qu'Amazon RDS for SQL Server ou une instance. EC2 Vous pouvez également migrer une base de données d'un service AWS vers une base de données sur site. Vous pouvez migrer des données entre des moteurs de base de données hétérogènes ou homogènes.
+ [Pour les conversions de schéma, vous pouvez éventuellement utiliser [Erwin Data Modeler ou SAP.](https://erwin.com/products/erwin-data-modeler/) PowerDesigner](https://www.sap.com/products/technology-platform/powerdesigner-data-modeling-tools.html)

## Épopées
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions de base de données source et cible. |  | DBA | 
| Identifiez les exigences de stockage (type et capacité de stockage). |  | DBA, SysAdmin | 
| Choisissez le type d'instance approprié en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. |  | DBA, SysAdmin | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA, SysAdmin | 
| Identifiez la stratégie de migration des applications. |  | DBA, propriétaire de SysAdmin l'application | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un cloud privé virtuel (VPC) et des sous-réseaux. |  | SysAdmin | 
| Créez des groupes de sécurité et des listes de contrôle d'accès au réseau (ACLs). |  | SysAdmin | 
| Configurez et démarrez une instance de base de données Amazon RDS. |  | SysAdmin | 

### Migrer les données - option 1
<a name="migrate-data---option-1"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez le schéma de base de données manuellement ou utilisez un outil CASE tel que Erwin Data Modeler ou SAP. PowerDesigner |  | DBA | 

### Migrer les données - option 2
<a name="migrate-data---option-2"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les données à l'aide d'AWS DMS. |  | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de migration des applications. |  | DBA, propriétaire de SysAdmin l'application | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Basculez les clients de l'application vers la nouvelle infrastructure. |  | DBA, propriétaire de SysAdmin l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. |  | DBA, SysAdmin | 
| Passez en revue et validez les documents du projet. |  | DBA, propriétaire de SysAdmin l'application | 
| Collectez des indicateurs tels que le temps de migration, le pourcentage de tâches manuelles par rapport aux tâches automatisées et les économies de coûts. |  | DBA, propriétaire de SysAdmin l'application | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA, propriétaire de SysAdmin l'application | 

## Ressources connexes
<a name="migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms-resources"></a>

**Références**
+ [Site Web AWS DMS](https://aws.amazon.com/dms/)
+ [Tarification d'Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Utilisation d'une base de données SAP ASE comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html)
+ [Limitations de RDS Custom pour SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-reqs-limits-MS.html)

**Tutoriels et vidéos**
+ [Commencer à utiliser AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)
+ [AWS DMS (vidéo)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (vidéo)](https://www.youtube.com/watch?v=igRfulrrYCo) 

# Migrer une base de données Microsoft SQL Server sur site vers Amazon Redshift à l'aide d'AWS DMS
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms"></a>

*Marcelo Fernandes, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-summary"></a>

Ce modèle fournit des conseils pour la migration d'une base de données Microsoft SQL Server sur site vers Amazon Redshift à l'aide d'AWS Data Migration Service (AWS DMS). 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Microsoft SQL Server source dans un centre de données sur site
+ [Conditions préalables remplies pour utiliser une base de données Amazon Redshift comme cible pour AWS DMS, comme indiqué dans la documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html#CHAP_Target.Redshift.Prerequisites)

**Versions du produit**
+ SQL Server 2005-2019, éditions Enterprise, Standard, Workgroup, Developer et Web. Pour obtenir la dernière liste des versions prises en charge, consultez la section [Utilisation d'une base de données Microsoft SQL Server comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) dans la documentation AWS. 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-architecture"></a>

**Pile technologique source**
+ Une base de données Microsoft SQL Server sur site 

**Pile technologique cible**
+ Amazon Redshift

**Architecture de migration des données**

 

![\[Architecture pour la migration d'une base de données SQL Server sur site vers Amazon Redshift à l'aide d'AWS DMS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/65b2be1b-740e-4d4d-99a8-f77c4ea6553d/images/3a094bf2-be31-4d83-8dd2-9dc078321055.png)


## Outils
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) est un service de migration de données qui prend en charge plusieurs types de bases de données source et cible. Pour plus d'informations sur les versions et éditions de base de données Microsoft SQL Server prises en charge pour une utilisation avec AWS DMS, consultez la section [Utilisation d'une base de données Microsoft SQL Server comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html) dans la documentation AWS DMS. Si AWS DMS ne prend pas en charge votre base de données source, vous devez sélectionner une autre méthode pour la migration des données.

## Épopées
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez la version et le moteur de la base de données source et cible. |  | DBA | 
| Identifiez la configuration matérielle requise pour l'instance de serveur cible. |  | DBA, administrateur système | 
| Identifiez les exigences de stockage (type et capacité de stockage). |  | DBA, administrateur système | 
| Choisissez le type d'instance approprié en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. |  | DBA, administrateur système | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA, administrateur système | 
| Identifiez la stratégie de migration des applications. |  | DBA, propriétaire de l'application, administrateur système | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC) | Pour plus d'informations, consultez la section [Travailler avec une instance de base de données dans un VPC](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html) dans la documentation AWS. | Administrateur de systèmes | 
| Créez des groupes de sécurité. |  | Administrateur de systèmes | 
| Configurez et démarrez un cluster Amazon Redshift. | Pour plus d'informations, consultez la section [Créer un exemple de cluster Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/rs-gsg-launch-sample-cluster.html) dans la documentation Amazon Redshift. | DBA, administrateur système | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les données de la base de données Microsoft SQL Server à l'aide d'AWS DMS. |  | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de migration des applications. |  | DBA, propriétaire de l'application, administrateur système | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Basculez les clients de l'application vers la nouvelle infrastructure. |  | DBA, propriétaire de l'application, administrateur système | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources temporaires. |  | DBA, administrateur système | 
| Passez en revue et validez les documents du projet. |  | DBA, propriétaire de l'application, administrateur système | 
| Collectez des indicateurs tels que le temps de migration, le pourcentage de tâches manuelles par rapport aux tâches automatisées et les économies de coûts. |  | DBA, propriétaire de l'application, administrateur système | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA, propriétaire de l'application, administrateur système | 

## Ressources connexes
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms-resources"></a>

**Références**
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/index.html)
+ [Documentation Amazon Redshift](https://docs.aws.amazon.com/redshift/)
+ [Tarification d'Amazon Redshift](https://aws.amazon.com/redshift/pricing/)

**Tutoriels et vidéos**
+ [Commencer à utiliser AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Commencer à utiliser Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)
+ [Utilisation d'une base de données Amazon Redshift comme cible pour AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Redshift.html)
+ [AWS DMS (vidéo)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 

# Migrer une base de données Microsoft SQL Server sur site vers Amazon Redshift à l'aide des agents d'extraction de données AWS SCT
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents"></a>

*Neha Thakur, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-summary"></a>

Ce modèle décrit les étapes de migration d'une base de données source Microsoft SQL Server sur site vers une base de données cible Amazon Redshift à l'aide des agents d'extraction de données AWS Schema Conversion Tool (AWS SCT). Un agent est un programme externe intégré à AWS SCT mais qui effectue la transformation des données ailleurs et qui interagit avec d'autres services AWS en votre nom.   

## Conditions préalables et limitations
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-prereqs"></a>

**Conditions préalables**
+ Base de données source Microsoft SQL Server utilisée pour la charge de travail de l'entrepôt de données dans un centre de données sur site
+ Un compte AWS actif

**Versions du produit**
+ Microsoft SQL Server version 2008 ou ultérieure. Pour obtenir la dernière liste des versions prises en charge, consultez la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-architecture"></a>

**pile technologique** **Source**
+ Une base de données Microsoft SQL Server sur site

**pile technologique** **Target**
+ Amazon Redshift

**Architecture de migration des données**

![\[Migration d'une base de données SQL Server vers Amazon Redshift à l'aide des agents d'extraction de données AWS SCT.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/6975f67a-0705-47b4-a1b8-90aaa2597a04/images/dbff958b-7601-442e-9e23-4d07edd0ccfd.png)


## Outils
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-tools"></a>
+ [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) gère les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible. Lorsque les bases de données source et cible sont très différentes, vous pouvez utiliser un agent AWS SCT pour effectuer une transformation de données supplémentaire. Pour plus d'informations, consultez la section [Migration de données d'un entrepôt de données sur site vers Amazon Redshift](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.dw.html) dans la documentation AWS.

## Bonnes pratiques
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-best-practices"></a>
+ [Bonnes pratiques pour AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_BestPractices.html)
+ [Bonnes pratiques pour Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/best-practices.html)

## Épopées
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-epics"></a>

### Préparation à la migration
<a name="prepare-for-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions et les moteurs de base de données source et cible. |  | DBA | 
| Identifiez la configuration matérielle requise pour l'instance de serveur cible. |  | DBA, SysAdmin | 
| Identifiez les exigences de stockage (type et capacité de stockage). |  | DBA, SysAdmin | 
| Choisissez le type d'instance approprié (capacité, fonctionnalités de stockage, fonctionnalités réseau). |  | DBA, SysAdmin | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA, SysAdmin | 
| Choisissez une stratégie de migration d'applications. |  | DBA, propriétaire de SysAdmin l'application | 

### Configuration de l'infrastructure
<a name="configure-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un cloud privé virtuel (VPC) et des sous-réseaux. |  | SysAdmin | 
| Créez des groupes de sécurité. |  | SysAdmin | 
| Configurez et démarrez le cluster Amazon Redshift. |  | SysAdmin | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les données à l'aide des agents d'extraction de données AWS SCT. |  | DBA | 

### Migrer des applications
<a name="migrate-applications"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de migration des applications choisie. |  | DBA, propriétaire de SysAdmin l'application | 

### Passez à la base de données cible
<a name="cut-over-to-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Faites passer les clients de l'application à la nouvelle infrastructure. |  | DBA, propriétaire de SysAdmin l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. |  | DBA, SysAdmin | 
| Passez en revue et validez les documents du projet. |  | DBA, propriétaire de SysAdmin l'application | 
| Collectez des indicateurs tels que le temps de migration, le pourcentage de tâches manuelles par rapport aux tâches automatisées et les économies de coûts. |  | DBA, propriétaire de SysAdmin l'application | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA, propriétaire de SysAdmin l'application | 

## Ressources connexes
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents-resources"></a>

**Références**
+ [Guide de l'utilisateur d'AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Utilisation d'agents d'extraction de données](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/agents.html)
+ [Tarification d'Amazon Redshift](https://aws.amazon.com/redshift/pricing/)

**Tutoriels et vidéos**
+ [Mise en route avec l'outil AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html)
+ [Commencer à utiliser Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html)

# Migrer les applications existantes d'Oracle Pro\$1C vers ECPG
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg"></a>

*Sai Parthasaradhi et Mahesh Balumuri, Amazon Web Services*

## Résumé
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-summary"></a>

La plupart des applications existantes qui intègrent du code SQL utilisent le précompilateur Oracle Pro\$1C pour accéder à la base de données. Lorsque vous migrez ces bases de données Oracle vers Amazon Relational Database Service (Amazon RDS) pour PostgreSQL ou Amazon Aurora PostgreSQL Compatible Edition, vous devez convertir le code de votre application dans un format compatible avec le précompilateur de PostgreSQL, appelé ECPG. Ce modèle décrit comment convertir le code Oracle Pro\$1C en son équivalent dans PostgreSQL ECPG. 

Pour plus d'informations sur Pro\$1C, consultez la documentation [Oracle](https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_01int.htm#i2415). Pour une brève introduction à l'ECPG, consultez la section [Informations supplémentaires](#migrate-legacy-applications-from-oracle-pro-c-to-ecpg-additional).

## Conditions préalables et limitations
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données compatible avec Amazon RDS for PostgreSQL ou Aurora PostgreSQL
+ Une base de données Oracle exécutée sur site

## Outils
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-tools"></a>
+ Les packages PostgreSQL répertoriés dans la section suivante.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) — L'interface de ligne de commande AWS (AWS CLI) est un outil open source permettant d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande. Avec une configuration minimale, vous pouvez exécuter des commandes de l'interface de ligne de commande AWS qui mettent en œuvre des fonctionnalités équivalentes à celles fournies par la console de gestion AWS basée sur un navigateur à partir d'une invite de commande.

## Épopées
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-epics"></a>

### Définissez l'environnement de génération sur CentOS ou RHEL
<a name="set-the-build-environment-on-centos-or-rhel"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez les packages PostgreSQL. | Installez les packages PostgreSQL requis à l'aide des commandes suivantes.<pre>yum update -y<br />yum install -y yum-utils<br />rpm -ivh https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm<br />dnf -qy module disable postgresql</pre> | Développeur d'applications, DevOps ingénieur | 
| Installez les fichiers d'en-tête et les bibliothèques. | Installez le `postgresql12-devel` package, qui contient les fichiers d'en-tête et les bibliothèques, à l'aide des commandes suivantes. Installez le package dans les environnements de développement et d'exécution pour éviter les erreurs dans l'environnement d'exécution.<pre>dnf -y install postgresql12-devel<br />yum install ncompress zip ghostscript jq unzip wget git -y</pre>Pour l'environnement de développement uniquement, exécutez également les commandes suivantes.<pre>yum install zlib-devel make -y<br />ln -s /usr/pgsql-12/bin/ecpg /usr/bin/</pre> | Développeur d'applications, DevOps ingénieur | 
| Configurez la variable de chemin d'environnement. | Définissez le chemin d'environnement pour les bibliothèques clientes PostgreSQL.<pre>export PATH=$PATH:/usr/pgsql-12/bin</pre> | Développeur d'applications, DevOps ingénieur | 
| Installez des logiciels supplémentaires si nécessaire. | Si nécessaire, installez **pgLoader en** remplacement de **SQL\$1Loader** dans Oracle.<pre>wget -O /etc/yum.repos.d/pgloader-ccl.repo https://dl.packager.io/srv/opf/pgloader-ccl/master/installer/el/7.repo<br />yum install pgloader-ccl -y<br />ln -s /opt/pgloader-ccl/bin/pgloader /usr/bin/</pre>Si vous appelez des applications Java à partir de modules Pro\$1C, installez Java.<pre>yum install java -y</pre>Installez **ant** pour compiler le code Java.<pre>yum install ant -y</pre> | Développeur d'applications, DevOps ingénieur | 
| Installez l'AWS CLI. | Installez l'interface de ligne de commande AWS pour exécuter des commandes afin d'interagir avec les services AWS tels qu'AWS Secrets Manager et Amazon Simple Storage Service (Amazon S3) depuis vos applications.<pre>cd /tmp/<br />curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />./aws/install -i /usr/local/aws-cli -b /usr/local/bin --update</pre> | Développeur d'applications, DevOps ingénieur | 
| Identifiez les programmes à convertir. | Identifiez les applications que vous souhaitez convertir de Pro\$1C en ECPG. | Développeur d'applications, propriétaire de l'application | 

### Convertir le code Pro\$1C en ECPG
<a name="convert-pro-c-code-to-ecpg"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Supprimez les en-têtes indésirables. | Supprimez `include ` les en-têtes qui ne sont pas obligatoires dans PostgreSQL, tels que`oci.h`, et. `oratypes` `sqlda` | Propriétaire de l'application, développeur de l'application | 
| Mettez à jour les déclarations de variables. | Ajoutez `EXEC SQL` des instructions pour toutes les déclarations de variables utilisées comme variables hôtes.Supprimez les `EXEC SQL VAR` déclarations telles que les suivantes de votre application.<pre>EXEC SQL VAR query IS STRING(2048);</pre> | Développeur d'applications, propriétaire de l'application | 
| Mettez à jour la fonctionnalité ROWNUM. | La `ROWNUM` fonction n'est pas disponible dans PostgreSQL. Remplacez-la par la fonction de `ROW_NUMBER` fenêtre dans les requêtes SQL.Code Pro\$1C :<pre>SELECT SUBSTR(RTRIM(FILE_NAME,'.txt'),12) INTO :gcpclFileseq  <br />FROM   (SELECT FILE_NAME <br />FROM  DEMO_FILES_TABLE <br />WHERE FILE_NAME    LIKE '%POC%' <br />ORDER BY FILE_NAME DESC) FL2 <br />WHERE ROWNUM <=1 ORDER BY ROWNUM;</pre>Code ECPG :<pre>SELECT SUBSTR(RTRIM(FILE_NAME,'.txt'),12) INTO :gcpclFileseq  <br />FROM   (SELECT FILE_NAME , ROW_NUMBER() OVER (ORDER BY FILE_NAME DESC) AS ROWNUM<br />FROM  demo_schema.DEMO_FILES_TABLE <br />WHERE FILE_NAME    LIKE '%POC%'<br />ORDER BY FILE_NAME DESC) FL2 <br />WHERE ROWNUM <=1 ORDER BY ROWNUM; </pre> | Développeur d'applications, propriétaire de l'application | 
| Mettez à jour les paramètres de la fonction pour utiliser des variables d'alias. | Dans PostgreSQL, les paramètres des fonctions ne peuvent pas être utilisés comme variables hôtes. Remplacez-les en utilisant une variable d'alias.Code Pro\$1C :<pre>int processData(int referenceId){<br />  EXEC SQL char col_val[100];<br />  EXEC SQL select column_name INTO :col_val from table_name where col=:referenceId;<br />}</pre>Code ECPG :<pre>int processData(int referenceIdParam){<br />  EXEC SQL int referenceId = referenceIdParam;<br />  EXEC SQL char col_val[100];<br />  EXEC SQL select column_name INTO :col_val from table_name where col=:referenceId;<br />}</pre> | Développeur d'applications, propriétaire de l'application | 
| Mettez à jour les types de structure. | Définissez les `struct` types `EXEC SQL BEGIN` et les `END` blocs avec `typedef` si les variables `struct` de type sont utilisées comme variables hôtes. Si les `struct` types sont définis dans des fichiers d'en-tête (`.h`), incluez les fichiers avec des instructions `EXEC SQL` include.Code Pro\$1C :Fichier d'en-tête (`demo.h`)<pre>struct s_partition_ranges<br />{<br /> char   sc_table_group[31];<br /> char   sc_table_name[31];<br /> char   sc_range_value[10];<br />}; <br />struct s_partition_ranges_ind<br />{<br />  short    ss_table_group;<br />  short    ss_table_name;<br />  short    ss_range_value;<br />}; </pre>Code ECPG :Fichier d'en-tête (`demo.h`)<pre>EXEC SQL BEGIN DECLARE SECTION;<br />typedef struct <br />{<br />  char   sc_table_group[31];<br />  char   sc_table_name[31];<br />  char   sc_range_value[10];<br />} s_partition_ranges; <br />typedef struct <br />{<br />  short    ss_table_group;<br />  short    ss_table_name;<br />  short    ss_range_value;<br />} s_partition_ranges_ind; <br />EXEC SQL END DECLARE SECTION;</pre>Fichier Pro\$1C () `demo.pc`<pre>#include "demo.h"<br />struct s_partition_ranges gc_partition_data[MAX_PART_TABLE] ;<br />struct s_partition_ranges_ind gc_partition_data_ind[MAX_PART_TABLE] ;</pre>Fichier ECPG () `demo.pc`<pre>exec sql include "demo.h"<br />EXEC SQL BEGIN DECLARE SECTION;<br />s_partition_ranges gc_partition_data[MAX_PART_TABLE] ;<br />s_partition_ranges_ind gc_partition_data_ind[MAX_PART_TABLE] ;<br />EXEC SQL END DECLARE SECTION;</pre> | Développeur d'applications, propriétaire de l'application | 
| Modifiez la logique à récupérer à partir des curseurs. | Pour récupérer plusieurs lignes à partir de curseurs à l'aide de variables de tableau, modifiez le code à utiliser. `FETCH FORWARD`Code Pro\$1C :<pre>EXEC SQL char  aPoeFiles[MAX_FILES][FILENAME_LENGTH];<br />EXEC SQL FETCH filename_cursor into :aPoeFiles;</pre>Code ECPG :<pre>EXEC SQL char  aPoeFiles[MAX_FILES][FILENAME_LENGTH];<br />EXEC SQL int fetchSize = MAX_FILES;<br />EXEC SQL FETCH FORWARD :fetchSize filename_cursor into :aPoeFiles;</pre> | Développeur d'applications, propriétaire de l'application | 
| Modifiez les appels de packages qui n'ont pas de valeur de retour. | Les fonctions de package Oracle qui n'ont pas de valeurs de retour doivent être appelées avec une variable indicatrice. Si votre application inclut plusieurs fonctions portant le même nom ou si les fonctions de type inconnu génèrent des erreurs d'exécution, transformez les valeurs en types de données.Code Pro\$1C :<pre>void ProcessData (char *data , int id)<br />{        <br />        EXEC SQL EXECUTE<br />               BEGIN<br />                  pkg_demo.process_data (:data, :id);                                                                                    <br />               END;<br />       END-EXEC;<br />}</pre>Code ECPG :<pre>void ProcessData (char *dataParam, int idParam )<br />{<br />        EXEC SQL char *data = dataParam;<br />        EXEC SQL int id = idParam;<br />        EXEC SQL short rowInd;<br />        EXEC SQL short rowInd = 0;<br />        EXEC SQL SELECT pkg_demo.process_data (<br />                       inp_data => :data::text,<br />                       inp_id => :id<br />               ) INTO :rowInd;<br />}</pre> | Développeur d'applications, propriétaire de l'application | 
| Réécrivez les variables SQL\$1CURSOR. | Réécrivez la `SQL_CURSOR` variable et son implémentation.Code Pro\$1C :<pre>/* SQL Cursor */<br />SQL_CURSOR      demo_cursor;<br />EXEC SQL ALLOCATE :demo_cursor;<br />EXEC SQL EXECUTE<br />  BEGIN<br />      pkg_demo.get_cursor(     <br />        demo_cur=>:demo_cursor<br />      );<br />  END;<br />END-EXEC;</pre>Code ECPG :<pre>EXEC SQL DECLARE demo_cursor CURSOR FOR SELECT<br />         * from<br />    pkg_demo.open_filename_rc(<br />            demo_cur=>refcursor<br />          ) ;<br />EXEC SQL char open_filename_rcInd[100]; <br /># As the below function returns cursor_name as <br /># return we need to use char[] type as indicator. <br />EXEC SQL SELECT pkg_demo.get_cursor (<br />        demo_cur=>'demo_cursor'<br />    ) INTO :open_filename_rcInd;</pre> | Développeur d'applications, propriétaire de l'application | 
| Appliquez des modèles de migration courants. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-legacy-applications-from-oracle-pro-c-to-ecpg.html) | Développeur d'applications, propriétaire de l'application | 
| Activez le débogage, si nécessaire.  | Pour exécuter le programme ECPG en mode debug, ajoutez la commande suivante dans le bloc fonctionnel principal.<pre>ECPGdebug(1, stderr); </pre> | Développeur d'applications, propriétaire de l'application | 

### Compiler des programmes ECPG
<a name="compile-ecpg-programs"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un fichier exécutable pour ECPG. | Si vous avez nommé un fichier source Embedded SQL C`prog1.pgc`, vous pouvez créer un programme exécutable à l'aide de la séquence de commandes suivante.<pre>ecpg prog1.pgc<br />cc -I/usr/local/pgsql/include -c prog1.c<br />cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg</pre> | Développeur d'applications, propriétaire de l'application | 
| Créez un fichier make pour la compilation. | Créez un fichier make pour compiler le programme ECPG, comme indiqué dans l'exemple de fichier suivant.<pre>CFLAGS ::= $(CFLAGS) -I/usr/pgsql-12/include -g -Wall<br />LDFLAGS ::= $(LDFLAGS) -L/usr/pgsql-12/lib -Wl,-rpath,/usr/pgsql-12/lib<br />LDLIBS ::= $(LDLIBS) -lecpg<br />PROGRAMS = test <br />.PHONY: all clean<br />%.c: %.pgc<br />      ecpg $<<br />all: $(PROGRAMS)<br />clean:<br />    rm -f $(PROGRAMS) $(PROGRAMS:%=%.c) $(PROGRAMS:%=%.o)</pre> | Développeur d'applications, propriétaire de l'application | 

### Tester l'application
<a name="test-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Testez le code. | Testez le code d'application converti pour vous assurer qu'il fonctionne correctement. | Développeur d'applications, propriétaire de l'application, ingénieur de test | 

## Ressources connexes
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-resources"></a>
+ [ECPG - SQL intégré en C (documentation](https://www.postgresql.org/docs/current/static/ecpg.html) PostgreSQL)
+ [Gestion des erreurs](https://www.postgresql.org/docs/12/ecpg-errors.html) (documentation PostgreSQL)
+ [Pourquoi utiliser le précompilateur Oracle Pro\$1C/C\$1\$1 (](https://docs.oracle.com/cd/E11882_01/appdev.112/e10825/pc_01int.htm#i2415)documentation Oracle)

## Informations supplémentaires
<a name="migrate-legacy-applications-from-oracle-pro-c-to-ecpg-additional"></a>

PostgreSQL possède un précompilateur SQL intégré, ECPG, équivalent au précompilateur Oracle Pro\$1C. ECPG convertit les programmes C contenant des instructions SQL intégrées en code C standard en remplaçant les appels SQL par des appels de fonction spéciaux. Les fichiers de sortie peuvent ensuite être traités avec n'importe quelle chaîne d'outils de compilation C.

**Fichiers d'entrée et de sortie**

ECPG convertit chaque fichier d'entrée que vous spécifiez sur la ligne de commande en fichier de sortie C correspondant. Si le nom d'un fichier d'entrée n'a pas d'extension de fichier, .pgc est supposé. L'extension du fichier est remplacée par `.c` pour construire le nom du fichier de sortie. Cependant, vous pouvez remplacer le nom du fichier de sortie par défaut en utilisant l'`-o`option.

Si vous utilisez un tiret (`-`) comme nom de fichier d'entrée, ECPG lit le programme depuis l'entrée standard et écrit sur la sortie standard, sauf si vous le remplacez en utilisant l'`-o`option.

**Fichiers d'en-tête**

Lorsque le compilateur PostgreSQL compile les fichiers de code C prétraités, il recherche les fichiers d'en-tête ECPG dans le répertoire PostgreSQL. `include` Par conséquent, vous devrez peut-être utiliser l'`-I`option pour pointer le compilateur vers le bon répertoire (par exemple,`-I/usr/local/pgsql/include`).

**Bibliothèques**

Les programmes qui utilisent le code C avec Embedded SQL doivent être liés à la `libecpg` bibliothèque. Par exemple, vous pouvez utiliser les options ` -L/usr/local/pgsql/lib -lecpg` de l'éditeur de liens.

Les applications ECPG converties appellent des fonctions de la `libpq` bibliothèque via la bibliothèque Embedded SQL (`ecpglib`) et communiquent avec le serveur PostgreSQL en utilisant le protocole standard. frontend/backend 

# Migrer les colonnes générées virtuellement d'Oracle vers PostgreSQL
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql"></a>

*Veeranjaneyulu Grandhi, Rajesh Madiwale et Ramesh Pathuri, Amazon Web Services*

## Résumé
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-summary"></a>

Dans les versions 11 et antérieures, PostgreSQL ne fournit aucune fonctionnalité directement équivalente à une colonne virtuelle Oracle. La gestion des colonnes générées virtuelles lors de la migration d'Oracle Database vers PostgreSQL version 11 ou antérieure est difficile pour deux raisons : 
+ Les colonnes virtuelles ne sont pas visibles pendant la migration.
+ PostgreSQL ne prend pas en charge l'expression avant `generate` la version 12.

Cependant, il existe des solutions pour émuler des fonctionnalités similaires. Lorsque vous utilisez AWS Database Migration Service (AWS DMS) pour migrer des données d'Oracle Database vers PostgreSQL version 11 ou antérieure, vous pouvez utiliser des fonctions de déclenchement pour renseigner les valeurs dans les colonnes générées virtuellement. Ce modèle fournit des exemples de code Oracle Database et PostgreSQL que vous pouvez utiliser à cette fin. Sur AWS, vous pouvez utiliser Amazon Relational Database Service (Amazon RDS) pour PostgreSQL ou Amazon Aurora PostgreSQL Compatible Edition pour votre base de données PostgreSQL.

À partir de la version 12 de PostgreSQL, les colonnes générées sont prises en charge. Les colonnes générées peuvent être calculées à partir d'autres valeurs de colonne à la volée ou calculées et stockées. Les colonnes [générées par PostgreSQL](https://www.postgresql.org/docs/12/ddl-generated-columns.html) sont similaires aux colonnes virtuelles Oracle.

## Conditions préalables et limitations
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Oracle source 
+ Bases de données PostgreSQL cibles (sur Amazon RDS for PostgreSQL ou compatible avec Aurora PostgreSQL)
+ [Expertise en codage PL/pgSQL](https://www.postgresql.org/docs/current/plpgsql.html)

**Limites**
+ S'applique uniquement aux versions de PostgreSQL antérieures à la version 12. 
+ S'applique à la version 11g ou ultérieure d'Oracle Database.
+ Les colonnes virtuelles ne sont pas prises en charge dans les outils de migration de données.
+ S'applique uniquement aux colonnes définies dans le même tableau.
+ Si une colonne générée virtuelle fait référence à une fonction déterministe définie par l'utilisateur, elle ne peut pas être utilisée comme colonne clé de partitionnement.
+ La sortie de l'expression doit être une valeur scalaire. Il ne peut pas renvoyer un type de données fourni par Oracle, un type défini par l'utilisateur, `LOB` ou. `LONG RAW`
+ Les index définis par rapport à des colonnes virtuelles sont équivalents aux index basés sur des fonctions dans PostgreSQL.
+ Les statistiques du tableau doivent être collectées.

## Outils
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-tools"></a>
+ [pgAdmin](https://www.pgadmin.org/) 4 est un outil de gestion open source pour PostgreSQL. Cet outil fournit une interface graphique qui simplifie la création, la maintenance et l'utilisation des objets de base de données.
+ [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/) est un environnement de développement intégré gratuit permettant de travailler avec SQL dans les bases de données Oracle dans le cadre de déploiements traditionnels et dans le cloud. 

## Épopées
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-epics"></a>

### Création de tables de base de données source et cible
<a name="create-source-and-target-database-tables"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une table de base de données Oracle source. | Dans Oracle Database, créez une table avec des colonnes générées virtuellement à l'aide de l'instruction suivante.<pre>CREATE TABLE test.generated_column<br />( CODE NUMBER,<br />STATUS VARCHAR2(12) DEFAULT 'PreOpen',<br />FLAG CHAR(1) GENERATED ALWAYS AS (CASE UPPER(STATUS) WHEN 'OPEN' THEN 'N' ELSE 'Y' END) VIRTUAL VISIBLE<br />);</pre>Dans ce tableau source, les données de la `STATUS` colonne sont migrées via AWS DMS vers la base de données cible. La `FLAG` colonne est toutefois remplie à l'aide de `generate by` fonctionnalités. Elle n'est donc pas visible par AWS DMS pendant la migration. Pour implémenter la fonctionnalité de`generated by`, vous devez utiliser des déclencheurs et des fonctions dans la base de données cible pour renseigner les valeurs de la `FLAG` colonne, comme indiqué dans l'épopée suivante. | DBA, développeur d'applications | 
| Créez une table PostgreSQL cible sur AWS. | Créez une table PostgreSQL sur AWS à l'aide de l'instruction suivante.<pre>CREATE TABLE test.generated_column<br />(<br />    code integer not null,<br />    status character varying(12) not null ,<br />    flag character(1)<br />);</pre>Dans ce tableau, la `status` colonne est une colonne standard. La `flag` colonne sera une colonne générée en fonction des données qu'elle `status` contient. | DBA, développeur d'applications | 

### Créez une fonction de déclenchement pour gérer la colonne virtuelle dans PostgreSQL
<a name="create-a-trigger-function-to-handle-the-virtual-column-in-postgresql"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un déclencheur PostgreSQL. | Dans PostgreSQL, créez un déclencheur.<pre>CREATE TRIGGER tgr_gen_column<br />AFTER INSERT OR UPDATE OF status ON test.generated_column<br />FOR EACH ROW <br />EXECUTE FUNCTION test.tgf_gen_column();</pre> | DBA, développeur d'applications | 
| Créez une fonction de déclenchement PostgreSQL. | Dans PostgreSQL, créez une fonction pour le déclencheur. Cette fonction remplit une colonne virtuelle insérée ou mise à jour par l'application ou AWS DMS, et valide les données.<pre>CREATE OR REPLACE FUNCTION test.tgf_gen_column() RETURNS trigger AS $VIRTUAL_COL$<br />BEGIN<br />IF (TG_OP = 'INSERT') THEN<br />IF (NEW.flag IS NOT NULL) THEN<br />RAISE EXCEPTION 'ERROR: cannot insert into column "flag"' USING DETAIL = 'Column "flag" is a generated column.';<br />END IF;<br />END IF;<br />IF (TG_OP = 'UPDATE') THEN<br />IF (NEW.flag::VARCHAR != OLD.flag::varchar) THEN<br />RAISE EXCEPTION 'ERROR: cannot update column "flag"' USING DETAIL = 'Column "flag" is a generated column.';<br />END IF;<br />END IF;<br />IF TG_OP IN ('INSERT','UPDATE') THEN<br />IF (old.flag is NULL) OR (coalesce(old.status,'') != coalesce(new.status,'')) THEN<br />UPDATE test.generated_column<br />SET flag = (CASE UPPER(status) WHEN 'OPEN' THEN 'N' ELSE 'Y' END)<br />WHERE code = new.code;<br />END IF;<br />END IF;<br />RETURN NEW;<br />END<br />$VIRTUAL_COL$ LANGUAGE plpgsql;</pre> | DBA, développeur d'applications | 

### Testez la migration des données à l'aide d'AWS DMS
<a name="test-data-migration-by-using-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication. | Pour créer une instance de réplication, suivez les [instructions](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html) de la documentation AWS DMS. L'instance de réplication doit se trouver dans le même cloud privé virtuel (VPC) que vos bases de données source et cible. | DBA, développeur d'applications | 
| Créez des points de terminaison source et cible. | Pour créer les points de terminaison, suivez les [instructions](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) de la documentation AWS DMS. | DBA, développeur d'applications | 
| Testez les connexions du point de terminaison. | Vous pouvez tester les connexions du point de terminaison en spécifiant le VPC et l'instance de réplication, puis en choisissant **Run** test. | DBA, développeur d'applications | 
| Créez et lancez une tâche de chargement complet. | Pour obtenir des instructions, consultez les [sections Création d'une tâche](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html) et [Chargement complet de la tâche](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.CustomizingTasks.TaskSettings.FullLoad.html) dans la documentation AWS DMS. | DBA, développeur d'applications | 
| Validez les données de la colonne virtuelle. | Comparez les données de la colonne virtuelle dans les bases de données source et cible. Vous pouvez valider les données manuellement ou écrire un script pour cette étape. | DBA, développeur d'applications | 

## Ressources connexes
<a name="migrate-virtual-generated-columns-from-oracle-to-postgresql-resources"></a>
+ [Mise en route avec AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) (documentation AWS DMS)
+ [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) (documentation AWS DMS)
+ [Utilisation d'une base de données PostgreSQL comme cible pour AWS DMS (documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html))
+ [Colonnes générées dans PostgreSQL](https://www.postgresql.org/docs/12/ddl-generated-columns.html) (documentation PostgreSQL)
+ [Fonctions de déclenchement](https://www.postgresql.org/docs/12/plpgsql-trigger.html) (documentation PostgreSQL)
+ [Colonnes virtuelles](https://docs.oracle.com/database/121/SQLRF/statements_7002.htm#SQLRF01402) dans la base de données Oracle (documentation Oracle)

# Configuration de la fonctionnalité Oracle UTL\$1FILE sur Aurora compatible avec PostgreSQL
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible"></a>

*Rakesh Raghav et Anuradha Chintha, Amazon Web Services*

## Résumé
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-summary"></a>

Dans le cadre de votre migration d'Oracle vers l'édition compatible avec Amazon Aurora PostgreSQL sur le cloud Amazon Web Services (AWS), vous pouvez rencontrer de nombreux défis. Par exemple, la migration de code qui repose sur l'`UTL_FILE`utilitaire Oracle représente toujours un défi. Dans Oracle PL/SQL, le `UTL_FILE` package est utilisé pour les opérations sur les fichiers, telles que la lecture et l'écriture, conjointement avec le système d'exploitation sous-jacent. L'`UTL_FILE`utilitaire fonctionne à la fois pour les serveurs et les ordinateurs clients. 

Amazon Aurora PostgreSQL compatible est une offre de base de données gérée. De ce fait, il n'est pas possible d'accéder aux fichiers sur le serveur de base de données. Ce modèle vous explique comment intégrer Amazon Simple Storage Service (Amazon S3) et Amazon Aurora PostgreSQL compatible pour obtenir un sous-ensemble de fonctionnalités. `UTL_FILE` Grâce à cette intégration, nous pouvons créer et consommer des fichiers sans utiliser d'outils ou de services tiers d'extraction, de transformation et de chargement (ETL).

Vous pouvez éventuellement configurer la CloudWatch surveillance Amazon et les notifications Amazon SNS.

Nous vous recommandons de tester minutieusement cette solution avant de l'implémenter dans un environnement de production.

## Conditions préalables et limitations
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Expertise du service de migration de base de données AWS (AWS DMS)
+ Expertise en PL/pgSQL codage
+ Un cluster compatible avec Amazon Aurora PostgreSQL
+ Compartiment S3

**Limites**

Ce modèle ne fournit pas les fonctionnalités nécessaires pour remplacer l'`UTL_FILE`utilitaire Oracle. Toutefois, les étapes et les exemples de code peuvent être encore améliorés pour atteindre les objectifs de modernisation de votre base de données.

**Versions du produit**
+ Édition 11.9 compatible avec Amazon Aurora PostgreSQL

## Architecture
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-architecture"></a>

**Pile technologique cible**
+ Compatible avec Amazon Aurora PostgreSQL
+ Amazon CloudWatch
+ Amazon Simple Notiﬁcation Service (Amazon SNS)
+ Amazon S3

**Architecture cible**

Le schéma suivant montre une représentation de haut niveau de la solution.

![\[Les fichiers de données sont chargés dans un compartiment S3, traités à l'aide de l'extension aws_s3 et envoyés à l'instance Aurora.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/3aeecd46-1f87-41f9-a9cd-f8181f92e83f/images/4a6c5f5c-58fb-4355-b243-d09a15c1cec6.png)


1. Les fichiers sont chargés depuis l'application dans le compartiment S3.

1. L'`aws_s3`extension accède aux données à l'aide de PL/pgSQL et les télécharge sur Aurora PostgreSQL compatible.

## Outils
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-tools"></a>
+ Compatible avec [Amazon Aurora PostgreSQL — L'édition compatible avec Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) Aurora PostgreSQL est un moteur de base de données relationnelle entièrement géré, compatible avec PostgreSQL et conforme à l'ACID. Il associe la rapidité et la fiabilité des bases de données commerciales haut de gamme à la rentabilité des bases de données open source.
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) — L'interface de ligne de commande AWS (AWS CLI) est un outil unifié permettant de gérer vos services AWS. Avec un seul outil à télécharger et à configurer, vous pouvez contrôler plusieurs services AWS depuis la ligne de commande et les automatiser par le biais de scripts.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) — Amazon CloudWatch surveille les ressources et l'utilisation d'Amazon S3.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) — Amazon Simple Storage Service (Amazon S3) est un service de stockage pour Internet. Dans ce modèle, Amazon S3 fournit une couche de stockage pour recevoir et stocker des fichiers destinés à être consommés et transmis vers et depuis le cluster compatible Aurora PostgreSQL.
+ [aws\$1s3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#aws_s3.table_import_from_s3) — L'`aws_s3`extension intègre la compatibilité avec Amazon S3 et Aurora PostgreSQL.
+ [Amazon SNS —](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) Amazon Simple Notification Service (Amazon SNS) coordonne et gère la distribution ou l'envoi de messages entre les éditeurs et les clients. Dans ce modèle, Amazon SNS est utilisé pour envoyer des notifications.
+ [pgAdmin](https://www.pgadmin.org/docs/) — pgAdmin est un outil de gestion open source pour Postgres. pgAdmin 4 fournit une interface graphique pour créer, gérer et utiliser des objets de base de données.

**Code**

Pour obtenir les fonctionnalités requises, le modèle crée plusieurs fonctions avec un nom similaire à`UTL_FILE`. La section *Informations supplémentaires* contient le code de base de ces fonctions.

Dans le code, remplacez `testaurorabucket` par le nom de votre compartiment S3 de test. `us-east-1`Remplacez-le par la région AWS dans laquelle se trouve votre compartiment S3 de test.

## Épopées
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-epics"></a>

### Intégrez la compatibilité avec Amazon S3 et Aurora PostgreSQL
<a name="integrate-amazon-s3-and-aurora-postgresql-compatible"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez des politiques IAM. | Créez des politiques AWS Identity and Access Management (IAM) qui accordent l'accès au compartiment S3 et aux objets qu'il contient. Pour le code, consultez la section *Informations supplémentaires*. | Administrateur AWS, DBA | 
| Ajoutez des rôles d'accès Amazon S3 à Aurora PostgreSQL. | Créez deux rôles IAM : un rôle pour l'accès en lecture et un rôle pour l'accès en écriture à Amazon S3. Associez les deux rôles au cluster compatible avec Aurora PostgreSQL : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.html)Pour plus d'informations, consultez la documentation compatible avec Aurora PostgreSQL sur l'[importation et l'](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PostgreSQL.S3Import.html)[exportation de données vers Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/postgresql-s3-export.html). | Administrateur AWS, DBA | 

### Configurer les extensions dans Aurora PostgreSQL compatible
<a name="set-up-the-extensions-in-aurora-postgresql-compatible"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'extension aws\$1commons. | L'`aws_commons`extension est une dépendance de l'`aws_s3`extension. | DBA, Développeur | 
| Créez l'extension aws\$1s3. | L'`aws_s3`extension interagit avec Amazon S3. | DBA, Développeur | 

### Validez l'intégration compatible avec Amazon S3 et Aurora PostgreSQL
<a name="validate-amazon-s3-and-aurora-postgresql-compatible-integration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Testez l'importation de fichiers depuis Amazon S3 vers Aurora PostgreSQL. | Pour tester l'importation de fichiers dans un environnement compatible avec Aurora PostgreSQL, créez un exemple de fichier CSV et chargez-le dans le compartiment S3. Créez une définition de table basée sur le fichier CSV et chargez le fichier dans le tableau à l'aide de la `aws_s3.table_import_from_s3` fonction. | DBA, Développeur | 
| Testez l'exportation de fichiers depuis Aurora PostgreSQL vers Amazon S3. | Pour tester l'exportation de fichiers depuis une version compatible avec Aurora PostgreSQL, créez une table de test, remplissez-la de données, puis exportez les données à l'aide de la fonction. `aws_s3.query_export_to_s3` | DBA, Développeur | 

### Pour imiter l'utilitaire UTL\$1FILE, créez des fonctions wrapper
<a name="to-mimic-the-utl_file-utility-create-wrapper-functions"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez le schéma utl\$1file\$1utility. | Le schéma maintient les fonctions du wrapper ensemble. Pour créer le schéma, exécutez la commande suivante.<pre>CREATE SCHEMA utl_file_utility;</pre> | DBA, Développeur | 
| Créez le type file\$1type. | Pour créer le `file_type` type, utilisez le code suivant.<pre>CREATE TYPE utl_file_utility.file_type AS (<br />    p_path character varying(30),<br />    p_file_name character varying<br />);<br /><br /><br /></pre> | DBA/Développeur | 
| Créez la fonction d'initialisation. | La `init` fonction initialise une variable courante telle que `bucket` ou`region`. Pour le code, consultez la section *Informations supplémentaires*. | DBA/Développeur | 
| Créez les fonctions du wrapper. | Créez les fonctions du wrapper `fopen``put_line`, et. `fclose` Pour le code, consultez la section *Informations supplémentaires*. | DBA, Développeur | 

### Testez les fonctions du wrapper
<a name="test-the-wrapper-functions"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Testez les fonctions du wrapper en mode écriture. | Pour tester les fonctions du wrapper en mode écriture, utilisez le code fourni dans la section *Informations supplémentaires*. | DBA, Développeur | 
| Testez les fonctions du wrapper en mode ajout. | Pour tester les fonctions du wrapper en mode ajout, utilisez le code fourni dans la section *Informations supplémentaires*. | DBA, Développeur | 

## Ressources connexes
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-resources"></a>
+ [Intégration avec Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PostgreSQL.S3Import.html)
+ [Amazon S3](https://aws.amazon.com/s3/)
+ [Aurora](https://aws.amazon.com/rds/aurora/?nc2=h_ql_prod_db_aa&aurora-whats-new.sort-by=item.additionalFields.postDateTime&aurora-whats-new.sort-order=desc)
+ [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/)
+ [Amazon SNS](https://aws.amazon.com/sns/?nc2=h_ql_prod_ap_sns&whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc)

## Informations supplémentaires
<a name="set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible-additional"></a>

**Configurer des politiques IAM**

Créez les politiques suivantes.


| 
| 
| Nom de la politique | JSON | 
| --- |--- |
| S3 IntRead | <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "S3integrationtest",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:GetObject",<br />                "s3:ListBucket"<br />            ],<br />            "Resource": [<br />         "arn:aws:s3:::testaurorabucket/*",<br />         "arn:aws:s3:::testaurorabucket"<br />            ]<br />        }<br />    ]<br />}</pre> | 
| S3 IntWrite | <pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Sid": "S3integrationtest",<br />            "Effect": "Allow",<br />            "Action": [<br />                "s3:PutObject",                <br />                "s3:ListBucket"<br />            ],<br />            "Resource": [                "arn:aws:s3:::testaurorabucket/*",                "arn:aws:s3:::testaurorabucket"<br />            ]<br />        }<br />    ]<br />}</pre> | 

**Création de la fonction d'initialisation**

Pour initialiser des variables courantes, telles que `bucket` ou`region`, créez la `init` fonction à l'aide du code suivant.

```
CREATE OR REPLACE FUNCTION utl_file_utility.init(
    )
    RETURNS void
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
BEGIN
      perform set_config
      ( format( '%s.%s','UTL_FILE_UTILITY', 'region' )
      , 'us-east-1'::text
      , false );

      perform set_config
      ( format( '%s.%s','UTL_FILE_UTILITY', 's3bucket' )
      , 'testaurorabucket'::text
      , false );
END;
$BODY$;
```

**Création des fonctions du wrapper**

Créez les fonctions `fopen``put_line`, et `fclose` wrapper.

*fouvrir*

```
CREATE OR REPLACE FUNCTION utl_file_utility.fopen(
    p_file_name character varying,
    p_path character varying,
    p_mode character DEFAULT 'W'::bpchar,
    OUT p_file_type utl_file_utility.file_type)
    RETURNS utl_file_utility.file_type
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
declare
    v_sql character varying;
    v_cnt_stat integer;
    v_cnt integer;
    v_tabname character varying;
    v_filewithpath character varying;
    v_region character varying;
    v_bucket character varying;

BEGIN
    /*initialize common variable */
    PERFORM utl_file_utility.init();
    v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
    v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );
    
    /* set tabname*/
    v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );
    v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;
    raise notice 'v_bucket %, v_filewithpath % , v_region %', v_bucket,v_filewithpath, v_region;
    
    /* APPEND MODE HANDLING; RETURN EXISTING FILE DETAILS IF PRESENT ELSE CREATE AN EMPTY FILE */
    IF p_mode = 'A' THEN
        v_sql := concat_ws('','create temp table if not exists ', v_tabname,' (col1 text)');
        execute v_sql;

        begin
        PERFORM aws_s3.table_import_from_s3 
            ( v_tabname, 
            '',  
            'DELIMITER AS ''#''', 
            aws_commons.create_s3_uri 
            (     v_bucket, 
                v_filewithpath ,
                v_region)
            );
        exception
            when others then
             raise notice 'File load issue ,%',sqlerrm;
             raise;
        end;
        execute concat_ws('','select count(*) from ',v_tabname) into v_cnt;

        IF v_cnt > 0 
        then
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
        else         
            PERFORM aws_s3.query_export_to_s3('select ''''', 
                            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)            
                              );

            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;        
        end if;
        v_sql := concat_ws('','drop table ', v_tabname);        
        execute v_sql;            
    ELSEIF p_mode = 'W' THEN
            PERFORM aws_s3.query_export_to_s3('select ''''', 
                            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)            
                              );
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
    END IF;    
    
EXCEPTION
        when others then
            p_file_type.p_path := p_path;
            p_file_type.p_file_name := p_file_name;
            raise notice 'fopenerror,%',sqlerrm;
            raise;
END;
$BODY$;
```

*put\$1line*

```
CREATE OR REPLACE FUNCTION utl_file_utility.put_line(
    p_file_name character varying,
    p_path character varying,
    p_line text,
    p_flag character DEFAULT 'W'::bpchar)
    RETURNS boolean
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
/**************************************************************************
* Write line, p_line in windows format to file, p_fp - with carriage return
* added before new line.
**************************************************************************/
declare
    v_sql varchar;
    v_ins_sql varchar;
    v_cnt INTEGER;
    v_filewithpath character varying;
    v_tabname  character varying;
    v_bucket character varying;
    v_region character varying;    

BEGIN
 PERFORM utl_file_utility.init();

/* check if temp table already exist */

 v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );

 v_sql := concat_ws('','select count(1) FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace where n.nspname like ''pg_temp_%''' 
                         ,' AND pg_catalog.pg_table_is_visible(c.oid) AND Upper(relname) = Upper( '''
                         ,  v_tabname ,''' ) ');
  
 execute v_sql into v_cnt;
  
  IF v_cnt = 0 THEN
         v_sql := concat_ws('','create temp table ',v_tabname,' (col text)');
        execute v_sql;
        /* CHECK IF APPEND MODE */
        IF upper(p_flag) = 'A' THEN
            PERFORM utl_file_utility.init();                        
            v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
            v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );
            
            /* set tabname*/            
            v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;            
            
            begin
               PERFORM aws_s3.table_import_from_s3 
                     ( v_tabname, 
                          '',  
                       'DELIMITER AS ''#''', 
                        aws_commons.create_s3_uri 
                           ( v_bucket, 
                               v_filewithpath, 
                               v_region    )
                    );
            exception
                when others then
                    raise notice  'Error Message : %',sqlerrm;
                    raise;
            end;    
        END IF;    
    END IF;
    /* INSERT INTO TEMP TABLE */              
    v_ins_sql := concat_ws('','insert into ',v_tabname,' values(''',p_line,''')');
    execute v_ins_sql;
    RETURN TRUE;
    exception
            when others then
                raise notice  'Error Message : %',sqlerrm;
                raise;
END;
$BODY$;
```

*fermer*

```
CREATE OR REPLACE FUNCTION utl_file_utility.fclose(
    p_file_name character varying,
    p_path character varying)
    RETURNS boolean
    LANGUAGE 'plpgsql'

    COST 100
    VOLATILE 
AS $BODY$
DECLARE
    v_filewithpath character varying;
    v_bucket character varying;
    v_region character varying;
    v_tabname character varying;
    v_sql character varying;
BEGIN
      PERFORM utl_file_utility.init();
  
    v_region := current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 'region' ) );
    v_bucket :=  current_setting( format( '%s.%s', 'UTL_FILE_UTILITY', 's3bucket' ) );

    v_tabname := substring(p_file_name,1,case when strpos(p_file_name,'.') = 0 then length(p_file_name) else strpos(p_file_name,'.') - 1 end );
    v_filewithpath := case when NULLif(p_path,'') is null then p_file_name else concat_ws('/',p_path,p_file_name) end ;

    raise notice 'v_bucket %, v_filewithpath % , v_region %', v_bucket,v_filewithpath, v_region ;
    
    /* exporting to s3 */
    perform aws_s3.query_export_to_s3
        (concat_ws('','select * from ',v_tabname,'  order by ctid asc'), 
            aws_commons.create_s3_uri(v_bucket, v_filewithpath, v_region)
        );
    v_sql := concat_ws('','drop table ', v_tabname);
    execute v_sql;    
    RETURN TRUE;
EXCEPTION 
       when others then
     raise notice 'error fclose %',sqlerrm;
     RAISE;
END;
$BODY$;
```

**Testez votre configuration et les fonctions du wrapper**

Utilisez les blocs de code anonymes suivants pour tester votre configuration.

*Tester le mode d'écriture*

Le code suivant écrit un fichier nommé `s3inttest` dans le compartiment S3.

```
do $$
declare
l_file_name varchar := 's3inttest' ;
l_path varchar := 'integration_test' ;
l_mode char(1) := 'W';
l_fs utl_file_utility.file_type ;
l_status boolean;

begin
select * from
utl_file_utility.fopen( l_file_name, l_path , l_mode ) into l_fs ;
raise notice 'fopen : l_fs : %', l_fs;

select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket: for test purpose', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from utl_file_utility.fclose( l_file_name , l_path ) into l_status ;
raise notice 'fclose : l_status %', l_status;

end;
$$
```

*Testez le mode d'ajout*

Le code suivant ajoute des lignes au `s3inttest` fichier créé lors du test précédent.

```
do $$
declare
l_file_name varchar := 's3inttest' ;
l_path varchar := 'integration_test' ;
l_mode char(1) := 'A';
l_fs utl_file_utility.file_type ;
l_status boolean;

begin
select * from
utl_file_utility.fopen( l_file_name, l_path , l_mode ) into l_fs ;
raise notice 'fopen : l_fs : %', l_fs;


select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket: for test purpose : append 1', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from
utl_file_utility.put_line( l_file_name, l_path ,'this is test file:in s3bucket : for test purpose : append 2', l_mode ) into l_status ;
raise notice 'put_line : l_status %', l_status;

select * from utl_file_utility.fclose( l_file_name , l_path ) into l_status ;
raise notice 'fclose : l_status %', l_status;

end;
$$
```

**Notifications Amazon SNS**

Vous pouvez éventuellement configurer la CloudWatch surveillance Amazon et les notifications Amazon SNS sur le compartiment S3. Pour plus d'informations, consultez [Surveillance d'Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/monitoring-overview.html) et [Configuration des notifications Amazon SNS.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/US_SetupSNS.html)

# Valider les objets de base de données après la migration d'Oracle vers Amazon Aurora PostgreSQL
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql"></a>

*Venkatramana Chintha et Eduardo Valentim, Amazon Web Services*

## Résumé
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-summary"></a>

Ce modèle décrit une step-by-step approche permettant de valider des objets après la migration d'une base de données Oracle vers Amazon Aurora PostgreSQL Compatible Edition.

Ce modèle décrit les scénarios d'utilisation et les étapes de validation des objets de base de données ; pour plus d'informations, consultez la section [Validation des objets de base de données après la migration à l'aide d'AWS SCT et d'AWS DMS sur le blog](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/) de base de données [AWS](https://aws.amazon.com/blogs/).

## Conditions préalables et limitations
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Base de données Oracle sur site qui a été migrée vers une base de données compatible Aurora PostgreSQL. 
+ Identifiants de connexion auxquels s'applique la RDSData FullAccess politique [Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html), pour la base de données compatible Aurora PostgreSQL. 
+ Ce modèle utilise l'[éditeur de requêtes pour les clusters de base de données Aurora Serverless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html), qui est disponible dans la console Amazon Relational Database Service (Amazon RDS). Toutefois, vous pouvez utiliser ce modèle avec n'importe quel autre éditeur de requêtes. 

**Limites**
+ Les objets Oracle SYNONYM ne sont pas disponibles dans PostgreSQL mais peuvent être partiellement validés **par le biais** de vues ou de requêtes SET search\$1path.
+ L'éditeur de requêtes Amazon RDS n'est disponible que dans [certaines régions AWS et pour certaines versions de MySQL et PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html).

## Architecture
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-architecture"></a>

 

![\[Database migration workflow showing on-premises Oracle to AWSAurora PostgreSQL via client program and validation scripts.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/7c028960-6dea-46ad-894d-e42cefd50c03/images/be5f8ae3-f5af-4c5e-9440-09ab410beaa1.png)


 

## Outils
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-tools"></a>

**Outils**
+ [Édition compatible avec Amazon Aurora PostgreSQL —](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) Aurora PostgreSQL compatible est un moteur de base de données relationnelle entièrement géré, compatible avec PostgreSQL et compatible ACID qui associe la vitesse et la fiabilité des bases de données commerciales haut de gamme à la simplicité et à la rentabilité des bases de données open source.
+ [Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html) — Amazon Relational Database Service (Amazon RDS) facilite la configuration, l'exploitation et le dimensionnement d'une base de données relationnelle dans le cloud AWS. Il fournit des capacités redimensionnables, à faible coût, pour les bases de données relationnelles classiques, et gère les tâches courantes d'administration de base de données.
+ [Éditeur de requêtes pour Aurora Severless](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/query-editor.html) : l'éditeur de requêtes vous permet d'exécuter des requêtes SQL dans la console Amazon RDS. Vous pouvez exécuter n'importe quelle instruction SQL valide sur le cluster de base de données Aurora Serverless, y compris les instructions de manipulation et de définition des données.

Pour valider les objets, utilisez les scripts complets du fichier « Scripts de validation d'objets » dans la section « Pièces jointes ». Utilisez le tableau suivant à titre de référence.


| 
| 
| Objet Oracle | Script à utiliser | 
| --- |--- |
| Forfaits | Requête 1 | 
| Tables | Requête 3 | 
| Vues | Requête 5 | 
| Séquences | Requête 7 | 
| Triggers |  Requête 9 | 
| Clés primaires | Requête 11 | 
| Index | Requête 13 | 
| Contraintes de validation | Requête 15 | 
| Clés étrangères  | Requête 17  | 


| 
| 
| objet PostgreSQL | Script à utiliser | 
| --- |--- |
| Forfaits | Requête 2 | 
| Tables | Requête 4 | 
| Vues | Requête 6 | 
| Séquences | Requête 8 | 
| Triggers | Requête 10 | 
| Clés primaires | Requête 12 | 
| Index | Requête 14 | 
| Contraintes de validation | Requête 16 | 
| Clés étrangères | Requête 18 | 

## Épopées
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-epics"></a>

### Valider les objets dans la base de données Oracle source
<a name="validate-objects-in-the-source-oracle-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Exécutez la requête de validation « packages » dans la base de données Oracle source.  | Téléchargez et ouvrez le fichier « Scripts de validation d'objets » dans la section « Pièces jointes ». Connectez-vous à la base de données Oracle source par le biais de votre programme client. Exécutez le script de validation « Query 1 » depuis le fichier « Scripts de validation d'objets ». Important : Entrez votre nom d'utilisateur Oracle au lieu de « your\$1schema » dans les requêtes. Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « tables ».  | Exécutez le script « Query 3 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « views ».  | Exécutez le script « Query 5 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la validation du nombre de « séquences ».  | Exécutez le script « Query 7 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « triggers ».  | Exécutez le script « Query 9 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation des « clés primaires ».  | Exécutez le script « Requête 11 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « index ».  | Exécutez le script de validation « Requête 13 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « vérifier les contraintes ».  | Exécutez le script « Requête 15 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « clés étrangères ».  | Exécutez le script de validation « Query 17 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 

### Valider les objets dans la base de données cible compatible Aurora PostgreSQL
<a name="validate-objects-in-the-target-aurora-postgresql-compatible-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Connectez-vous à la base de données cible compatible Aurora PostgreSQL à l'aide de l'éditeur de requêtes. | Connectez-vous à l'AWS Management Console et ouvrez la console Amazon RDS. Dans le coin supérieur droit, choisissez la région AWS dans laquelle vous avez créé la base de données compatible Aurora PostgreSQL. Dans le volet de navigation, choisissez « Databases », puis choisissez la base de données cible compatible Aurora PostgreSQL. Dans « Actions », choisissez « Requête ». Important : Si vous ne vous êtes jamais connecté à la base de données, la page « Connexion à la base de données » s'ouvre. Vous devez ensuite saisir les informations de votre base de données, telles que le nom d'utilisateur et le mot de passe. | Développeur, DBA | 
| Exécutez la requête de validation « packages ». | Exécutez le script « Requête 2 » depuis le fichier « Scripts de validation d'objets » dans la section « Pièces jointes ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « tables ».  | Retournez dans l'éditeur de requêtes pour la base de données compatible Aurora PostgreSQL et exécutez le script « Query 4 » à partir du fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « views ».  | Retournez dans l'éditeur de requêtes pour la base de données compatible Aurora PostgreSQL et exécutez le script « Query 6 » à partir du fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la validation du nombre de « séquences ».  | Retournez dans l'éditeur de requêtes pour la base de données compatible Aurora PostgreSQL et exécutez le script « Query 8 » à partir du fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « triggers ».  | Retournez dans l'éditeur de requêtes pour la base de données compatible Aurora PostgreSQL et exécutez le script « Query 10 » à partir du fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation des « clés primaires ».  | Retournez dans l'éditeur de requêtes pour la base de données compatible Aurora PostgreSQL et exécutez le script « Query 12 » à partir du fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « index ».  | Retournez dans l'éditeur de requêtes pour la base de données compatible Aurora PostgreSQL et exécutez le script « Query 14 » à partir du fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « vérifier les contraintes ».  | Exécutez le script « Requête 16 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 
| Exécutez la requête de validation « clés étrangères ».  | Exécutez le script de validation « Query 18 » depuis le fichier « Scripts de validation d'objets ». Assurez-vous d'enregistrer les résultats de votre requête. | Développeur, DBA | 

### Comparez les enregistrements de validation des bases de données source et cible
<a name="compare-source-and-target-database-validation-records"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Comparez et validez les résultats des deux requêtes.  | Comparez les résultats des requêtes des bases de données compatibles Oracle et Aurora PostgreSQL pour valider tous les objets. S'ils correspondent tous, cela signifie que tous les objets ont été validés avec succès. | Développeur, DBA | 

## Ressources connexes
<a name="validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql-resources"></a>
+ [Validation des objets de base de données après une migration à l'aide d'AWS SCT et d'AWS DMS](https://aws.amazon.com/blogs/database/validating-database-objects-after-migration-using-aws-sct-and-aws-dms/)
+ [Fonctionnalités d'Amazon Aurora : édition compatible avec PostgreSQL](https://aws.amazon.com/rds/aurora/postgresql-features/)

## Pièces jointes
<a name="attachments-7c028960-6dea-46ad-894d-e42cefd50c03"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/7c028960-6dea-46ad-894d-e42cefd50c03/attachments/attachment.zip)

# Réhéberger
<a name="migration-rehost-pattern-list"></a>

**Topics**
+ [Accélérez la découverte et la migration des charges de travail Microsoft vers AWS](accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.md)
+ [Créez un processus d'approbation pour les demandes de pare-feu lors d'une migration de réhébergement vers AWS](create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws.md)
+ [Ingérez et migrez des instances EC2 Windows vers un compte AWS Managed Services](ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.md)
+ [Migrer une base de données Couchbase Server vers Amazon EC2](migrate-couchbase-server-ec2.md)
+ [Migrez Db2 for LUW vers Amazon EC2 en utilisant l'expédition des journaux pour réduire les temps d'arrêt](migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.md)
+ [Migrez Db2 for LUW vers Amazon EC2 avec une reprise après sinistre à haute disponibilité](migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.md)
+ [Migrez les applications hébergées EC2 par IIS vers Amazon à l'aide de appcmd.exe](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Amazon à EC2 l'aide du service de migration d'applications](migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.md)
+ [Migrez une charge de travail F5 BIG-IP vers F5 BIG-IP VE sur le AWS Cloud](migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud.md)
+ [Migrer une application Web Go sur site vers AWS Elastic Beanstalk à l'aide de la méthode binaire](migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.md)
+ [Migrer un serveur SFTP sur site vers AWS AWS Transfer for SFTP](migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp.md)
+ [Migrer une machine virtuelle sur site vers Amazon à l'aide EC2 d'AWS Application Migration Service](migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.md)
+ [Migrez de petits ensembles de données sur site vers Amazon S3 à l'aide de AWS SFTP](migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp.md)
+ [Migrer une base de données Oracle sur site vers Oracle sur Amazon EC2](migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2.md)
+ [Migrer une base de données Oracle sur site vers Amazon à l'aide EC2 d'Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.md)
+ [Migrez les systèmes RHEL BYOL vers des instances incluses dans une licence AWS à l'aide d'AWS MGN](migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Amazon EC2](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.md)
+ [Réhébergez les charges de travail sur site dans le cloud AWS : liste de contrôle pour la migration](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.md)
+ [Configurez une infrastructure multi-AZ pour un SQL Server Always On FCI à l'aide d'Amazon FSx](set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.md)
+ [Utilisez les requêtes BMC Discovery pour extraire les données de migration afin de planifier la migration](use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning.md)

# Accélérez la découverte et la migration des charges de travail Microsoft vers AWS
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws"></a>

*Ali Alzand, Amazon Web Services*

## Résumé
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-summary"></a>

Ce modèle vous montre comment utiliser le [ PowerShell module Migration Validator Toolkit](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads) pour découvrir et migrer vos charges de travail Microsoft vers AWS. Le module fonctionne en effectuant plusieurs vérifications et validations pour les tâches courantes associées à n’importe quelle charge de travail Microsoft. Par exemple, le module recherche les instances auxquelles plusieurs disques peuvent être attachés ou les instances qui utilisent de nombreuses adresses IP. Pour une liste complète des contrôles que le module peut effectuer, consultez la section [Contrôles](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads#checks) sur la GitHub page du module.

Le PowerShell module Migration Validator Toolkit peut aider votre entreprise à réduire le temps et les efforts nécessaires pour découvrir les applications et les services exécutés sur vos charges de travail Microsoft. Le module peut également vous aider à identifier les configurations de vos charges de travail afin de savoir si vos configurations sont prises en charge sur AWS. Le module fournit également des recommandations quant aux prochaines étapes et mesures d’atténuation, afin que vous puissiez éviter toute erreur de configuration avant, pendant ou après votre migration.

## Conditions préalables et limitations
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-prereqs"></a>

**Conditions préalables**
+ Compte d'administrateur local
+ PowerShell 4,0

**Limites**
+ Fonctionne uniquement sur Microsoft Windows Server 2012 R2 ou version ultérieure

## Outils
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-tools"></a>

**Outils**
+ PowerShell 4,0

**Référentiel de code**

Le PowerShell module Migration Validator Toolkit pour ce modèle est disponible dans le référentiel GitHub [migration-validator-toolkit-for-microsoft-workloads](https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads).

## Épopées
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-epics"></a>

### Exécutez le PowerShell module Migration Validator Toolkit sur une seule cible
<a name="run-the-migration-validator-toolkit-powershell-module-on-a-single-target"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez, extrayez, importez et appelez le module. | Choisissez l'une des méthodes suivantes pour télécharger et déployer le module :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)**Exécutez le PowerShell script**Dans PowerShell, exécutez l'exemple de code suivant :<pre>#MigrationValidatorToolkit<br />$uri = 'https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads/archive/refs/heads/main.zip'<br />$destination = (Get-Location).Path<br />if ((Test-Path -Path "$destination\MigrationValidatorToolkit.zip" -PathType Leaf) -or (Test-Path -Path "$destination\MigrationValidatorToolkit")) {<br />    write-host "File $destination\MigrationValidatorToolkit.zip or folder $destination\MigrationValidatorToolkit found, exiting"<br />}else {<br />    Write-host "Enable TLS 1.2 for this PowerShell session only."<br />    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12<br />    $webClient = New-Object System.Net.WebClient<br />    Write-host "Downloading MigrationValidatorToolkit.zip"<br />    $webClient.DownloadFile($uri, "$destination\MigrationValidatorToolkit.zip")<br />    Write-host "MigrationValidatorToolkit.zip download successfully"<br />    Add-Type -Assembly "system.io.compression.filesystem"<br />    [System.IO.Compression.ZipFile]::ExtractToDirectory("$destination\MigrationValidatorToolkit.zip","$destination\MigrationValidatorToolkit")<br />    Write-host "Extracting MigrationValidatorToolkit.zip complete successfully"<br />    Import-Module "$destination\MigrationValidatorToolkit\migration-validator-toolkit-for-microsoft-workloads-main\MigrationValidatorToolkit.psm1"; Invoke-MigrationValidatorToolkit<br />}</pre>Le code télécharge le module à partir d'un fichier .zip. Ensuite, le code extrait, importe et invoque le module.**Téléchargez et extrayez le fichier .zip**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)**Cloner le GitHub référentiel**[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | Administrateur système | 
| Appelez le module manuellement. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)[Format : Format du tableau](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-table?view=powershell-7.3) :<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit</pre>[Format-Format de liste](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-list?view=powershell-7.3) :<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -List</pre>GridViewFormat [de sortie](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/out-gridview?view=powershell-7.3) :<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -GridView</pre>[ConvertTo-Format CSV](https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/convertto-csv?view=powershell-7.3) :<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-MigrationValidatorToolkit -csv</pre> | Administrateur système | 

### Exécutez le PowerShell module Migration Validator Toolkit sur plusieurs cibles
<a name="run-the-migration-validator-toolkit-powershell-module-on-multiple-targets"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez le fichier .zip ou clonez le GitHub dépôt. | Choisissez l’une des options suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)<pre>git clone https://github.com/aws-samples/migration-validator-toolkit-for-microsoft-workloads.git</pre> | Administrateur système | 
| Mettez à jour la liste server.csv. | Si vous avez téléchargé le fichier .zip, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | Administrateur système | 
| Appelez le module. | Vous pouvez utiliser n'importe quel ordinateur du domaine qui utilise un utilisateur du domaine disposant d'un accès administrateur aux ordinateurs cibles.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html)<pre>Import-Module .\MigrationValidatorToolkit.psm1;Invoke-DomainComputers</pre>Le fichier .csv de sortie est enregistré `MigrationValidatorToolkit\Outputs\folder` avec le nom du préfixe. `DomainComputers_MigrationAutomations_YYYY-MM-DDTHH-MM-SS` | Administrateur système | 

## Résolution des problèmes
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| `MigrationValidatorToolkit`écrit des informations sur les exécutions, les commandes et les erreurs dans les fichiers journaux de l'hôte en cours d'exécution. | Vous pouvez consulter les fichiers journaux manuellement à l'emplacement suivant :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.html) | 

## Ressources connexes
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-resources"></a>
+ [Options, outils et meilleures pratiques pour la migration des charges de travail Microsoft vers AWS (AWS Prescriptive](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-microsoft-workloads-aws/introduction.html) Guidance)
+ [Modèles de migration Microsoft](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migration-migration-patterns-by-workload-microsoft-pattern-list.html) (AWS Prescriptive Guidance)
+ [Services de migration vers le cloud gratuits sur AWS](https://aws.amazon.com/free/migration/) (documentation AWS)
+ [Actions prédéfinies après le lancement](https://docs.aws.amazon.com/mgn/latest/ug/predefined-post-launch-actions.html) (documentation marketing des applications)

## Informations supplémentaires
<a name="accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws-additional"></a>

**Questions fréquentes (FAQ)**

*Où puis-je exécuter le PowerShell module Migration Validator Toolkit ?*

Vous pouvez exécuter le module sur Microsoft Windows Server 2012 R2 ou version ultérieure.

*Quand dois-je exécuter ce module ?*

Nous vous recommandons d'exécuter le module pendant la [phase d'évaluation](https://aws.amazon.com/cloud-migration/how-to-migrate/) du processus de migration.

*Le module modifie-t-il mes serveurs existants ?*

Non Toutes les actions de ce module sont en lecture seule.

*Combien de temps faut-il pour exécuter le module ?*

L'exécution du module prend généralement 1 à 5 minutes, mais cela dépend de l'allocation des ressources de votre serveur.

*De quelles autorisations le module a-t-il besoin pour fonctionner ?*

Vous devez exécuter le module à partir d'un compte d'administrateur local.

*Puis-je exécuter le module sur des serveurs physiques ?*

Oui, à condition que le système d'exploitation soit Microsoft Windows Server 2012 R2 ou version ultérieure.

*Comment exécuter le module à grande échelle pour plusieurs serveurs ?*

Pour exécuter le module sur plusieurs ordinateurs joints à un domaine à grande échelle, suivez les étapes décrites dans le module *Run the Migration Validator Toolkit on multiple targets, PowerShell décrit* dans l'article détaillé de ce guide. Pour les ordinateurs n'appartenant pas à un domaine, utilisez un appel à distance ou exécutez le module localement en suivant les étapes décrites dans le * PowerShell module Run the Migration Validator Toolkit on a single target* epic de ce guide.

# Créez un processus d'approbation pour les demandes de pare-feu lors d'une migration de réhébergement vers AWS
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws"></a>

*Srikanth Rangavajhala, Amazon Web Services*

## Résumé
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-summary"></a>

Si vous souhaitez utiliser [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)ou activer [Cloud Migration Factory AWS](https://aws.amazon.com/solutions/implementations/cloud-migration-factory-on-aws/) pour une migration de réhôte vers le AWS Cloud, l'une des conditions préalables est de garder les ports TCP 443 et 1500 ouverts. L'ouverture de ces ports de pare-feu nécessite généralement l'approbation de votre équipe chargée de la sécurité des informations (InfoSec).

Ce modèle décrit le processus permettant d'obtenir l'approbation d'une demande de pare-feu auprès d'une InfoSec équipe lors d'une migration de réhébergement vers le AWS Cloud. Vous pouvez utiliser ce processus pour éviter le rejet de votre demande de pare-feu par l' InfoSec équipe, ce qui peut s'avérer coûteux et chronophage. Le processus de demande de pare-feu comporte deux étapes de révision et d'approbation entre les consultants en AWS migration et les responsables qui travaillent avec votre équipe InfoSec et celle des applications pour ouvrir les ports du pare-feu.

Ce modèle suppose que vous planifiez une migration de réhébergement avec des AWS consultants ou des spécialistes de la migration de votre organisation. Vous pouvez utiliser ce modèle si votre organisation ne dispose pas d'un processus d'approbation du pare-feu ou d'un formulaire d'approbation générale pour les demandes de pare-feu. Pour plus d'informations à ce sujet, consultez la section *Limitations* de ce modèle. Pour plus d'informations sur la configuration réseau requise pour le service de migration d'applications, consultez la section [Configuration réseau requise](https://docs.aws.amazon.com/mgn/latest/ug/Network-Requirements.html) dans la documentation du service de migration d'applications.

## Conditions préalables et limitations
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-prereqs"></a>

**Conditions préalables**
+ Une migration de réhébergement planifiée avec des AWS consultants ou des spécialistes de la migration de votre organisation
+ Les informations de port et d'IP requises pour migrer la pile
+ Schémas d'architecture d'état existants et futurs
+ Informations sur le pare-feu concernant l'infrastructure locale et de destination, les ports et le flux de zone-to-zone trafic
+ Une liste de contrôle pour l'examen des demandes de pare-feu (ci-jointe)
+ Un document de demande de pare-feu, configuré selon les exigences de votre organisation
+ Une liste de contacts pour les réviseurs et les approbateurs du pare-feu, y compris les rôles suivants :
  + **Soumetteur de demandes de pare-feu** : spécialiste ou AWS consultant en migration. L'expéditeur de la demande de pare-feu peut également être un spécialiste de la migration de votre organisation.
  + **Réviseur des demandes de pare-feu** : il s'agit généralement du point de contact unique (SPOC) à partir AWS duquel.
  + **Approbateur de demandes de pare-feu** : membre de InfoSec l'équipe.

**Limites**
+ Ce modèle décrit un processus générique d'approbation des demandes de pare-feu. Les exigences peuvent varier d'une organisation à l'autre.
+ Assurez-vous de suivre les modifications apportées à votre document de demande de pare-feu.

Le tableau suivant présente les cas d'utilisation de ce modèle.


| 
| 
| Votre entreprise dispose-t-elle déjà d'un processus d'approbation de pare-feu ? | Votre organisation possède-t-elle déjà un formulaire de demande de pare-feu ?  | Action suggérée | 
| --- |--- |--- |
| Oui | Oui | Collaborez avec AWS des consultants ou vos spécialistes de la migration pour mettre en œuvre le processus de votre organisation. | 
| Non | Oui | Utilisez le processus d'approbation du pare-feu de ce modèle. Faites appel à un AWS consultant ou à un spécialiste de la migration de votre organisation pour soumettre le formulaire d'approbation générale de la demande de pare-feu. | 
| Non | Non | Utilisez le processus d'approbation du pare-feu de ce modèle. Faites appel à un AWS consultant ou à un spécialiste de la migration de votre organisation pour soumettre le formulaire d'approbation générale de la demande de pare-feu. | 

## Architecture
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-architecture"></a>

Le schéma suivant montre les étapes du processus d'approbation des demandes de pare-feu.

![\[Processus d'approbation des demandes de pare-feu par une InfoSec équipe lors d'une migration de réhébergement vers le cloud AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/cf9b58ad-ab6f-43d3-92da-968529c8d042/images/c672f7ce-6e9f-4dbc-bf2c-4272a6c4432b.png)


## Outils
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-tools"></a>

Vous pouvez utiliser des outils de numérisation tels que [Palo Alto Networks](https://www.paloaltonetworks.com/) ou [SolarWinds](https://www.solarwinds.com/)pour analyser et valider les pare-feux et les adresses IP.

## Épopées
<a name="create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws-epics"></a>

### Analyser la demande de pare-feu
<a name="analyze-the-firewall-request"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Analysez les ports et les adresses IP. | L'expéditeur de la demande de pare-feu effectue une analyse initiale pour comprendre les ports de pare-feu et les adresses IP requis. Une fois cette opération terminée, ils demandent à votre InfoSec équipe d'ouvrir les ports requis et de mapper les adresses IP. | Ingénieur cloud AWS, spécialiste de la migration | 

### Validez la demande de pare-feu
<a name="validate-the-firewall-request"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les informations du pare-feu. | L' AWS Cloud ingénieur organise une réunion avec votre InfoSec équipe. Au cours de cette réunion, l'ingénieur examine et valide les informations de demande de pare-feu.Généralement, l'expéditeur de la demande de pare-feu est la même personne que le demandeur de pare-feu. Cette phase de validation peut devenir itérative en fonction des commentaires fournis par l'approbateur si quelque chose est observé ou recommandé. | Ingénieur cloud AWS, spécialiste de la migration | 
| Mettez à jour le document de demande de pare-feu. | Une fois que l' InfoSec équipe a partagé ses commentaires, le document de demande de pare-feu est modifié, enregistré et chargé à nouveau. Ce document est mis à jour après chaque itération.Nous vous recommandons de stocker ce document dans un dossier de stockage dont la version est contrôlée. Cela signifie que toutes les modifications sont suivies et correctement appliquées. | Ingénieur cloud AWS, spécialiste de la migration | 

### Soumettre la demande de pare-feu
<a name="submit-the-firewall-request"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Soumettez la demande de pare-feu. | Une fois que l'approbateur de demande de pare-feu a approuvé la demande d'approbation globale du pare-feu, l' AWS Cloud ingénieur soumet la demande de pare-feu. La demande indique les ports qui doivent être ouverts et les adresses IP requises pour mapper et mettre à jour le Compte AWS.Vous pouvez faire des suggestions ou fournir des commentaires après l'envoi de la demande de pare-feu. Nous vous recommandons d'automatiser ce processus de feedback et d'envoyer les modifications par le biais d'un mécanisme de flux de travail défini.  | Ingénieur cloud AWS, spécialiste de la migration | 

## Pièces jointes
<a name="attachments-cf9b58ad-ab6f-43d3-92da-968529c8d042"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/cf9b58ad-ab6f-43d3-92da-968529c8d042/attachments/attachment.zip)

# Ingérez et migrez des instances EC2 Windows vers un compte AWS Managed Services
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account"></a>

*Anil Kunapareddy et Venkatramana Chintha, Amazon Web Services*

## Résumé
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-summary"></a>

Ce modèle explique le step-by-step processus de migration et d'ingestion d'instances Windows Amazon Elastic Compute Cloud EC2 (Amazon) vers un compte Amazon Web Services (AWS) Managed Services (AMS). AMS peut vous aider à gérer l'instance de manière plus efficace et plus sûre. AMS fournit une flexibilité opérationnelle, améliore la sécurité et la conformité, et vous aide à optimiser la capacité et à réduire les coûts.

Ce modèle commence par une instance EC2 Windows que vous avez migrée vers un sous-réseau intermédiaire de votre compte AMS. Divers services et outils de migration sont disponibles pour effectuer cette tâche, tels qu'AWS Application Migration Service.

Pour apporter une modification à votre environnement géré par AMS, vous devez créer et soumettre une demande de modification (RFC) pour une opération ou une action particulière. À l'aide d'une RFC d'ingestion de charge de travail AMS (WIGS), vous ingérez l'instance dans le compte AMS et vous créez une Amazon Machine Image (AMI) personnalisée. Vous créez ensuite l' EC2 instance gérée par AMS en soumettant une autre RFC pour créer une pile. EC2 Pour plus d'informations, consultez [AMS Workload Ingest](https://docs.aws.amazon.com/managedservices/latest/appguide/ams-workload-ingest.html) dans la documentation AMS.

## Conditions préalables et limitations
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif géré par AMS
+ Une zone d'atterrissage existante
+ Autorisations permettant d'apporter des modifications dans le VPC géré par AMS
+ Une instance Amazon EC2 Windows dans un sous-réseau intermédiaire de votre compte AMS
+ Réalisation des [prérequis généraux](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-instance-prereqs.html) pour la migration des charges de travail à l'aide d'AMS WIGS
+ Réalisation des [prérequis Windows](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-prereqs-win.html) pour la migration des charges de travail à l'aide d'AMS WIGS

**Limites**
+ Ce modèle est destiné aux EC2 instances exécutant Windows Server. Ce modèle ne s'applique pas aux instances exécutant d'autres systèmes d'exploitation, tels que Linux.

## Architecture
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-architecture"></a>

**Pile technologique source**

Instance Amazon EC2 Windows dans un sous-réseau intermédiaire de votre compte AMS

**Pile technologique cible**

Instance Amazon EC2 Windows gérée par AWS Managed Services (AMS)

**Architecture cible**

![\[Processus de migration et d'intégration d'instances Amazon EC2 Windows dans un compte AWS Managed Services.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/393c21cb-b6c6-4446-b597-b62e29fdb7f8/images/0b2fa855-7460-49f8-9e7f-3485e6ce1745.png)


## Outils
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-tools"></a>

**Services AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/concepts.html) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez utiliser Amazon EC2 pour lancer autant ou aussi peu de serveurs virtuels que vous le souhaitez, et vous pouvez les étendre ou les intégrer.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.
+ [AWS Managed Services (AMS)](https://docs.aws.amazon.com/managedservices/?id=docs_gateway) vous aide à travailler de manière plus efficace et plus sécurisée en assurant la gestion continue de votre infrastructure AWS, notamment la surveillance, la gestion des incidents, les conseils de sécurité, le support des correctifs et la sauvegarde des charges de travail AWS.

**Autres services**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)est un programme d'automatisation et de gestion de configuration Microsoft qui s'exécute sous Windows, Linux et macOS.

## Épopées
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-epics"></a>

### Configurer les paramètres de l'instance
<a name="configure-settings-on-the-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Modifiez les paramètres du client DNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingénieur en migration | 
| Modifiez les paramètres de Windows Update. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingénieur en migration | 
| Activez le pare-feu. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingénieur en migration | 

### Préparer l'instance pour AMS WIGS
<a name="prepare-the-instance-for-ams-wigs"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Nettoyez et préparez l'instance. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingénieur en migration | 
| Réparez le fichier sppnp.dll. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingénieur en migration | 
| Exécutez le script de validation pré-WIG. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingénieur en migration | 
| Créez l'AMI à sécurité intégrée. | Une fois la validation préalable au WIG terminée, créez une AMI de pré-ingestion comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html)Pour plus d'informations, consultez [AMI \$1 Create](https://docs.aws.amazon.com/managedservices/latest/ctref/deployment-advanced-ami-create.html) dans la documentation AMS. | Ingénieur en migration | 

### Ingérer et valider l'instance
<a name="ingest-and-validate-the-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Soumettez la RFC pour créer la pile d'ingestion de charge de travail. | Soumettez une demande de modification (RFC) pour démarrer l'AMS WIGS. Pour obtenir des instructions, consultez [Workload Ingest Stack : Creating](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-workload-ingest-col.html) dans la documentation AMS. Cela déclenche l'ingestion de la charge de travail et installe tous les logiciels requis par AMS, y compris les outils de sauvegarde, le logiciel EC2 de gestion Amazon et le logiciel antivirus. | Ingénieur en migration | 
| Validez la réussite de la migration. | Une fois l'ingestion de la charge de travail terminée, vous pouvez voir l'instance gérée par AMS et l'AMI ingérée par AMS.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingénieur en migration | 

### Lancez l'instance dans le compte AMS cible
<a name="launch-the-instance-in-the-target-ams-account"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Soumettez le RFC pour créer une EC2 pile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.html) | Ingénieur en migration | 

## Ressources connexes
<a name="ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account-resources"></a>

**Recommandations AWS**
+ [Automatisez les activités d'ingestion préalables à la charge de travail pour AWS Managed Services sous Windows](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/automate-pre-workload-ingestion-activities-for-aws-managed-services-on-windows.html)
+ [Créez automatiquement une RFC dans AMS à l'aide de Python](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html?did=pg_card&trk=pg_card)

**Documentation AMS**
+ [Ingestion de la charge de travail AMS](https://docs.aws.amazon.com/managedservices/latest/appguide/ams-workload-ingest.html)
+ [Comment la migration modifie vos ressources](https://docs.aws.amazon.com/managedservices/latest/appguide/ex-migrate-changes.html)
+ [Migration des charges de travail : processus standard](https://docs.aws.amazon.com/managedservices/latest/appguide/mp-migrate-stack-process.html)

**Ressources marketing**
+ [AWS Managed Services](https://aws.amazon.com/managed-services/)
+ [AWS Managed Services FAQs](https://aws.amazon.com/managed-services/faqs/)
+ [Ressources AWS Managed Services](https://aws.amazon.com/managed-services/resources/)
+ [Fonctionnalités d'AWS Managed Services](https://aws.amazon.com/managed-services/features/)

# Migrer une base de données Couchbase Server vers Amazon EC2
<a name="migrate-couchbase-server-ec2"></a>

*Subhani Shaik, Amazon Web Services*

## Résumé
<a name="migrate-couchbase-server-ec2-summary"></a>

Ce modèle décrit comment migrer le serveur Couchbase d'un environnement sur site vers Amazon Elastic Compute Cloud (Amazon EC2) on. AWS

Couchbase Server est une base de données NoSQL (document JSON) distribuée qui fournit des fonctionnalités de base de données relationnelle. La migration d'une base de données Couchbase Server AWS peut apporter une évolutivité accrue, des performances améliorées, une rentabilité accrue, une sécurité renforcée, une gestion simplifiée et une portée mondiale, ce qui peut profiter aux applications nécessitant un accès aux données à haute disponibilité et à faible latence. Vous avez également accès à des fonctionnalités avancées par le biais de services AWS gérés. 

Couchbase Server on AWS fournit les fonctionnalités clés suivantes : 
+ Architecture axée sur la mémoire
+ Haute disponibilité, reprise après sinistre et équilibrage de charge
+ Déploiement multi-maîtres et multirégions pour des performances optimales

Pour plus d'informations sur les principaux avantages, consultez la section [Informations supplémentaires](#migrate-couchbase-server-ec2-additional) et le site Web de [Couchbase](https://www.couchbase.com/partners/amazon/).

## Conditions préalables et limitations
<a name="migrate-couchbase-server-ec2-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS doté d'un cloud privé virtuel (VPC), de deux zones de disponibilité, de sous-réseaux privés et d'un groupe de sécurité. Pour obtenir des instructions, consultez la section [Créer un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) dans la documentation Amazon Virtual Private Cloud (Amazon VPC).
+ Connectivité activée entre les environnements source et cible. [Pour plus d'informations sur les ports TCX utilisés par Couchbase Server, consultez la documentation de Couchbase.](https://docs.couchbase.com/server/current/install/install-ports.html)

## Architecture
<a name="migrate-couchbase-server-ec2-architecture"></a>

Le schéma suivant montre l'architecture de haut niveau pour la migration de Couchbase Server vers. AWS

![\[Architecture de migration pour le réhébergement du serveur Couchbase sur AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/4cedced2-3528-4f12-b19e-7d389e820cc1/images/ac22133a-895f-4999-b1e1-57f69e83a326.png)


À partir du cluster Couchbase sur site, les données passent par une passerelle client en utilisant. [AWS Direct Connect](https://aws.amazon.com/directconnect/) Les données passent par un routeur et une Direct Connect route et atteignent le VPC via une passerelle [AWS Virtual Private Network (Site-to-Site VPN).](https://aws.amazon.com/vpn/) Le VPC contient une EC2 instance qui exécute Couchbase Server. L' AWS infrastructure inclut également [Gestion des identités et des accès AWS (IAM)](https://aws.amazon.com/iam/) pour le contrôle d'accès, [AWS Key Management Service (AWS KMS)](https://aws.amazon.com/kms/) pour le chiffrement des données, [Amazon Elastic Block Store (Amazon EBS)](https://aws.amazon.com/ebs/) pour le stockage par blocs et Amazon [Simple Storage Service (Amazon S3) pour le stockage des données.](https://aws.amazon.com/s3/)

## Outils
<a name="migrate-couchbase-server-ec2-tools"></a>

**Services AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fournit une capacité de calcul évolutive dans le AWS Cloud. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)relie votre réseau interne à un Direct Connect emplacement via un câble à fibre optique Ethernet standard. Grâce à cette connexion, vous pouvez créer des interfaces virtuelles directement destinées au public Services AWS tout en contournant les fournisseurs de services Internet sur votre chemin réseau.

## Bonnes pratiques
<a name="migrate-couchbase-server-ec2-best-practices"></a>
+ [Installation et configuration de Couchbase](https://docs.couchbase.com/server/current/install/install-intro.html) sur différentes plateformes d'exploitation
+ [Meilleures pratiques](https://docs.couchbase.com/server/current/cloud/couchbase-cloud-deployment.html#aws-best-practices) pour déployer Couchbase Server sur AWS
+ [Création d'un cluster Couchbase](https://docs.couchbase.com/server/current/manage/manage-nodes/create-cluster.html)
+ [Meilleures pratiques en matière de performances](https://docs.couchbase.com/dotnet-sdk/current/project-docs/performance.html) pour les applications Couchbase
+ [Bonnes pratiques de sécurité](https://docs.couchbase.com/server/current/learn/security/security-overview.html) pour Couchbase Server
+ [Meilleures pratiques de stockage pour les](https://www.couchbase.com/forums/t/what-is-the-best-document-storage-strategy-in-couchbase/1573) bases de données Couchbase Server

## Épopées
<a name="migrate-couchbase-server-ec2-epics"></a>

### Déployer une EC2 instance Amazon pour Couchbase Server
<a name="deploy-an-ec2-instance-for-couchbase-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Ouvrez la EC2 console Amazon. | Connectez-vous à la [ EC2 console Amazon [AWS Management Console](https://console.aws.amazon.com/)et ouvrez-la](https://console.aws.amazon.com/ec2/). | DevOps ingénieur, administrateur Couchbase | 
| Déployez une EC2 instance Amazon. | Lancez une EC2 instance qui correspond aux configurations du serveur Couchbase sur site. Pour plus d'informations sur le déploiement d'une EC2 instance, consultez [Lancer une EC2 instance Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html) dans la EC2 documentation Amazon. | DevOps ingénieur, administrateur Couchbase | 

### Installation et configuration du serveur Couchbase sur Amazon EC2
<a name="install-and-configure-couchbase-server-on-ec2"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez un cluster Couchbase. | Consultez les [directives de déploiement de Couchbase Server](https://docs.couchbase.com/server/current/install/install-production-deployment.html) avant d'installer Couchbase Server sur Amazon. EC2Pour installer Couchbase Server, consultez la documentation du serveur [Couchbase](https://docs.couchbase.com/server/current/install/install-intro.html) | Administrateur Couchbase | 
| Configurez le cluster. | Pour configurer le cluster, consultez la section [Options de configuration du cluster](https://docs.couchbase.com/cloud/clusters/databases.html#cluster-configuration-options) dans la documentation de Couchbase. | Administrateur Couchbase | 

### Ajoutez un nouveau nœud et rééquilibrez le cluster Couchbase
<a name="add-a-new-node-and-rebalance-the-couchbase-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Ajoutez un nœud pour l' EC2 instance. | Ajoutez l' EC2 instance récemment déployée sur laquelle Couchbase est installé au cluster sur site existant. Pour obtenir des instructions, consultez la section [Ajouter un nœud et rééquilibrer](https://docs.couchbase.com/server/current/manage/manage-nodes/add-node-and-rebalance.html) dans la documentation du serveur Couchbase. | Administrateur Couchbase | 
| Rééquilibrez le cluster. | Le processus de rééquilibrage fait du nœud nouvellement ajouté avec l' EC2 instance un membre actif du cluster Couchbase. Pour obtenir des instructions, consultez la section [Ajouter un nœud et rééquilibrer](https://docs.couchbase.com/server/current/manage/manage-nodes/add-node-and-rebalance.html) dans la documentation du serveur Couchbase | Administrateur Couchbase | 

### Reconfigurer les connexions
<a name="reconfigure-connections"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Supprimez les nœuds locaux et rééquilibrez. | Vous pouvez désormais supprimer les nœuds locaux du cluster. Après avoir supprimé les nœuds, suivez le processus de rééquilibrage pour redistribuer les données, les index, le traitement des événements et le traitement des requêtes entre les nœuds disponibles du cluster. Pour obtenir des instructions, consultez [Supprimer un nœud et rééquilibrer](https://docs.couchbase.com/server/current/manage/manage-nodes/remove-node-and-rebalance.html) dans la documentation du serveur Couchbase. | Administrateur Couchbase | 
| Mettez à jour les paramètres de connexion. | Mettez à jour les paramètres de connexion de votre application pour utiliser la nouvelle adresse EC2 IP Amazon, afin que votre application puisse se connecter au nouveau nœud. | Développeur d'applications Couchbase | 

## Ressources connexes
<a name="migrate-couchbase-server-ec2-resources"></a>
+ [Services de serveur Couchbase](https://docs.couchbase.com/server/current/learn/services-and-indexes/services/services.html)
+ [Déployez le serveur Couchbase à l'aide de AWS Marketplace](https://docs.couchbase.com/server/current/cloud/couchbase-aws-marketplace.html)
+ [Connectez-vous au serveur Couchbase](https://docs.couchbase.com/server/current/guides/connect.html)
+ [Gérer les buckets](https://docs.couchbase.com/server/current/manage/manage-buckets/bucket-management-overview.html)
+ [Réplication entre centres de données (XDCR)](https://docs.couchbase.com/server/current/learn/clusters-and-availability/xdcr-overview.html)
+ [Contrat de licence de Couchbase Inc.](https://www.couchbase.com/LA20190115/)

## Informations supplémentaires
<a name="migrate-couchbase-server-ec2-additional"></a>

**Principaux avantages**

La migration de votre base de données Couchbase AWS offre les avantages suivants :

**Scalabilité**. Vous pouvez faire évoluer votre cluster Couchbase à la hausse ou à la baisse en fonction de la demande sans avoir à gérer de matériel physique. Vous pouvez ainsi facilement vous adapter aux fluctuations des volumes de données et de l'utilisation des applications. AWS fournit :
+ Options de mise à l'échelle verticale et horizontale
+ Capacités [de déploiement mondiales](https://aws.amazon.com/about-aws/global-infrastructure/)
+ Équilibrage de charge entre Régions AWS
+ [Solutions de dimensionnement des bases de données](https://aws.amazon.com/blogs/database/scaling-your-amazon-rds-instance-vertically-and-horizontally/)
+ Optimisation [de la diffusion de contenu](https://aws.amazon.com/solutions/content-delivery/)

**Optimisation des performances**. AWS fournit une infrastructure réseau performante et des [types d'instances optimisés](https://aws.amazon.com/ec2/instance-types/) pour garantir un accès rapide aux données et une faible latence pour votre base de données Couchbase.
+ Options de [calcul haute performance (HPC)](https://aws.amazon.com/hpc/)
+ Diffusion de contenu dans le monde entier via [Amazon CloudFront](https://aws.amazon.com/cloudfront/)
+ Plusieurs [options de stockage](https://aws.amazon.com/products/storage/)
+ [Services de base de données](https://aws.amazon.com/products/databases/) avancés, notamment Amazon Relational Database Service (Amazon RDS) et Amazon DynamoDB
+ Connexions à faible latence avec [Direct Connect](https://aws.amazon.com/directconnect/)

**Optimisation des coûts.** Sélectionnez le type d'instance et la configuration appropriés pour équilibrer les performances et les coûts en fonction de votre charge de travail. Payez uniquement pour les ressources que vous utilisez. Cela peut potentiellement réduire vos coûts d'exploitation en éliminant le besoin de gérer le matériel sur site et en tirant parti des AWS Cloud économies d'échelle.
+ [Les instances réservées](https://aws.amazon.com/ec2/pricing/reserved-instances/) peuvent vous aider à planifier à l'avance et à réduire considérablement vos coûts lorsque vous utilisez Couchbase sur. AWS
+ [La mise à l'échelle automatique](https://aws.amazon.com/autoscaling/) empêche le surprovisionnement et vous aide à optimiser votre utilisation et votre rentabilité.

**Sécurité renforcée**. Profitez des fonctionnalités de sécurité robustes AWS, telles que le chiffrement des données, les contrôles d'accès et les groupes de sécurité, pour protéger les données sensibles que vous stockez dans Couchbase. Avantages supplémentaires :
+ Le [modèle de responsabilitéAWS partagée](https://aws.amazon.com/compliance/shared-responsibility-model/) fait clairement la différence entre la sécurité *du* cloud (AWS responsabilité) et la sécurité *dans* le cloud (responsabilité du client).
+ [AWS la conformité](https://aws.amazon.com/compliance/) prend en charge les principales normes de sécurité.
+ AWS fournit des options [de chiffrement](https://docs.aws.amazon.com/prescriptive-guidance/latest/encryption-best-practices/welcome.html) avancées.
+ [Gestion des identités et des accès AWS (IAM)](https://aws.amazon.com/iam/) vous aide à gérer l'accès sécurisé à vos ressources.

**Gestion simplifiée**. AWS fournit des services gérés pour Couchbase, afin que vous puissiez vous concentrer sur le développement d'applications plutôt que sur la gestion de l'infrastructure sous-jacente.

**Portée mondiale**. Vous pouvez déployer votre cluster Couchbase sur plusieurs clusters Régions AWS afin de réduire le temps de latence pour les utilisateurs du monde entier. Vous pouvez déployer vos bases de données entièrement dans le cloud ou dans un environnement hybride. Vous pouvez protéger vos données grâce à une sécurité intégrée de niveau entreprise et à une synchronisation bidirectionnelle rapide et efficace des données entre la périphérie et le cloud. Dans le même temps, vous pouvez simplifier le développement grâce à un modèle de programmation cohérent pour créer des applications Web et mobiles.

**Continuité des activités** :
+ **Sauvegarde et restauration des** données. En cas de problème, vous pouvez l'utiliser [AWS Backup](https://aws.amazon.com/backup/)pour garantir la résilience des données et une restauration facile. Pour les options de reprise après sinistre, consultez la documentation [AWS Well-Architected Framework](https://docs.aws.amazon.com/whitepapers/latest/disaster-recovery-workloads-on-aws/disaster-recovery-options-in-the-cloud.html).
+ **Déploiement multirégional de Couchbase** : pour déployer une base de données Couchbase dans un AWS environnement multirégional, vous pouvez vous abonner à Couchbase Server dans, utiliser des [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)modèles pour créer des clusters Couchbase distincts dans chaque région [AWS Marketplace](https://aws.amazon.com/marketplace/pp/prodview-zy5g2wqmqdyzw), puis configurer la réplication entre régions pour synchroniser les données entre les régions. Cette configuration garantit une haute disponibilité et une redondance géographique dans plusieurs régions. Pour plus d'informations, consultez [Déployer le serveur Couchbase à l'aide](https://docs.couchbase.com/server/current/cloud/couchbase-aws-marketplace.html) de la AWS Marketplace documentation Couchbase.

**Agilité de l'infrastructure** :
+ Provisionnement et [déprovisionnement rapides des ressources](https://aws.amazon.com/products/management-and-governance/use-cases/provisioning-and-orchestration/)
+ [Portée mondiale de l'infrastructure](https://aws.amazon.com/about-aws/global-infrastructure/regions_az/)
+ [Mise à l'échelle automatique](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) en fonction de la demande
+ [Infrastructure en tant que code (IaC)](https://aws.amazon.com/what-is/iac/) pour des déploiements cohérents
+ Plusieurs [types d'instances](https://aws.amazon.com/ec2/instance-types/) optimisés pour différentes charges de travail

**Facilitation de l'innovation** :
+ [Accès aux dernières technologies, notamment l'[IA/ML](https://aws.amazon.com/ai/generative-ai/), l'[IoT](https://aws.amazon.com/iot/) et l'analytique](https://aws.amazon.com/big-data/datalakes-and-analytics/)
+ [Services gérés](https://aws.amazon.com/blogs/architecture/reduce-operational-load-using-aws-managed-services-for-your-data-solutions/), qui réduisent les frais d'exploitation
+ Pratiques [modernes de développement d'applications](https://aws.amazon.com/modern-apps/)
+ Options informatiques [sans serveur](https://aws.amazon.com/serverless/)

**Excellence opérationnelle** :
+ [Surveillance et journalisation centralisées](https://docs.aws.amazon.com/prescriptive-guidance/latest/designing-control-tower-landing-zone/logging-monitoring.html)
+ [Gestion automatisée des ressources](https://aws.amazon.com/systems-manager/)
+ Capacités [de maintenance prédictive](https://aws.amazon.com/what-is/predictive-maintenance/)
+ [Visibilité améliorée sur](https://aws.amazon.com/about-aws/whats-new/2024/12/amazon-cloudwatch-provides-centralized-visibility-telemetry-configurations/) l'utilisation des ressources
+ [Processus de déploiement rationalisés](https://aws.amazon.com/blogs/mt/streamline-change-processes-and-improve-governance-with-aws-well-architected/)

**Opportunités de modernisation** :
+ [Architecture des microservices](https://aws.amazon.com/microservices/)
+ [DevOps](https://aws.amazon.com/devops/)mise en œuvre des pratiques
+ Développement d'applications [cloud natives](https://aws.amazon.com/what-is/cloud-native/)
+ [Modernisation des applications existantes](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-modernizing-applications/welcome.html)

**Avantages compétitifs** :
+ [Délai de mise sur le marché plus court](https://aws.amazon.com/blogs/smb/accelerate-time-to-market-and-business-growth-with-an-automated-software-as-a-service-platform/)
+ [Expérience client](https://aws.amazon.com/blogs/publicsector/improving-customer-experience-for-the-public-sector-using-aws-services/) améliorée
+ [Prise de décision basée sur les données](https://aws.amazon.com/data/data-driven-decision-making/)
+ [Intelligence d'affaires](https://aws.amazon.com/what-is/business-intelligence/) améliorée

# Migrez Db2 for LUW vers Amazon EC2 en utilisant l'expédition des journaux pour réduire les temps d'arrêt
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time"></a>

*Feng Cai, Ambarish Satarkar et Saurabh Sharma, Amazon Web Services*

## Résumé
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-summary"></a>

Lorsque les clients migrent leurs charges de travail IBM Db2 for LUW (Linux, UNIX et Windows) vers Amazon Web Services (AWS), l'utilisation d'Amazon Elastic Compute Cloud (Amazon EC2) avec le modèle Bring Your Own License (BYOL) est le moyen le plus rapide. Cependant, la migration de grandes quantités de données de Db2 sur site vers AWS peut s'avérer difficile, en particulier lorsque la période de panne est courte. De nombreux clients essaient de fixer la fenêtre d'interruption à moins de 30 minutes, ce qui laisse peu de temps à la base de données elle-même.

Ce modèle explique comment effectuer une migration DB2 avec une courte période de panne en utilisant l'expédition du journal des transactions. Cette approche s'applique à Db2 sur une plate-forme Linux de type Little-Endian.

## Conditions préalables et limitations
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une instance DB2 exécutée sur une EC2 instance qui correspond aux dispositions du système de fichiers sur site
+ Un compartiment Amazon Simple Storage Service (Amazon S3) accessible à l'instance EC2 
+ Politique et rôle d'AWS Identity and Access Management (IAM) pour effectuer des appels programmatiques vers Amazon S3
+ Fuseau horaire et horloges système synchronisés sur Amazon EC2 et sur le serveur local
+ Le réseau sur site connecté à AWS via le [ Site-to-SiteVPN AWS](https://aws.amazon.com/vpn/) ou [AWS Direct Connect](https://aws.amazon.com/directconnect/)

**Limites**
+ L'instance Db2 sur site et Amazon EC2 doivent appartenir à la même famille de [plateformes](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms).
+ La charge de travail locale DB2 doit être enregistrée. Pour bloquer toute transaction non enregistrée, définissez la configuration de `blocknonlogged=yes` la base de données.

**Versions du produit**
+ Db2 pour LUW version 11.5.9 et versions ultérieures

## Architecture
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-architecture"></a>

**Pile technologique source**
+ Db2 sous Linux**** x86\$164

**Pile technologique cible**
+ Amazon EBS
+ Amazon EC2
+ AWS Identity and Access Management (IAM)
+ Amazon S3
+  Site-to-SiteVPN AWS ou Direct Connect

**Architecture cible**

Le schéma suivant montre une instance Db2 exécutée sur site avec une connexion de réseau privé virtuel (VPN) à DB2 sur Amazon. EC2 Les lignes pointillées représentent le tunnel VPN entre votre centre de données et le cloud AWS.

![\[Flux de travail pour effectuer une migration DB2 dans une courte période de panne à l'aide de l'expédition du journal des transactions.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/7dec6e4a-a92e-4204-9e42-f89d7dcafbfa/images/a7e1c1d6-2ec1-4271-952d-a58260ad7c81.png)


## Outils
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-tools"></a>

**Services AWS**
+ [L'interface de ligne de commande AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) relie votre réseau interne à un emplacement Direct Connect via un câble Ethernet à fibre optique standard. Grâce à cette connexion, vous pouvez créer des interfaces virtuelles directement vers les services AWS publics tout en contournant les fournisseurs de services Internet sur votre chemin réseau.
+ [Amazon Elastic Block Store (Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AmazonEBS.html)) fournit des volumes de stockage au niveau des blocs à utiliser avec les instances Amazon Elastic Compute Cloud (Amazon). EC2
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.
+ [ Site-to-SiteLe VPN AWS](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) vous aide à faire passer le trafic entre les instances que vous lancez sur AWS et votre propre réseau distant.

**Autres outils**
+ [db2cli](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) est la commande CLI interactive DB2.

## Bonnes pratiques
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-best-practices"></a>
+ Sur la base de données cible, utilisez les [points de terminaison de passerelle pour Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) afin d'accéder à l'image de sauvegarde de la base de données et aux fichiers journaux dans Amazon S3.
+ Sur la base de données source, utilisez [AWS PrivateLink pour Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) pour envoyer l'image de sauvegarde de la base de données et les fichiers journaux à Amazon S3.

## Épopées
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-epics"></a>

### Définir les variables d'environnement
<a name="set-environment-variables"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Définissez les variables d'environnement. | Ce modèle utilise les noms suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.html)Vous pouvez les adapter à votre environnement. | DBA | 

### Configuration du serveur DB2 sur site
<a name="configure-the-on-premises-db2-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez l'interface de ligne de commande AWS. | Pour télécharger et installer la dernière version de l'AWS CLI, exécutez les commandes suivantes :<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Administrateur Linux | 
| Configurez une destination locale pour les journaux d'archive DB2. | Pour que la base de données cible sur Amazon EC2 reste synchronisée avec la base de données source sur site, les derniers journaux de transactions doivent être extraits de la source.Dans cette configuration, `/db2logs` est définie par `LOGARCHMETH2` la source en tant que zone intermédiaire. Les journaux archivés de ce répertoire seront synchronisés dans Amazon S3 et Db2 sur Amazon y accédera. EC2 Le modèle est utilisé `LOGARCHMETH2` parce qu'il a `LOGARCHMETH1` peut-être été configuré pour utiliser un outil d'un fournisseur tiers auquel la commande de la CLI AWS ne peut pas accéder. Pour récupérer les journaux, exécutez la commande suivante : <pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | DBA | 
| Exécutez une sauvegarde de base de données en ligne. | Exécutez une sauvegarde de base de données en ligne et enregistrez-la dans le système de fichiers de sauvegarde local : <pre>db2 backup db sample online to /backup </pre> | DBA | 

### Configuration du compartiment S3 et de la politique IAM
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un compartiment S3. | Créez un compartiment S3 pour que le serveur sur site envoie les images DB2 de sauvegarde et les fichiers journaux vers AWS. Amazon pourra également accéder au bucket EC2 :<pre>aws s3api create-bucket --bucket logshipmig-db2 --region us-east-1 </pre> | Administrateur système AWS | 
|  Créez une politique IAM. | Le `db2bucket.json` fichier contient la politique IAM permettant d'accéder au compartiment Amazon S3 :<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::logshipmig-db2/*",<br />                "arn:aws:s3:::logshipmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre>Pour créer la politique, utilisez la commande de l'AWS CLI suivante :<pre>aws iam create-policy \<br />      --policy-name db2s3policy \<br />      --policy-document file://db2bucket.json </pre> La sortie JSON indique le nom de ressource Amazon (ARN) pour la politique, où `aws_account_id` représente votre identifiant de compte :<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3policy"</pre> | Administrateur AWS, administrateur système AWS | 
| Attachez la politique IAM au rôle IAM utilisé par l' EC2 instance. | Dans la plupart des environnements AWS, une EC2 instance en cours d'exécution possède un rôle IAM défini par votre administrateur système. Si le rôle IAM n'est pas défini, créez-le et choisissez **Modifier le rôle IAM sur la EC2 console pour associer le rôle** à l' EC2 instance qui héberge la base de données Db2. Associez la stratégie IAM au rôle IAM avec l'ARN de la stratégie :<pre>aws iam attach-role-policy \<br />    --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3policy"  \<br />    --role-name db2s3role  </pre>Une fois la politique attachée, toute EC2 instance associée au rôle IAM peut accéder au compartiment S3. | Administrateur AWS, administrateur système AWS | 

### Envoyer l'image de sauvegarde et les fichiers journaux de la base de données source à Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez l'AWS CLI sur le serveur Db2 sur site. | Configurez l'AWS CLI avec le `Access Key ID` et `Secret Access Key` généré à l'étape précédente :<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre>  | Administrateur AWS, administrateur système AWS | 
| Envoyez l'image de sauvegarde à Amazon S3. | Auparavant, une sauvegarde de base de données en ligne était enregistrée dans le répertoire `/backup` local. Pour envoyer cette image de sauvegarde vers le compartiment S3, exécutez la commande suivante :<pre>aws s3 sync /backup s3://logshipmig-db2/SAMPLE_backup</pre> | Administrateur AWS, ingénieur en migration | 
| Envoyez les journaux d'archive DB2 à Amazon S3. | Synchronisez les journaux d'archive Db2 sur site avec le compartiment S3 auquel l'instance Db2 cible peut accéder sur Amazon : EC2<pre>aws s3 sync /db2logs s3://logshipmig-db2/SAMPLE_LOG</pre>Exécutez cette commande régulièrement à l'aide de cron ou d'autres outils de planification. La fréquence dépend de la fréquence à laquelle la base de données source archive les journaux de transactions.  | Administrateur AWS, ingénieur en migration | 

### Connectez Db2 sur Amazon EC2 à Amazon S3 et lancez la synchronisation de la base de données
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-database-sync"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un PKCS12 keystore. | Db2 utilise un magasin de clés de chiffrement PKCS (Public-Key Cryptography Standards) pour sécuriser la clé d'accès AWS. Créez un keystore et configurez l'instance Db2 source pour l'utiliser :<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | DBA | 
| Créez l'alias d'accès au stockage DB2. | Pour créer l'[alias d'accès au stockage](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access), utilisez la syntaxe de script suivante :`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`Par exemple, votre script peut ressembler à ce qui suit : `db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'logshipmig-db2'" ` | DBA | 
| Définissez la zone de transit. | Par défaut, Db2 l'utilise `DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH` comme zone intermédiaire pour charger et télécharger des fichiers depuis et vers Amazon S3. Le chemin par défaut se trouve `sqllib/tmp/RemoteStorage.xxxx` sous le répertoire d'accueil de l'instance, en `xxxx` référence au numéro de partition DB2. Notez que la zone de stockage doit avoir une capacité suffisante pour contenir les images de sauvegarde et les fichiers journaux. Vous pouvez utiliser le registre pour faire pointer la zone de transit vers un autre répertoire.Nous vous recommandons également d'utiliser `DB2_ENABLE_COS_SDK=ON``DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore`, et le lien vers la `awssdk` bibliothèque pour contourner la zone intermédiaire Amazon S3 pour la sauvegarde et la restauration de bases de données :<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />Db2set DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore<br />db2stop<br />db2start</pre> | DBA | 
| Restaurez la base de données à partir de l'image de sauvegarde. | Restaurez la base de données cible sur Amazon EC2 à partir de l'image de sauvegarde dans le compartiment S3 :<pre>db2 restore db sample from DB2REMOTE://DB2AWSS3/logshipmig-db2/SAMPLE_backup replace existing</pre> | DBA | 
| Procédez à la progression de la base de données. | Une fois la restauration terminée, la base de données cible sera mise en attente de report. Configurez `LOGARCHMETH1` et faites en `LOGARCHMETH2` sorte que Db2 sache où obtenir les fichiers du journal des transactions :<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/'<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 OFF</pre>Lancer le rollforward de la base de données :<pre>db2 ROLLFORWARD DATABASE sample to END OF LOGS</pre>Cette commande traite tous les fichiers journaux qui ont été transférés vers le compartiment S3. Exécutez-le régulièrement en fonction de la fréquence de la `s3 sync` commande sur les serveurs Db2 locaux. Par exemple, si elle `s3 sync` s'exécute toutes les heures et que la synchronisation de tous les fichiers journaux prend 10 minutes, définissez la commande pour qu'elle s'exécute 10 minutes après chaque heure.  | DBA | 

### Mettez Db2 EC2 en ligne sur Amazon pendant la période de transition
<a name="bring-db2-on-amazon-ec2-online-during-the-cutover-window"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Mettez la base de données cible en ligne. | Pendant la fenêtre de basculement, effectuez l'une des opérations suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.html)Une fois le dernier journal de transactions synchronisé avec Amazon S3, exécutez la `ROLLFORWARD` commande pour la dernière fois :<pre>db2 rollforward DB sample to END OF LOGS<br />db2 rollforward DB sample complete<br /><br />                                 Rollforward Status<br />....<br /> Rollforward status                     = not pending<br />....<br />DB20000I  The ROLLFORWARD command completed successfully.<br /><br />db2 activate db sample<br />DB20000I  The ACTIVATE DATABASE command completed successfully.</pre>Mettez la base de données cible en ligne et dirigez les connexions de l'application vers Db2 sur Amazon EC2. | DBA | 

## Résolution des problèmes
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Si plusieurs bases de données ont le même nom d'instance et le même nom de base de données sur différents hôtes (DEV, QA, PROD), les sauvegardes et les journaux peuvent être placés dans le même sous-répertoire. | Utilisez différents compartiments S3 pour DEV, QA et PROD, et ajoutez le nom d'hôte comme préfixe de sous-répertoire pour éviter toute confusion. | 
| Si plusieurs images de sauvegarde se trouvent au même emplacement, le message d'erreur suivant s'affichera lors de la restauration :`SQL2522N More than one backup file matches the time stamp value provided for the backed up database image.` | Dans la `restore` commande, ajoutez l'horodatage de la sauvegarde :`db2 restore db sample from DB2REMOTE://DB2AWSS3/logshipmig-db2/SAMPLE_backup taken at 20230628164042 replace existing` | 

## Ressources connexes
<a name="migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time-resources"></a>
+ [Opérations de sauvegarde et de restauration DB2 entre différents systèmes d'exploitation et plateformes matérielles](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Configurer Db2 STORAGE ACCESS ALIAS et REMOTE DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Commande DB2 ROLLFORWARD](https://www.ibm.com/docs/en/db2/11.5?topic=commands-rollforward-database)
+ [Méthode d'archivage du journal secondaire DB2](https://www.ibm.com/docs/en/db2/11.5?topic=parameters-logarchmeth2-secondary-log-archive-method)

# Migrez Db2 for LUW vers Amazon EC2 avec une reprise après sinistre à haute disponibilité
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery"></a>

*Feng Cai, Aruna Gangireddy et Venkatesan Govindan, Amazon Web Services*

## Résumé
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-summary"></a>

Lorsque les clients migrent leur charge de travail IBM Db2 LUW (Linux, UNIX et Windows) vers Amazon Web Services (AWS), le moyen le plus rapide est d'utiliser Amazon Elastic Compute Cloud (Amazon EC2) avec le modèle Bring Your Own License (BYOL). Cependant, la migration de grandes quantités de données de Db2 sur site vers AWS peut s'avérer difficile, en particulier lorsque la période de panne est courte. De nombreux clients essaient de fixer la fenêtre d'interruption à moins de 30 minutes, ce qui laisse peu de temps à la base de données elle-même.

Ce modèle explique comment effectuer une migration vers DB2 avec une courte période de panne en utilisant la reprise après sinistre à haute disponibilité (HADR) de DB2. Cette approche s'applique aux bases de données DB2 qui se trouvent sur la plate-forme Linux Little-endian et n'utilisent pas la fonctionnalité de partitionnement des données (DPF).

## Conditions préalables et limitations
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-prereqs"></a>

**Prérequis**
+ Un compte AWS actif
+ Une instance Db2 exécutée sur une instance Amazon EC2 qui correspond aux configurations du système de fichiers sur site
+ Un bucket Amazon Simple Storage Service (Amazon S3) accessible à l'instance EC2
+ Une politique et un rôle AWS Identity and Access Management (IAM) pour effectuer des appels programmatiques vers Amazon S3
+ Fuseau horaire et horloges système synchronisés sur Amazon EC2 et sur le serveur local
+ Le réseau sur site connecté à AWS via le [ Site-to-SiteVPN AWS](https://aws.amazon.com/vpn/) ou [AWS Direct Connect](https://aws.amazon.com/directconnect/)
+ Communication entre le serveur sur site et Amazon EC2 sur les ports HADR

**Limites**
+ [L'instance Db2 sur site et Amazon EC2 doivent appartenir à la même famille de plateformes.](https://www.ibm.com/docs/en/db2/11.1?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ Le HADR n'est pas pris en charge dans un environnement de base de données partitionné.
+ Le HADR ne prend pas en charge l'utilisation du format brut I/O (accès direct au disque) pour les fichiers journaux de base de données.
+ Le HADR ne prend pas en charge la journalisation infinie.
+ `LOGINDEXBUILD`doit être défini sur`YES`, ce qui augmentera l'utilisation du journal pour la reconstruction de l'index.
+ La charge de travail locale DB2 doit être enregistrée. Définissez `blocknonlogged=yes` dans la configuration de la base de données pour bloquer toutes les transactions non enregistrées.

**Versions du produit**
+ Db2 pour LUW version 11.5.9 et versions ultérieures

## Architecture
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-architecture"></a>

**Pile technologique source**
+ Db2 sous Linux**** x86\$164

**Pile technologique cible**
+ Amazon EC2
+ AWS Identity and Access Management (IAM)
+ Amazon S3
+  Site-to-SiteVPN AWS

**Architecture cible**

Dans le schéma suivant, Db2 on premises est exécuté en `db2-server1` tant que serveur principal. Il dispose de deux cibles de réserve HADR. Une cible de réserve se trouve sur site et est facultative. L'autre cible de réserve `db2-ec2` se trouve sur Amazon EC2. Une fois la base de données transférée vers AWS, `db2-ec2` elle devient la base de données principale.

![\[Workflow permettant de migrer avec une courte fenêtre de panne un Db2 sur site à l'aide de Db2 HADR.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/2db43e4b-f0ea-4a92-96da-4cafb7d3368b/images/5295420e-3cd8-4127-9a18-ade971c36339.png)


1. Les journaux sont transmis de la base de données locale principale vers la base de données locale de secours.

1. À l'aide de Db2 HADR, les journaux sont transmis depuis la base de données principale sur site via un Site-to-Site VPN vers Db2 sur Amazon EC2.

1. Les journaux de sauvegarde et d'archivage DB2 sont envoyés depuis la base de données principale sur site vers le compartiment S3 sur AWS.

## Outils
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-tools"></a>

**Services AWS**
+ [L'interface de ligne de commande AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) relie votre réseau interne à un emplacement Direct Connect via un câble Ethernet à fibre optique standard. Grâce à cette connexion, vous pouvez créer des interfaces virtuelles directement vers les services AWS publics tout en contournant les fournisseurs de services Internet sur votre chemin réseau.
+ [Amazon Elastic Compute Cloud (Amazon EC2](https://docs.aws.amazon.com/ec2/)) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.
+ [ Site-to-SiteLe VPN AWS](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) vous aide à faire passer le trafic entre les instances que vous lancez sur AWS et votre propre réseau distant.

**Autres outils**
+ [db2cli](https://www.ibm.com/docs/en/db2/11.5?topic=commands-db2cli-db2-interactive-cli) est la commande CLI interactive DB2.

## Bonnes pratiques
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-best-practices"></a>
+ Sur la base de données cible, utilisez les [points de terminaison de passerelle pour Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) afin d'accéder à l'image de sauvegarde de la base de données et aux fichiers journaux dans Amazon S3.
+ Sur la base de données source, utilisez [AWS PrivateLink pour Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) pour envoyer l'image de sauvegarde de la base de données et les fichiers journaux à Amazon S3.

## Épopées
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-epics"></a>

### Définir les variables d'environnement
<a name="set-environment-variables"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Définissez les variables d'environnement. | Ce modèle utilise les noms et ports suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)Vous pouvez les adapter à votre environnement. | DBA | 

### Configuration du serveur DB2 sur site
<a name="configure-the-on-premises-db2-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez l'AWS CLI. | Pour télécharger et installer la dernière version de l'AWS CLI, exécutez les commandes suivantes :<pre>$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />unzip awscliv2.zip<br />sudo ./aws/install</pre> | Administrateur Linux | 
| Configurez une destination locale pour les journaux d'archive DB2. | Des conditions telles que les tâches de mise à jour par lots importantes et les ralentissements du réseau peuvent entraîner un décalage du serveur de secours HADR. Pour rattraper son retard, le serveur de secours a besoin des journaux de transactions du serveur principal. La séquence des emplacements pour demander les journaux est la suivante :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.html)Dans cette configuration, `/db2logs` est définie par `LOGARCHMETH2` la source en tant que zone intermédiaire. Les journaux archivés de ce répertoire seront synchronisés dans Amazon S3 et Db2 y accédera sur Amazon EC2. Le modèle est utilisé `LOGARCHMETH2` parce qu'il a `LOGARCHMETH1` peut-être été configuré pour utiliser un outil d'un fournisseur tiers auquel la commande de la CLI AWS ne peut pas accéder :<pre>db2 connect to sample<br />db2 update db cfg for SAMPLE using LOGARCHMETH2 disk:/db2logs</pre> | DBA | 
| Exécutez une sauvegarde de base de données en ligne. | Exécutez une sauvegarde de base de données en ligne et enregistrez-la dans le système de fichiers de sauvegarde local :<pre>db2 backup db sample online to /backup </pre> | DBA | 

### Configuration du compartiment S3 et de la politique IAM
<a name="set-up-the-s3-bucket-and-iam-policy"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un compartiment S3. | Créez un compartiment S3 pour que le serveur sur site envoie les images DB2 de sauvegarde et les fichiers journaux vers AWS. Le bucket sera accessible par Amazon EC2 :<pre>aws s3api create-bucket --bucket hadrmig-db2 --region us-east-1 </pre> | Administrateur AWS | 
| Créez une politique IAM. | Le `db2bucket.json` fichier contient la politique IAM pour accéder au compartiment S3 :<pre>{<br />    "Version": "2012-10-17",		 	 	 <br />    "Statement": [<br />        {<br />            "Effect": "Allow",<br />            "Action": [<br />                "kms:GenerateDataKey",<br />                "kms:Decrypt",<br />                "s3:PutObject",<br />                "s3:GetObject",<br />                "s3:AbortMultipartUpload",<br />                "s3:ListBucket",<br />                "s3:DeleteObject",<br />                "s3:GetObjectVersion",<br />                "s3:ListMultipartUploadParts"<br />            ],<br />            "Resource": [<br />                "arn:aws:s3:::hadrmig-db2/*",<br />                "arn:aws:s3:::hadrmig-db2"<br />            ]<br />        }<br />    ]<br />}</pre>Pour créer la politique, utilisez la commande de l'interface de ligne de commande AWS suivante :<pre>aws iam create-policy \<br />      --policy-name db2s3hapolicy \<br />      --policy-document file://db2bucket.json </pre>La sortie JSON indique le nom de ressource Amazon (ARN) pour la politique, où `aws_account_id` représente l'ID de votre compte :<pre>"Arn": "arn:aws:iam::aws_account_id:policy/db2s3hapolicy"</pre> | Administrateur AWS, administrateur système AWS | 
| Attachez la politique IAM au rôle IAM. | Généralement, l'instance EC2 sur laquelle Db2 est en cours d'exécution possède un rôle IAM attribué par l'administrateur système. Si aucun rôle IAM n'est attribué, vous pouvez choisir **Modifier le rôle IAM** sur la console Amazon EC2.Attachez la politique IAM au rôle IAM associé à l'instance EC2. Une fois la politique attachée, l'instance EC2 peut accéder au compartiment S3 :<pre>aws iam attach-role-policy --policy-arn "arn:aws:iam::aws_account_id:policy/db2s3hapolicy" --role-name db2s3harole   </pre> |  | 

### Envoyer l'image de sauvegarde et les fichiers journaux de la base de données source à Amazon S3
<a name="send-the-source-database-backup-image-and-log-files-to-amazon-s3"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez l'AWS CLI sur le serveur Db2 sur site. | Configurez l'AWS CLI avec le `Access Key ID` et `Secret Access Key` que vous avez généré précédemment :<pre>$ aws configure <br />AWS Access Key ID [None]: *************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: us-east-1<br />Default output format [None]: json</pre> | Administrateur AWS, administrateur système AWS | 
| Envoyez l'image de sauvegarde à Amazon S3. | Auparavant, une sauvegarde de base de données en ligne était enregistrée dans le répertoire `/backup` local. Pour envoyer cette image de sauvegarde vers le compartiment S3, exécutez la commande suivante :<pre>aws s3 sync /backup s3://hadrmig-db2/SAMPLE_backup</pre> | Administrateur AWS, administrateur système AWS | 
| Envoyez les journaux d'archive DB2 à Amazon S3. | Synchronisez les journaux d'archive Db2 sur site avec le compartiment Amazon S3 auquel l'instance Db2 cible peut accéder sur Amazon EC2 :<pre>aws s3 sync /db2logs s3://hadrmig-db2/SAMPLE_LOGS</pre>Exécutez cette commande régulièrement à l'aide de cron ou d'autres outils de planification. La fréquence dépend de la fréquence à laquelle la base de données source archive les journaux de transactions. |  | 

### Connectez Db2 sur Amazon EC2 à Amazon S3 et lancez la synchronisation initiale de la base de données
<a name="connect-db2-on-amazon-ec2-to-amazon-s3-and-start-the-initial-database-sync"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un PKCS12 keystore. | Db2 utilise un magasin de clés de chiffrement PKCS (Public-Key Cryptography Standards) pour sécuriser la clé d'accès AWS. Créez un keystore et configurez le Db2 source pour l'utiliser :<pre>gsk8capicmd_64 -keydb -create -db "/home/db2inst1/.keystore/db2s3.p12" -pw "<password>" -type pkcs12 -stash <br /> <br />db2 "update dbm cfg using keystore_location /home/db2inst1/.keystore/db2s3.p12 keystore_type pkcs12"</pre> | DBA | 
| Créez l'alias d'accès au stockage DB2. | Db2 utilise un alias d'accès au stockage pour accéder directement à Amazon S3 à l'aide des `RESTORE DATABASE` commandes `INGEST` `LOAD``BACKUP DATABASE`,, ou. Parce que vous avez attribué un rôle IAM à l'instance EC2 `USER` et que vous n'`PASSWORD`êtes pas obligé de :`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`Par exemple, votre script peut ressembler à ce qui suit : `db2 "catalog storage access alias DB2AWSS3 vendor S3 server s3.us-east-1.amazonaws.com container 'hadrmig-db2'" ` | DBA | 
| Définissez la zone de transit. | Nous vous recommandons d'utiliser `DB2_ENABLE_COS_SDK=ON``DB2_OBJECT_STORAGE_SETTINGS=EnableStreamingRestore`, et le lien vers la `awssdk` bibliothèque pour contourner la zone intermédiaire Amazon S3 pour la sauvegarde et la restauration de bases de données :<pre>#By root:<br />cp -rp /home/db2inst1/sqllib/lib64/awssdk/RHEL/7.6/* /home/db2inst1/sqllib/lib64/<br /><br />#By db2 instance owner:<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2set DB2_ENABLE_COS_SDK=ON<br />db2set DB2_OBJECT_STORAGE_LOCAL_STAGING_PATH=/db2stage<br />db2stop<br />db2start</pre> | DBA | 
| Restaurez la base de données à partir de l'image de sauvegarde. | Restaurez la base de données cible sur Amazon EC2 à partir de l'image de sauvegarde dans le compartiment S3 :<pre>db2 create db sample on /data1<br />db2 restore db sample from DB2REMOTE://DB2AWSS3/hadrmig-db2/SAMPLE_backup replace existing</pre> | DBA | 

### Configurer le HADR sans le HADR sur site
<a name="set-up-hadr-with-no-hadr-on-premises"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez le serveur DB2 local en tant que serveur principal. | Mettez à jour les paramètres de configuration de base de données pour HADR on `db2-server1` (la source locale) en tant que base principale. Réglez `HADR_SYNCMODE` sur `SUPERASYNC` le mode, qui présente le temps de réponse le plus court pour les transactions :`db2 update db cfg for sample using HADR_LOCAL_HOST db2-server1 HADR_LOCAL_SVC 50010 HADR_REMOTE_HOST db2-ec2 HADR_REMOTE_SVC 50012 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully`Certains retards sur le réseau entre le centre de données sur site et AWS sont attendus. (Vous pouvez définir une `HADR_SYNCMODE` valeur différente en fonction de la fiabilité du réseau. Pour plus d'informations, consultez la section [Ressources connexes](#migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources)). | DBA | 
| Modifiez la destination d'archivage des journaux de la base de données cible. | Modifiez la destination d'archivage des journaux de la base de données cible pour qu'elle corresponde à l'environnement Amazon EC2 :<pre>db2 update db cfg for SAMPLE using LOGARCHMETH1 'DB2REMOTE://DB2AWSS3//SAMPLE_LOGS/' LOGARCHMETH2 OFF<br />DB20000I  The UPDATE DATABASE CONFIGURATION command completed successfully</pre> | DBA | 
| Configurez HADR pour Db2 sur le serveur Amazon EC2. | Mettre à jour la configuration de la base de données pour HADR `db2-ec2` en mode veille :`db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully` | DBA | 
| Vérifiez la configuration du HADR. | Vérifiez les paramètres HADR sur les serveurs Db2 source et cible.Pour vérifier l'installation`db2-server1`, exécutez la commande suivante :<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-ec2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50012<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre> Pour vérifier l'installation`db2-ec2`, exécutez la commande suivante :<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = <br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Les `HADR_REMOTE_SVC` paramètres `HADR_LOCAL_HOST``HADR_LOCAL_SVC`,`HADR_REMOTE_HOST`, et indiquent la configuration principale et l'autre de secours du HADR. | DBA | 
| Démarrez l'instance Db2 HADR. | Démarrez d'abord l'instance Db2 HADR sur le serveur `db2-ec2` de secours :<pre>db2 start hadr on db sample as standby<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>Démarrez Db2 HADR sur le serveur principal (source) : `db2-server1`<pre>db2 start hadr on db sample as primary<br />DB20000I  The START HADR ON DATABASE command completed successfully.</pre>La connexion HADR entre Db2 sur site et sur Amazon EC2 est désormais établie avec succès. Le serveur principal Db2 `db2-server1` commence à diffuser les enregistrements du journal des transactions `db2-ec2` en temps réel. | DBA | 

### Configurer le HADR lorsque le HADR existe sur site
<a name="set-up-hadr-when-hadr-exists-on-premises"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Ajoutez Db2 sur Amazon EC2 en tant que support auxiliaire. | Si le HADR est exécuté sur l'instance Db2 locale, vous pouvez ajouter Db2 sur Amazon EC2 en tant que serveur de secours auxiliaire en `HADR_TARGET_LIST` exécutant les commandes suivantes sur : `db2-ec2``db2 update db cfg for sample using HADR_LOCAL_HOST db2-ec2 HADR_LOCAL_SVC 50012 HADR_REMOTE_HOST db2-server1 HADR_REMOTE_SVC 50010 HADR_REMOTE_INST db2inst1 HADR_SYNCMODE SUPERASYNC DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-server2:50011" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.` | DBA | 
| Ajoutez les informations de veille auxiliaire aux serveurs locaux. | Mise à jour `HADR_TARGET_LIST` sur les deux serveurs locaux (principal et de secours).`db2-server1`Activé, exécutez le code suivant :`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server2:50011\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.``db2-server2`Activé, exécutez le code suivant :`db2 update db cfg for sample using HADR_TARGET_LIST "db2-server1:50010\|db2-ec2:50012" DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully. SQL1363W One or more of the parameters submitted for immediate modification were not changed dynamically. For these configuration parameters, the database must be shutdown and reactivated before the configuration parameter changes become effective.` | DBA | 
| Vérifiez la configuration du HADR. | Vérifiez les paramètres HADR sur les serveurs Db2 source et cible.`db2-server1`Activé, exécutez le code suivant :<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = PRIMARY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server1<br /> HADR local service name                (HADR_LOCAL_SVC) = 50010<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server2<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50011<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server2:50011|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>`db2-server2`Activé, exécutez le code suivant :<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-server2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50011<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-ec2:50012<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = NEARSYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>`db2-ec2`Activé, exécutez le code suivant :<pre>db2 get db cfg for sample|grep HADR<br /> HADR database role                                      = STANDBY<br /> HADR local host name                  (HADR_LOCAL_HOST) = db2-ec2<br /> HADR local service name                (HADR_LOCAL_SVC) = 50012<br /> HADR remote host name                (HADR_REMOTE_HOST) = db2-server1<br /> HADR remote service name              (HADR_REMOTE_SVC) = 50010<br /> HADR instance name of remote server  (HADR_REMOTE_INST) = db2inst1<br /> HADR timeout value                       (HADR_TIMEOUT) = 120<br /> HADR target list                     (HADR_TARGET_LIST) = db2-server1:50010|db2-server2:50011<br /> HADR log write synchronization mode     (HADR_SYNCMODE) = SUPERASYNC<br /> HADR spool log data limit (4KB)      (HADR_SPOOL_LIMIT) = AUTOMATIC(52000)<br /> HADR log replay delay (seconds)     (HADR_REPLAY_DELAY) = 0<br /> HADR peer window duration (seconds)  (HADR_PEER_WINDOW) = 0<br /> HADR SSL certificate label             (HADR_SSL_LABEL) =<br /> HADR SSL Hostname Validation        (HADR_SSL_HOST_VAL) = OFF</pre>Les `HADR_TARGET_LIST` paramètres`HADR_LOCAL_HOST`,`HADR_LOCAL_SVC`, `HADR_REMOTE_HOST``HADR_REMOTE_SVC`, et indiquent la configuration d'un HADR principal et de deux HADR de secours. |  | 
| Arrêtez et démarrez Db2 HADR. | `HADR_TARGET_LIST`est désormais configuré sur les trois serveurs. Chaque serveur DB2 connaît les deux autres. Arrêtez et redémarrez le HADR (brève interruption) pour tirer parti de la nouvelle configuration.`db2-server1`Activé, exécutez les commandes suivantes :<pre>db2 stop hadr on db sample<br />db2 deactivate db sample<br />db2 activate db sample</pre>`db2-server2`Activé, exécutez les commandes suivantes :<pre>db2 deactivate db sample<br />db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>`db2-ec2`Activé, exécutez les commandes suivantes :<pre>db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre>`db2-server1`Activé, exécutez les commandes suivantes :<pre>db2 start hadr on db sample as primary<br />SQL1766W  The command completed successfully</pre>La connexion HADR entre Db2 sur site et sur Amazon EC2 est désormais établie avec succès. Le serveur principal DB2 `db2-server1` commence à diffuser les enregistrements du journal des transactions à la fois `db2-server2` et `db2-ec2` en temps réel.  | DBA | 

### Définir Db2 sur Amazon EC2 comme principal pendant la période de transition
<a name="make-db2-on-amazon-ec2-as-primary-during-the-cutover-window"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Assurez-vous qu'il n'y a aucun décalage HADR sur le serveur de secours. | Vérifiez l'état du HADR sur le serveur `db2-server1` principal. Ne vous inquiétez pas lorsque le `REMOTE_CATCHUP` statut `HADR_STATE` est activé, ce qui est normal lorsqu'il `HADR_SYNCMODE` est réglé sur. `SUPERASYNC` Le `PRIMARY_LOG_TIME` et `STANDBY_REPLAY_LOG_TIME` montrent qu'ils sont synchronisés :<pre>db2pd -hadr -db sample<br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL<br />                        HADR_SYNCMODE = SUPERASYNC<br />                           STANDBY_ID = 2<br />                        LOG_STREAM_ID = 0<br />                           HADR_STATE = REMOTE_CATCHUP<br />.....<br />                     PRIMARY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />                     STANDBY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)<br />              STANDBY_REPLAY_LOG_TIME = 10/26/2022 02:11:32.000000 (1666750292)</pre> | DBA | 
| Lancez HADR Takeover. | Pour terminer la migration, créez `db2-ec2` la base de données principale en exécutant la commande HADR takeover. Utilisez la commande `db2pd` pour vérifier la `HADR_ROLE` valeur :<pre>db2 TAKEOVER HADR ON DATABASE sample<br />DB20000I  The TAKEOVER HADR ON DATABASE command completed successfully.<br /><br />db2pd -hadr -db sample<br />Database Member 0 -- Database SAMPLE -- Active -- Up 0 days 00:03:25 -- Date 2022-10-26-02.46.45.048988<br /><br />                            HADR_ROLE = PRIMARY<br />                          REPLAY_TYPE = PHYSICAL</pre>Pour terminer la migration vers AWS, dirigez les connexions de l'application vers Db2 sur Amazon EC2. |  | 

## Résolution des problèmes
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Si vous utilisez le NAT pour des raisons de pare-feu et de sécurité, l'hôte peut avoir deux adresses IP (une interne et une externe), ce qui peut entraîner un échec de la vérification de l'adresse IP HADR. La `START HADR ON DATABASE` commande renverra le message suivant :`HADR_LOCAL_HOST:HADR_LOCAL_SVC (-xx-xx-xx-xx.:50011 (xx.xx.xx.xx:50011)) on remote database is different from HADR_REMOTE_HOST:HADR_REMOTE_SVC (xx-xx-xx-xx.:50011 (x.x.x.x:50011)) on local database.` | Pour [prendre en charge le HADR dans un environnement NAT,](https://www.ibm.com/docs/en/db2/11.5?topic=support-hadr-nat) vous pouvez configurer le `HADR_LOCAL_HOST` avec l'adresse interne et externe. Par exemple, si le serveur DB2 possède le nom interne `host1` et le nom externe`host1E`, cela `HADR_LOCAL_HOST` peut être `HADR_LOCAL_HOST: "host1 \| host1E"` le cas. | 

## Ressources connexes
<a name="migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery-resources"></a>
+ [Opérations de sauvegarde et de restauration DB2 entre différents systèmes d'exploitation et plateformes matérielles](https://www.ibm.com/docs/en/db2/11.5?topic=dbrs-backup-restore-operations-between-different-operating-systems-hardware-platforms)
+ [Configurer Db2 STORAGE ACCESS ALIAS et REMOTE DB2](https://www.ibm.com/docs/en/db2/11.5?topic=commands-catalog-storage-access)
+ [Reprise après sinistre à haute disponibilité Db2](https://www.ibm.com/docs/en/db2/11.5?topic=server-high-availability-disaster-recovery-hadr)
+ [hadr\$1syncmode - Mode de synchronisation HADR pour les écritures de journal dans le paramètre de configuration de l'état homologue](https://www.ibm.com/docs/en/db2/11.5?topic=dcp-hadr-syncmode-hadr-synchronization-mode-log-writes-in-peer-state)

# Migrez les applications hébergées EC2 par IIS vers Amazon à l'aide de appcmd.exe
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd"></a>

*Deepak Kumar, Amazon Web Services*

## Résumé
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-summary"></a>

Lorsque vous migrez des applications hébergées par Internet Information Services (IIS) vers des instances Amazon Elastic Compute Cloud (Amazon EC2), vous devez résoudre plusieurs problèmes d'authentification. Ces défis incluent la saisie à nouveau des informations d'identification de domaine pour les identités des pools d'applications et la régénération potentielle des clés de machine pour garantir le bon fonctionnement du site Web. Vous pouvez l'utiliser AWS Directory Service pour établir des relations de confiance avec votre Active Directory local ou créer un nouvel Active Directory géré dans AWS. Ce modèle décrit une approche de migration propre qui utilise les fonctionnalités de sauvegarde et de restauration des EC2 instances d'IIS sur Amazon. L'approche utilise appcmd.exe pour désinstaller et réinstaller IIS sur les EC2 instances cibles, permettant ainsi une migration réussie des sites Web hébergés par IIS, des identités des pools d'applications et des clés de machine. 

## Conditions préalables et limitations
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS pour le serveur cible.
+ Un serveur IIS source fonctionnel hébergeant des sites Web.
+ Compréhension des principes de fonctionnement d'IIS tels que l'administration et la configuration.
+ Accès de l'administrateur système sur les serveurs source et cible.
+ Migration terminée du serveur IIS source vers la cible Compte AWS. Vous pouvez utiliser des outils de migration tels qu' AWS Application Migration Service une approche basée sur des instantanés Amazon Machine Image (AMI) ou d'autres outils de migration.

**Limites**
+ Certains Services AWS ne sont pas disponibles du tout Régions AWS. Pour connaître la disponibilité par région, consultez la section [AWS Services par région](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Pour des points de terminaison spécifiques, consultez [Points de terminaison de service et quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html), puis choisissez le lien correspondant au service.

**Versions du produit**
+ IIS 8.5 ou IIS 10.0

## Architecture
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-architecture"></a>

**Pile technologique source**
+ Windows Server avec IIS 8.5 ou IIS 10.0 installé

**Pile technologique cible**
+ Windows Server avec IIS 8.5 ou IIS 10.0 installé
+ Service de migration d'applications

**Architecture cible**

Le schéma suivant montre les composants du flux de travail et de l'architecture de ce modèle.

![\[Flux de travail pour migrer les applications hébergées par IIS vers Amazon. EC2\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/2f9f7757-b2bc-4077-b51a-700de521424c/images/36aa9b7a-d0aa-4fa4-be47-9fee43b53c22.png)


La solution comprend les étapes suivantes :

1. [Installez](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html) et configurez l'agent de AWS réplication sur le serveur IIS source de votre centre de données d'entreprise. Cet agent lance le processus de réplication et gère le transfert de données vers AWS.

1. L'agent de AWS réplication établit une [connexion sécurisée](https://docs.aws.amazon.com/mgn/latest/ug/Agent-Related-FAQ.html#How-Communication-Secured) au service de migration des applications et commence à répliquer les données du serveur source, notamment les configurations IIS, les sites Web et les fichiers d'application.

1. Le service de migration d'applications lance EC2 des instances dans le sous-réseau de l'application avec les données répliquées. L' EC2 instance cible exécute IIS et contient les applications migrées avec leurs volumes Amazon Elastic Block Store (Amazon EBS) associés. Après la réplication initiale, le service de migration des applications continue de synchroniser les modifications jusqu'[à ce que vous soyez prêt à passer au](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html#ready-for-cutover1) nouvel environnement.

## Outils
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-tools"></a>

**Services AWS**
+ [AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)vous permet de réhéberger (*transférer et déplacer*) des applications vers le site AWS Cloud sans modification et avec un minimum de temps d'arrêt.
+ [Amazon Elastic Block Store (Amazon EBS) fournit des volumes de stockage au niveau des blocs à utiliser avec les instances Amazon](https://docs.aws.amazon.com/ebs/latest/userguide/what-is-ebs.html). EC2 
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fournit une capacité de calcul évolutive dans le AWS Cloud. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.

**Autres outils**
+ [Internet Information Services (IIS)](https://www.iis.net/overview) pour Windows Server est un serveur Web doté d'une architecture évolutive et ouverte permettant d'héberger tout ce qui se trouve sur le Web. IIS fournit un ensemble d'outils d'administration, notamment des outils d'administration et de ligne de commande (par exemple, appcmd.exe), du code managé et des scripts APIs, ainsi que le PowerShell support Windows.

## Épopées
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-epics"></a>

### Sauvegardez IIS à la source avant la migration
<a name="back-up-iis-at-source-prior-to-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez des sauvegardes des sites Web hébergés par IIS, des clés de configuration et `WAS` des clés. | Pour créer des sauvegardes pour les sites Web hébergés par IIS, utilisez la clé de configuration (`iisConfigurationKey`) et la `WAS` clé (`iisWasKey`) sur le serveur source. appcmd.exe Procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html)Pour exporter la clé de configuration et la `WAS` clé, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrateur IIS | 

### Désinstallez et réinstallez IIS sur le serveur cible
<a name="uninstall-and-reinstall-iis-on-the-target-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Désinstallez IIS sur le serveur cible. | Pour désinstaller IIS sur le serveur cible, procédez comme suit : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrateur IIS | 
| Installez IIS sur le serveur cible. | Pour installer IIS sur le serveur cible, procédez comme suit : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrateur IIS | 

### Restaurez les sites Web et la configuration IIS à partir des sauvegardes
<a name="restore-iis-websites-and-configuration-from-the-backups"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Restaurez les sites Web et la configuration d'IIS. | Pour restaurer les sauvegardes IIS que vous avez créées à partir du serveur source sur le serveur cible, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.html) | Administrateur IIS | 

## Ressources connexes
<a name="migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd-resources"></a>

**AWS documentation**
+ [Installation de l'agent de AWS réplication](https://docs.aws.amazon.com/mgn/latest/ug/agent-installation.html) (AWS Application Migration Service documentation)

**AWS Conseils prescriptifs**
+ [Migrez une machine virtuelle sur site vers Amazon EC2 en utilisant AWS Application Migration Service](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)
+ [Utilisation de AMIs nos instantanés Amazon EBS pour les sauvegardes](https://docs.aws.amazon.com/prescriptive-guidance/latest/backup-recovery/ec2-backup.html#amis-snapshots)

**Ressources Microsoft**
+ [Identités du pool d'applications](https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/iis/was-service-svchost-process-operation/understanding-identities#application-pool-identities)
+ [Documentation IIS](https://learn.microsoft.com/en-us/iis/)
+ [Documentation appcmd.exe d'IIS 8](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635852(v=ws.11))
+ [Documentation appcmd.exe d'IIS 10](https://learn.microsoft.com/en-us/iis/get-started/whats-new-in-iis-10/new-features-introduced-in-iis-10)
+ [Outils d'administration puissants](https://learn.microsoft.com/en-us/iis/overview/powerful-admin-tools)

# Migrer une base de données Microsoft SQL Server sur site vers Amazon à EC2 l'aide du service de migration d'applications
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn"></a>

*Senthil Ramasamy, Amazon Web Services*

## Résumé
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-summary"></a>

Ce modèle décrit les étapes de migration d'une base de données Microsoft SQL Server d'un centre de données sur site vers une instance Amazon Elastic Compute Cloud EC2 (Amazon). Il utilise le AWS Application Migration Service (AWS MGN) pour réhéberger votre base de données à l'aide d'une migration automatique lift-and-shift. AWS MGN effectue une réplication au niveau des blocs de votre serveur de base de données source.

## Conditions préalables et limitations
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-prereqs"></a>

**Prérequis**
+ Un actif Compte AWS
+ Une base de données Microsoft SQL Server source dans un centre de données sur site

**Limites**
+ La bande passante de votre réseau peut être limitée entre le centre de données sur site et AWS.
+ AWS MGN est limité aux bases de données hébergées sur des serveurs autonomes dotés d'un stockage dédié. Il ne prend pas en charge la migration de systèmes de base de données en cluster ni de systèmes de base de données dont le taux de modification dépasse le débit du réseau.
+ Certains Services AWS ne sont pas disponibles du tout Régions AWS. Pour connaître la disponibilité par région, voir [Services AWS par région](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/). Pour des points de terminaison spécifiques, consultez la [page Points de terminaison et quotas du service](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/), puis choisissez le lien vers le service.

**Versions du produit**
+ Toutes les versions de la base de données Microsoft SQL Server
+ Systèmes d'exploitation Windows et Linux [compatibles avec AWS MGN](https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html)

## Architecture
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-architecture"></a>

**Pile technologique source**

Une base de données Microsoft SQL Server sur site

**Pile technologique cible**

Une base de données Microsoft SQL Server sur une EC2 instance Amazon

**Architecture cible**

![\[Répliquez les données d'un centre de données d'entreprise sur site vers AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/a459eaef-c256-4691-a7ec-2304f634228c/images/d8d6cee7-f42c-4686-bf92-6e6d39adfb17.png)


Cette architecture utilise AWS MGN pour répliquer les données d'un centre de données d'entreprise sur site vers. AWS Le schéma montre le processus de réplication des données, les communications avec les API, ainsi que les phases de test et de transition.

1. Réplication des données :
   + AWS MGN réplique les données du centre de données d'entreprise sur site vers le centre de données de l'entreprise AWS et lance une réplication continue des modifications.
   + Les serveurs de réplication du sous-réseau intermédiaire reçoivent et traitent les données.

1. Communication avec l'API :
   + Les serveurs de réplication se connectent aux points de terminaison d'API AWS MGN EC2, Amazon et Amazon Simple Storage Service (Amazon S3) via le port TCP 443.
   + AWS MGN gère la migration.
   + Amazon EC2 gère les opérations des instances.

1. Test et découpage :
   + Les instances de test sont lancées dans le sous-réseau opérationnel à l'aide de données répliquées.
   + Une fois les tests réussis, AWS MGN crée des instances de transition pour la migration finale.

## Outils
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-tools"></a>
+ [AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) vous aide à réhéberger (*transférer et déplacer*) des applications AWS Cloud sans modification et avec un minimum de temps d'arrêt.
+ [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)relie votre réseau interne à un point Direct Connect via un câble Ethernet à fibre optique standard. Grâce à cette connexion, vous pouvez créer des interfaces virtuelles directement vers les AWS services publics tout en contournant les fournisseurs de services Internet sur votre chemin réseau.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) fournit une capacité de calcul évolutive dans le AWS Cloud. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.

## Bonnes pratiques
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-best-practices"></a>
+ Configurez des points de terminaison régionaux d'API pour AWS MGN EC2, Amazon et Amazon S3 dans le cloud privé virtuel (VPC) afin d'interdire l'accès public depuis Internet.
+ Configurez les paramètres de lancement AWS MGN pour lancer les serveurs de base de données cibles dans un sous-réseau privé.
+ N'autorisez que les ports requis dans les groupes de sécurité de base de données.
+ Respectez le principe du moindre privilège et accordez les autorisations minimales requises pour effectuer une tâche. Pour plus d'informations, consultez les sections [Accorder le moindre privilège](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) et [Bonnes pratiques en matière de sécurité](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) dans la documentation IAM.

## Épopées
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-epics"></a>

### Configuration d'AWS MGN
<a name="set-up-aws-mgn"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez AWS MGN. | Recherchez le AWS Application Migration Service dans le AWS Management Console et lancez le processus de configuration. Cela créera un modèle de réplication et vous redirigera vers la page des **serveurs source** de la console MGN. Lorsque vous configurez le service MGN, choisissez un rôle de service dans la liste générée. | DBA, ingénieur en migration | 
| Ajoutez un serveur source. | Ajoutez les détails de votre serveur de base de données source sur site, puis ajoutez le serveur. | DBA, ingénieur en migration | 
| Installez l'agent AWS MGN sur le serveur source. | Téléchargez le programme d'installation de l'agent AWS MGN sur votre système local et transférez-le sur votre serveur de base de données source. Pour valider le hachage du programme d'installation, voir Validation du programme d'[installation de l'agent de AWS réplication téléchargé pour Windows 2012](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html#installer-hash-table-2012). | DBA, ingénieur en migration | 

### Installation de l'agent AWS MGN sur les machines sources
<a name="install-aws-mgn-agent-on-source-machines"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Générez les informations d'identification IAM du client. | Avant d'installer l'agent AWS MGN, générez des AWS informations d'identification en créant un nouvel utilisateur IAM doté des autorisations appropriées.Pour plus d'informations, consultez les [politiques gérées par AWS AWS Application Migration Service et la](https://docs.aws.amazon.com/mgn/latest/ug/security-iam-awsmanpol.html) [création des AWS informations d'identification requises](https://docs.aws.amazon.com/mgn/latest/ug/credentials.html). | DBA, ingénieur en migration | 
| Installez l'agent sur le serveur source. | Installez l'agent sur la machine source qui héberge la base de données Microsoft SQL Server. Pour plus d'informations, consultez la section [Installation de l'agent de AWS réplication sur les serveurs Windows](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html).Fournissez les informations d'identification AWS suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Vos AWS informations d'identification uniques permettent à l'agent AWS MGN de s'authentifier et d'effectuer des tâches de migration. | Propriétaire de l'application, DBA, ingénieur en migration | 
| Choisissez les disques à répliquer. | Après avoir saisi vos AWS informations d'identification, le programme d'installation vérifie que votre serveur répond aux exigences minimales pour l'installation de l'agent (par exemple, si le serveur dispose de suffisamment d'espace disque pour installer l'agent AWS MGN). Le programme d'installation affiche les étiquettes des volumes et les informations relatives au stockage.Pour répliquer votre base de données à l'aide du service AWS MGN, sélectionnez les disques appropriés sur votre serveur source. Entrez le chemin de chaque disque, séparé par des virgules. Si vous souhaitez répliquer tous les disques, laissez le chemin vide. Après avoir confirmé les disques sélectionnés, l'installation se poursuit. | DBA, ingénieur en migration | 
| Surveillez la progression de la synchronisation. | AWS L'agent de réplication lance le processus de synchronisation en prenant d'abord un instantané des disques sélectionnés, puis en répliquant les données.Vous pouvez suivre la progression de la synchronisation depuis la page **Serveur source** de la console AWS MGN. Pour plus d'informations, voir [Surveiller le serveur pendant le cycle de vie de la migration](https://docs.aws.amazon.com/mgn/latest/ug/migration-dashboard.html). | DBA, ingénieur en migration | 

### Réplication à l'aide d'AWS MGN
<a name="replication-using-aws-mgn"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Gérez la progression de la réplication. | Une fois la synchronisation initiale lancée, votre serveur source apparaît dans la console AWS MGN, où vous pouvez gérer et surveiller la migration. La console affiche une estimation de la durée de réplication complète, basée sur la taille totale des disques sélectionnés et la bande passante réseau disponible. | DBA, ingénieur en migration | 
| Vérifiez la synchronisation. | Une fois les disques du serveur source entièrement synchronisés, vérifiez que tous les disques sélectionnés sont répertoriés comme étant entièrement synchronisés et qu'aucune erreur n'est signalée dans la console.La console AWS MGN fera ensuite passer automatiquement l'état du cycle de vie de migration à **Prêt pour les tests**, ce qui indique que l'environnement répliqué AWS est prêt pour les tests de performances et de fonctionnalités. | Propriétaire de l'application, DBA, ingénieur en migration | 

### Tester et découper
<a name="test-and-cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez les paramètres de lancement. | Choisissez le serveur source dans la console AWS MGN et mettez à jour les paramètres de lancement de l'instance de test cible. Sur la page de **détails du serveur** source, accédez à l'onglet **Paramètres de lancement** pour configurer l'instance de test.Choisissez un type d'instance rentable et un type de volume Amazon Elastic Block Store (Amazon EBS), puis configurez les groupes de sécurité et les exigences du réseau. Pour plus d'informations, consultez la section [Paramètres de lancement](https://docs.aws.amazon.com/mgn/latest/ug/launch-settings.html). | DBA, ingénieur en migration | 
| Lancez l'instance de test cible. | Accédez à la console AWS MGN de votre machine source synchronisée et lancez une instance de test cible en choisissant **Test and cut over**, puis **Launch test** instances.Cela crée une tâche de lancement qui déploie l'instance de test en utilisant les paramètres que vous avez configurés. L'instance est lancée dans l'environnement de votre serveur de base de données source AWS Cloud et le réplique. Surveillez la progression du lancement depuis la page **Historique des lancements**, où vous pouvez suivre la création de l'instance et résoudre les éventuels problèmes. | DBA, ingénieur en migration | 
| Validez l'instance de test cible. | Validez le serveur EC2 de base de données Amazon :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Effectuez des tests de validation pour vous assurer que la base de données fonctionne comme prévu. | DBA, ingénieur en migration | 
| Renommez le serveur. | AWS La migration MGN implique une copie au niveau du stockage de votre serveur source sur site. Votre EC2 instance SQL Server contient uniquement les informations du serveur source d'origine dans ses fichiers binaires. Mettez donc à jour les informations binaires pour qu'elles reflètent le nom du nouveau serveur.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html) | DBA, ingénieur en migration | 
| Lancez l'instance de transition. | Dans la console AWS MGN, sur la page **Serveurs source**, vérifiez que l'état du cycle de vie de migration du serveur est « **Prêt pour le passage ».** Configurez les paramètres de lancement de l'instance de transition, en veillant à ce qu'ils reflètent votre environnement sur site.Avant de lancer le transfert, arrêtez votre base de données locale, ce qui garantit les points suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html)Initiez l'instance de transition dans la console AWS MGN. Lorsque l'instance de transition est opérationnelle, connectez-vous à l'instance et effectuez les tests suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.html) | Propriétaire de l'application, DBA, ingénieur en migration, responsable de la migration | 

## Résolution des problèmes
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| La synchronisation initiale échoue à l'étape d'authentification. | Il s'agit d'un problème de connectivité réseau. Le serveur de réplication ne peut pas se connecter à AWS MGN. | 

## Ressources connexes
<a name="migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn-resources"></a>

**Documentation AWS**
+ [Commencer avec AWS Application Migration Service](https://docs.aws.amazon.com/mgn/latest/ug/getting-started.html)
+ [Migrer une base de données Microsoft SQL Server sur site vers Amazon EC2](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.html)
+ [Qu'est-ce que Microsoft SQL Server sur Amazon EC2 ?](https://docs.aws.amazon.com/sql-server-ec2/latest/userguide/sql-server-on-ec2-overview.html)

**Vidéos**
+ [Effectuer une migration par levage et changement de vitesse avec AWS Application Migration Service](https://www.youtube.com/watch?v=tB0sAR3aCb4) (vidéo)

# Migrez une charge de travail F5 BIG-IP vers F5 BIG-IP VE sur le AWS Cloud
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud"></a>

*Deepak Kumar, Amazon Web Services*

## Résumé
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-summary"></a>

Organisations cherchent à migrer vers le AWS Cloud pour accroître leur agilité et leur résilience. Après avoir migré vos solutions de sécurité et de gestion du trafic [F5 BIG-IP](https://www.f5.com/products/big-ip-services) vers le AWS Cloud, vous pouvez vous concentrer sur l'agilité et l'adoption de modèles opérationnels à forte valeur ajoutée dans l'architecture de votre entreprise.

Ce modèle décrit comment migrer une charge de travail F5 BIG-IP vers une charge de travail [F5 BIG-IP Virtual Edition (](https://www.f5.com/products/big-ip-services/virtual-editions)VE) sur le. AWS Cloud La charge de travail sera migrée en réhébergeant l'environnement existant et en déployant certains aspects de la replateforme, tels que la découverte de services et les intégrations d'API. [AWS CloudFormation les modèles](https://github.com/F5Networks/f5-aws-cloudformation) accélèrent la migration de votre charge de travail vers le AWS Cloud.

Ce modèle est destiné aux équipes d'ingénierie technique et d'architecture qui migrent des solutions de sécurité et de gestion du trafic F5, et accompagne le guide [Migration de F5 BIG-IP vers F5 BIG-IP VE sur le site Web du guide prescriptif](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-f5-big-ip/welcome.html). AWS Cloud AWS 

## Conditions préalables et limitations
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-prereqs"></a>

**Conditions préalables**
+ Charge de travail F5 BIG-IP existante sur site.
+ Licences F5 existantes pour les versions BIG-IP VE.
+ Un actif Compte AWS.
+ Cloud privé virtuel (VPC) existant configuré avec une sortie via une passerelle NAT ou une adresse IP élastique, et configuré avec accès aux points de terminaison suivants : Amazon Simple Storage Service (Amazon S3), Amazon Elastic Compute Cloud (Amazon EC2), () et Amazon AWS Security Token Service .AWS STS CloudWatch Vous pouvez également modifier l'[architecture VPC modulaire et évolutive](https://aws.amazon.com/quickstart/architecture/vpc/) Quick Start comme élément de base de vos déploiements. 
+ Une ou deux zones de disponibilité existantes, selon vos besoins. 
+ Trois sous-réseaux privés existants dans chaque zone de disponibilité.
+ AWS CloudFormation modèles, [disponibles dans le GitHub référentiel F5.](https://github.com/F5Networks/f5-aws-cloudformation/blob/master/template-index.md) 

Au cours de la migration, vous pouvez également utiliser les éléments suivants, en fonction de vos besoins :
+ Une [extension F5 Cloud Failover](https://clouddocs.f5.com/products/extensions/f5-cloud-failover/latest/) pour gérer le mappage des adresses IP élastiques, le mappage des adresses IP secondaires et les modifications des tables de routage. 
+ Si vous utilisez plusieurs zones de disponibilité, vous devrez utiliser les extensions F5 Cloud Failover pour gérer le mappage IP élastique vers les serveurs virtuels.
+ Vous devriez envisager d'utiliser [F5 Application Services 3 (AS3)](https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/), [F5 Application Services Templates (FAST)](https://clouddocs.f5.com/products/extensions/f5-appsvcs-templates/latest/) ou un autre modèle d'infrastructure sous forme de code (IaC) pour gérer les configurations. La préparation des configurations dans un modèle IaC et l'utilisation de référentiels de code faciliteront la migration et vos efforts de gestion continus.

**Expertise**
+ Ce modèle nécessite de connaître la manière dont un ou plusieurs VPCs peuvent être connectés aux centres de données existants. Pour plus d'informations à ce sujet, consultez les [options de connectivité Network-to-Amazon VPC](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) dans la documentation Amazon VPC. 
+ [Il est également nécessaire de connaître les produits et modules F5, notamment le [système d'exploitation de gestion du trafic (TMOS), le gestionnaire de trafic local (LTM)](https://www.f5.com/services/resources/white-papers/tmos-redefining-the-solution)[, le gestionnaire de trafic mondial (GTM)](https://www.f5.com/products/big-ip-services/local-traffic-manager)[, le gestionnaire de politiques d'accès (APM)](https://techdocs.f5.com/kb/en-us/products/big-ip_gtm/manuals/product/gtm-concepts-11-5-0/1.html#unique_9842886)[, le gestionnaire de sécurité des applications (ASM)](https://www.f5.com/products/security/access-policy-manager)[, le gestionnaire de pare-feu avancé (AFM)](https://www.f5.com/pdf/products/big-ip-application-security-manager-overview.pdf)[et le BIG-IQ](https://www.f5.com/products/security/advanced-firewall-manager).](https://www.f5.com/products/automation-and-orchestration/big-iq)

**Versions du produit**
+ [Nous vous recommandons d'utiliser F5 BIG-IP [version 13.1](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/releasenotes/product/relnote-bigip-ve-13-1-0.html) ou ultérieure, bien que le modèle soit compatible avec F5 BIG-IP version 12.1 ou ultérieure.](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/releasenotes/product/relnote-bigip-12-1-4.html)

## Architecture
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-architecture"></a>

**Pile technologique source**
+ Charge de travail F5 BIG-IP

**Pile technologique cible**
+ Amazon CloudFront
+ CloudWatch
+ Amazon EC2
+ Amazon S3
+ Amazon VPC
+ AWS Global Accelerator
+ AWS STS
+ AWS Transit Gateway
+ V5 À GRANDE OUVERTURE

**Architecture cible**

![\[Architecture permettant de migrer une charge de travail F5 BIG-IP vers une charge de travail F5 BIG-IP VE.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/586fe806-fac1-48d3-9eb1-45a6c86430dc/images/16d7fc09-1ffe-4721-b503-d971db84cbae.png)


## Outils
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-tools"></a>
+ [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)vous aide à configurer les AWS ressources, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie, de bout Comptes AWS en bout Régions AWS.
+ [Amazon CloudFront](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html) accélère la diffusion de votre contenu Web en le diffusant via un réseau mondial de centres de données, ce qui réduit le temps de latence et améliore les performances.   
+ [Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) vous CloudWatch aide à surveiller les indicateurs de vos AWS ressources et des applications que vous utilisez AWS en temps réel.
+ [Amazon Elastic Compute Cloud (Amazon EC2](https://docs.aws.amazon.com/ec2/)) fournit une capacité de calcul évolutive. Vous pouvez lancer autant AWS Cloud de serveurs virtuels que nécessaire et les faire évoluer rapidement à la hausse ou à la baisse.
+ [Gestion des identités et des accès AWS (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 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 Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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 Security Token Service (AWS STS)](https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html) vous permet de demander des informations d'identification temporaires à privilèges limités pour les utilisateurs.
+ [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)est un hub central qui connecte des clouds privés virtuels (VPCs) et des réseaux sur site.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) vous aide à lancer AWS des ressources dans un réseau virtuel que vous avez défini. Ce réseau virtuel ressemble à un réseau traditionnel que vous pourriez exécuter dans votre propre centre de données et présente l'avantage d'utiliser l'infrastructure évolutive d' AWS.

## Épopées
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-epics"></a>

### Découverte et évaluation
<a name="discovery-and-assessment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Évaluez les performances du F5 BIG-IP. | Collectez et enregistrez les indicateurs de performance des applications sur le serveur virtuel, ainsi que les indicateurs des systèmes qui seront migrés. Cela permettra de dimensionner correctement l' AWS infrastructure cible pour une meilleure optimisation des coûts. | F5 Architecte, ingénieur et architecte réseau, ingénieur | 
| Évaluez le système d'exploitation et la configuration du F5 BIG-IP. | Évaluez quels objets seront migrés et si une structure de réseau doit être maintenue, par exemple VLANs. | F5 Architecte, ingénieur | 
| Évaluez les options de licence F5. | Évaluez le modèle de licence et de consommation dont vous aurez besoin. Cette évaluation doit être basée sur votre évaluation du système d'exploitation et de la configuration du F5 BIG-IP. | F5 Architecte, ingénieur | 
| Évaluez les applications publiques. | Déterminez quelles applications nécessiteront des adresses IP publiques. Alignez ces applications sur les instances et les clusters requis pour répondre aux exigences de performance et d'accord de niveau de service (SLA). | Architecte F5, architecte cloud, architecte réseau, ingénieur, équipes d'applications | 
| Évaluez les candidatures internes. | Évaluez les applications qui seront utilisées par les utilisateurs internes. Assurez-vous de savoir où se situent ces utilisateurs internes au sein de l'organisation et comment ces environnements se connectent au AWS Cloud. Vous devez également vous assurer que ces applications peuvent utiliser le système de noms de domaine (DNS) dans le cadre du domaine par défaut. | Architecte F5, architecte cloud, architecte réseau, ingénieur, équipes d'applications | 
| Finalisez l'AMI. | Toutes les versions de F5 BIG-IP ne sont pas créées en tant qu'Amazon Machine Images (). AMIs Vous pouvez utiliser l'outil de génération d'images F5 BIG-IP si vous avez des versions spécifiques d'ingénierie de correction rapide (QFE) requises. Pour plus d'informations sur cet outil, consultez la section « Ressources associées ». | Architecte F5, architecte cloud, ingénieur | 
| Finalisez les types et l'architecture des instances. | Décidez des types d'instances, de l'architecture VPC et de l'architecture interconnectée. | Architecte F5, architecte cloud, architecte réseau, ingénieur | 

### Activités complètes liées à la sécurité et à la conformité
<a name="complete-security-and-compliance-related-activities"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Documentez les politiques de sécurité F5 existantes. | Collectez et documentez les politiques de sécurité F5 existantes. Assurez-vous d'en créer une copie dans un référentiel de code sécurisé. | F5 Architecte, ingénieur | 
| Chiffrez l'AMI. | (Facultatif) Votre organisation peut avoir besoin de chiffrer les données au repos. Pour plus d'informations sur la création d'une image personnalisée Bring Your Own License (BYOL), consultez la section « Ressources associées ». | Architecte F5, ingénieur, architecte cloud, ingénieur | 
| Durcissez les appareils. | Cela aidera à vous protéger contre les vulnérabilités potentielles. | F5 Architecte, ingénieur | 

### Configurez votre nouvel AWS environnement
<a name="configure-your-new-aws-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez des comptes Edge et Security. | Connectez-vous au AWS Management Console et créez-le Comptes AWS qui fournira et exploitera les services de périphérie et de sécurité. Ces comptes peuvent être différents de ceux qui fonctionnent VPCs pour les services et applications partagés. Cette étape peut être réalisée dans le cadre d'une zone d'atterrissage. | Architecte cloud, ingénieur | 
| Déployez la périphérie et la sécurité VPCs. | Configurez et configurez les éléments VPCs nécessaires pour fournir des services de périphérie et de sécurité. | Architecte cloud, ingénieur | 
| Connectez-vous au centre de données source. | Connectez-vous au centre de données source qui héberge votre charge de travail F5 BIG-IP. | Architecte cloud, architecte réseau, ingénieur | 
| Déployez les connexions VPC. | Connectez le service Edge et de sécurité VPCs à l'application VPCs. | Architecte réseau, ingénieur | 
| Déployez les instances. | Déployez les instances en utilisant les CloudFormation modèles de la section « Ressources associées ». | F5 Architecte, ingénieur | 
| Testez et configurez le basculement de l'instance. | Assurez-vous que le modèle AWS Advanced HA iApp ou l'extension F5 Cloud Failover sont configurés et fonctionnent correctement. | F5 Architecte, ingénieur | 

### Configuration de la mise en réseau
<a name="configure-networking"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez la topologie VPC. | Ouvrez la console Amazon VPC et assurez-vous que votre VPC dispose de tous les sous-réseaux et protections requis pour le déploiement de F5 BIG-IP VE. | Architecte réseau, architecte F5, architecte cloud, ingénieur | 
| Préparez vos points de terminaison VPC. | Préparez les points de terminaison VPC pour Amazon EC2, Amazon S3 AWS STS et si une charge de travail F5 BIG-IP n'a pas accès à une passerelle NAT ou à une adresse IP élastique sur une interface TMM. | Architecte cloud, ingénieur | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez la configuration. | Migrez la configuration F5 BIG-IP vers F5 BIG-IP VE sur le. AWS Cloud | F5 Architecte, ingénieur | 
| Associez le secondaire IPs. | Les adresses IP des serveurs virtuels ont une relation avec les adresses IP secondaires attribuées aux instances. Attribuez des adresses IP secondaires et assurez-vous que l'option « Autoriser le remappage/la réaffectation » est sélectionnée. | F5 Architecte, ingénieur | 

### Configurations de test
<a name="test-configurations"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les configurations du serveur virtuel. | Testez les serveurs virtuels. | Architecte F5, équipes d'applications | 

### Finaliser les opérations
<a name="finalize-operations"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez la stratégie de sauvegarde. | Les systèmes doivent être arrêtés pour créer un instantané complet. Pour plus d'informations, consultez « Mettre à jour une machine virtuelle F5 BIG-IP » dans la section « Ressources associées ». | Architecte F5, architecte cloud, ingénieur | 
| Créez le runbook de basculement du cluster. | Assurez-vous que le processus d'exécution du failover est terminé. | F5 Architecte, ingénieur | 
| Configurez et validez la journalisation. | Configurez F5 Telemetry Streaming pour envoyer les journaux aux destinations requises. | F5 Architecte, ingénieur | 

### Terminez le découpage
<a name="complete-the-cutover"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Passons au nouveau déploiement. |  | Architecte F5, architecte cloud, architecte réseau, ingénieur, AppTeams | 

## Ressources connexes
<a name="migrate-an-f5-big-ip-workload-to-f5-big-ip-ve-on-the-aws-cloud-resources"></a>

**Guide de migration**
+ [Migration de F5 BIG-IP vers F5 BIG-IP VE sur le AWS Cloud](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-f5-big-ip/welcome.html)

**Ressources F5**
+ [CloudFormation modèles dans le référentiel F5 GitHub ](https://github.com/F5Networks/f5-aws-cloudformation)
+ [Entrée F5 AWS Marketplace](https://aws.amazon.com/marketplace/seller-profile?id=74d946f0-fa54-4d9f-99e8-ff3bd8eb2745)
+ [Présentation du F5 BIG-IP VE](https://www.f5.com/products/big-ip-services/virtual-editions) 
+ [Exemple de démarrage rapide - Édition virtuelle BIG-IP avec WAF (LTM \$1 ASM)](https://github.com/F5Networks/f5-aws-cloudformation-v2/tree/main/examples/quickstart)
+ [F5 Les services d'application sur AWS : un aperçu (vidéo)](https://www.youtube.com/watch?v=kutVjRHOAXo)
+ [Guide de l'utilisateur de l'extension F5 Application Services 3](https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/)
+ [Documentation sur le cloud F5](https://clouddocs.f5.com/training/community/public-cloud/html/intro.html)
+ [Wiki REST F5 iControl](https://clouddocs.f5.com/api/icontrol-rest/)
+ [F5 Vue d'ensemble des fichiers de configuration uniques (11.x - 15.x)](https://support.f5.com/csp/article/K13408)
+ [Livres blancs F5](https://www.f5.com/services/resources/white-papers)
+ [Outil de génération d'images F5 BIG-IP](https://clouddocs.f5.com/cloud/public/v1/ve-image-gen_index.html)
+ [Mise à jour d'une machine virtuelle F5 BIG-IP VE](https://techdocs.f5.com/kb/en-us/products/big-ip_ltm/manuals/product/bigip-ve-setup-vmware-esxi-11-5-0/3.html)
+ [Présentation de l'option « platform-migrate » de l'archive UCS](https://support.f5.com/csp/article/K82540512)

# Migrer une application Web Go sur site vers AWS Elastic Beanstalk à l'aide de la méthode binaire
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method"></a>

*Suhas Basavaraj et Shumaz Mukhtar Kazi, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-summary"></a>

Ce modèle décrit comment migrer une application Web Go sur site vers AWS Elastic Beanstalk. Une fois l'application migrée, Elastic Beanstalk crée le binaire du bundle source et le déploie sur une instance Amazon Elastic Compute Cloud (Amazon). EC2

En tant que stratégie de migration de réhébergement, l'approche de ce modèle est rapide et ne nécessite aucune modification de code, ce qui réduit le temps de test et de migration. 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Une application Web Go sur site.
+ Un GitHub référentiel qui contient le code source de votre application Go. Si vous ne l'utilisez pas GitHub, il existe d'autres moyens de [créer un bundle de sources d'applications pour Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html).

**Versions du produit**
+ La version de Go la plus récente prise en charge par Elastic Beanstalk. Pour plus d'informations, consultez la documentation d'[Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go).

## Architecture
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-architecture"></a>

**Pile technologique source**
+ Une application Web Go sur site 

**Pile technologique cible**
+ AWS Elastic Beanstalk
+ Amazon CloudWatch

**Architecture cible****

![\[Architecture pour la migration d'une application Go vers Elastic Beanstalk\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/cd8d660d-5621-4ea7-8f97-7a1e321c57d3/images/1df543d9-7073-43d8-abd3-f1f7e57278eb.png)


## Outils
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-tools"></a>
+ [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.html) déploie et gère rapidement des applications dans le cloud AWS sans que les utilisateurs aient à se renseigner sur l'infrastructure qui exécute ces applications. Elastic Beanstalk réduit la complexité inhérente à la gestion sans pour autant sacrifier le choix ou le niveau de contrôle.
+ [GitHub](https://github.com/)est un système de contrôle de version distribué open source.

## Épopées
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-epics"></a>

### Créez le fichier .zip du bundle source de l'application Web Go
<a name="create-the-go-web-application-source-bundle-zip-file"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez le bundle source pour l'application Go.  | Ouvrez le GitHub référentiel qui contient le code source de votre application Go et préparez le bundle source. Le bundle source contient un fichier `application.go` source dans le répertoire racine, qui héberge le package principal de votre application Go. Si vous ne l'utilisez pas GitHub, consultez la section *Prérequis* plus haut dans ce modèle pour découvrir d'autres méthodes de création du bundle de sources de votre application. | Administrateur système, développeur d'applications | 
| Créez un fichier de configuration. | Créez un `.ebextensions` dossier dans votre ensemble de sources, puis créez un `options.config` fichier dans ce dossier. Pour plus d'informations, consultez la documentation d'[Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html). | Administrateur système, développeur d'applications | 
|  Créez le fichier .zip du bundle source. | Exécutez la commande suivante.<pre>git archive -o ../godemoapp.zip HEAD</pre>Cela crée le fichier .zip du bundle source. Téléchargez et enregistrez le fichier .zip en tant que fichier local. Le fichier .zip ne peut pas dépasser 512 Mo et ne peut pas inclure de dossier parent ou de répertoire de premier niveau. | Administrateur système, développeur d'applications | 

### Migrer l'application Web Go vers Elastic Beanstalk
<a name="migrate-the-go-web-application-to-elastic-beanstalk"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Choisissez l'application Elastic Beanstalk. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html)[Pour savoir comment créer une application Elastic Beanstalk, consultez la documentation Elastic Beanstalk.](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html) | Administrateur système, développeur d'applications | 
| Lancez l'environnement du serveur Web Elastic Beanstalk.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Administrateur système, développeur d'applications | 
| Téléchargez le fichier .zip du bundle source sur Elastic Beanstalk. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method.html) | Administrateur système, développeur d'applications | 
| Testez l'application Web Go déployée. | Vous serez redirigé vers la page de présentation de l'application Elastic Beanstalk. En haut de l'aperçu, à côté de **Environment ID**, choisissez l'URL qui se termine par `elasticbeanstalk.com` pour accéder à votre application. Votre application doit utiliser ce nom dans son fichier de configuration en tant que variable d'environnement et l'afficher sur la page Web. | Administrateur système, développeur d'applications | 

## Résolution des problèmes
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Impossible d'accéder à l'application via un Application Load Balancer. | Vérifiez le groupe cible qui contient votre application Elastic Beanstalk. S'il ne fonctionne pas correctement, connectez-vous à votre instance Elastic Beanstalk et `nginx.conf` vérifiez la configuration du fichier pour vérifier qu'il est acheminé vers l'URL d'état de santé correcte. Vous devrez peut-être modifier l'URL de vérification de l'état du groupe cible. | 

## Ressources connexes
<a name="migrate-an-on-premises-go-web-application-to-aws-elastic-beanstalk-by-using-the-binary-method-resources"></a>
+ [Versions de la plateforme Go prises en charge par Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.go)
+ [Utilisation de fichiers de configuration avec Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/ebextensions.html)
+ [Création d'un exemple d'application dans Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/GettingStarted.CreateApp.html) 

# Migrer un serveur SFTP sur site vers AWS AWS Transfer for SFTP
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp"></a>

*Akash Kumar, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-summary"></a>

Ce modèle décrit comment migrer une solution de transfert de fichiers sur site qui utilise le protocole de transfert de fichiers (SFTP) Secure Shell (SSH) vers le en AWS Cloud utilisant le service. AWS Transfer for SFTP Les utilisateurs se connectent généralement à un serveur SFTP par le biais de son nom de domaine ou via une adresse IP fixe. Ce schéma couvre les deux cas.

AWS Transfer for SFTP est membre du AWS Transfer Family. Il s'agit d'un service de transfert sécurisé que vous pouvez utiliser pour transférer des fichiers vers et depuis des services de AWS stockage via SFTP. Vous pouvez l'utiliser AWS Transfer for SFTP avec Amazon Simple Storage Service (Amazon S3) ou Amazon Elastic File System (Amazon EFS). Ce modèle utilise Amazon S3 pour le stockage.

## Conditions préalables et limitations
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS.
+ Un nom de domaine SFTP existant ou une adresse IP SFTP fixe.

**Limites**
+ Le plus gros objet que vous pouvez transférer en une seule demande est actuellement de 5 GiB. Pour les fichiers dont la taille est supérieure à 100 MiB, pensez à utiliser le téléchargement [partitionné sur Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html).

## Architecture
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-architecture"></a>

**Pile technologique source**
+ Fichiers plats ou fichiers de vidage de base de données locaux.

**Pile technologique cible**
+ AWS Transfer for SFTP
+ Amazon S3
+ Amazon Virtual Private Cloud (Amazon VPC)
+ Gestion des identités et des accès AWS Rôles et politiques (IAM)
+ Adresses IP élastiques
+ Groupes de sécurité
+ Amazon CloudWatch Logs (facultatif)

**Architecture cible**

![\[Utilisez AWS Transfer for SFTP pour migrer un serveur SFTP sur site vers le cloud AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/ec0a905c-edef-48ba-9b5e-ea4a4040d320/images/f42aa711-bfe0-4ac6-9f66-5c18a1dd1c7a.png)


**Automatisation et mise à l'échelle**

Pour automatiser l'architecture cible pour ce modèle, utilisez les CloudFormation modèles ci-joints :
+ `amazon-vpc-subnets.yml`fournit un cloud privé virtuel (VPC) avec deux sous-réseaux publics et deux sous-réseaux privés.
+ `amazon-sftp-server.yml`approvisionne le serveur SFTP.
+ `amazon-sftp-customer.yml`ajoute des utilisateurs.

## Outils
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-tools"></a>

**Services AWS**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) vous aide à centraliser les journaux de tous vos systèmes et applications, Services AWS afin que vous puissiez les surveiller et les archiver en toute sécurité.
+ [Gestion des identités et des accès AWS (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) 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 Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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. Ce modèle utilise Amazon S3 comme système de stockage pour les transferts de fichiers.
+ [AWS Transfer for SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-family.html)vous permet de transférer des fichiers vers et depuis les services de AWS stockage via le protocole SFTP.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) vous aide à lancer AWS des ressources dans un réseau virtuel que vous avez défini. Ce réseau virtuel ressemble à un réseau traditionnel que vous pourriez exécuter dans votre propre centre de données et présente l'avantage d'utiliser l'infrastructure évolutive d' AWS.

## Épopées
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-epics"></a>

### Création d’un VPC
<a name="create-a-vpc"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un VPC avec des sous-réseaux. | Ouvrez la [console VPC Amazon](https://console.aws.amazon.com/vpc/). Créez un cloud privé virtuel (VPC) avec deux sous-réseaux publics. (Le deuxième sous-réseau assure une haute disponibilité.)—ou—Vous pouvez déployer le CloudFormation modèle ci-joint dans la [CloudFormation console](https://console.aws.amazon.com/cloudformation) pour automatiser les tâches de cette épopée. `amazon-vpc-subnets.yml` | Développeur, administrateur système | 
| Ajoutez une passerelle Internet. | Provisionnez une passerelle Internet et connectez-la au VPC. | Développeur, administrateur système | 
| Migrez une adresse IP existante. | Associez une adresse IP existante à l'adresse IP élastique. Vous pouvez créer une adresse IP élastique à partir de votre pool d'adresses et l'utiliser. | Développeur, administrateur système | 

### Provisionner un serveur SFTP
<a name="provision-an-sftp-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un serveur SFTP. | Ouvrez la [AWS Transfer Family console](https://console.aws.amazon.com/transfer/). Suivez les instructions de la section [Créer un point de terminaison connecté à Internet pour votre serveur](https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint) dans la AWS Transfer Family documentation afin de créer un serveur SFTP avec un point de terminaison connecté à Internet. Pour le **type de point de terminaison**, choisissez **VPC hébergé.** Pour **Access**, choisissez **Internet Facing**. Pour le **VPC**, choisissez le VPC que vous avez créé dans l'épopée précédente.—ou—Vous pouvez déployer le CloudFormation modèle ci-joint dans la [CloudFormation console](https://console.aws.amazon.com/cloudformation) pour automatiser les tâches de cette épopée. `amazon-sftp-server.yml` | Développeur, administrateur système | 
| Migrez le nom de domaine. | Associez le nom de domaine existant au nom d'hôte personnalisé. Si vous utilisez un nouveau nom de domaine, utilisez l'alias **DNS Amazon Route 53**. Pour un nom de domaine existant, sélectionnez **Autre DNS**. Pour plus d'informations, consultez la section [Utilisation de noms d'hôtes personnalisés](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-dns.html) dans la AWS Transfer Family documentation. | Développeur, administrateur système | 
| Ajoutez un rôle de CloudWatch journalisation. | (Facultatif) Si vous souhaitez activer la CloudWatch journalisation, créez un `Transfer` rôle avec les opérations de l'API CloudWatch Logs `logs:CreateLogGroup``logs:CreateLogStream`,` logs:DescribeLogStreams`, et`logs:PutLogEvents`. Pour plus d'informations, consultez la section [Enregistrer l'activité avec CloudWatch](https://docs.aws.amazon.com/transfer/latest/userguide/monitoring.html#monitoring-enabling) dans la AWS Transfer Family documentation. | Développeur, administrateur système | 
| Enregistrez et soumettez. | Choisissez **Enregistrer**. Pour **Actions**, choisissez **Démarrer** et attendez que le serveur SFTP soit créé avec le statut **En ligne**. | Développeur, administrateur système | 

### Mappez les adresses IP Elastic au serveur SFTP
<a name="map-elastic-ip-addresses-to-the-sftp-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez le serveur pour pouvoir modifier les paramètres. | Sur la [AWS Transfer Family console](https://console.aws.amazon.com/transfer/), choisissez **Servers**, puis sélectionnez le serveur SFTP que vous avez créé. Pour **Actions**, choisissez **Arrêter**. Lorsque le serveur est hors ligne, choisissez **Modifier** pour modifier ses paramètres. | Développeur, administrateur système | 
| Choisissez les zones de disponibilité et les sous-réseaux. | Dans la section **Zones de disponibilité**, choisissez les zones de disponibilité et les sous-réseaux pour votre VPC. | Développeur, administrateur système | 
| Ajoutez des adresses IP élastiques. | Pour **IPv4 Adresses**, choisissez une adresse IP élastique pour chaque sous-réseau, puis sélectionnez **Enregistrer**. | Développeur, administrateur système | 

### Ajout d’utilisateurs
<a name="add-users"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un rôle IAM pour que les utilisateurs puissent accéder au compartiment S3. | Créez un rôle IAM pour `Transfer`**** et ajoutez-y ` s3:ListBucket`` s3:GetBucketLocation`, et `s3:PutObject` avec le nom du compartiment S3 en tant que ressource. Pour plus d'informations, consultez la section [Création d'un rôle et d'une politique IAM](https://docs.aws.amazon.com/transfer/latest/userguide/requirements-roles.html) dans la AWS Transfer Family documentation.—ou—Vous pouvez déployer le CloudFormation modèle ci-joint dans la [CloudFormation console](https://console.aws.amazon.com/cloudformation) pour automatiser les tâches de cette épopée. `amazon-sftp-customer.yml` | Développeur, administrateur système | 
| Créez un compartiment S3. | Créez un compartiment S3 pour l'application. | Développeur, administrateur système | 
| Créez des dossiers facultatifs. | (Facultatif) Si vous souhaitez stocker les fichiers des utilisateurs séparément, dans des dossiers Amazon S3 spécifiques, ajoutez des dossiers selon les besoins. | Développeur, administrateur système | 
| Créez une clé publique SSH. | Pour créer une paire de clés SSH, consultez la section [Générer des clés SSH](https://docs.aws.amazon.com/transfer/latest/userguide/key-management.html#sshkeygen) dans la AWS Transfer Family documentation. | Développeur, administrateur système | 
| Ajouter des utilisateurs. | Sur la [AWS Transfer Family console](https://console.aws.amazon.com/transfer/), choisissez **Servers**, sélectionnez le serveur SFTP que vous avez créé, puis choisissez **Ajouter un utilisateur**. Pour le **répertoire personnel**, choisissez le compartiment S3 que vous avez créé. Pour la **clé publique SSH**, spécifiez la partie clé publique de la paire de clés SSH. Ajoutez des utilisateurs pour le serveur SFTP, puis choisissez **Ajouter**. | Développeur, administrateur système | 

### Testez le serveur SFTP
<a name="test-the-sftp-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Mettez à jour le groupe de sécurité. | Dans la section **Groupes de sécurité** de votre serveur SFTP, ajoutez l'adresse IP de votre machine de test pour obtenir un accès SFTP. | Developer | 
| Utilisez un utilitaire client SFTP pour tester le serveur. | Testez les transferts de fichiers à l'aide de n'importe quel utilitaire client SFTP. Pour obtenir la liste des clients et des instructions, consultez la section [Transfert de fichiers à l'aide d'un client](https://docs.aws.amazon.com/transfer/latest/userguide/transfer-file.html) dans la AWS Transfer Family documentation. | Developer | 

## Ressources connexes
<a name="migrate-an-on-premises-sftp-server-to-aws-using-aws-transfer-for-sftp-resources"></a>
+ [AWS Transfer Family Guide de l'utilisateur](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [Guide de l'utilisateur d'Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)
+ [Adresses IP élastiques](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) dans la EC2 documentation Amazon

## Pièces jointes
<a name="attachments-ec0a905c-edef-48ba-9b5e-ea4a4040d320"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/ec0a905c-edef-48ba-9b5e-ea4a4040d320/attachments/attachment.zip)

# Migrer une machine virtuelle sur site vers Amazon à l'aide EC2 d'AWS Application Migration Service
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service"></a>

*Thanh Nguyen, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-summary"></a>

En matière de migration d'applications, les entreprises peuvent adopter différentes approches pour réhéberger (déplacer) les serveurs de l'application de l'environnement sur site vers le cloud Amazon Web Services (AWS). L'une des solutions consiste à fournir de nouvelles instances Amazon Elastic Compute Cloud (Amazon EC2), puis à installer et configurer l'application à partir de zéro. Une autre approche consiste à utiliser des services de migration natifs tiers ou AWS pour migrer plusieurs serveurs en même temps.

Ce modèle décrit les étapes de migration d'une machine virtuelle (VM) prise en charge vers une EC2 instance Amazon sur le cloud AWS à l'aide d'AWS Application Migration Service. Vous pouvez utiliser l'approche de ce modèle pour migrer une ou plusieurs machines virtuelles manuellement, une par une, ou automatiquement en créant des scripts d'automatisation appropriés en fonction des étapes décrites. 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif dans l'une des régions AWS prenant en charge le service de migration d'applications
+ Connectivité réseau entre le serveur source et le EC2 serveur cible via un réseau privé à l'aide d'AWS Direct Connect ou d'un réseau privé virtuel (VPN), ou via Internet

**Limites**
+ Pour obtenir la dernière liste des régions prises en charge, consultez les [régions AWS prises en charge](https://docs.aws.amazon.com/mgn/latest/ug/supported-regions.html).
+ Pour obtenir la liste des systèmes d'exploitation pris en [charge, consultez les sections Systèmes d'exploitation pris en charge](https://docs.aws.amazon.com/mgn/latest/ug/Supported-Operating-Systems.html) et *Général* d'[Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/).

## Architecture
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-architecture"></a>

**Pile technologique source**
+ Un serveur physique, virtuel ou hébergé dans le cloud exécutant un système d'exploitation pris en charge par Amazon EC2

**Pile technologique cible**
+ Une EC2 instance Amazon exécutant le même système d'exploitation que la machine virtuelle source
+ Amazon Elastic Block Store (Amazon EBS)

**Architecture source et cible**

Le schéma suivant montre l'architecture de haut niveau et les principaux composants de la solution. Dans le centre de données sur site, il existe des machines virtuelles dotées de disques locaux. Sur AWS, il existe une zone intermédiaire avec des serveurs de réplication et une zone de ressources migrées avec des EC2 instances de test et de transfert. Les deux sous-réseaux contiennent des volumes EBS.

![\[Principaux composants permettant de migrer une machine virtuelle prise en charge vers une EC2 instance Amazon sur le cloud AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/58c8bafd-9a6d-42d4-a5ce-08c4b9a286a3/images/f8396fad-7ee9-4f75-800f-e819f509e151.png)


1. Initialisez le service de migration d'applications AWS.

1. Configurez la configuration et les rapports du serveur de la zone de transit, y compris les ressources de la zone de transit.

1. Installez des agents sur les serveurs sources et utilisez la réplication continue des données au niveau des blocs (compressées et chiffrées).

1. Automatisez l'orchestration et la conversion du système pour raccourcir la fenêtre de transition.

**Architecture réseau**

Le schéma suivant montre l'architecture de haut niveau et les principaux composants de la solution du point de vue de la mise en réseau, notamment les protocoles et les ports requis pour la communication entre les composants principaux du centre de données sur site et sur AWS.

![\[Composants réseau, notamment les protocoles et les ports pour la communication entre le centre de données et AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/58c8bafd-9a6d-42d4-a5ce-08c4b9a286a3/images/2f594daa-ddba-4841-8785-6067e8d83c2f.png)


## Outils
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-tools"></a>
+ [Le service de migration d'applications AWS](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) vous aide à réhéberger *(transférer et transférer*) des applications vers le cloud AWS sans modification et avec un temps d'arrêt minimal.

## Bonnes pratiques
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-best-practices"></a>
+ Ne mettez pas le serveur source hors ligne et n'effectuez pas de redémarrage tant que le transfert vers l' EC2 instance cible n'est pas terminé.
+ Offrez aux utilisateurs de nombreuses opportunités d'effectuer des tests d'acceptation utilisateur (UAT) sur le serveur cible afin d'identifier et de résoudre les problèmes éventuels. Idéalement, ces tests devraient commencer au moins deux semaines avant le passage.
+ Surveillez fréquemment l'état de réplication du serveur sur la console du service de migration des applications afin d'identifier les problèmes à un stade précoce.
+ Utilisez des informations d'identification AWS Identity and Access Management (IAM) temporaires pour l'installation de l'agent plutôt que des informations d'identification utilisateur IAM permanentes.

## Épopées
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-epics"></a>

### Générer des informations d'identification AWS
<a name="generate-aws-credentials"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez le rôle IAM de l'agent de réplication AWS. | Connectez-vous avec des autorisations administratives sur le compte AWS.Sur la [console](https://console.aws.amazon.com/iam/) AWS Identity and Access Management (IAM), créez un rôle IAM :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html) | Administrateur AWS, ingénieur en migration | 
| Générez des informations de sécurité temporaires. | Sur une machine sur laquelle l'interface de ligne de commande (AWS CLI) est installée, connectez-vous avec des autorisations administratives. Ou bien (dans une région AWS prise en charge), sur la console de gestion AWS, connectez-vous avec des autorisations administratives sur le compte AWS et ouvrez AWS CloudShell.Générez des informations d'identification temporaires à l'aide de la commande suivante, en les `<account-id>` remplaçant par l'ID de compte AWS.`aws sts assume-role --role-arn arn:aws:iam::<account-id>:role/MGN_Agent_Installation_Role --role-session-name mgn_installation_session_role`À partir de la sortie de la commande, copiez les valeurs pour `AccessKeyId` **`SecretAccessKey`**, et **`SessionToken`**. ****Conservez-les dans un endroit sûr pour une utilisation ultérieure.Ces informations d'identification temporaires expireront au bout d'une heure. Si vous avez besoin d'informations d'identification au bout d'une heure, répétez les étapes précédentes. | Administrateur AWS, ingénieur en migration | 

### Initialisez le service de migration des applications et créez le modèle de paramètres de réplication
<a name="initialize-application-migration-service-and-create-the-replication-settings-template"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Initialisez le service. | Sur la console, connectez-vous au compte AWS avec des autorisations administratives.Choisissez **Application Migration Service**, puis Get **started**. | Administrateur AWS, ingénieur en migration | 
| Créez et configurez le modèle de paramètres de réplication. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)Le service de migration des applications créera automatiquement tous les rôles IAM nécessaires pour faciliter la réplication des données et le lancement des serveurs migrés. | Administrateur AWS, ingénieur en migration | 

### Installation des agents de réplication AWS sur les machines sources
<a name="install-aws-replication-agents-on-source-machines"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez les informations d'identification AWS requises. | Lorsque vous exécutez le fichier d'installation sur un serveur source, vous devez saisir les informations d'identification temporaires que vous avez générées précédemment`AccessKeyId`, notamment`SecretAccessKey`, et`SessionToken`. | Ingénieur de migration, administrateur AWS | 
| Pour les serveurs Linux, installez l'agent. | Copiez la commande du programme d'installation, connectez-vous à vos serveurs sources et exécutez le programme d'installation. Pour obtenir des instructions détaillées, consultez la [documentation AWS](https://docs.aws.amazon.com/mgn/latest/ug/linux-agent.html). | Administrateur AWS, ingénieur en migration | 
| Pour les serveurs Windows, installez l'agent. | Téléchargez le fichier d'installation sur chaque serveur, puis exécutez la commande d'installation. Pour obtenir des instructions détaillées, consultez la [documentation AWS](https://docs.aws.amazon.com/mgn/latest/ug/windows-agent.html). | Administrateur AWS, ingénieur en migration | 
| Attendez que la réplication initiale des données soit terminée. | Une fois l'agent installé, le serveur source apparaît sur la console du service de migration d'applications, dans la section **Serveurs source**. Patientez pendant que le serveur effectue la réplication initiale des données. | Administrateur AWS, ingénieur en migration | 

### Configuration des paramètres de lancement
<a name="configure-launch-settings"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Spécifiez les détails du serveur. | Sur la console Application Migration Service, choisissez la section **Serveurs source**, puis choisissez un nom de serveur dans la liste pour accéder aux détails du serveur. | Administrateur AWS, ingénieur en migration | 
| Configurez les paramètres de lancement.  | Choisissez l'onglet **Paramètres de lancement**. Vous pouvez configurer divers paramètres, notamment les paramètres généraux de lancement et les paramètres EC2 du modèle de lancement. Pour obtenir des instructions détaillées, consultez la [documentation AWS](https://docs.aws.amazon.com/mgn/latest/ug/launch-settings.html). | Administrateur AWS, ingénieur en migration | 

### Réaliser un test
<a name="perform-a-test"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Testez les serveurs sources. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)Les serveurs seront lancés. | Administrateur AWS, ingénieur en migration | 
| Vérifiez que le test s'est bien déroulé. | Une fois le serveur de test complètement lancé, l'état **des alertes** sur la page indiquera **Lancé** pour chaque serveur. | Administrateur AWS, ingénieur en migration | 
| Testez le serveur. | Effectuez des tests sur le serveur de test pour vous assurer qu'il fonctionne comme prévu. | Administrateur AWS, ingénieur en migration | 

### Planifier et effectuer une transition
<a name="schedule-and-perform-a-cutover"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Planifiez une fenêtre de transition. | Planifiez un calendrier de transition approprié avec les équipes concernées. | Administrateur AWS, ingénieur en migration | 
| Effectuez le découpage. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service.html)Le **cycle de vie de migration du** serveur source deviendra **Cutover en cours**. | Administrateur AWS, ingénieur en migration | 
| Vérifiez que le transfert s'est effectué correctement. | Une fois les serveurs de transition complètement lancés, l'état des **alertes** sur la page **Serveurs sources indiquera** **Lancé** pour chaque serveur. | Administrateur AWS, ingénieur en migration | 
| Testez le serveur. | Effectuez des tests sur le serveur de transition pour vous assurer qu'il fonctionne comme prévu. | Administrateur AWS, ingénieur en migration | 
| Finalisez le découpage. | Choisissez **Test and Cutover**, puis sélectionnez **Finaliser le transfert pour finaliser le processus de migration**. | Administrateur AWS, ingénieur en migration | 

## Ressources connexes
<a name="migrate-an-on-premises-vm-to-amazon-ec2-by-using-aws-application-migration-service-resources"></a>
+ [AWS Application Migration Service](https://aws.amazon.com/application-migration-service/)
+ [Guide de l'utilisateur du service de migration d'applications AWS](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)

# Migrez de petits ensembles de données sur site vers Amazon S3 à l'aide de AWS SFTP
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp"></a>

*Charles Gibson et Sergiy Shevchenko, Amazon Web Services*

## Résumé
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-summary"></a>

Ce modèle décrit comment migrer de petits ensembles de données (5 To ou moins) depuis des centres de données sur site vers Amazon Simple Storage Service (Amazon S3) en utilisant AWS Transfer for SFTP ().AWS SFTP Les données peuvent être des dumps de base de données ou des fichiers plats.

## Conditions préalables et limitations
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS
+ Un AWS Direct Connect lien établi entre votre centre de données et AWS

**Limites**
+ La taille des fichiers de données doit être inférieure à 5 To. Pour les fichiers de plus de 5 To, vous pouvez effectuer un chargement partitionné vers Amazon S3 ou choisir une autre méthode de transfert de données. 

## Architecture
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-architecture"></a>

**Pile technologique source**
+ Fichiers plats ou vidages de base de données sur site

**Pile technologique cible**
+ Amazon S3

**Architecture source et cible**

![\[Diagram showing data flow from on-premises servers to AWS Cloud services via Direct Connect and VPN.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/a9c016ff-3e68-4714-ac51-46cb4727397a/images/5c5bb9ea-d552-44e8-8d0d-df341f84f55d.png)


## Outils
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-tools"></a>
+ [AWS SFTP](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)— Permet le transfert de fichiers directement depuis et vers Amazon S3 à l'aide du protocole SFTP (Secure File Transfer Protocol).
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html)— Établit une connexion réseau dédiée entre vos centres de données locaux et. AWS
+ [Points de terminaison VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) : vous permettent de connecter de manière privée un VPC à des services de point de terminaison Services AWS VPC pris en charge et alimentés AWS PrivateLink sans passerelle Internet, périphérique de traduction d'adresses réseau (NAT), connexion VPN ou connexion. Direct Connect Les instances d'un VPC n'ont pas besoin d'adresses IP publiques pour communiquer avec les ressources du service.

## Épopées
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-epics"></a>

### Préparez-vous à la migration
<a name="prepare-for-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Documentez les exigences SFTP actuelles. |  | Propriétaire de l'application, SA | 
| Identifiez les exigences en matière d'authentification. | Les exigences peuvent inclure l'authentification par clé, le nom d'utilisateur ou le mot de passe, ou le fournisseur d'identité (IdP). | Propriétaire de l'application, SA | 
| Identifiez les exigences en matière d'intégration des applications. |  | Propriétaire de l'application | 
| Identifiez les utilisateurs qui ont besoin du service. |  | Propriétaire de l'application | 
| Déterminez le nom DNS du point de terminaison du serveur SFTP. |  | Réseaux | 
| Déterminez la stratégie de sauvegarde. |  | SA, DBA (si les données sont transférées)  | 
| Identifiez la stratégie de migration ou de transfert des applications. |  | Propriétaire de l'application, SA, DBA | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un ou plusieurs clouds privés virtuels (VPCs) et sous-réseaux dans votre Compte AWS. |  | Propriétaire de l'application, AMS | 
| Créez les groupes de sécurité et la liste de contrôle d'accès réseau (ACL). |  | Sécurité, mise en réseau, AMS | 
| Créez le compartiment Amazon S3. |  | Propriétaire de l'application, AMS | 
| Créez le rôle Gestion des identités et des accès AWS (IAM). | Créez une politique IAM qui inclut les autorisations permettant d'accéder AWS SFTP à votre compartiment Amazon S3. Cette politique IAM détermine le niveau d'accès que vous offrez aux utilisateurs SFTP. Créez une autre politique IAM avec AWS SFTP laquelle établir une relation de confiance. | Sécurité, AMS | 
| Associez un domaine enregistré (facultatif). | Si vous avez enregistré votre propre domaine, vous pouvez l'associer au serveur SFTP. Vous pouvez acheminer le trafic SFTP vers le point de terminaison de votre serveur SFTP à partir d'un domaine ou d'un sous-domaine. | Réseautage, AMS | 
| Créez un serveur SFTP. | Spécifiez le type de fournisseur d'identité utilisé par le service pour authentifier vos utilisateurs. | Propriétaire de l'application, AMS | 
| Ouvrez un client SFTP. | Ouvrez un client SFTP et configurez la connexion pour utiliser l'hôte du point de terminaison SFTP. AWS SFTP prend en charge n'importe quel client SFTP standard. Les clients SFTP couramment utilisés incluent OpenSSH, WinSCP, Cyberduck et. FileZilla Vous pouvez obtenir le nom d'hôte du serveur SFTP depuis la AWS SFTP console. | Propriétaire de l'application, AMS | 

### Planifier et tester
<a name="plan-and-test"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Planifiez la migration des applications. | Planifiez les modifications de configuration de l'application requises, définissez la date de migration et déterminez le calendrier des tests. | Propriétaire de l'application, AMS | 
| Testez l'infrastructure. | Effectuez des tests dans un environnement hors production. | Propriétaire de l'application, AMS | 

## Ressources connexes
<a name="migrate-small-sets-of-data-from-on-premises-to-amazon-s3-using-aws-sftp-resources"></a>

**Références**
+ [AWS Transfer for SFTP Guide de l'utilisateur](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [AWS Direct Connect resources](https://aws.amazon.com/directconnect/resources/) 
+ [Points de terminaison d’un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html)

**Tutoriels et vidéos**
+ [AWS Transfer for SFTP (vidéo)](https://www.youtube.com/watch?v=wcnGez5PP1E)
+ [AWS Transfer for SFTP guide de l'utilisateur](https://docs.aws.amazon.com/transfer/latest/userguide/what-is-aws-transfer-for-sftp.html)
+ [AWS SA Whiteboarding - Direct Connect (vidéo)](https://www.youtube.com/watch?v=uP68iqyuqTg)

# Migrer une base de données Oracle sur site vers Oracle sur Amazon EC2
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2"></a>

*Baji Shaik et Pankaj Choudhary, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-summary"></a>

Ce modèle explique les étapes de migration d'une base de données Oracle sur site vers Oracle sur une instance Amazon Elastic Compute Cloud EC2 (Amazon). Il décrit deux options de migration : utiliser AWS Data Migration Service (AWS DMS) ou utiliser des outils Oracle natifs tels que RMAN, Data Pump import/export, tablespaces transportables et Oracle. GoldenGate 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Oracle source dans un centre de données sur site

**Limites**
+ Le système d'exploitation (OS) cible doit être pris en charge par Amazon EC2. Pour obtenir la liste complète des systèmes pris en charge, consultez [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/).

**Versions du produit**
+ Versions Oracle 10.2 et ultérieures (pour les versions 10.x), 11g et jusqu'à 12.2, et 18c pour les éditions Enterprise, Standard, Standard One et Standard Two. Pour obtenir la dernière liste des versions prises en charge par AWS DMS, consultez « Bases de données sur site et d' EC2 instances Amazon » dans la section [Sources pour la migration des données de la](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) documentation AWS DMS.  

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-architecture"></a>

**Pile technologique source**
+ Une base de données Oracle sur site

**Pile technologique cible**
+ Une instance de base de données Oracle sur Amazon EC2

**Architecture cible**

![\[Configuration de la réplication pour une base de données Oracle sur Amazon EC2.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/386d5b14-8633-4ecc-98fb-59872de99d41.png)


**Architecture de migration des données**

*À l'aide d'AWS DMS :*

![\[Migration d'une base de données Oracle sur site vers Amazon avec EC2 AWS DMS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/14954066-d22b-486a-a432-265296752878.png)


*À l'aide des outils Oracle natifs :*

![\[Migration d'une base de données Oracle sur site vers Amazon à l' EC2 aide des outils Oracle.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/66c98694-6580-4ffb-9f16-84de58cf8b07/images/82ba5fcb-8640-45fa-b432-2702dedc0774.png)


## Outils
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-tools"></a>
+ **AWS DMS -** [AWS Database Migration Services](https://docs.aws.amazon.com/dms/index.html) (AWS DMS) prend en charge plusieurs types de bases de données source et cible. Pour plus d'informations sur les versions et éditions de base de données prises en charge, consultez la section [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités.  
+ **Outils Oracle natifs :** RMAN, import/export de Data Pump, tablespaces transportables, Oracle GoldenGate                                                         

## Épopées
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
|  Validez les versions des bases de données source et cible. |  | DBA | 
|  Identifiez la version du système d'exploitation cible. |  | DBA, SysAdmin | 
| Identifiez les exigences matérielles pour l'instance de serveur cible sur la base de la liste de compatibilité Oracle et des exigences de capacité. |  | DBA, SysAdmin | 
| Identifiez les exigences de stockage (type et capacité de stockage). |  | DBA, SysAdmin | 
| Identifiez les exigences du réseau (latence et bande passante). |  | DBA, SysAdmin | 
| Choisissez le type d'instance approprié en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. |  | DBA, SysAdmin | 
| Identifiez les exigences de sécurité network/host d'accès pour les bases de données source et cible. |  | DBA, SysAdmin | 
| Identifiez la liste des utilisateurs du système d'exploitation requis pour l'installation du logiciel Oracle. |  | DBA, SysAdmin | 
| Téléchargez AWS Schema Conversion Tool (AWS SCT) et ses pilotes. |  | DBA | 
| Créez un projet AWS SCT pour la charge de travail et connectez-vous à la base de données source. |  | DBA | 
| Générez des fichiers SQL pour la création d'objets (tables, index, séquences, etc.). |  | DBA | 
| Déterminez une stratégie de sauvegarde. |  | DBA, SysAdmin  | 
| Déterminez les exigences de disponibilité. |  | DBA | 
| Identifiez la stratégie de migration/commutation des applications. |  | DBA, propriétaire de SysAdmin l'application | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un cloud privé virtuel (VPC) et des sous-réseaux dans votre compte AWS. |  | SysAdmin | 
| Créez des groupes de sécurité et des listes de contrôle d'accès au réseau (ACLs). |  | SysAdmin | 
| Configurez et démarrez l' EC2 instance. |  | SysAdmin | 

### Installation du logiciel Oracle
<a name="install-the-oracle-software"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez les utilisateurs et les groupes du système d'exploitation requis pour le logiciel Oracle. |  | DBA, SysAdmin | 
| Téléchargez la version requise du logiciel Oracle. |  |  | 
| Installez le logiciel Oracle sur l' EC2 instance. |  | DBA, SysAdmin | 
| Créez des objets tels que des tables, des clés primaires, des vues et des séquences à l'aide des scripts générés par AWS SCT. |  | DBA | 

### Migrer les données - option 1
<a name="migrate-data---option-1"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez des outils Oracle natifs ou des outils tiers pour migrer les objets et les données de base de données. | Les outils Oracle incluent l'importation/exportation de Data Pump, RMAN, les tablespaces transportables et. GoldenGate | DBA | 

### Migrer les données - option 2
<a name="migrate-data---option-2"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Déterminez la méthode de migration. |  | DBA | 
| Créez une instance de réplication dans la console AWS DMS. |  | DBA | 
| Créez des points de terminaison source et cible. |  | DBA | 
| Créez une tâche de réplication. |  | DBA | 
| Activez la capture des données de modification (CDC) pour capturer les modifications en vue d'une réplication continue. |  | DBA | 
| Exécutez la tâche de réplication et surveillez les journaux. |  | DBA | 
| Créez des objets secondaires tels que des index et des clés étrangères lorsque le chargement complet est terminé. |  | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de migration des applications. |  | DBA, propriétaire de SysAdmin l'application | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de transfert et de commutation des applications. |  | DBA, propriétaire de SysAdmin l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources temporaires d'AWS Secrets Manager. |  | DBA, SysAdmin | 
| Passez en revue et validez les documents du projet. |  | DBA, propriétaire de SysAdmin l'application | 
| Collectez des indicateurs concernant le délai de migration, le pourcentage de manuel par rapport à l'outil, les économies de coûts, etc. |  | DBA, propriétaire de SysAdmin l'application | 
| Clôturez le projet et faites part de vos commentaires. |  |  | 

## Ressources connexes
<a name="migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2-resources"></a>

**Références**
+ [Stratégies de migration des bases de données Oracle vers AWS](https://docs.aws.amazon.com/whitepapers/latest/strategies-migrating-oracle-db-to-aws/strategies-migrating-oracle-db-to-aws.html) 
+ [Migration de bases de données Oracle vers le cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/)
+ [ EC2 Site Web d'Amazon](https://aws.amazon.com/ec2/)
+ [Site Web AWS DMS](https://aws.amazon.com/dms/)
+ [Articles de blog AWS DMS](https://aws.amazon.com/blogs/database/category/dms/)
+ [ EC2 Tarifs Amazon](https://aws.amazon.com/ec2/pricing/)
+ [Octroi de licences aux logiciels Oracle dans un environnement de cloud computing](http://www.oracle.com/us/corporate/pricing/cloud-licensing-070579.pdf)

**Tutoriels et vidéos**
+ [Commencer à utiliser Amazon EC2](https://aws.amazon.com/ec2/getting-started/)
+ [Commencer à utiliser AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Présentation d'Amazon EC2 - Serveur cloud élastique et hébergement avec AWS (vidéo)](https://www.youtube.com/watch?v=TsRBftzZsQo) 

# Migrer une base de données Oracle sur site vers Amazon à l'aide EC2 d'Oracle Data Pump
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump"></a>

*Navakanth Talluri, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-summary"></a>

Lorsque vous migrez des bases de données, vous devez tenir compte de facteurs tels que les moteurs et les versions de base de données source et cible, les outils et services de migration, ainsi que les périodes d'indisponibilité acceptables. Si vous migrez une base de données Oracle sur site vers Amazon Elastic Compute Cloud EC2 (Amazon), vous pouvez utiliser des outils Oracle, tels qu'Oracle Data Pump et Oracle Recovery Manager (RMAN). Pour plus d'informations sur les stratégies, consultez la section [Migration de bases de données Oracle vers le cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html).

Oracle Data Pump vous aide à extraire la sauvegarde logique et cohérente de la base de données et à la restaurer sur l' EC2 instance cible. Ce modèle décrit comment migrer une base de données Oracle sur site vers une EC2 instance à l'aide d'Oracle Data Pump et du `NETWORK_LINK` paramètre, avec un temps d'arrêt minimal. Le `NETWORK_LINK` paramètre lance une importation via un lien de base de données. Le client Oracle Data Pump Import (impdp) de l' EC2 instance cible se connecte à la base de données source, en extrait les données et les écrit directement dans la base de données de l'instance cible. Aucun fichier de sauvegarde ou de *vidage* n'est utilisé dans cette solution.

## Conditions préalables et limitations
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Une base de données Oracle sur site qui :
  + N'est pas une base de données Oracle Real Application Clusters (RAC)
  + N'est pas une base de données Oracle Automatic Storage Management (Oracle ASM)
  + Est en mode lecture-écriture.
+ Vous avez créé un lien AWS Direct Connect entre votre centre de données sur site et AWS. Pour plus d'informations, voir [Création d'une connexion](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html) (documentation Direct Connect).

**Versions du produit**
+ Oracle Database 10g version 1 (10.1) et versions ultérieures

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-architecture"></a>

**Pile technologique source**
+ Un serveur de base de données Oracle autonome (non RAC et non ASM) dans un centre de données sur site

**Pile technologique cible**
+ Une base de données Oracle exécutée sur Amazon EC2

**Architecture cible**

Le [pilier de fiabilité](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/welcome.html) d'AWS Well-Architected Framework recommande de créer des sauvegardes de données pour garantir une disponibilité et une résilience élevées. Pour plus d'informations, consultez [Architecture pour une haute disponibilité](https://docs.aws.amazon.com/whitepapers/latest/oracle-database-aws-best-practices/architecting-for-high-availability.html#amazon-ec2) dans *Meilleures pratiques pour exécuter une base de données Oracle sur AWS*. Ce modèle configure les bases de données principales et de secours sur EC2 les instances à l'aide d'Oracle Active Data Guard. Pour une haute disponibilité, les EC2 instances doivent se trouver dans des zones de disponibilité différentes. Toutefois, les zones de disponibilité peuvent se trouver dans la même région AWS ou dans différentes régions AWS.

Active Data Guard fournit un accès en lecture seule à une base de données de secours physique et applique les modifications de rétablissement en continu à partir de la base de données principale. En fonction de votre objectif de point de restauration (RPO) et de votre objectif de temps de restauration (RTO), vous pouvez choisir entre les options de redo transport synchrone et asynchrone.

L'image suivante montre l'architecture cible si les EC2 instances principales et de secours se trouvent dans des régions AWS différentes.

![\[Application se connectant à la nouvelle base de données sur l' EC2 instance principale\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/bdd49395-2f99-43e2-ad1d-a1d09d90fb58/images/37fcd4dc-5516-416b-a280-0c5f002880de.png)


**Architecture de migration des données**

Une fois que vous avez terminé de configurer l'architecture cible, vous utilisez Oracle Data Pump pour migrer les données et les schémas locaux vers l'instance principale EC2 . Pendant le passage, les applications ne peuvent pas accéder à la base de données locale ou à la base de données cible. Vous arrêtez ces applications jusqu'à ce qu'elles puissent être connectées à la nouvelle base de données cible sur l' EC2 instance principale.

L'image suivante montre l'architecture lors de la migration des données. Dans cet exemple d'architecture, les EC2 instances principales et de secours se trouvent dans différentes régions AWS.

![\[La base de données source se connecte à la base de données cible. Les applications sont déconnectées de la source et de la cible DBs\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/bdd49395-2f99-43e2-ad1d-a1d09d90fb58/images/c58b669b-b11f-4d78-8911-c07b81b7c6a0.png)


## Outils
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-tools"></a>

**Services AWS**
+ [AWS Direct Connect](https://aws.amazon.com/directconnect/) relie votre réseau interne à un emplacement Direct Connect via un câble Ethernet à fibre optique standard. Grâce à cette connexion, vous pouvez créer des interfaces virtuelles directement vers les services AWS publics tout en contournant les fournisseurs de services Internet sur votre chemin réseau.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.

**Autres outils et services**
+ [Oracle Active Data Guard](https://docs.oracle.com/en/database/oracle/oracle-database/21/sbydb/introduction-to-oracle-data-guard-concepts.html#GUID-5E73667D-4A56-445E-911F-1E99092DD8D7) vous aide à créer, maintenir, gérer et surveiller des bases de données de secours.
+ [Oracle Data Pump](https://www.oracle.com/technetwork/documentation/data-pump-overview-084963.html) vous aide à déplacer des données et des métadonnées d'une base de données à une autre à grande vitesse.

## Bonnes pratiques
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-best-practices"></a>
+ [Bonnes pratiques pour l'exécution d'une base de données Oracle sur AWS](https://docs.aws.amazon.com/whitepapers/latest/oracle-database-aws-best-practices/architecting-for-security-and-performance.html)
+ [Importation de données à l'aide de NETWORK\$1LINK](https://docs.oracle.com/database/121/SUTIL/GUID-23E58D59-A477-4A87-BD0E-C82447581D0A.htm#SUTIL856)

## Épopées
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-epics"></a>

### Configuration des EC2 instances sur AWS
<a name="set-up-the-ec2-instances-on-aws"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez la configuration matérielle source pour l'hôte local et les paramètres du noyau. | Validez la configuration sur site, y compris la taille du stockage, input/output les opérations par seconde (IOPS) et le processeur. Cela est important pour les licences Oracle, qui sont basées sur les cœurs de processeur. | DBA, SysAdmin | 
| Créez l'infrastructure sur AWS. | Créez les clouds privés virtuels (VPCs), les sous-réseaux privés, les groupes de sécurité, les listes de contrôle d'accès réseau (ACLs), les tables de routage et la passerelle Internet. Pour plus d’informations, consultez les ressources suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html) | DBA, administrateur système AWS | 
| Configurez les EC2 instances à l'aide d'Active Data Guard. | Configurez EC2 les instances AWS à l'aide d'une configuration Active Data Guard, comme décrit dans le [AWS Well-Architected Framework](https://docs.aws.amazon.com/wellarchitected/latest/framework/welcome.html). La version d'Oracle Database sur l' EC2 instance peut être différente de la version locale car ce modèle utilise des sauvegardes logiques. Notez ce qui suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html)Pour en savoir plus, consultez :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.html) | DBA, administrateur système AWS | 

### Migrer la base de données vers Amazon EC2
<a name="migrate-the-database-to-amazon-ec2"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un dblink vers la base de données locale à partir de l'instance. EC2  | Créez un lien de base de données (dblink) entre la base de données Oracle de l' EC2 instance et la base de données Oracle locale. Pour plus d'informations, voir [Utilisation de l'importation de liens réseau pour déplacer des données](https://docs.oracle.com/database/121/SUTIL/GUID-3E1D4B46-E856-4ABE-ACC5-977A898BB0F1.htm#SUTIL806) (documentation Oracle). | DBA | 
| Vérifiez la connexion entre l' EC2 instance et l'hôte local. | Utilisez le dblink pour vérifier que la connexion entre l' EC2 instance et la base de données locale fonctionne. Pour obtenir des instructions, voir [CREATE DATABASE LINK](https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_5005.htm) (documentation Oracle). | DBA | 
| Arrêtez toutes les applications connectées à la base de données locale. | Une fois le temps d'arrêt de la base de données approuvé, arrêtez toutes les applications et les tâches dépendantes qui se connectent à votre base de données locale. Vous pouvez le faire directement depuis l'application ou depuis la base de données en utilisant cron. Pour plus d'informations, voir [Utiliser l'utilitaire Crontab pour planifier des tâches sur Oracle Linux.](https://docs.oracle.com/en/learn/oracle-linux-crontab/index.html) | DBA, développeur d'applications | 
| Planifiez la tâche de migration des données.  | Sur l'hôte cible, utilisez la commande `impdb` pour planifier l'importation de Data Pump. Cela permet de connecter la base de données cible à l'hôte local et de démarrer la migration des données. Pour plus d'informations, consultez [Data Pump Import](https://docs.oracle.com/database/121/SUTIL/GUID-D11E340E-14C6-43B8-AB09-6335F0C1F71B.htm#SUTIL300) et [NETWORK\$1LINK](https://docs.oracle.com/database/121/SUTIL/GUID-0871E56B-07EB-43B3-91DA-D1F457CF6182.htm#SUTIL919) (documentation Oracle). | DBA | 
| Validez la migration des données. | La validation des données est une étape cruciale. Pour la validation des données, vous pouvez utiliser des outils personnalisés ou des outils Oracle, tels qu'une combinaison de requêtes dblink et SQL. | DBA | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Mettez la base de données source en mode lecture seule. | Vérifiez que l'application est arrêtée et qu'aucune modification n'est apportée à la base de données source. Ouvrez la base de données source en mode lecture seule. Cela vous permet d'éviter toute transaction ouverte. Pour plus d'informations, consultez `ALTER DATABASE` la section [Instructions SQL](https://docs.oracle.com/database/121/SQLRF/statements_1006.htm#i2135540) (documentation Oracle). | DBA, DevOps ingénieur, développeur d'applications | 
| Validez le nombre d'objets et les données. | Pour valider les données et l'objet, utilisez des outils personnalisés ou des outils Oracle, tels qu'une combinaison de requêtes dblink et SQL. | DBA, développeur d'applications | 
| Connectez les applications à la base de données sur l' EC2 instance principale. | Modifiez l'attribut de connexion de l'application pour qu'il pointe vers la nouvelle base de données que vous avez créée sur l' EC2 instance principale. | DBA, développeur d'applications | 
| Validez les performances de l'application. | Lancez l'application. Validez les fonctionnalités et les performances de l'application à l'aide du [référentiel de charge de travail automatisé](https://docs.oracle.com/database/121/RACAD/GUID-C3CD2DCE-38BD-46BA-BC32-7A28CAC9A7FD.htm#RACAD951) (documentation Oracle). | Développeur d'applications, DevOps ingénieur, DBA | 

## Ressources connexes
<a name="migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump-resources"></a>

**Références AWS**
+ [Migration de bases de données Oracle vers le cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)
+ [Amazon EC2 pour Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/ec2-oracle.html)
+ [Migration de bases de données Oracle volumineuses vers AWS pour les environnements multiplateformes](https://docs.aws.amazon.com/prescriptive-guidance/latest/migrate-bulky-oracle-databases/welcome.html)
+ [VPCs et sous-réseaux](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)
+ [Tutoriel : Création d'un VPC à utiliser avec une instance de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html)

**Références Oracle**
+ [Configurations d'Oracle Data Guard](https://docs.oracle.com/en/database/oracle/oracle-database/21/sbydb/introduction-to-oracle-data-guard-concepts.html#GUID-AB9DF863-2C7E-4767-81F2-56AD0FA30B49)
+ [Importation de pompes de données](https://docs.oracle.com/database/121/SUTIL/GUID-D11E340E-14C6-43B8-AB09-6335F0C1F71B.htm#SUTIL300)

# Migrez les systèmes RHEL BYOL vers des instances incluses dans une licence AWS à l'aide d'AWS MGN
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn"></a>

*Mike Kuznetsov, Amazon Web Services*

## Résumé
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-summary"></a>

Lorsque vous migrez vos charges de travail vers AWS à l'aide d'AWS Application Migration Service (AWS MGN), vous devrez peut-être déplacer (réhéberger) vos instances Red Hat Enterprise Linux (RHEL) et modifier la licence du modèle Bring Your Own License (BYOL) par défaut au modèle AWS License Included (LI) pendant la migration. AWS MGN prend en charge une approche évolutive qui utilise les identifiants Amazon Machine Image (AMI). Ce modèle décrit comment effectuer le changement de licence sur les serveurs RHEL lors de la migration de réhébergement à grande échelle. Il explique également comment modifier la licence d'un système RHEL déjà exécuté sur Amazon Elastic Compute Cloud (Amazon EC2).

## Conditions préalables et limitations
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-prereqs"></a>

**Conditions préalables**
+ Accès au compte AWS cible
+ AWS MGN initialisé dans le compte et la région AWS cibles pour la migration (non requis si vous avez déjà migré de votre système sur site vers AWS)
+ Un serveur RHEL source avec une licence RHEL valide

## Architecture
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-architecture"></a>

Ce modèle couvre deux scénarios :
+ Migration d'un système sur site directement vers une instance AWS LI à l'aide d'AWS MGN. Pour ce scénario, suivez les instructions du premier épisode (*Migrer vers une instance LI - option 1*) et du troisième épisode.
+ Modification du modèle de licence de BYOL à LI pour un système RHEL précédemment migré qui fonctionne déjà sur Amazon EC2. Pour ce scénario, suivez les instructions du deuxième épisode (*Migrer vers une instance LI* - *option 2*) et du troisième épisode.

**Note**  
La troisième étape consiste à reconfigurer la nouvelle instance RHEL pour utiliser les serveurs Red Hat Update Infrastructure (RHUI) fournis par AWS. Ce processus est le même pour les deux scénarios.

## Outils
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-tools"></a>

**Services AWS**
+ [AWS Application Migration Service (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html) vous aide à réhéberger (transférer et transférer) des applications vers le cloud AWS sans modification et avec un temps d'arrêt minimal.

## Épopées
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-epics"></a>

### Migrer vers une instance LI - option 1 (pour un système RHEL sur site)
<a name="migrate-to-li-instance---option-1-for-an-on-premises-rhel-system"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Trouvez l'ID AMI de l'instance RHEL AWS LI dans la région cible. | Visitez [AWS Marketplace](https://aws.amazon.com/marketplace) ou utilisez la [console Amazon EC2](https://console.aws.amazon.com/ec2/) pour trouver l'ID d'AMI RHEL correspondant à la version du système source RHEL (par exemple, RHEL-7.7) et notez l'ID d'AMI. Sur la console Amazon EC2, vous pouvez filtrer les AMIs en utilisant l'un des termes de recherche suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrateur du cloud | 
| Configurez les paramètres de lancement d'AWS MGN.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html)AWS MGN va désormais utiliser cette version du modèle de lancement pour lancer des instances de test ou de transition. Pour plus d'informations, consultez la [documentation AWS MGN](https://docs.aws.amazon.com/mgn/latest/ug/ec2-launch.html). | Administrateur du cloud | 
| Validez les paramètres. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrateur du cloud | 
| Lancez la nouvelle instance LI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrateur du cloud | 

### Migrer vers une instance LI - option 2 (pour une instance RHEL BYOL EC2)
<a name="migrate-to-li-instance---option-2-for-a-rhel-byol-ec2-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez votre instance RHEL BYOL EC2 vers une instance AWS LI. | Vous pouvez transférer les systèmes RHEL que vous avez précédemment migrés vers AWS en tant que BYOL vers des instances AWS LI en déplaçant leurs disques (volumes Amazon Elastic Block Store) et en les attachant à une nouvelle instance LI. Pour effectuer ce changement, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Administrateur du cloud | 

### Reconfigurer le système d'exploitation RHEL pour utiliser le RHUI fourni par AWS : les deux options
<a name="reconfigure-rhel-os-to-use-aws-provided-rhui-ndash-both-options"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Désenregistrez le système d'exploitation de l'abonnement et de la licence Red Hat. | Une fois la migration et le transfert réussis, le système RHEL doit être supprimé de l'abonnement Red Hat afin de ne plus consommer la licence Red Hat et d'éviter une double facturation.Pour supprimer RHEL OS de l'abonnement Red Hat, suivez le processus décrit dans la documentation de [gestion des abonnements Red Hat (RHSM)](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/installation_guide/chap-subscription-management-unregistering). Utilisez la commande de l'interface de ligne de commande :  <pre>subscription-manager unregister</pre>Vous pouvez également désactiver le plugin de gestion des abonnements pour arrêter de vérifier l'état de l'abonnement à chaque appel **yum**. Pour ce faire, modifiez le fichier de configuration `/etc/yum/pluginconf.d/subscription-manager.conf` et remplacez le paramètre `enabled=1` par`enabled=0`. | Linux ou administrateur système | 
| Remplacez l'ancienne configuration de mise à jour (RHUI, réseau Red Hat Satellite, référentiels yum) par le RHUI fourni par AWS. | Vous devez reconfigurer le système RHEL migré pour utiliser les serveurs RHUI fournis par AWS. Cela vous permet d'accéder aux serveurs RHUI au sein des régions AWS sans avoir besoin d'une infrastructure de mise à jour externe. Le changement implique le processus suivant :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html)Voici les étapes et les commandes détaillées :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn.html) | Linux ou administrateur système | 
| Validez la configuration. | Sur l'instance cible migrée, vérifiez que la nouvelle configuration est correcte :<pre>sudo yum clean all <br />sudo yum repolist </pre> | Linux ou administrateur système | 

## Ressources connexes
<a name="migrate-rhel-byol-systems-to-aws-license-included-instances-by-using-aws-mgn-resources"></a>
+ [Guide de l'utilisateur du service de migration d'applications AWS (AWS MGN)](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Obtenir un package client AWS RHUI compatible IMDSv2 (article de](https://access.redhat.com/solutions/5009491) la base de connaissances Red Hat)
+ [Modèles de lancement Amazon EC2 (documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) Amazon EC2)

# Migrer une base de données Microsoft SQL Server sur site vers Amazon EC2
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2"></a>

*Senthil Ramasamy, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-summary"></a>

Ce modèle décrit comment migrer une base de données Microsoft SQL Server sur site vers Microsoft SQL Server sur une instance Amazon Elastic Compute Cloud (Amazon EC2). Il couvre deux options de migration : utiliser AWS Database Migration Service (AWS DMS) ou utiliser les outils natifs de Microsoft SQL Server tels que la sauvegarde et la restauration, l'assistant de copie de base de données ou la copie et l'attachement de base de données. 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-prereqs"></a>

**Conditions préalables**
+ Un AWS compte actif
+ Un système d'exploitation pris en charge par Amazon EC2 (pour une liste complète des versions de système d'exploitation prises en charge, consultez [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/))
+ Une base de données source Microsoft SQL Server dans un centre de données sur site

**Versions du produit**
+ Pour les bases de données sur site et les bases de données d' EC2 instances Amazon, AWS DMS prend en charge : 
  + Versions de SQL Server 2005, 2008, 2008R2, 2012, 2014, 2016, 2017 et 2019 
  + Éditions Enterprise, Standard, Workgroup, Developer et Web
+ Pour obtenir la dernière liste des versions prises en charge, voir [Utilisation d'une base de données Microsoft SQL Server comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html).   

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-architecture"></a>

**Pile technologique source**
+ Base de données Microsoft SQL Server locale

**Pile technologique cible**
+ Base de données Microsoft SQL Server sur une EC2 instance

**Architecture cible**

![\[Instances Microsoft SQL Server principales et de secours sur EC2 des instances situées dans deux zones de disponibilité.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/53e2c27d-ceb4-4d88-a022-93dd0b343eaf.png)


**Architecture de migration des données**
+ En utilisant AWS DMS

![\[Migration de données SQL Server sur site vers une EC2 instance à l'aide d'AWS DMS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/1cbe32ea-e285-4cac-9153-4428bad9b229.png)

+ Utilisation des outils SQL Server natifs 

![\[Migration des données SQL Server locales vers une EC2 instance à l'aide des outils SQL Server natifs.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f0a155b3-4977-4e1f-8332-89eab29c1e25/images/ad2caf54-7399-4038-91a3-acba9fa7da29.png)


## Outils
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/) vous aide à migrer vos données vers et depuis des bases de données commerciales et open source largement utilisées, notamment Oracle, SQL Server, MySQL et PostgreSQL. Vous pouvez l'utiliser AWS DMS pour migrer vos données vers AWS Cloud, entre des instances locales (via une AWS Cloud configuration) ou entre des combinaisons de configurations cloud et locales.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.
+ Les outils natifs de Microsoft SQL Server incluent la sauvegarde et la restauration, l'assistant de copie de base de données et la copie et l'attachement de base de données.

## Épopées
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions de base de données source et cible. |  | DBA | 
| Identifiez la version du système d'exploitation cible. |  | DBA, administrateur système | 
| Identifiez la configuration matérielle requise pour l'instance de serveur cible sur la base de la liste de compatibilité de Microsoft SQL Server et des exigences en matière de capacité. |  | DBA, administrateur système | 
| Identifiez les exigences de stockage en termes de type et de capacité. |  | DBA, administrateur système | 
| Identifiez les exigences du réseau, y compris la latence et la bande passante. |  | DBA, administrateur système | 
| Choisissez le type d' EC2 instance en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. |  | DBA, administrateur système | 
| Identifiez les exigences de sécurité d'accès au réseau et à l'hôte pour les bases de données source et cible. |  | DBA, administrateur système | 
| Identifiez la liste des utilisateurs requis pour l'installation du logiciel Microsoft SQL Server. |  | DBA, administrateur système | 
| Déterminez la stratégie de sauvegarde. |  | DBA | 
| Déterminez les exigences de disponibilité. |  | DBA | 
| Identifiez la stratégie de migration et de transfert des applications. |  | DBA, administrateur système | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un cloud privé virtuel (VPC) et des sous-réseaux. |  | Administrateur de systèmes | 
| Créez des groupes de sécurité et une liste de contrôle d'accès réseau (ACL). |  | Administrateur de systèmes | 
| Configurez et démarrez une EC2 instance. |  | Administrateur de systèmes | 

### Installez le logiciel
<a name="install-the-software"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez les utilisateurs et les groupes requis pour le logiciel Microsoft SQL Server. |  | DBA, administrateur système | 
| Téléchargez le logiciel Microsoft SQL Server. |  | DBA, administrateur système | 
| Installez le logiciel Microsoft SQL Server sur l' EC2 instance et configurez le serveur. |  | DBA, administrateur système | 

### Migrer les données - option 1
<a name="migrate-the-data---option-1"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez les outils natifs de Microsoft SQL Server ou des outils tiers pour migrer les objets et les données de la base de données. | Les outils incluent la sauvegarde et la restauration, l'assistant de copie de base de données et la copie et l'attachement de base de données. Pour plus d'informations, consultez le guide [Migration des bases de données Microsoft SQL Server vers le AWS Cloud](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/). | DBA | 

### Migrer les données - option 2
<a name="migrate-the-data---option-2"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les données à l'aide d'AWS DMS. | Pour plus d'informations sur l'utilisation AWS DMS, consultez les liens de la section [Ressources connexes](#migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-resources). | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de migration des applications. | Utilisez AWS Schema Conversion Tool (AWS SCT) pour analyser et modifier le code SQL intégré au code source de l'application. | DBA, propriétaire de l'application | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de changement d'application. |  | DBA, propriétaire de l'application, administrateur système | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez toutes les AWS ressources temporaires. | Les ressources temporaires incluent l'instance de AWS DMS réplication et l' EC2 instance pour AWS SCT. | DBA, administrateur système | 
| Passez en revue et validez les documents du projet. |  | DBA, propriétaire de l'application, administrateur système | 
| Collectez des indicateurs concernant le délai de migration, le pourcentage d'économies réalisées manuellement par rapport aux coûts liés aux outils, etc. |  | DBA, propriétaire de l'application, administrateur système | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA, propriétaire de l'application, administrateur système | 

## Ressources connexes
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2-resources"></a>

**Références**
+ [Migration des bases de données Microsoft SQL Server vers AWS Cloud](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/)
+ [Amazon EC2](https://aws.amazon.com/ec2/)
+ [Amazon EC2 FAQs](https://aws.amazon.com/ec2/faqs/)
+ [ EC2 Tarification Amazon](https://aws.amazon.com/ec2/pricing/)
+ [AWS Database Migration Service](https://aws.amazon.com/dms/)
+ [Produits Microsoft sur AWS](https://aws.amazon.com/windows/products/)
+ [Licence Microsoft sur AWS](https://aws.amazon.com/windows/resources/licensing/)
+ [Microsoft SQL Server sur AWS](https://aws.amazon.com/windows/products/sql/)

**Tutoriels et vidéos**
+ [Commencer à utiliser](https://aws.amazon.com/ec2/getting-started/) Amazon EC2
+ [Mise en route avec ](https://aws.amazon.com/dms/getting-started/)AWS Database Migration Service
+ [Joindre une EC2 instance Amazon à votre répertoire Simple AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/simple_ad_join_instance.html)
+ [Joindre une EC2 instance Amazon à votre AWS Managed Microsoft AD Active Directory](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_join_instance.html)
+ [AWS Database Migration Service](https://www.youtube.com/watch?v=zb4GcjEdl8U)(vidéo)
+ [Présentation d'Amazon EC2 — Serveur et hébergement Elastic Cloud avec AWS](https://www.youtube.com/watch?v=TsRBftzZsQo) (vidéo)

# Réhébergez les charges de travail sur site dans le cloud AWS : liste de contrôle pour la migration
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist"></a>

*Srikanth Rangavajhala, Amazon Web Services*

## Résumé
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-summary"></a>

Le réhébergement des charges de travail sur site dans le cloud Amazon Web Services (AWS) implique les phases de migration suivantes : planification, pré-découverte, découverte, création, test et transfert. Ce modèle décrit les phases et les tâches connexes. Les tâches sont décrites de manière détaillée et prennent en charge environ 75 % de toutes les charges de travail des applications. Vous pouvez implémenter ces tâches sur une période de deux à trois semaines dans le cadre d'un cycle de sprint agile.

Vous devez passer en revue et valider ces tâches avec votre équipe de migration et vos consultants. Après l'examen, vous pouvez recueillir les informations, éliminer ou réévaluer les tâches selon les besoins, et modifier d'autres tâches pour prendre en charge au moins 75 % des charges de travail des applications de votre portefeuille. Vous pouvez ensuite utiliser un outil de gestion de projet agile tel qu'Atlassian Jira ou Rally Software pour importer les tâches, les affecter aux ressources et suivre vos activités de migration. 

Le modèle suppose que vous utilisez [AWS Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html) pour réhéberger vos charges de travail, mais que vous pouvez utiliser l'outil de migration de votre choix.

Amazon Macie peut vous aider à identifier les données sensibles dans vos bases de connaissances, stockées sous forme de sources de données, de modèles de journaux d'invocation et de commandes de commandes dans des compartiments Amazon Simple Storage Service (Amazon S3). Pour plus d'informations, consultez la [documentation Macie](https://docs.aws.amazon.com/macie/latest/user/data-classification.html).

## Conditions préalables et limitations
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-prereqs"></a>

**Conditions préalables**
+ Outil de gestion de projet pour le suivi des tâches de migration (par exemple, Atlassian Jira ou Rally Software)
+ Outil de migration pour réhéberger vos charges de travail sur AWS (par exemple, [Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html))

## Architecture
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-architecture"></a>

**Plateforme source**
+ Pile source sur site (y compris les technologies, les applications, les bases de données et l'infrastructure)  

**Plateforme cible**
+ Stack cible du cloud AWS (y compris les technologies, les applications, les bases de données et l'infrastructure) 

**Architecture**

Le schéma suivant illustre le réhébergement (découverte et migration de serveurs depuis un environnement source sur site vers AWS) à l'aide de Cloud Migration Factory et d'AWS Application Migration Service.

![\[Réhébergement de serveurs sur AWS à l'aide de Cloud Migration Factory et du service de migration d'applications\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/8e2d2d72-30cc-4e98-8abd-ac2ef95e599b/images/735ad65b-2646-4803-82c9-f7f93369b3a5.png)


## Outils
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-tools"></a>
+ Vous pouvez utiliser l'outil de migration et de gestion de projet de votre choix.

## Épopées
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-epics"></a>

### Phase de planification
<a name="planning-phase"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Résorber l'arriéré préalable à la découverte. | Organisez la séance de travail préalable à la découverte du backlog avec les responsables des services et les propriétaires d'applications.  | Chef de projet, responsable Agile Scrum | 
|  Diriger la séance de travail sur la planification du sprint. | Dans le cadre d'un exercice de cadrage, répartissez les applications que vous souhaitez migrer entre des sprints et des vagues. | Chef de projet, responsable Agile Scrum | 

### Phase préalable à la découverte
<a name="pre-discovery-phase"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Confirmez la connaissance de l'application. | Confirmez et documentez le propriétaire de l'application et sa connaissance de l'application. Déterminez s'il existe un autre point de contact pour les questions techniques. | Spécialiste de la migration (intervieweur) | 
| Déterminez les exigences de conformité des applications. | Vérifiez auprès du propriétaire de l'application que l'application n'est pas tenue de respecter les exigences de la norme de sécurité des données de l'industrie des cartes de paiement (PCI DSS), de la loi Sarbanes-Oxley (SOX), des informations personnelles identifiables (PII) ou d'autres normes. Si des exigences de conformité existent, les équipes doivent terminer leurs contrôles de conformité sur les serveurs qui seront migrés. | Spécialiste de la migration (intervieweur) | 
| Confirmez les exigences relatives à la mise en production.  | Vérifiez les exigences relatives à la mise en production de l'application migrée (telles que la date de sortie et la durée du temps d'arrêt) auprès du propriétaire de l'application ou du contact technique. | Spécialiste de la migration (intervieweur) | 
| Obtenez la liste des serveurs. | Obtenez la liste des serveurs associés à l'application ciblée. | Spécialiste de la migration (intervieweur) | 
| Obtenez le diagramme logique qui montre l'état actuel. | Obtenez le diagramme d'état actuel de l'application auprès de l'architecte d'entreprise ou du propriétaire de l'application. | Spécialiste de la migration (intervieweur) | 
| Créez un diagramme logique qui montre l'état cible. | Créez un schéma logique de l'application qui montre l'architecture cible sur AWS. Ce diagramme doit illustrer les serveurs, la connectivité et les facteurs de mappage. | Architecte d'entreprise, propriétaire d'entreprise | 
| Obtenez des informations sur le serveur. | Collectez des informations sur les serveurs associés à l'application, notamment les détails de leur configuration. | Spécialiste de la migration (intervieweur) | 
| Ajoutez les informations du serveur au modèle de découverte. | Ajoutez des informations détaillées sur le serveur au modèle de découverte d'applications (voir ce modèle `mobilize-application-questionnaire.xlsx` en pièce jointe). Ce modèle inclut tous les détails relatifs à la sécurité, à l'infrastructure, au système d'exploitation et au réseau liés aux applications. | Spécialiste de la migration (intervieweur) | 
| Publiez le modèle de découverte d'applications. | Partagez le modèle de découverte d'applications avec le propriétaire de l'application et l'équipe de migration pour un accès et une utilisation communs. | Spécialiste de la migration (intervieweur) | 

### Phase de découverte
<a name="discovery-phase"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Confirmez la liste des serveurs. | Vérifiez la liste des serveurs et l'objectif de chaque serveur auprès du propriétaire de l'application ou du responsable technique. | Spécialiste de la migration | 
| Identifiez et ajoutez des groupes de serveurs. | Identifiez les groupes de serveurs tels que les serveurs Web ou les serveurs d'applications, et ajoutez ces informations au modèle de découverte d'applications. Sélectionnez le niveau de l'application (Web, application, base de données) auquel chaque serveur doit appartenir. | Spécialiste de la migration | 
| Remplissez le modèle de découverte de l'application. | Complétez les détails du modèle de découverte d'applications avec l'aide de l'équipe de migration, de l'équipe d'application et d'AWS. | Spécialiste de la migration | 
| Ajoutez les informations manquantes sur le serveur (équipes du middleware et du système d'exploitation). | Demandez aux équipes du middleware et du système d'exploitation (OS) de revoir le modèle de découverte des applications et d'ajouter les informations manquantes sur le serveur, y compris les informations de base de données. | Spécialiste de la migration | 
| Obtenez les règles de inbound/outbound circulation (équipe réseau). | Demandez à l'équipe réseau de connaître les règles de inbound/outbound trafic pour les serveurs source et de destination. L'équipe réseau doit également ajouter des règles de pare-feu existantes, les exporter vers un format de groupe de sécurité et ajouter des équilibreurs de charge existants au modèle de découverte d'applications. | Spécialiste de la migration | 
| Identifiez le marquage requis. | Déterminez les exigences en matière de balisage pour l'application. | Spécialiste de la migration | 
| Créez les détails de la demande de pare-feu. | Capturez et filtrez les règles de pare-feu requises pour communiquer avec l'application.  | Spécialiste de la migration, architecte de solutions, responsable réseau  | 
| Mettez à jour le type d' EC2 instance. | Mettez à jour le type d'instance Amazon Elastic Compute Cloud (Amazon EC2) à utiliser dans l'environnement cible, en fonction des exigences en matière d'infrastructure et de serveur.  | Spécialiste de la migration, architecte de solutions, responsable réseau | 
| Identifiez le diagramme d'état actuel. | Identifiez ou créez le diagramme qui montre l'état actuel de l'application. Ce diagramme sera utilisé dans la demande de sécurité des informations (InfoSec).  | Spécialiste de la migration, architecte de solutions | 
| Finalisez le futur diagramme d'état. | Finalisez le diagramme qui montre l'état futur (cible) de l'application. Ce schéma sera également utilisé dans la InfoSec demande.   | Spécialiste de la migration, architecte de solutions | 
| Créez des demandes de service de pare-feu ou de groupe de sécurité. | Créez des demandes de service de pare-feu ou de groupe de sécurité (pour le développement/l'assurance qualité, la pré-production et la production). Si vous utilisez Cloud Migration Factory, incluez les ports spécifiques à la réplication s'ils ne sont pas déjà ouverts.  | Spécialiste de la migration, architecte de solutions, responsable réseau | 
| Passez en revue les demandes de pare-feu ou de groupe de sécurité (InfoSec équipe). | Au cours de cette étape, l' InfoSec équipe examine et approuve les demandes de pare-feu ou de groupe de sécurité créées à l'étape précédente.  | InfoSec ingénieur, spécialiste de la migration | 
| Mettez en œuvre les demandes de groupe de sécurité du pare-feu (équipe réseau). | Une fois que l' InfoSec équipe a approuvé les demandes de pare-feu, l'équipe réseau met en œuvre les règles de inbound/outbound pare-feu requises.  | Spécialiste de la migration, architecte de solutions, responsable réseau | 

### Phase de construction (à répéter pour les environnements de développement/assurance qualité, de pré-production et de production)
<a name="build-phase-repeat-for-development-qa-pre-production-and-production-environments"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Importez les données de l'application et du serveur. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.html)Si vous n'utilisez pas Cloud Migration Factory, suivez les instructions de configuration de votre outil de migration. | Spécialiste de la migration, administrateur cloud | 
| Vérifiez les conditions requises pour les serveurs source. | Connectez-vous aux serveurs source concernés pour vérifier les conditions requises telles que le port TCP 1500, le port TCP 443, l'espace libre sur le volume racine, la version du .NET Framework et d'autres paramètres. Ils sont nécessaires pour la réplication. Pour plus d'informations, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#prerequisites-2). | Spécialiste de la migration, administrateur cloud | 
| Créez une demande de service pour installer des agents de réplication.  | Créez une demande de service pour installer des agents de réplication sur les serveurs concernés à des fins de développement/d'assurance qualité, de pré-production ou de production. | Spécialiste de la migration, administrateur cloud | 
| Installez les agents de réplication. | Installez les agents de réplication sur les serveurs sources concernés sur les machines de développement/d'assurance qualité, de pré-production ou de production. Pour plus d'informations, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#install-the-replication-agents). | Spécialiste de la migration, administrateur cloud | 
| Appuyez sur les scripts de post-lancement. | Le service de migration d'applications prend en charge les scripts de post-lancement pour vous aider à automatiser les activités au niveau du système d'exploitation, telles que l'installation ou la désinstallation de logiciels après le lancement des instances cibles. Cette étape envoie les scripts de post-lancement aux machines Windows ou Linux, en fonction des serveurs identifiés pour la migration. Pour obtenir des instructions, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#push-the-post-launch-scripts). | Spécialiste de la migration, administrateur cloud | 
| Vérifiez l'état de la réplication. | Vérifiez automatiquement l'état de réplication pour les serveurs sources concernés à l'aide du script fourni. Le script se répète toutes les cinq minutes jusqu'à ce que l'état de tous les serveurs sources de la vague donnée passe à **Healthy**. Pour obtenir des instructions, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#verify-the-replication-status). | Spécialiste de la migration, administrateur cloud | 
| Créez l'utilisateur administrateur. | Un administrateur local ou un utilisateur sudo sur les machines source peut être nécessaire pour résoudre les problèmes éventuels après le passage de la migration des serveurs source concernés vers AWS. L'équipe de migration utilise cet utilisateur pour se connecter au serveur cible lorsque le serveur d'authentification (par exemple, le serveur DC ou LDAP) n'est pas accessible. Pour obtenir des instructions relatives à cette étape, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/step4.html#add-a-user-to-the-admin-group). | Spécialiste de la migration, administrateur cloud | 
| Validez le modèle de lancement. | Validez les métadonnées du serveur pour vous assurer qu'elles fonctionnent correctement et qu'elles ne contiennent aucune donnée non valide. Cette étape valide à la fois les métadonnées de test et de transfert. Pour obtenir des instructions, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#validate-launch-template-1). | Spécialiste de la migration, administrateur cloud | 

### Phase de test (à répéter pour les environnements de développement/assurance qualité, de pré-production et de production)
<a name="test-phase-repeat-for-development-qa-pre-production-and-production-environments"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une demande de service. | Créez une demande de service pour que l'équipe d'infrastructure et les autres équipes effectuent le transfert des applications vers des instances de développement/assurance qualité, de pré-production ou de production.  | Spécialiste de la migration, administrateur cloud | 
| Configurez un équilibreur de charge (facultatif). | Configurez les équilibreurs de charge requis, tels qu'un [Application Load Balancer ou un équilibreur de charge](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) [F5](https://www.f5.com/resources/white-papers/load-balancing-101-nuts-and-bolts) avec iRules. | Spécialiste de la migration, administrateur cloud | 
| Lancez des instances à des fins de test. | Lancez toutes les machines cibles pour une vague donnée dans Application Migration Service en mode test. Pour plus d'informations, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#launch-instances-for-testing). | Spécialiste de la migration, administrateur cloud | 
| Vérifiez l'état de l'instance cible. | Vérifiez l'état de l'instance cible en vérifiant le processus de démarrage de tous les serveurs source concernés au cours de la même vague. Le démarrage des instances cibles peut prendre jusqu'à 30 minutes. Vous pouvez vérifier le statut manuellement en vous connectant à la EC2 console Amazon, en recherchant le nom du serveur source et en consultant la colonne de **vérification du statut**. Les **vérifications de statut 2/2 passées** indiquent que l'instance est saine du point de vue de l'infrastructure. | Spécialiste de la migration, administrateur cloud | 
| Modifiez les entrées DNS. | Modifiez les entrées du système de noms de domaine (DNS). (À utiliser `resolv.conf` ou `host.conf` pour un environnement Microsoft Windows.) Configurez chaque EC2 instance pour qu'elle pointe vers la nouvelle adresse IP de cet hôte.Assurez-vous qu'il n'existe aucun conflit DNS entre les serveurs sur site et les serveurs du cloud AWS. Cette étape et les suivantes sont facultatives, en fonction de l'environnement dans lequel le serveur est hébergé. | Spécialiste de la migration, administrateur cloud | 
| Testez la connectivité aux hôtes principaux à partir des EC2 instances. | Vérifiez les connexions à l'aide des informations d'identification de domaine des serveurs migrés. | Spécialiste de la migration, administrateur cloud | 
| Mettez à jour l'enregistrement DNS A. | Mettez à jour l'enregistrement DNS A pour chaque hôte afin qu'il pointe vers la nouvelle adresse IP EC2 privée Amazon. | Spécialiste de la migration, administrateur cloud | 
| Mettez à jour l'enregistrement DNS CNAME. | Mettez à jour l'enregistrement DNS CNAME pour le virtuel IPs (noms des équilibreurs de charge) afin qu'il pointe vers le cluster pour les serveurs Web et d'applications. | Spécialiste de la migration, administrateur cloud | 
| Testez l'application dans les environnements applicables. | Connectez-vous à la nouvelle EC2 instance et testez l'application dans les environnements de développement/assurance qualité, de pré-production et de production. | Spécialiste de la migration, administrateur cloud | 
| Marquer comme prêt pour le découpage. | Lorsque le test est terminé, modifiez l'état du serveur source pour indiquer qu'il est prêt pour le passage, afin que les utilisateurs puissent lancer une instance de transfert. Pour obtenir des instructions, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#mark-as-ready-for-cutover). | Spécialiste de la migration, administrateur cloud | 

### Phase de transition
<a name="cutover-phase"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un plan de déploiement de production. | Créez un plan de déploiement de production (y compris un plan de backout). | Spécialiste de la migration, administrateur cloud | 
| Informez l'équipe des opérations en cas d'indisponibilité. | Informez l'équipe des opérations du calendrier d'indisponibilité des serveurs. Certaines équipes peuvent avoir besoin d'un ticket de demande de modification ou de demande de service (CR/SR) pour cette notification. | Spécialiste de la migration, administrateur cloud | 
| Répliquez les machines de production. | Répliquez les machines de production à l'aide du service de migration d'applications ou d'un autre outil de migration. | Spécialiste de la migration, administrateur cloud | 
| Arrêtez les serveurs sources concernés. | Après avoir vérifié l'état de réplication des serveurs source, vous pouvez arrêter les serveurs sources pour arrêter les transactions entre les applications clientes et les serveurs. Vous pouvez arrêter les serveurs sources dans la fenêtre de transition. Pour plus d'informations, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#shut-down-the-in-scope-source-servers). | Administrateur du cloud | 
| Lancez des instances pour le transfert. | Lancez toutes les machines cibles pour une vague donnée dans Application Migration Service en mode cutover. Pour plus d'informations, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-factory-web-console.html#launch-instances-for-cutover). | Spécialiste de la migration, administrateur cloud | 
| Récupérez l'instance cible IPs. | Récupérez IPs les quatre instances cibles. Si la mise à jour du DNS est un processus manuel dans votre environnement, vous devez obtenir les nouvelles adresses IP pour toutes les instances cibles. Pour plus d'informations, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-command-prompt.html#retrieve-the-target-instance-ip). | Spécialiste de la migration, administrateur cloud | 
| Vérifiez les connexions au serveur cible. | Après avoir mis à jour les enregistrements DNS, connectez-vous aux instances cibles avec le nom d'hôte pour vérifier les connexions. Pour plus d'informations, consultez le [guide de mise en œuvre de Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/list-of-automated-migration-activities-using-command-prompt.html#verify-the-target-server-connections). | Spécialiste de la migration, administrateur cloud | 

## Ressources connexes
<a name="rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist-resources"></a>
+ [Comment effectuer la migration](https://aws.amazon.com/migrate-modernize-build/cloud-migration/how-to-migrate/)
+ [Guide de mise en œuvre d'AWS Cloud Migration Factory](https://docs.aws.amazon.com/solutions/latest/cloud-migration-factory-on-aws/solution-overview.html)
+ [Automatiser les migrations de serveurs à grande échelle avec Cloud Migration Factory](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-factory-cloudendure/welcome.html)
+ [Guide de l'utilisateur du service de migration d'applications AWS](https://docs.aws.amazon.com/mgn/latest/ug/what-is-application-migration-service.html)
+ [Programme d’accélération des migrations AWS](https://aws.amazon.com/migration-acceleration-program/)

## Pièces jointes
<a name="attachments-8e2d2d72-30cc-4e98-8abd-ac2ef95e599b"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/8e2d2d72-30cc-4e98-8abd-ac2ef95e599b/attachments/attachment.zip)

# Configurez une infrastructure multi-AZ pour un SQL Server Always On FCI à l'aide d'Amazon FSx
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx"></a>

*Manish Garg, T.V.R.L. Phani Kumar Dadi, Nishad Mankar et RAJNEESH TYAGI, Amazon Web Services*

## Résumé
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-summary"></a>

Si vous devez migrer rapidement un grand nombre d'instances de cluster Microsoft SQL Server Always On Failover (FCIs), ce modèle peut vous aider à réduire le temps de provisionnement. En utilisant l'automatisation et Amazon FSx pour Windows File Server, il réduit les efforts manuels, les erreurs causées par l'homme et le temps nécessaire au déploiement d'un grand nombre de clusters.

Ce modèle configure l'infrastructure de SQL Server FCIs dans un déploiement de zones de disponibilité multiple (multi-AZ) sur Amazon Web Services (AWS). Le provisionnement des services AWS requis pour cette infrastructure est automatisé à l'aide de CloudFormation modèles [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html). L'installation de SQL Server et la création de nœuds de cluster sur une instance [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) sont effectuées à l'aide de PowerShell commandes.

Cette solution utilise un système de fichiers [Amazon FSx pour Windows](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/what-is.html) multi-AZ à haute disponibilité comme témoin partagé pour le stockage des fichiers de base de données SQL Server. Le système de FSx fichiers Amazon et les instances EC2 Windows qui hébergent SQL Server sont joints au même domaine AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD).

## Conditions préalables et limitations
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Un utilisateur AWS disposant des autorisations suffisantes pour provisionner des ressources à l'aide de CloudFormation modèles AWS
+ AWS Directory Service pour Microsoft Active Directory
+ Informations d'identification dans AWS Secrets Manager pour s'authentifier auprès d'AWS Managed Microsoft AD dans une paire clé-valeur :
  + `ADDomainName`: <Domain Name>
  + `ADDomainJoinUserName`: <Domain Username>
  + `ADDomainJoinPassword`: <Domain User Password>
  + `TargetOU`: <Target OU Value>
**Note**  
Vous utiliserez le même nom de clé dans l'automatisation d'AWS Systems Manager pour l'activité de jointure avec AWS Managed Microsoft AD.
+ Fichiers multimédia SQL Server pour l'installation de SQL Server et création de comptes de service ou de domaine Windows, qui seront utilisés lors de la création du cluster
+ Un cloud privé virtuel (VPC), avec deux sous-réseaux publics dans des zones de disponibilité distinctes, deux sous-réseaux privés dans les zones de disponibilité, une passerelle Internet, des passerelles NAT, des associations de tables de routage et un serveur de saut

**Versions du produit**
+ Windows Server 2012 R2 et Microsoft SQL Server 2016

## Architecture
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-architecture"></a>

**Pile technologique source**
+ SQL Server sur site avec FCIs utilisation d'un lecteur partagé

**Pile technologique cible**
+  EC2 Instances AWS
+ Serveur FSx de fichiers Amazon pour Windows
+ Manuel d'utilisation d'AWS Systems Manager Automation
+ Configurations réseau (VPC, sous-réseaux, passerelle Internet, passerelles NAT, serveur de saut, groupes de sécurité)
+ AWS Secrets Manager
+ AWS Managed Microsoft AD
+ Amazon EventBridge
+ AWS Identity and Access Management (IAM)

**Architecture cible**

Le schéma suivant montre un compte AWS dans une seule région AWS, avec un VPC comprenant deux zones de disponibilité, deux sous-réseaux publics avec des passerelles NAT, un serveur de saut dans le premier sous-réseau public, deux sous-réseaux privés, chacun avec une EC2 instance pour un nœud SQL Server dans un groupe de sécurité de nœuds, et un système de FSx fichiers Amazon se connectant à chacun des nœuds SQL Server. AWS Directory Service, Amazon EventBridge, AWS Secrets Manager et AWS Systems Manager sont également inclus.

![\[Architecture multi-AZ avec des ressources dans des sous-réseaux publics et privés, avec des groupes de sécurité de nœuds.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f09c0164-be2d-4665-a574-7ec29fd25082/images/543829a9-e130-4542-9c4e-7518c6cbe967.png)


**Automatisation et mise à l'échelle**
+ Vous pouvez utiliser AWS Systems Manager pour rejoindre AWS Managed Microsoft AD et effectuer l'installation de SQL Server.

## Outils
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-tools"></a>

**Services AWS**
+ [AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) vous CloudFormation aide à configurer les ressources AWS, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie sur l'ensemble des comptes et des régions AWS.
+ [AWS Directory Service](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/what_is.html) propose plusieurs manières d'utiliser Microsoft Active Directory (AD) avec d'autres services AWS tels qu'Amazon Elastic Compute Cloud (Amazon EC2), Amazon Relational Database Service (Amazon RDS) pour SQL Server et FSx Amazon pour Windows File Server.
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fournit une capacité de calcul évolutive dans le cloud AWS. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.
+ [Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-what-is.html) est un service de bus d'événements sans serveur qui vous permet de connecter vos applications à des données en temps réel provenant de diverses sources. Par exemple, les fonctions AWS Lambda, les points de terminaison d'appel HTTP utilisant des destinations d'API ou les bus d'événements dans d'autres comptes AWS.
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 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.
+ [AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html) vous aide à gérer vos applications et votre infrastructure exécutées dans le cloud AWS. Il simplifie la gestion des applications et des ressources, réduit le délai de détection et de résolution des problèmes opérationnels et vous aide à gérer vos ressources AWS en toute sécurité à grande échelle.

**Autres outils**
+ [PowerShell](https://learn.microsoft.com/en-us/powershell/)est un programme d'automatisation et de gestion de configuration Microsoft qui s'exécute sous Windows, Linux et macOS. Ce modèle utilise des PowerShell scripts.

**Référentiel de code**

Le code de ce modèle est disponible dans le référentiel GitHub [aws-windows-failover-cluster-automation](https://github.com/aws-samples/aws-windows-failover-cluster-automation).

## Bonnes pratiques
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-best-practices"></a>
+ Les rôles IAM utilisés pour déployer cette solution doivent respecter le principe du moindre privilège. Pour plus d’informations, consultez [la documentation IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege).
+ Suivez les [ CloudFormation meilleures pratiques d'AWS](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/best-practices.html).

## Épopées
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-epics"></a>

### Déployer l'infrastructure
<a name="deploy-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Déployez la CloudFormation pile Systems Manager. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingénieur | 
| Déployez la pile d'infrastructure. | Après le déploiement réussi de la pile Systems Manager, créez la `infra` pile, qui inclut les nœuds d' EC2 instance, les groupes de sécurité, le système de fichiers Amazon FSx pour Windows File Server et le rôle IAM.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingénieur | 

### Configurer le système Windows SQL Server Always On (FCI)
<a name="set-up-the-windows-sql-server-always-on-fci"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez les outils Windows. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DevOps ingénieur, DBA | 
| Préinstallez les objets informatiques du cluster dans les services de domaine Active Directory. | [Pour préparer l'objet de nom de cluster (CNO) dans les services de domaine Active Directory (AD DS) et préparer un objet d'ordinateur virtuel (VCO) pour un rôle de cluster, suivez les instructions de la documentation de Windows Server.](https://learn.microsoft.com/en-us/windows-server/failover-clustering/prestage-cluster-adds) | AWS DevOps, DBA, ingénieur DevOps  | 
| Créez le WSFC. | Pour créer le cluster Windows Server Failover Clustering (WSFC), procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | AWS DevOps, DBA, ingénieur DevOps  | 
| Installez le cluster de basculement SQL Server. | Une fois le cluster WSFC configuré, installez le cluster SQL Server sur l'instance principale (node1).[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)<pre>D:\setup.exe /Q  `<br />/ACTION=InstallFailoverCluster `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/FEATURES="SQL,IS,BC,Conn"  `<br />/INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server"  `<br />/INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server"  `<br />/RSINSTALLMODE="FilesOnlyMode"  `<br />/INSTANCEID="MSSQLSERVER" `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)"  `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node1>;Cluster Network 1;<subnet mask>"  `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>"  `<br />/INSTANCEDIR="C:\Program Files\Microsoft SQL Server"  `<br />/ENU="True"  `<br />/ERRORREPORTING=0  `<br />/SQMREPORTING=0  `<br />/SAPWD="<Domain User password>" `<br />/SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"  `<br />/SQLSYSADMINACCOUNTS="<domain\username>" `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="<domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/ISSVCACCOUNT="<domain\username>" /ISSVCPASSWORD="<Domain User password>"  `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher"  `<br />/INSTALLSQLDATADIR="\\<FSX DNS name>\share\Program Files\Microsoft SQL Server"  `<br />/SQLUSERDBDIR="\\<FSX DNS name>\share\data"  `<br />/SQLUSERDBLOGDIR="\\<FSX DNS name>\share\log" `<br />/SQLTEMPDBDIR="T:\tempdb"  `<br />/SQLTEMPDBLOGDIR="T:\log"  `<br />/SQLBACKUPDIR="\\<FSX DNS name>\share\SQLBackup" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, DBA, ingénieur DevOps  | 
| Ajoutez un nœud secondaire au cluster. | Pour ajouter SQL Server au nœud secondaire (nœud 2), exécutez la PowerShell commande suivante.<pre>D:\setup.exe /Q  `<br />/ACTION=AddNode `<br />/IACCEPTSQLSERVERLICENSETERMS `<br />/INSTANCENAME="MSSQLSERVER"  `<br />/FAILOVERCLUSTERGROUP="SQL Server (MSSQLSERVER)" `<br />/FAILOVERCLUSTERIPADDRESSES="IPv4;<2nd Sec Private Ip node2>;Cluster Network 2;<subnet mask>" `<br />/FAILOVERCLUSTERNETWORKNAME="<Fail over cluster Network Name>" `<br />/CONFIRMIPDEPENDENCYCHANGE=1 `<br />/SQLSVCACCOUNT="<domain\username>"  /SQLSVCPASSWORD="<Domain User password>" `<br />/AGTSVCACCOUNT="domain\username>"  /AGTSVCPASSWORD="<Domain User password>" `<br />/FTSVCACCOUNT="NT Service\MSSQLFDLauncher" `<br />/SkipRules=Cluster_VerifyForErrors `<br />/INDICATEPROGRESS</pre> | AWS DevOps, DBA, ingénieur DevOps  | 
| Testez le SQL Server FCI. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | DBA, ingénieur DevOps  | 

### nettoyer des ressources ;
<a name="clean-up-resources"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| nettoyer les ressources. | Pour nettoyer les ressources, utilisez le processus de suppression de la CloudFormation pile AWS :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html)Une fois la suppression des piles terminée, les piles seront dans leur `DELETE_COMPLETE` état actuel. Les piles dans `DELETE_COMPLETE` cet état ne sont pas affichées dans la CloudFormation console par défaut. Pour afficher les piles supprimées, vous devez modifier le filtre de vue des piles comme décrit dans [Afficher les piles supprimées sur la console AWS CloudFormation ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-view-deleted-stacks.html).Si la suppression a échoué, une pile sera dans `DELETE_FAILED` cet état. Pour les solutions, consultez la section [Supprimer les échecs de la pile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-delete-stack-fails) dans la CloudFormation documentation. | AWS DevOps, DBA, ingénieur DevOps  | 

## Résolution des problèmes
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Défaillance CloudFormation du modèle AWS | Si le CloudFormation modèle échoue pendant le déploiement, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 
| Échec de la jointure avec AWS Managed Microsoft AD | Pour résoudre les problèmes de jointure, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.html) | 

## Ressources connexes
<a name="set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx-resources"></a>
+ [Simplifiez vos déploiements de haute disponibilité de Microsoft SQL Server à l'aide d'Amazon FSx pour Windows File Server](https://aws.amazon.com/blogs/storage/simplify-your-microsoft-sql-server-high-availability-deployments-using-amazon-fsx-for-windows-file-server/)
+ [Utilisation FSx d'un serveur de fichiers Windows avec Microsoft SQL Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/sql-server.html)

# Utilisez les requêtes BMC Discovery pour extraire les données de migration afin de planifier la migration
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning"></a>

*Ben Taille-Hamblin, Emma Baldry, Simon Cunningham et Shabnam Khan, Amazon Web Services*

## Résumé
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-summary"></a>

Ce guide fournit des exemples de requêtes et des étapes pour vous aider à extraire des données de votre infrastructure et de vos applications sur site à l'aide de BMC Discovery. Le modèle vous montre comment utiliser les requêtes BMC Discovery pour analyser votre infrastructure et extraire des informations sur les logiciels, les services et les dépendances. Les données extraites sont nécessaires pour les phases d'évaluation et de mobilisation d'une migration à grande échelle vers le cloud Amazon Web Services (AWS). Vous pouvez utiliser ces données pour prendre des décisions critiques concernant les applications à migrer ensemble dans le cadre de votre plan de migration.

## Conditions préalables et limitations
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-prereqs"></a>

**Conditions préalables**
+ Une licence pour BMC Discovery (anciennement BMC ADDM) ou pour la version logicielle en tant que service (SaaS) de BMC Helix Discovery
+ [Version sur site ou SaaS de BMC Discovery, installée](https://docs.bmc.com/docs/discovery/221/installing-1050933835.html) 
**Note**  
Pour les versions locales de BMC Discovery, vous devez installer l'application sur un réseau client avec accès à tous les périphériques réseau et serveurs concernés par une migration entre plusieurs centres de données. L'accès au réseau client doit être fourni conformément aux instructions d'installation de l'application. Si l'analyse des informations de Windows Server est requise, vous devez configurer un périphérique de gestion de proxy Windows sur le réseau.
+ [Accès au réseau](https://docs.bmc.com/docs/discovery/221/network-ports-used-for-discovery-communications-1050933821.html) pour permettre à l'application de scanner les appareils entre les centres de données, si vous utilisez BMC Helix Discovery

**Versions du produit**
+ BMC Discovery 22.2 (12,5)
+ BMC Discovery 22,1 (12,4)
+ BMC Discovery 21,3 (12,3)
+ BMC Discovery 21,05 (12,2)
+ BMC Discovery 20,08 (12,1)
+ BMC Discovery 20,02 (12,0)
+ BMC Discovery 11.3
+ BMC Discovery 11.2
+ BMC Discovery 11.1
+ BMC Discovery 11.0
+ BMC Atrium Discovery 10.2
+ BMC Atrium Discovery 10.1
+ BMC Atrium Discovery 10.0

## Architecture
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-architecture"></a>

Le schéma suivant montre comment les gestionnaires d'actifs peuvent utiliser les requêtes BMC Discovery pour analyser des applications modélisées par BMC dans des environnements SaaS et sur site.

![\[Architecture qui utilise BMC Discovery pour extraire les informations relatives aux logiciels, aux services et aux dépendances.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5e549882-8deb-4459-8891-e39bbf80e320/images/0ebb3e68-5828-45aa-86f4-c741c7b6cd94.jpeg)


Le diagramme illustre le flux de travail suivant : un gestionnaire d'actifs utilise BMC Discovery ou BMC Helix Discovery pour scanner les instances de base de données et de logiciels exécutées sur des serveurs virtuels hébergés sur plusieurs serveurs physiques. L'outil peut modéliser des applications avec des composants couvrant plusieurs serveurs virtuels et physiques.

**Pile technologique**
+ BMC Discovery
+ BMC Helix Discovery

## Outils
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-tools"></a>
+ [BMC Discovery](https://docs.bmc.com/xwiki/bin/view/IT-Operations-Management/Discovery/BMC-Discovery/) est un outil de découverte de centres de données qui vous permet de découvrir automatiquement votre centre de données.
+ [BMC Helix Discovery est un système de découverte](https://www.bmc.com/it-solutions/bmc-helix-discovery.html) et de modélisation des dépendances basé sur le SaaS qui vous aide à modéliser dynamiquement vos actifs de données et leurs dépendances.

## Bonnes pratiques
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-best-practices"></a>

Il est recommandé de cartographier les données d'application, de dépendance et d'infrastructure lors de la migration vers le cloud. Le mappage vous aide à comprendre la complexité de votre environnement actuel et les dépendances entre les différents composants.

Les informations sur les actifs fournies par ces requêtes sont importantes pour plusieurs raisons :

1. **Planification** : la compréhension des dépendances entre les composants vous aide à planifier le processus de migration de manière plus efficace. Par exemple, il se peut que vous deviez d'abord migrer certains composants afin de garantir que d'autres puissent être migrés avec succès.

1. **Évaluation des risques** — La cartographie des dépendances entre les composants peut vous aider à identifier les risques ou problèmes potentiels pouvant survenir au cours du processus de migration. Par exemple, vous découvrirez peut-être que certains composants reposent sur des technologies obsolètes ou non prises en charge susceptibles de provoquer des problèmes dans le cloud.

1. **Architecture cloud** — La cartographie des données de votre application et de votre infrastructure peut également vous aider à concevoir une architecture cloud adaptée aux besoins de votre organisation. Par exemple, vous devrez peut-être concevoir une architecture multiniveau pour répondre aux exigences de haute disponibilité ou d'évolutivité.

Dans l'ensemble, le mappage des données relatives aux applications, aux dépendances et à l'infrastructure constitue une étape cruciale du processus de migration vers le cloud. L'exercice de cartographie peut vous aider à mieux comprendre votre environnement actuel, à identifier les problèmes ou risques potentiels et à concevoir une architecture cloud adaptée.

## Épopées
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-epics"></a>

### Identifier et évaluer les outils de découverte
<a name="identify-and-evaluate-discovery-tooling"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez les propriétaires de l'ITSM. | Identifiez les responsables de la gestion des services informatiques (ITSM) (généralement en contactant les équipes de support opérationnel). | Responsable de la migration | 
| Vérifiez CMDB.  | Identifiez le nombre de bases de données de gestion de configuration (CMDBs) contenant des informations sur les actifs, puis identifiez les sources de ces informations. | Responsable de la migration | 
| Identifiez les outils de découverte et vérifiez l'utilisation de BMC Discovery. | Si votre entreprise utilise BMC Discovery pour envoyer des données relatives à votre environnement à l'outil CMDB, vérifiez l'étendue et la couverture de ses analyses. Par exemple, vérifiez si BMC Discovery analyse tous les centres de données et si les serveurs d'accès sont situés dans des zones périmétriques. | Responsable de la migration | 
| Vérifiez le niveau de modélisation des applications. | Vérifiez si les applications sont modélisées dans BMC Discovery. Si ce n'est pas le cas, recommandez l'utilisation de l'outil BMC Discovery pour modéliser les instances logicielles en cours d'exécution fournissant une application et un service métier. | Ingénieur en migration, responsable de la migration | 

### Extraire les données d'infrastructure
<a name="extract-infrastructure-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Extrayez les données sur des serveurs physiques et virtuels. | Pour extraire des données sur les serveurs physiques et virtuels analysés par BMC Discovery, utilisez [Query Builder](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) pour exécuter la requête suivante :<pre>search Host show key as 'Serverid', virtual, name as 'HOSTNAME', os_type as 'osName', os_version as 'OS Version', num_logical_processors as 'Logical Processor Counts', cores_per_processor as 'Cores per Processor', logical_ram as 'Logical RAM', #Consumer:StorageUse:Provider:DiskDrive.size as 'Size'</pre>Vous pouvez utiliser les données extraites pour déterminer les tailles d'instance appropriées pour la migration. | Ingénieur en migration, responsable de la migration | 
| Extrayez des données sur des applications modélisées. | Si vos applications sont modélisées dans BMC Discovery, vous pouvez extraire des données concernant les serveurs qui exécutent le logiciel d'application. Pour obtenir les noms des serveurs, utilisez le [Générateur de requêtes](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) pour exécuter la requête suivante :<pre>search SoftwareInstance show key as 'ApplicationID', #RunningSoftware:HostedSoftware:Host:Host.key as 'ReferenceID', type, name</pre>Les applications sont modélisées dans BMC Discovery par un ensemble d'instances logicielles en cours d'exécution. L'application dépend de tous les serveurs qui exécutent le logiciel d'application. | Propriétaire de l'application BMC Discovery | 
| Extraire des données dans des bases de données. | Pour obtenir la liste de toutes les bases de données scannées et des serveurs sur lesquels ces bases de données sont exécutées, utilisez le [Générateur de requêtes](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) pour exécuter la requête suivante :<pre>search Database show key as 'Key', name, type as 'Source Engine Type', #Detail:Detail:ElementWithDetail:SoftwareInstance.name as 'Software Instance', #Detail:Detail:ElementWithDetail:SoftwareInstance.product_version as 'Product Version', #Detail:Detail:ElementWithDetail:SoftwareInstance.edition as 'Edition', #Detail:Detail:ElementWithDetail:SoftwareInstance.#RunningSoftware:HostedSoftware:Host:Host.key as 'ServerID'</pre> | Propriétaire de l'application | 
| Extrayez les données relatives à la communication avec le serveur. | Pour obtenir des informations sur toutes les communications réseau entre les serveurs collectées par BMC Discovery à partir des journaux de communications réseau historiques, utilisez [Query Builder](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) pour exécuter la requête suivante :<pre>search Host<br /> TRAVERSE InferredElement:Inference:Associate:DiscoveryAccess<br /> TRAVERSE DiscoveryAccess:DiscoveryAccessResult:DiscoveryResult:NetworkConnectionList<br /> TRAVERSE List:List:Member:DiscoveredNetworkConnection<br /> PROCESS WITH networkConnectionInfo</pre> | Propriétaire de l'application BMC Discovery | 
| Extrayez les données relatives à la découverte d'applications. | Pour obtenir des informations sur les dépendances des applications, utilisez le [Générateur de requêtes](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) pour exécuter la requête suivante :<pre>search SoftwareInstance show key as 'SRC App ID', #Dependant:Dependency:DependedUpon:SoftwareInstance.key as 'DEST App ID'</pre> | Propriétaire de l'application BMC Discovery | 
| Extrayez des données sur les services aux entreprises. | Pour extraire des données sur les services commerciaux fournis par les hôtes, utilisez le [Générateur de requêtes](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html) pour exécuter la requête suivante :<pre>search Host show name, #Host:HostedSoftware:AggregateSoftware:BusinessService.name as 'Name'</pre> | Propriétaire de l'application BMC Discovery | 

## Résolution des problèmes
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Une requête ne s'exécute pas ou contient des colonnes non remplies. | Passez en revue les enregistrements des actifs dans BMC Discovery et déterminez les champs dont vous avez besoin. Remplacez ensuite ces champs dans la requête à l'aide du [Générateur de requêtes](https://docs.bmc.com/docs/discovery/221/query-builder-1051985747.html). | 
| Les détails d'un actif dépendant ne sont pas renseignés. | Cela est probablement dû aux autorisations d'accès ou à la connectivité réseau. L'outil de découverte peut ne pas disposer des autorisations nécessaires pour accéder à certains actifs, en particulier s'ils se trouvent sur différents réseaux ou dans différents environnements.Nous vous recommandons de travailler en étroite collaboration avec des experts en matière de découverte afin de vous assurer que tous les actifs pertinents sont identifiés. | 

## Ressources connexes
<a name="use-bmc-discovery-queries-to-extract-migration-data-for-migration-planning-resources"></a>

**Références**
+ Droits de [licence BMC Discovery (documentation](https://docs.bmc.com/docs/discovery/bmc-discovery-licensing-entitlement-531336348.html) BMC)
+ [Fonctionnalités et composants de BMC Discovery](https://docs.bmc.com/docs/discovery/221/bmc-discovery-features-and-components-1052418000.html) (documentation BMC)
+ [Guide de l'utilisateur de BMC Discovery](https://docs.bmc.com/xwiki/bin/view/IT-Operations-Management/Discovery/BMC-Discovery/) (documentation BMC)
+ [Recherche de données (sur BMC Discovery)](https://docs.bmc.com/docs/discovery/120/searching-for-data-911457232.html) (documentation BMC)
+ [Découverte et analyse du portefeuille pour la migration](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-portfolio-discovery/welcome.html) (AWS Prescriptive Guidance)

**Tutoriels et vidéos**
+ [BMC Discovery : Webinaire - Meilleures pratiques en matière de requêtes de reporting (partie 1) (YouTube)](https://www.youtube.com/watch?v=iwXy6x40kO8)

# Déménager
<a name="migration-relocate-pattern-list"></a>

**Topics**
+ [Migrer une base de données Amazon RDS for Oracle vers Compte AWS une autre Région AWS et AWS DMS l'utiliser pour une réplication continue](migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.md)
+ [Migrer une instance de base de données Amazon RDS vers un autre VPC ou un autre compte](migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.md)
+ [Migrer un cluster Amazon Redshift vers une région AWS en Chine](migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china.md)
+ [Transportez des bases de données PostgreSQL entre deux instances de base de données Amazon RDS à l'aide de pg\$1transport](transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.md)

# Migrer une base de données Amazon RDS for Oracle vers Compte AWS une autre Région AWS et AWS DMS l'utiliser pour une réplication continue
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication"></a>

*Durga Prasad Cheepuri et Eduardo Valentim, Amazon Web Services*

## Résumé
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-summary"></a>


| 
| 
| Avertissement : les utilisateurs IAM disposent d'informations d'identification à long terme, ce qui présente un risque de sécurité. Pour atténuer ce risque, nous vous recommandons de ne fournir à ces utilisateurs que les autorisations dont ils ont besoin pour effectuer la tâche et de supprimer ces autorisations lorsqu’elles ne sont plus nécessaires. | 
| --- |

Ce modèle explique les étapes de migration d'une base de données source Amazon Relational Database Service (Amazon RDS) pour Oracle vers un autre et. Compte AWS Région AWS Le modèle utilise un instantané de base de données pour un chargement complet des données unique et active AWS Database Migration Service (AWS DMS) pour une réplication continue.

## Conditions préalables et limitations
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS contenant la base de données source Amazon RDS for Oracle, qui a été chiffrée à l'aide d'une clé autre que AWS Key Management Service default (AWS KMS)
+ Un actif Compte AWS dans une base de données Région AWS différente de la base de données source, à utiliser pour la base de données Amazon RDS for Oracle cible
+ Cloud privé virtuel (VPC) reliant la source à la cible VPCs
+ Connaissance de l'[utilisation d'une base de données Oracle comme source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) pour AWS DMS
+ Connaissance de l'[utilisation d'une base de données Oracle comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) 

**Versions du produit**
+ Versions Oracle 11g (versions 11.2.0.3.v1 et ultérieures), 12.2 et 18c. Pour obtenir la dernière liste des versions et éditions prises en charge, voir [Utilisation d'une base de données Oracle comme source AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) et [Utilisation d'une base de données Oracle comme cible AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) dans la AWS documentation. Pour les versions d'Oracle prises en charge par Amazon RDS, consultez [Oracle sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html). 

## Architecture
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-architecture"></a>

**Stacks technologiques sources et cibles**
+ Instance de base de données Amazon RDS pour Oracle

![\[Compte AWS source connecté au compte AWS cible contenant les régions source et cible\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/e17fa7fe-d924-4f35-9707-b93572fa1227.png)


**Architecture de réplication continue**

![\[Base de données sur une EC2 instance connectée via le peering VPC à une instance de réplication et à Amazon RDS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/b60b3500-5d29-487a-bbab-0ae9f3f386aa.png)


## Outils
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-tools"></a>

**Outils utilisés pour le chargement complet des données en une seule fois**
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) crée un instantané du volume de stockage de votre instance de base de données, en sauvegardant l'intégralité de l'instance de base de données et pas uniquement les bases de données individuelles. Lorsque vous créez un snapshot DB, vous devez identifier quelle instance de base de données vous allez sauvegarder, puis nommer votre snapshot DB afin de pouvoir effectuer une restauration à partir de ce dernier ultérieurement. Le temps nécessaire à la création d'un instantané varie en fonction de la taille de vos bases de données. Étant donné que l’instantané inclut l’intégralité du volume de stockage, la taille des fichiers, comme les fichiers temporaires, a également une incidence sur le temps nécessaire à la création de l’instantané. Pour plus d'informations sur l'utilisation des instantanés de base de données, consultez la section [Création d'un instantané](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html) de base de données dans la documentation Amazon RDS. 
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) crée une**** clé pour le**** chiffrement**** Amazon RDS. Lorsque vous créez une instance de base de données chiffrée, vous pouvez également fournir l'identifiant de [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)clé de votre clé de chiffrement. Si vous ne spécifiez aucun identifiant de [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)clé, Amazon RDS utilise votre clé de chiffrement par défaut pour votre nouvelle instance de base de données. [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)crée votre clé de chiffrement par défaut pour votre Compte AWS. Vous disposez Compte AWS d'une clé de chiffrement par défaut différente pour chacune d'entre elles Région AWS. Pour ce modèle, l'instance de base de données Amazon RDS doit être chiffrée à l'aide d'une clé autre que celle par défaut [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html). Pour plus d'informations sur l'utilisation des [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)clés pour le chiffrement Amazon RDS, consultez la section [Chiffrer les ressources Amazon RDS dans la documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html) Amazon RDS.

**Outils utilisés pour la réplication continue**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) est utilisé pour répliquer les modifications en cours et pour synchroniser les bases de données source et cible. Pour plus d'informations sur l'utilisation AWS DMS pour une réplication continue, consultez la section [Utilisation d'une instance de AWS DMS réplication](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html) dans la AWS DMS documentation. 

## Épopées
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-epics"></a>

### Configurez votre source Compte AWS
<a name="configure-your-source-aws-account"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez l'instance de base de données Oracle source. | Laissez l'instance de base de données Amazon RDS for Oracle s'exécuter en mode ARCHIVELOG et définissez la période de rétention. Pour plus de détails, voir [Utilisation d'une base de données Oracle AWS gérée comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed). | DBA | 
| Définissez une journalisation supplémentaire pour l'instance de base de données Oracle source. | Définissez une journalisation supplémentaire au niveau de la base de données et au niveau de la table pour l'instance de base de données Amazon RDS for Oracle. Pour plus de détails, voir [Utilisation d'une base de données Oracle AWS gérée comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed). | DBA | 
| Mettez à jour la politique AWS KMS clé dans le compte source. | Mettez à jour la politique AWS KMS clé dans la source Compte AWS pour permettre à la cible Compte AWS d'utiliser la AWS KMS clé Amazon RDS cryptée. Pour plus de détails, consultez la [AWS KMS documentation](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts). | SysAdmin | 
| Créez un instantané manuel de base de données Amazon RDS de l'instance de base de données source. |  | Utilisateur AWS IAM | 
| Partagez l'instantané Amazon RDS chiffré manuel avec la cible Compte AWS. | Pour plus de détails, consultez la section [Partage d'un instantané](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html) de base de données. | Utilisateur AWS IAM | 

### Configurez votre cible Compte AWS
<a name="configure-your-target-aws-account"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Joignez une politique. | Dans la cible Compte AWS, attachez une politique Gestion des identités et des accès AWS (IAM) à l'utilisateur IAM racine, afin de lui permettre de copier un instantané de base de données chiffré à l'aide de la clé partagée. AWS KMS  | SysAdmin | 
| Passez à la source Région AWS. |  | Utilisateur AWS IAM | 
| Copiez le cliché partagé. | Dans la console Amazon RDS, dans le volet **Snapshots**, choisissez **Shared with Me**, puis sélectionnez l'instantané partagé. Copiez l'instantané sur le même emplacement Région AWS que la base de données source en utilisant le Amazon Resource Name (ARN) pour la AWS KMS clé utilisée par la base de données source. Pour plus de détails, consultez [la section Copier un instantané](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html) de base de données. | Utilisateur AWS IAM | 
| Passez à la cible Région AWS et créez une nouvelle AWS KMS clé. |  | Utilisateur AWS IAM | 
| Copiez le cliché. | Passez à la source Région AWS. Sur la console Amazon RDS, dans le volet **Snapshots**, choisissez **Owned by Me**, puis sélectionnez l'instantané copié. Copiez le cliché sur la cible Région AWS en utilisant la AWS KMS clé de la nouvelle cible Région AWS. | Utilisateur AWS IAM | 
| Restaurez l’instantané. | Passez à la cible Région AWS. Sur la console Amazon RDS, dans le volet **Snapshots**, choisissez **Owned by Me**. Sélectionnez le snapshot copié et restaurez-le sur une instance de base de données Amazon RDS for Oracle. Pour plus de détails, voir [Restauration à partir d'un instantané](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html) de base de données. | Utilisateur AWS IAM | 

### Préparez votre base de données source pour une réplication continue
<a name="prepare-your-source-database-for-ongoing-replication"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un utilisateur Oracle doté des autorisations appropriées. | Créez un utilisateur Oracle doté des privilèges requis pour Oracle en tant que source pour AWS DMS. Pour plus de détails, consultez la [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html). | DBA | 
| Configurez la base de données source pour Oracle LogMiner ou Oracle Binary Reader. |  | DBA | 

### Préparez votre base de données cible pour une réplication continue
<a name="prepare-your-target-database-for-ongoing-replication"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un utilisateur Oracle doté des autorisations appropriées. | Créez un utilisateur Oracle doté des privilèges requis pour Oracle en tant que cible pour AWS DMS. Pour plus de détails, consultez la [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.Privileges). | DBA | 

### Création de AWS DMS composants
<a name="create-dms-components"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication dans la cible Région AWS. | Créez une instance de réplication dans le VPC de la cible. Région AWS Pour plus de détails, consultez la [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.ReplicationInstance). | Utilisateur AWS IAM | 
| Créez des points de terminaison source et cible avec le chiffrement requis et testez les connexions. | Pour plus de détails, consultez la [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Endpoints). | DBA | 
| Créez des tâches de réplication. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.html)Pour plus de détails, consultez la [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Tasks). | Utilisateur IAM | 
| Démarrez les tâches et surveillez-les. | Pour plus de détails, consultez la [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html). | Utilisateur AWS IAM | 
| Activez la validation de la tâche si nécessaire. | Notez que l'activation de la validation a un impact sur les performances de la réplication. Pour plus de détails, consultez la [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Utilisateur AWS IAM | 

## Ressources connexes
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-resources"></a>
+ [Modification d'une politique clé](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts)
+ [Création d'un instantané manuel de base de données Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html)
+ [Partage d'un instantané manuel de base de données Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html)
+ [Copier un instantané](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html) 
+ [Restauration à partir d'un instantané de base de données Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html) 
+ [Commencer avec AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) 
+ [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) 
+ [Utilisation d'une base de données Oracle comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) 
+ [AWS DMS configuration à l'aide du peering VPC](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer) 
+ [Comment partager des instantanés de base de données Amazon RDS manuels ou des instantanés de cluster de bases de données avec un autre utilisateur ? Compte AWS](https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/) (article du centre de connaissances AWS) 

# Migrer une instance de base de données Amazon RDS vers un autre VPC ou un autre compte
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account"></a>

*Dhrubajyoti Mukherjee, Amazon Web Services*

## Résumé
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-summary"></a>

Ce modèle fournit des conseils pour la migration d'une instance de base de données Amazon Relational Database Service (Amazon RDS) d'un cloud privé virtuel (VPC) vers un autre dans le même compte AWS, ou d'un compte AWS vers un autre compte AWS.

Ce modèle est utile si vous souhaitez migrer vos instances de base de données Amazon RDS vers un autre VPC ou un autre compte pour des raisons de séparation ou de sécurité (par exemple, lorsque vous souhaitez placer votre pile d'applications et votre base de données dans VPCs un autre emplacement). 

La migration d'une instance de base de données vers un autre compte AWS implique des étapes telles que la prise d'un instantané manuel, son partage et sa restauration sur le compte cible. Ce processus peut prendre beaucoup de temps, en fonction des modifications apportées à la base de données et des taux de transactions. Cela entraîne également des interruptions de service de la base de données. Planifiez donc la migration à l'avance. Envisagez une stratégie blue/green de déploiement pour minimiser les temps d'arrêt. Vous pouvez également évaluer AWS Data Migration Service (AWS DMS) afin de minimiser les temps d'arrêt liés au changement. Toutefois, ce modèle ne couvre pas cette option. Pour en savoir plus, consultez la [documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html).

## Conditions préalables et limitations
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Autorisations AWS Identity and Access Management (IAM) requises pour le VPC, les sous-réseaux et la console Amazon RDS

**Limites**
+ Les modifications apportées à un VPC entraînent le redémarrage de la base de données, ce qui entraîne des interruptions d'application. Nous vous recommandons de migrer pendant les périodes de faible affluence.
+ Limitations lors de la migration d'Amazon RDS vers un autre VPC :
  + L'instance de base de données que vous migrez doit être une instance unique sans veille. Il ne doit pas être membre d'un cluster.
  + Amazon RDS ne doit pas se trouver dans plusieurs zones de disponibilité.
  + Amazon RDS ne doit pas disposer de répliques de lecture.
  + Le groupe de sous-réseaux créé dans le VPC cible doit comporter des sous-réseaux provenant de la zone de disponibilité où s'exécute la base de données source.
+ Limitations lors de la migration d'Amazon RDS vers un autre compte AWS :
  + Le partage d'instantanés chiffrés avec la clé de service par défaut pour Amazon RDS n'est actuellement pas pris en charge.

## Architecture
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-architecture"></a>

**Migration vers un VPC dans le même compte AWS**

Le schéma suivant montre le flux de travail de migration d'une instance de base de données Amazon RDS vers un autre VPC dans le même compte AWS.

![\[Flux de travail pour la migration d'une instance de base de données Amazon RDS vers un autre VPC dans le même compte AWS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/dabcee69-9cc6-47f9-9964-635e349caaaf/images/73e16544-6276-4f03-9ae2-42b8c7c20315.png)


Les étapes sont les suivantes. Consultez la section [Epics](#migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics) pour des instructions détaillées.

1. Créez un groupe de sous-réseaux de base de données dans le VPC cible. Un groupe de sous-réseaux de base de données est un ensemble de sous-réseaux que vous pouvez utiliser pour spécifier un VPC spécifique lorsque vous créez des instances de base de données.

1. Configurez l'instance de base de données Amazon RDS dans le VPC source pour utiliser le nouveau groupe de sous-réseaux de base de données.

1. Appliquez les modifications pour migrer la base de données Amazon RDS vers le VPC cible.

**Migration vers un autre compte AWS**

Le schéma suivant montre le flux de travail de migration d'une instance de base de données Amazon RDS vers un autre compte AWS.

![\[Flux de travail pour la migration d'une instance de base de données Amazon RDS vers un autre compte AWS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/dabcee69-9cc6-47f9-9964-635e349caaaf/images/5536e69e-3965-4ca2-8a0b-2573659b5f8f.png)


Les étapes sont les suivantes. Consultez la section [Epics](#migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics) pour des instructions détaillées.

1. Accédez à l'instance de base de données Amazon RDS dans le compte AWS source.

1. Créez un instantané Amazon RDS dans le compte AWS source.

1. Partagez l'instantané Amazon RDS avec le compte AWS cible.

1. Accédez à l'instantané Amazon RDS dans le compte AWS cible.

1. Créez une instance de base de données Amazon RDS dans le compte AWS cible.

## Outils
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-tools"></a>

**Services AWS**
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) vous aide à configurer, exploiter et dimensionner une base de données relationnelle dans le cloud AWS.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) vous aide à lancer des ressources AWS dans un réseau virtuel que vous avez défini. Ce réseau virtuel ressemble à un réseau traditionnel que vous exploiteriez dans votre propre centre de données, avec les avantages liés à l'utilisation de l'infrastructure évolutive d'AWS.

## Bonnes pratiques
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-best-practices"></a>
+ Si l'indisponibilité de la base de données est un problème lors de la migration d'une instance de base de données Amazon RDS vers un autre compte, nous vous recommandons d'utiliser [AWS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) DMS. Ce service assure la réplication des données, ce qui entraîne une interruption de service de moins de cinq minutes.

## Épopées
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-epics"></a>

### Migrer vers un autre VPC dans le même compte AWS
<a name="migrate-to-a-different-vpc-in-the-same-aws-account"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un nouveau VPC. | Sur la [console Amazon VPC](https://console.aws.amazon.com/vpc/), créez un nouveau VPC et des sous-réseaux avec les propriétés et les plages d'adresses IP souhaitées. Pour obtenir des instructions détaillées, consultez la [documentation Amazon VPC.](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) | Administrateur | 
| Créez un groupe de sous-réseaux de base de données. | Sur la [console Amazon RDS](https://console.aws.amazon.com/rds/) :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html)Pour plus d'informations, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.CreateDBSubnetGroup) | Administrateur | 
| Modifiez l'instance de base de données Amazon RDS pour utiliser le nouveau groupe de sous-réseaux. | Sur la console Amazon RDS :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html)Lorsque la migration vers le VPC cible est terminée, le groupe de sécurité par défaut du VPC cible est attribué à l'instance de base de données Amazon RDS. Vous pouvez configurer un nouveau groupe de sécurité pour ce VPC avec les règles entrantes et sortantes requises pour votre instance de base de données.Vous pouvez également utiliser l'interface de ligne de commande AWS (AWS CLI) pour effectuer la migration vers le VPC cible en fournissant explicitement le nouvel ID de groupe de sécurité VPC. Par exemple :<pre>aws rds modify-db-instance \<br />    --db-instance-identifier testrds \<br />    --db-subnet-group-name new-vpc-subnet-group \<br />    --vpc-security-group-ids sg-idxxxx \<br />    --apply-immediately</pre> | Administrateur | 

### Migrer vers un autre compte AWS
<a name="migrate-to-a-different-aws-account"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un nouveau VPC et un nouveau groupe de sous-réseaux dans le compte AWS cible. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html) | Administrateur | 
| Partagez un instantané manuel de la base de données et partagez-le avec le compte cible. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-db-instance-to-another-vpc-or-account.html) | Administrateur | 
| Lancez une nouvelle instance de base de données Amazon RDS. | Lancez une nouvelle instance de base de données Amazon RDS à partir de l'instantané partagé dans le compte AWS cible. Pour obtenir des instructions, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html) | Administrateur | 

## Ressources connexes
<a name="migrate-an-amazon-rds-db-instance-to-another-vpc-or-account-resources"></a>
+ [Documentation Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)
+ [Documentation Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)
+ [Comment modifier le VPC d'une instance de base de données RDS ?](https://aws.amazon.com/premiumsupport/knowledge-center/change-vpc-rds-db-instance/) (AWS Re:Publier un article)
+ [Comment transférer la propriété des ressources Amazon RDS vers un autre compte AWS ?](https://aws.amazon.com/premiumsupport/knowledge-center/account-transfer-rds/) (AWS Re:Publier un article)
+ [Comment partager des instantanés de base de données Amazon RDS manuels ou des instantanés de cluster de bases de données Aurora avec un autre compte AWS ?](https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/) (AWS Re:Publier un article)
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)

# Migrer un cluster Amazon Redshift vers une région AWS en Chine
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china"></a>

*Jing Yan, Amazon Web Services*

## Résumé
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-summary"></a>

Ce modèle fournit une step-by-step approche pour migrer un cluster Amazon Redshift vers une région AWS en Chine depuis une autre région AWS.

Ce modèle utilise des commandes SQL pour recréer tous les objets de base de données, et utilise la commande UNLOAD pour déplacer ces données d'Amazon Redshift vers un bucket Amazon Simple Storage Service (Amazon S3) dans la région source. Les données sont ensuite migrées vers un compartiment S3 dans la région AWS en Chine. La commande COPY est utilisée pour charger des données depuis le compartiment S3 et les transférer vers le cluster Amazon Redshift cible.

Amazon Redshift ne prend actuellement pas en charge les fonctionnalités interrégionales telles que la copie d'instantanés vers les régions AWS en Chine. Ce modèle fournit un moyen de contourner cette limitation. Vous pouvez également inverser les étapes de ce modèle pour migrer des données d'une région AWS en Chine vers une autre région AWS.

## Conditions préalables et limitations
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-prereqs"></a>

*Conditions préalables*
+ Comptes AWS actifs à la fois dans une région chinoise et dans une région AWS hors de Chine
+ Clusters Amazon Redshift existants à la fois dans une région chinoise et dans une région AWS en dehors de la Chine

*Limites*
+ Il s'agit d'une migration hors ligne, ce qui signifie que le cluster Amazon Redshift source ne peut pas effectuer d'opérations d'écriture pendant la migration.

## Architecture
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-architecture"></a>

**Pile technologique source**
+ Cluster Amazon Redshift dans une région AWS en dehors de la Chine

**Pile technologique cible**
+ Cluster Amazon Redshift dans une région AWS en Chine

**Architecture cible**

![\[Migration des données du cluster Amazon Redshift d'un compartiment S3 d'une région AWS vers un compartiment d'une région de Chine.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f7d241d9-b700-406b-95a0-3e47e7f0fa60/images/b6016e3d-76db-4176-8f99-f804da94d3f2.png)


## Outils
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-tools"></a>

**Outils**
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/gsg/GetStartedWithS3.html) — Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets qui offre évolutivité, disponibilité des données, sécurité et performances. Vous pouvez utiliser Amazon S3 pour stocker les données d'Amazon Redshift, et vous pouvez copier les données d'un compartiment S3 vers Amazon Redshift.
+ [Amazon Redshift — Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/welcome.html) est un service d'entrepôt de données entièrement géré de plusieurs pétaoctets dans le cloud. 
+ [psql](https://www.postgresql.org/docs/8.4/app-psql.html) — psql est une interface basée sur un terminal pour PostgreSQL. 

## Épopées
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-epics"></a>

### Préparation à la migration dans la région source
<a name="prepare-for-migration-in-the-source-region"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Lancez et configurez une EC2 instance dans la région source. | Connectez-vous à l'AWS Management Console et ouvrez la console Amazon Elastic Compute Cloud (Amazon EC2). Votre région actuelle est affichée dans la barre de navigation en haut de l'écran. Cette région ne peut pas être une région AWS en Chine. Dans le tableau de bord de la EC2 console Amazon, choisissez « Launch instance », puis créez et configurez une EC2 instance. Important : Assurez-vous que vos groupes EC2 de sécurité pour les règles entrantes autorisent un accès illimité au port TCP 22 depuis votre machine source. Pour obtenir des instructions sur le lancement et la configuration d'une EC2 instance, consultez la section « Ressources associées ». | DBA, Développeur | 
| Installez l'outil psql. | Téléchargez et installez PostgreSQL. Amazon Redshift ne fournit pas l'outil psql, il est installé avec PostgreSQL. Pour plus d'informations sur l'utilisation de psql et l'installation des outils PostgreSQL, consultez la section « Ressources associées ». | DBA | 
| Enregistrez les détails du cluster Amazon Redshift.  | Ouvrez la console Amazon Redshift et choisissez « Clusters » dans le volet de navigation. Choisissez ensuite le nom du cluster Amazon Redshift dans la liste. Dans l'onglet « Propriétés », dans la section « Configurations de base de données », enregistrez le « Nom de la base de données » et le « Port ». Ouvrez la section « Détails de la connexion » et enregistrez le « point de terminaison », au <port><databasename>format « point de terminaison :/». Important : assurez-vous que vos groupes de sécurité Amazon Redshift pour les règles entrantes autorisent un accès illimité au port TCP 5439 depuis votre instance. EC2  | DBA | 
| Connectez psql au cluster Amazon Redshift.  | <databasename><port>À l'invite de commande, spécifiez les informations de connexion en exécutant la commande « psql -h <endpoint>-U <userid>-d -p ». À l'invite de mot de passe PSQL, entrez le mot de passe de l'<userid>utilisateur « ». Vous êtes ensuite connecté au cluster Amazon Redshift et pouvez saisir des commandes de manière interactive. | DBA | 
| Créez un compartiment S3.  | Ouvrez la console Amazon S3 et créez un compartiment S3 pour contenir les fichiers exportés depuis Amazon Redshift. Pour obtenir des instructions sur la création d'un compartiment S3, consultez la section « Ressources associées ». | Administrateur de bases de données, AWS en général | 
| Créez une politique IAM qui prend en charge le déchargement des données. | Ouvrez la console AWS Identity and Access Management (IAM) et choisissez « Policies ». Choisissez « Créer une politique », puis choisissez l'onglet « JSON ». Copiez et collez la politique IAM pour le déchargement des données depuis la section « Informations supplémentaires ». Important : remplacez « s3\$1bucket\$1name » par le nom de votre compartiment S3. Choisissez « Réviser la politique », puis entrez le nom et la description de la politique. Choisissez « Créer une politique ». | DBA | 
| Créez un rôle IAM pour autoriser l'opération UNLOAD pour Amazon Redshift. | Ouvrez la console IAM et choisissez « Rôles ». Choisissez « Créer un rôle », puis « Service AWS » dans « Sélectionner le type d'entité de confiance ». Choisissez « Redshift » pour le service, choisissez « Redshift — Personnalisable », puis « Suivant ». Choisissez la politique de « Déchargement » que vous avez créée précédemment, puis choisissez « Suivant ». Entrez un « Nom du rôle », puis choisissez « Créer un rôle ». | DBA | 
| Associez le rôle IAM au cluster Amazon Redshift.  | Ouvrez la console Amazon Redshift et choisissez « Gérer les rôles IAM ». Choisissez « Rôles disponibles » dans le menu déroulant et choisissez le rôle que vous avez créé précédemment. Choisissez « Appliquer les modifications ». Lorsque le « statut » du rôle IAM dans la section « Gérer les rôles IAM » indique « Synchronisé », vous pouvez exécuter la commande UNLOAD. | DBA | 
| Arrêtez les opérations d'écriture sur le cluster Amazon Redshift. | N'oubliez pas d'arrêter toutes les opérations d'écriture sur le cluster Amazon Redshift source jusqu'à ce que la migration soit terminée. | DBA | 

### Préparer la migration dans la région cible
<a name="prepare-for-migration-in-the-target-region"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Lancez et configurez une EC2 instance dans la région cible. | Connectez-vous à la console de gestion AWS pour une région de Chine, Pékin ou Ningxia. Dans la EC2 console Amazon, choisissez « Launch instance », puis créez et configurez une EC2 instance. Important : assurez-vous que vos groupes EC2 de sécurité Amazon pour les règles entrantes autorisent un accès illimité au port TCP 22 depuis votre machine source. Pour plus d'instructions sur le lancement et la configuration d'une EC2 instance, consultez la section « Ressources associées ». | DBA | 
| Enregistrez les détails du cluster Amazon Redshift.  | Ouvrez la console Amazon Redshift et choisissez « Clusters » dans le volet de navigation. Choisissez ensuite le nom du cluster Amazon Redshift dans la liste. Dans l'onglet « Propriétés », dans la section « Configurations de base de données », enregistrez le « Nom de la base de données » et le « Port ». Ouvrez la section « Détails de la connexion » et enregistrez le « point de terminaison », au <port><databasename>format « point de terminaison :/». Important : assurez-vous que vos groupes de sécurité Amazon Redshift pour les règles entrantes autorisent un accès illimité au port TCP 5439 depuis votre instance. EC2  | DBA | 
| Connectez psql au cluster Amazon Redshift.  | <databasename><port>À l'invite de commande, spécifiez les informations de connexion en exécutant la commande « psql -h <endpoint>-U <userid>-d -p ». À l'invite de mot de passe PSQL, entrez le mot de passe de l'<userid>utilisateur « ». Vous êtes ensuite connecté au cluster Amazon Redshift et pouvez saisir des commandes de manière interactive. | DBA | 
| Créez un compartiment S3.  | Ouvrez la console Amazon S3 et créez un compartiment S3 pour contenir les fichiers exportés depuis Amazon Redshift. Pour obtenir de l'aide sur ce sujet et sur d'autres articles, consultez la section « Ressources connexes ». | DBA | 
| Créez une politique IAM qui prend en charge la copie de données. | Ouvrez la console IAM et choisissez « Politiques ». Choisissez « Créer une politique », puis choisissez l'onglet « JSON ». Copiez et collez la politique IAM pour copier des données depuis la section « Informations supplémentaires ». Important : remplacez « s3\$1bucket\$1name » par le nom de votre compartiment S3. Choisissez « Réviser la politique », entrez le nom et la description de la politique. Choisissez « Créer une politique ». | DBA | 
| Créez un rôle IAM pour autoriser l'opération COPY pour Amazon Redshift. | Ouvrez la console IAM et choisissez « Rôles ». Choisissez « Créer un rôle », puis « Service AWS » dans « Sélectionner le type d'entité de confiance ». Choisissez « Redshift » pour le service, choisissez « Redshift — Personnalisable », puis « Suivant ». Choisissez la politique « Copier » que vous avez créée précédemment, puis choisissez « Suivant ». Entrez un « Nom du rôle », puis choisissez « Créer un rôle ». | DBA | 
| Associez le rôle IAM au cluster Amazon Redshift.  | Ouvrez la console Amazon Redshift et choisissez « Gérer les rôles IAM ». Choisissez « Rôles disponibles » dans le menu déroulant et choisissez le rôle que vous avez créé précédemment. Choisissez « Appliquer les modifications ». Lorsque le « statut » du rôle IAM dans la section « Gérer les rôles IAM » indique « Synchronisé », vous pouvez exécuter la commande « COPIER ». | DBA | 

### Vérifiez les données source et les informations sur les objets avant de commencer la migration
<a name="verify-source-data-and-object-information-before-beginning-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Vérifiez les lignes des tables Amazon Redshift source. | Utilisez les scripts de la section « Informations supplémentaires » pour vérifier et enregistrer le nombre de lignes dans les tables Amazon Redshift sources. N'oubliez pas de répartir les données de manière égale pour les scripts UNLOAD et COPY. Cela améliorera l'efficacité du déchargement et du chargement des données, car la quantité de données couverte par chaque script sera équilibrée. | DBA | 
| Vérifiez le nombre d'objets de base de données dans le cluster Amazon Redshift source. | Utilisez les scripts de la section « Informations supplémentaires » pour vérifier et enregistrer le nombre de bases de données, d'utilisateurs, de schémas, de tables, de vues et de fonctions définies par l'utilisateur (UDFs) dans votre cluster Amazon Redshift source. | DBA | 
| Vérifiez les résultats des instructions SQL avant la migration. | Certaines instructions SQL pour la validation des données doivent être triées en fonction de la situation réelle de l'entreprise et des données. Cela permet de vérifier les données importées afin de garantir leur cohérence et leur affichage correct. | DBA | 

### Migrer les données et les objets vers la région cible
<a name="migrate-data-and-objects-to-the-target-region"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Générez des scripts DDL Amazon Redshift.  | Générez des scripts DDL (Data Definition Language) en utilisant les liens de la section « Instructions SQL pour interroger Amazon Redshift » dans la section « Informations supplémentaires ». Ces scripts DDL doivent inclure les requêtes « créer un utilisateur », « créer un schéma », « privilèges sur le schéma pour l'utilisateur », « créer une table/une vue », « privilèges sur des objets pour l'utilisateur » et « créer une fonction ». | DBA | 
| Créez des objets dans le cluster Amazon Redshift pour la région cible. | Exécutez les scripts DDL à l'aide de l'interface de ligne de commande AWS (AWS CLI) dans la région AWS en Chine. Ces scripts créeront des objets dans le cluster Amazon Redshift pour la région cible. | DBA | 
| Déchargez les données sources du cluster Amazon Redshift dans le compartiment S3. | Exécutez la commande UNLOAD pour décharger les données du cluster Amazon Redshift de la région source vers le compartiment S3. | DBA, Développeur  | 
| Transférez les données du compartiment source de la région S3 vers le compartiment de la région S3 cible. | Transférez les données de votre compartiment de région S3 source vers le compartiment S3 cible. La commande « \$1 aws s3 sync » ne pouvant pas être utilisée, veillez à suivre le processus décrit dans l'article « Transférer les données Amazon S3 des régions AWS vers les régions AWS en Chine » de la section « Ressources associées ». | Developer | 
|  Chargez les données dans le cluster Amazon Redshift cible.  | Dans l'outil psql de votre région cible, exécutez la commande COPY pour charger les données du compartiment S3 vers le cluster Amazon Redshift cible. | DBA | 

### Vérifiez les données dans les régions source et cible après la migration
<a name="verify-the-data-in-the-source-and-target-regions-after-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Vérifiez et comparez le nombre de lignes dans les tables source et cible. | Vérifiez et comparez le nombre de lignes du tableau dans les régions source et cible pour vous assurer que toutes sont migrées. | DBA | 
| Vérifiez et comparez le nombre d'objets de base de données source et cible. | Vérifiez et comparez tous les objets de base de données dans les régions source et cible pour vous assurer qu'ils sont tous migrés. | DBA | 
| Vérifiez et comparez les résultats des scripts SQL dans les régions source et cible. | Exécutez les scripts SQL préparés avant la migration. Vérifiez et comparez les données pour vous assurer que les résultats SQL sont corrects. | DBA | 
| Réinitialisez les mots de passe de tous les utilisateurs du cluster Amazon Redshift cible.  | Une fois la migration terminée et toutes les données vérifiées, vous devez réinitialiser tous les mots de passe utilisateur pour le cluster Amazon Redshift dans la région AWS en Chine. | DBA | 

## Ressources connexes
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-resources"></a>
+ [Transfert de données Amazon S3 des régions AWS vers les régions AWS en Chine](https://aws.amazon.com/cn/blogs/storage/transferring-amazon-s3-data-from-aws-regions-to-aws-regions-in-china/)
+ [Création d'un compartiment S3](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)
+ [Réinitialisation d'un mot de passe utilisateur Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_USER.html)
+ [documentation psql](https://www.postgresql.org/docs/8.4/static/app-psql.html)

## Informations supplémentaires
<a name="migrate-an-amazon-redshift-cluster-to-an-aws-region-in-china-additional"></a>

*Politique IAM pour le déchargement des données*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::s3_bucket_name"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject", "s3:DeleteObject"],
      "Resource": ["arn:aws:s3:::s3_bucket_name/*"]
    }
  ]
}
```

*Politique IAM pour la copie de données*

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::s3_bucket_name"]
    },
    {
      "Effect": "Allow",
      "Action": ["s3:GetObject"],
      "Resource": ["arn:aws:s3:::s3_bucket_name/*"]
    }
  ]
}
```

*Instructions SQL pour interroger Amazon Redshift*

```
##Database

select * from pg_database where datdba>1;

##User

select * from pg_user where usesysid>1;

##Schema

SELECT n.nspname AS "Name",

  pg_catalog.pg_get_userbyid(n.nspowner) AS "Owner"

FROM pg_catalog.pg_namespace n

WHERE n.nspname !~ '^pg_' AND n.nspname <> 'information_schema'

ORDER BY 1;

##Table

select count(*) from pg_tables where schemaname not in ('pg_catalog','information_schema');

select schemaname,count(*) from pg_tables where schemaname not in ('pg_catalog','information_schema') group by schemaname order by 1;

##View

SELECT 

    n.nspname AS schemaname,c.relname AS viewname,pg_catalog.pg_get_userbyid(c.relowner) as "Owner"

FROM 

    pg_catalog.pg_class AS c

INNER JOIN

    pg_catalog.pg_namespace AS n

    ON c.relnamespace = n.oid

WHERE relkind = 'v' and n.nspname not in ('information_schema','pg_catalog');

##UDF

SELECT 

   n.nspname AS schemaname,

   p.proname AS proname,

   pg_catalog.pg_get_userbyid(p.proowner) as "Owner"

FROM pg_proc p

LEFT JOIN pg_namespace n on n.oid = p.pronamespace

WHERE p.proowner != 1;
```

*Scripts SQL pour générer des instructions DDL*
+ [Script Get\$1Schema\$1Priv\$1by\$1user](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_get_schema_priv_by_user.sql)
+ [Générer un script TBL\$1DDL](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_tbl_ddl.sql)
+ [Generate\$1View\$1DDL](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_view_ddl.sql)
+ [Generate\$1User\$1Grant\$1Revoke\$1DDL](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_user_grant_revoke_ddl.sql)
+ [Générer un UDF\$1DDL](https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminViews/v_generate_udf_ddl.sql)

# Transportez des bases de données PostgreSQL entre deux instances de base de données Amazon RDS à l'aide de pg\$1transport
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport"></a>

*Raunak Rishabh et Jitender Kumar, Amazon Web Services*

## Résumé
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-summary"></a>

**Ce modèle décrit les étapes de migration de bases de données extrêmement volumineuses entre deux instances de base de données Amazon Relational Database Service (Amazon RDS) pour PostgreSQL à l'aide de l'extension pg\$1transport.** Cette extension offre un mécanisme physique de transport permettant de déplacer chaque base de données. En diffusant les fichiers de base de données avec un traitement minimal, il fournit une méthode extrêmement rapide pour migrer des bases de données volumineuses entre des instances de base de données avec un temps d'arrêt minimal. Cette extension utilise un modèle d'extraction dans lequel l'instance de base de données cible importe la base de données depuis l'instance de base de données source.

## Conditions préalables et limitations
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-prereqs"></a>

**Conditions préalables**
+ Les deux instances de base de données doivent exécuter la même version majeure de PostgreSQL.
+ La base de données ne doit pas exister sur la cible. Dans le cas contraire, le transport échoue.
+ Aucune extension autre que **pg\$1transport** ne doit être activée dans la base de données source.
+ Tous les objets de la base de données source doivent se trouver dans le tablespace **pg\$1default par défaut**.
+ Le groupe de sécurité de l'instance de base de données source doit autoriser le trafic provenant de l'instance de base de données cible.
+ Installez un client PostgreSQL [tel que](https://www.postgresql.org/docs/11/app-psql.html) psql [PgAdmin](https://www.pgadmin.org/)ou pour fonctionner avec l'instance de base de données Amazon RDS PostgreSQL. Vous pouvez installer le client dans votre système local ou utiliser une instance Amazon Elastic Compute Cloud (Amazon EC2). Dans ce modèle, nous utilisons psql sur une EC2 instance.

**Limites**
+ Vous ne pouvez pas transporter de bases de données entre différentes versions majeures d'Amazon RDS for PostgreSQL.
+ Les privilèges d'accès et la propriété de la base de données source ne sont pas transférés vers la base de données cible.
+ Vous ne pouvez pas transporter de bases de données sur des répliques en lecture ou sur des instances parentes de répliques en lecture.
+ Vous ne pouvez pas utiliser les types de données **reg** dans les tables de base de données que vous prévoyez de transporter avec cette méthode.
+ Vous pouvez exécuter jusqu'à 32 transports au total (y compris les importations et les exportations) en même temps sur une instance de base de données.
+ Vous ne pouvez pas renommer include/exclude les tables. Tout est migré tel quel.

**Précaution**
+ Effectuez des sauvegardes avant de supprimer l'extension, car la suppression de l'extension supprime également les objets dépendants et certaines données essentielles au fonctionnement de la base de données.
+ Tenez compte de la classe d'instance et des processus exécutés sur d'autres bases de données de l'instance source lorsque vous déterminez le nombre de travailleurs et les `work_mem` valeurs de **pg\$1transport**.
+ Lorsque le transport démarre, toutes les connexions à la base de données source sont interrompues et la base de données passe en mode lecture seule.

**Note**  
Lorsque le transport est exécuté sur une base de données, il n'affecte pas les autres bases de données du même serveur. ****

**Versions du produit**
+ Amazon RDS pour PostgreSQL 10.10 et versions ultérieures, et Amazon RDS pour PostgreSQL 11.5 et versions ultérieures. Pour obtenir les informations les plus récentes sur les versions, consultez [Transporter des bases de données PostgreSQL entre des instances de base](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html) de données dans la documentation Amazon RDS.

## Architecture
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-architecture"></a>

![\[Transport de bases de données PostgreSQL entre des instances de base de données Amazon RDS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/d5fb7ea3-32b7-4602-b382-3cf5c075c7c9/images/aec4d8d2-37a8-4136-9042-f9667ac4aebb.png)


## Outils
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-tools"></a>
+ **pg\$1transport** fournit un mécanisme de transport physique pour déplacer chaque base de données. En diffusant les fichiers de base de données avec un minimum de traitement, le transport physique déplace les données beaucoup plus rapidement que les processus traditionnels de vidage et de chargement et nécessite un minimum de temps d'arrêt. Les bases de données transportables PostgreSQL utilisent un modèle d'extraction dans lequel l'instance de base de données de destination importe la base de données à partir de l'instance de base de données source. Vous installez cette extension sur vos instances de base de données lorsque vous préparez les environnements source et cible, comme expliqué dans ce modèle.
+ [psql](https://www.postgresql.org/docs/11/app-psql.html) vous permet de vous connecter à vos instances de base de données PostgreSQL et de les utiliser. Pour installer **psql** sur votre système, consultez la page des téléchargements de [PostgreSQL](https://www.postgresql.org/download/).

## Épopées
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-epics"></a>

### Création du groupe de paramètres cible
<a name="create-the-target-parameter-group"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un groupe de paramètres pour le système cible. | Spécifiez un nom de groupe qui l'identifie en tant que groupe de paramètres cible ; par exemple,`pgtarget-param-group`. Pour obtenir des instructions, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Creating) | DBA | 
| Modifiez les paramètres du groupe de paramètres. | Définissez les paramètres suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html)Pour plus d'informations sur ces paramètres, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html) | DBA | 

### Création du groupe de paramètres source
<a name="create-the-source-parameter-group"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un groupe de paramètres pour le système source. | Spécifiez un nom de groupe qui l'identifie en tant que groupe de paramètres source ; par exemple,`pgsource-param-group`. Pour obtenir des instructions, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithDBInstanceParamGroups.html#USER_WorkingWithParamGroups.Creating) | DBA | 
| Modifiez les paramètres du groupe de paramètres. | Définissez les paramètres suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html)Pour plus d'informations sur ces paramètres, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.TransportableDB.html) | DBA | 

### Préparer l'environnement cible
<a name="prepare-the-target-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une nouvelle instance de base de données Amazon RDS for PostgreSQL vers laquelle transporter votre base de données source. | Déterminez la classe d'instance et la version de PostgreSQL en fonction des besoins de votre entreprise. | DBA, administrateur système, architecte de base de données | 
| Modifiez le groupe de sécurité de la cible pour autoriser les connexions sur le port de l'instance de base de données depuis l' EC2 instance. | Par défaut, le port de l'instance PostgreSQL est 5432. Si vous utilisez un autre port, les connexions à ce port doivent être ouvertes pour l' EC2 instance. | DBA, administrateur système | 
| Modifiez l'instance et attribuez le nouveau groupe de paramètres cible. | Par exemple, `pgtarget-param-group`. | DBA | 
| Redémarrez l'instance de base de données Amazon RDS cible.  | Les paramètres `shared_preload_libraries` et `max_worker_processes` sont des paramètres statiques qui nécessitent un redémarrage de l'instance. | DBA, administrateur système | 
| Connectez-vous à la base de données depuis l' EC2 instance à l'aide de psql. | Utilisez la commande  : <pre>psql -h <rds_end_point> -p PORT -U username -d database -W</pre> | DBA | 
| Créez l'extension pg\$1transport. | Exécutez la requête suivante en tant qu'utilisateur ayant le `rds_superuser` rôle :<pre>create extension pg_transport;</pre> | DBA | 

### Préparation de l'environnement source
<a name="prepare-the-source-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Modifiez le groupe de sécurité de la source pour autoriser les connexions sur le port de l'instance de base de données depuis l' EC2 instance Amazon et l'instance de base de données cible | Par défaut, le port de l'instance PostgreSQL est 5432. Si vous utilisez un autre port, les connexions à ce port doivent être ouvertes pour l' EC2 instance. | DBA, administrateur système | 
| Modifiez l'instance et assignez le nouveau groupe de paramètres source. | Par exemple, `pgsource-param-group`. | DBA | 
| Redémarrez l'instance de base de données Amazon RDS source.  | Les paramètres `shared_preload_libraries` et `max_worker_processes` sont des paramètres statiques qui nécessitent un redémarrage de l'instance. | DBA | 
| Connectez-vous à la base de données depuis l' EC2 instance à l'aide de psql. | Utilisez la commande  : <pre>psql -h <rds_end_point> -p PORT -U username -d database -W</pre> | DBA | 
| Créez l'extension pg\$1transport et supprimez toutes les autres extensions des bases de données à transporter. | Le transport échouera si des extensions autres que **pg\$1transport** sont installées sur la base de données source. Cette commande doit être exécutée par un utilisateur doté du `rds_superuser` rôle. | DBA | 

### Effectuer le transport
<a name="perform-the-transport"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Effectuez un essai à sec. | Utilisez la `transport.import_from_server` fonction pour effectuer d'abord un essai à sec :<pre>SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', 'true');</pre>Le dernier paramètre de cette fonction (défini sur`true`) définit le cycle à sec. Cette fonction affiche toutes les erreurs que vous pourriez rencontrer lors de l'exécution du transport principal. Résolvez les erreurs avant d'exécuter le transport principal.  | DBA | 
| Si le dry run est réussi, lancez le transport de la base de données. | Exécutez la `transport.import_from_server` fonction pour effectuer le transport. Il se connecte à la source et importe les données. <pre>SELECT transport.import_from_server( 'source-db-instance-endpoint', source-db-instance-port, 'source-db-instance-user', 'source-user-password', 'source-database-name', 'destination-user-password', false);</pre>Le dernier paramètre de cette fonction (défini sur`false`) indique qu'il ne s'agit pas d'un essai à sec. | DBA | 
| Effectuez les étapes après le transport. | Une fois le transport de la base de données terminé :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.html) | DBA | 

## Ressources connexes
<a name="transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport-resources"></a>
+ [Documentation Amazon RDS](https://docs.aws.amazon.com/rds/)
+ [documentation de pg\$1transport](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/PostgreSQL.Procedural.Importing.html#PostgreSQL.TransportableDB.Setup)
+ [Migration de bases de données à l'aide de bases de données transportables RDS PostgreSQL (article de blog](https://aws.amazon.com/blogs/database/migrating-databases-using-rds-postgresql-transportable-databases/))
+ [Téléchargements de PostgreSQL](https://www.postgresql.org/download/linux/redhat/)
+ [utilitaire psql](https://www.postgresql.org/docs/11/app-psql.html)
+ [Création d'un groupe de paramètres DB](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html#USER_WorkingWithParamGroups.Creating)
+ [Modifier les paramètres d'un groupe de paramètres de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html#USER_WorkingWithParamGroups.Modifying)
+ [Téléchargements de PostgreSQL](https://www.postgresql.org/download/)

# Recréation de plateforme
<a name="migration-replatform-pattern-list"></a>

**Topics**
+ [Exporter une base de données Microsoft SQL Server vers Amazon S3 à l'aide d'AWS DMS](export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.md)
+ [Migrer les valeurs Oracle CLOB vers des lignes individuelles dans PostgreSQL sur AWS](migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws.md)
+ [Migrer Oracle PeopleSoft vers Amazon RDS Custom](migrate-oracle-peoplesoft-to-amazon-rds-custom.md)
+ [Migrer la fonctionnalité Oracle ROWID vers PostgreSQL sur AWS](migrate-oracle-rowid-functionality-to-postgresql-on-aws.md)
+ [Migrer les codes d'erreur de la base de données Oracle vers une base de données compatible avec Amazon Aurora PostgreSQL](migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.md)
+ [Migrez SAP ASE sur Amazon EC2 vers une version compatible avec Amazon Aurora PostgreSQL à l'aide d'AWS SCT et d'AWS DMS](migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms.md)
+ [Migrer les certificats SSL Windows vers un Application Load Balancer à l'aide d'ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Migrer une file d'attente de messagerie de Microsoft Azure Service Bus vers Amazon SQS](migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs.md)
+ [Migrer une EnterpriseOne base de données Oracle JD Edwards vers AWS à l'aide d'Oracle Data Pump et d'AWS DMS](migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.md)
+ [Migrer une PeopleSoft base de données Oracle vers AWS à l'aide d'AWS DMS](migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.md)
+ [Migrer une base de données MySQL sur site vers Amazon RDS for MySQL](migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql.md)
+ [Migrer une base de données Microsoft SQL Server locale vers Amazon RDS for SQL Server](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server.md)
+ [Migrez les données de Microsoft Azure Blob vers Amazon S3 à l'aide de Rclone](migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.md)
+ [Migrer du serveur Couchbase vers Couchbase Capella sur AWS](migrate-from-couchbase-server-to-couchbase-capella-on-aws.md)
+ [Migrer d'un serveur WebSphere d'applications IBM vers Apache Tomcat sur Amazon EC2](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2.md)
+ [Migrez d'IBM WebSphere Application Server vers Apache Tomcat sur Amazon EC2 avec Auto Scaling](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling.md)
+ [Migrer une application .NET de Microsoft Azure App Service vers AWS Elastic Beanstalk](migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk.md)
+ [Migrer d'Oracle WebLogic vers Apache Tomcat (ToMee) sur Amazon ECS](migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs.md)
+ [Migrer une base de données Oracle d'Amazon EC2 vers Amazon RDS for Oracle à l'aide d'AWS DMS](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms.md)
+ [Migrer une base de données Oracle sur site vers Amazon OpenSearch Service à l'aide de Logstash](migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash.md)
+ [Migrer une base de données Oracle sur site vers Amazon RDS for Oracle](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.md)
+ [Migrer une base de données Oracle sur site vers Amazon RDS for Oracle à l'aide d'Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump.md)
+ [Migrez de PostgreSQL sur EC2 Amazon vers Amazon RDS pour PostgreSQL à l'aide de pglogical](migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.md)
+ [Migrer une base de données PostgreSQL locale vers Aurora PostgreSQL](migrate-an-on-premises-postgresql-database-to-aurora-postgresql.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Microsoft SQL Server sur Amazon EC2 exécutant Linux](migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux.md)
+ [Migrer une base de données Microsoft SQL Server locale vers Amazon RDS for SQL Server à l'aide de serveurs liés](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers.md)
+ [Migrer une base de données Microsoft SQL Server locale vers Amazon RDS for SQL Server à l'aide de méthodes de sauvegarde et de restauration natives](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.md)
+ [Migrer une base de données Microsoft SQL Server vers Aurora MySQL à l'aide d'AWS DMS et d'AWS SCT](migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct.md)
+ [Migrer une base de données MariaDB sur site vers Amazon RDS for MariaDB à l'aide d'outils natifs](migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools.md)
+ [Migrer une base de données MySQL sur site vers Aurora MySQL](migrate-an-on-premises-mysql-database-to-aurora-mysql.md)
+ [Migrez des bases de données MySQL sur site vers Aurora MySQL à l'aide de Percona, XtraBackup Amazon EFS et Amazon S3](migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.md)
+ [Migrez des applications Java sur site vers AWS à l'aide d'AWS App2Container](migrate-on-premises-java-applications-to-aws-using-aws-app2container.md)
+ [Migrer des systèmes de fichiers partagés dans le cadre d'une migration AWS de grande envergure](migrate-shared-file-systems-in-an-aws-large-migration.md)
+ [Migrer une base de données Oracle vers Amazon RDS for Oracle à l'aide d'adaptateurs de GoldenGate fichiers plats Oracle](migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.md)
+ [Modifier les applications Python et Perl pour prendre en charge la migration de bases de données de Microsoft SQL Server vers Amazon Aurora PostgreSQL Compatible Edition](change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.md)

# Exporter une base de données Microsoft SQL Server vers Amazon S3 à l'aide d'AWS DMS
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms"></a>

*Sweta Krishna, Amazon Web Services*

## Résumé
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-summary"></a>

Organisations ont souvent besoin de copier des bases de données vers Amazon Simple Storage Service (Amazon S3) à des fins de migration, de sauvegarde et de restauration, d'archivage des données et d'analyse des données. Ce modèle décrit comment exporter une base de données Microsoft SQL Server vers Amazon S3. La base de données source peut être hébergée sur site ou sur Amazon Elastic Compute Cloud (Amazon EC2) ou Amazon Relational Database Service (Amazon RDS) pour Microsoft SQL Server sur le cloud Amazon Web Services (AWS).

Les données sont exportées à l'aide d'AWS Database Migration Service (AWS DMS). Par défaut, AWS DMS écrit les données de capture des données de chargement complet et de modification (CDC) au format .csv (valeurs séparées par des virgules). Pour un stockage plus compact et des options de requête plus rapides, ce modèle utilise l'option de format Apache Parquet (.parquet).

## Conditions préalables et limitations
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Rôle AWS Identity and Access Management (IAM) pour le compte avec accès en écriture, suppression et balisage au compartiment S3 cible, et AWS DMS (`dms.amazonaws.com`) ajouté en tant qu'entité de confiance à ce rôle IAM
+ Une base de données Microsoft SQL Server sur site (ou Microsoft SQL Server sur une EC2 instance ou une base de données Amazon RDS for SQL Server)
+ Connectivité réseau entre le cloud privé virtuel (VPC) sur AWS et le réseau sur site fourni par AWS Direct Connect ou un réseau privé virtuel (VPN)

**Limites**
+ Un compartiment S3 compatible VPC (VPC de passerelle) n'est actuellement pas pris en charge dans les versions d'AWS DMS antérieures à 3.4.7.
+ Les modifications apportées à la structure de la table source lors du chargement complet ne sont pas prises en charge.
+ Le mode LOB (Full Large Binary Object) d'AWS DMS n'est pas pris en charge.

**Versions du produit**
+ Microsoft SQL Server versions 2005 ou ultérieures pour les éditions Enterprise, Standard, Workgroup et Developer.
+ Support pour Microsoft SQL Server version 2019 en tant que source est disponible dans les versions 3.3.2 et ultérieures d'AWS DMS.

## Architecture
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-architecture"></a>

**Pile technologique source**
+ Une base de données Microsoft SQL Server sur site (ou Microsoft SQL Server sur une EC2 instance ou une base de données Amazon RDS for SQL Server)**** 

**Pile technologique cible**
+ AWS Direct Connect
+ AWS DMS
+ Amazon S3

**Architecture cible**

![\[Les données migrent de la base de données SQL Server via Direct Connect vers AWS DMS, puis vers le compartiment S3.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/75b8b20f-a1a8-4633-9816-1b370cc7e92c/images/85bd433c-4a0a-4825-8661-e53f53265191.png)


## Outils
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ [AWS Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) relie votre réseau interne à un emplacement Direct Connect via un câble Ethernet à fibre optique standard. Grâce à cette connexion, vous pouvez créer des interfaces virtuelles directement vers les services AWS publics tout en contournant les fournisseurs de services Internet sur votre chemin réseau.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.

## Épopées
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-epics"></a>

### Préparez-vous à la migration
<a name="prepare-for-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez la version de la base de données. | Validez la version de la base de données source et assurez-vous qu'elle est prise en charge par AWS DMS. Pour plus d'informations sur les versions de base de données SQL Server prises en charge, consultez la section [Utilisation d'une base de données Microsoft SQL Server comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html). | DBA | 
| Créez un VPC et un groupe de sécurité. | Dans votre compte AWS, créez un VPC et un groupe de sécurité. Pour plus d'informations, consultez la [documentation Amazon VPC.](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) | Administrateur système | 
| Créez un utilisateur pour la tâche AWS DMS. | Créez un utilisateur AWS DMS dans la base de données source et accordez-lui les autorisations READ. Cet utilisateur sera utilisé par AWS DMS. | DBA | 
| Testez la connectivité à la base de données. | Testez la connectivité à l'instance de base de données SQL Server auprès de l'utilisateur AWS DMS. | DBA | 
| Créez un compartiment S3. | Créez le compartiment S3 cible. Ce compartiment contiendra les données de la table migrée. | Administrateur de systèmes | 
| Créez une politique et un rôle IAM. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.html) | Administrateur de systèmes | 

### Migrer les données à l'aide d'AWS DMS
<a name="migrate-data-by-using-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication AWS DMS. | Connectez-vous à l'AWS Management Console, puis ouvrez la console AWS DMS. Dans le volet de navigation, choisissez **Instances de réplication**, puis **Créer une instance de réplication**. Pour obtenir des instructions, consultez [l'étape 1](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.ReplicationInstance) de la documentation AWS DMS. | DBA | 
| Créez des points de terminaison source et cible. | Créez des points de terminaison source et cible. Testez la connexion entre l'instance de réplication et les points de terminaison source et cible. Pour obtenir des instructions, consultez [l'étape 2](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Endpoints) de la documentation AWS DMS. | DBA | 
| Créez une tâche de réplication. | Créez une tâche de réplication et sélectionnez le chargement complet ou le chargement complet avec capture des données de modification (CDC) pour migrer les données de SQL Server vers le compartiment S3. Pour obtenir des instructions, consultez [l'étape 3](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Tasks) de la documentation AWS DMS. | DBA | 
| Démarrez la réplication des données. | Lancez la tâche de réplication et surveillez les journaux pour détecter toute erreur. | DBA | 

### Valider les données
<a name="validate-the-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les données migrées. | Sur la console, accédez à votre compartiment S3 cible. Ouvrez le sous-dossier portant le même nom que la base de données source. Vérifiez que le dossier contient toutes les tables migrées depuis la base de données source. | DBA | 

### nettoyer des ressources ;
<a name="clean-up-resources"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez et supprimez les ressources AWS temporaires. | Arrêtez les ressources AWS temporaires que vous avez créées pour la migration des données, telles que l'instance de réplication AWS DMS, et supprimez-les après avoir validé l'exportation. | DBA | 

## Ressources connexes
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-resources"></a>
+ [Guide de l'utilisateur d'AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Utilisation d'une base de données Microsoft SQL Server comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html)
+ [Utilisation d'Amazon S3 comme cible pour AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html)
+ [Utilisation d'un compartiment S3 comme cible AWS DMS](https://repost.aws/knowledge-center/s3-bucket-dms-target) (AWS Re:POST)

## Informations supplémentaires
<a name="export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms-additional"></a>

Utilisez le code suivant pour ajouter une politique IAM avec des autorisations de compartiment S3 pour le rôle AWS DMS. Remplacez `bucketname` par le nom de votre compartiment.

```
{
     "Version": "2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject",
                 "s3:DeleteObject"
             ],
             "Resource": [
                 "arn:aws:s3:::bucketname*"
             ]
         },
         {
             "Effect": "Allow",
             "Action": [
                 "s3:ListBucket"
             ],
             "Resource": [
                 "arn:aws:s3:::bucketname*"
             ]
         }
     ]
 }
```

# Migrer les valeurs Oracle CLOB vers des lignes individuelles dans PostgreSQL sur AWS
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws"></a>

*Sai Krishna Namburu et Sindhusha Paturu, Amazon Web Services*

## Résumé
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-summary"></a>

Ce modèle décrit comment diviser les valeurs CLOB (Character Large Object) Oracle en lignes individuelles dans Amazon Aurora PostgreSQL Compatible Edition et Amazon Relational Database Service (Amazon RDS) pour PostgreSQL. PostgreSQL ne prend pas en charge le type de données CLOB.

Les tables comportant des partitions par intervalles sont identifiées dans la base de données Oracle source, et le nom de la table, le type de partition, l'intervalle de la partition et les autres métadonnées sont capturés et chargés dans la base de données cible. Vous pouvez charger des données CLOB d'une taille inférieure à 1 Go dans les tables cibles sous forme de texte à l'aide d'AWS Database Migration Service (AWS DMS), ou vous pouvez exporter les données au format CSV, les charger dans un bucket Amazon Simple Storage Service (Amazon S3) et les migrer vers votre base de données PostgreSQL cible.

Après la migration, vous pouvez utiliser le code PostgreSQL personnalisé fourni avec ce modèle pour diviser les données CLOB en lignes individuelles en fonction du nouvel identifiant de caractère de ligne `CHR(10)` () et remplir la table cible.**** 

## Conditions préalables et limitations
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-prereqs"></a>

**Conditions préalables**
+ Table de base de données Oracle comportant des partitions d'intervalles et des enregistrements contenant des données de type CLOB.
+ Une base de données compatible avec Aurora PostgreSQL ou Amazon RDS for PostgreSQL dotée d'une structure de table similaire à celle de la table source (mêmes colonnes et types de données).

**Limites**
+ La valeur CLOB ne peut pas dépasser 1 Go.
+ Chaque ligne de la table cible doit avoir un nouvel identifiant de caractère de ligne.

**Versions du produit**
+ Oracle 12c
+ Aurora Postgres 11.6

## Architecture
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-architecture"></a>

Le schéma suivant montre une table Oracle source contenant des données CLOB et la table PostgreSQL équivalente dans la version 11.6 compatible avec Aurora PostgreSQL.

![\[Table CLOB source et table PostgreSQL cible équivalente.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/55806ee7-6a9f-4058-9a47-a07de68223ca/images/79b9d4b9-6f20-4db5-8ca8-2a599769a498.png)


## Outils
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-tools"></a>

**Services AWS**
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
+ [Amazon Relational Database Service (Amazon RDS) pour PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) vous aide à configurer, exploiter et dimensionner une base de données relationnelle PostgreSQL dans le cloud AWS.
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.

**Autres outils**

Vous pouvez utiliser les outils clients suivants pour vous connecter, accéder et gérer vos bases de données compatibles Aurora PostgreSQL et Amazon RDS for PostgreSQL. (Ces outils ne sont pas utilisés dans ce modèle.)
+ [pgAdmin](https://www.pgadmin.org/) est un outil de gestion open source pour PostgreSQL. Il fournit une interface graphique qui vous permet de créer, de gérer et d'utiliser des objets de base de données.
+ [DBeaver](https://dbeaver.io/)est un outil de base de données open source destiné aux développeurs et aux administrateurs de bases de données. Vous pouvez utiliser cet outil pour manipuler, surveiller, analyser, administrer et migrer vos données.

## Bonnes pratiques
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-best-practices"></a>

Pour connaître les meilleures pratiques relatives à la migration de votre base de données d'Oracle vers PostgreSQL, consultez le [billet de blog AWS intitulé Meilleures pratiques pour la migration d'une base de données Oracle vers Amazon RDS PostgreSQL ou Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/best-practices-for-migrating-an-oracle-database-to-amazon-rds-postgresql-or-amazon-aurora-postgresql-migration-process-and-infrastructure-considerations/) : considérations relatives au processus de migration et à l'infrastructure.

Pour connaître les meilleures pratiques de configuration de la tâche AWS DMS pour la migration d'objets binaires volumineux, consultez la section [Migration d'objets binaires volumineux (LOBs) dans la documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html#CHAP_BestPractices.LOBS) AWS DMS.

## Épopées
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-epics"></a>

### Identifier les données CLOB
<a name="identify-the-clob-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Analysez les données CLOB. | Dans la base de données Oracle source, analysez les données CLOB pour voir si elles contiennent des en-têtes de colonne, afin de déterminer la méthode de chargement des données dans la table cible. Pour analyser les données d'entrée, utilisez la requête suivante.`SELECT * FROM clobdata_or;  ` | Developer | 
| Chargez les données CLOB dans la base de données cible. | Migrez la table contenant des données CLOB vers une table intermédiaire (intermédiaire) dans la base de données cible Aurora ou Amazon RDS. Vous pouvez utiliser AWS DMS ou télécharger les données sous forme de fichier CSV dans un compartiment Amazon S3.Pour plus d'informations sur l'utilisation d'AWS DMS pour cette tâche, consultez les [sections Utilisation d'une base de données Oracle comme source](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) et [Utilisation d'une base de données PostgreSQL comme cible](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) dans la documentation AWS DMS.Pour plus d'informations sur l'utilisation d'Amazon S3 pour cette tâche, consultez la section [Utilisation d'Amazon S3 comme cible](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.S3.html) dans la documentation AWS DMS. | Ingénieur de migration, DBA | 
| Validez la table PostgreSQL cible. | Validez les données cibles, y compris les en-têtes, par rapport aux données source en utilisant les requêtes suivantes dans la base de données cible.<pre>SELECT * FROM clobdata_pg;<br />SELECT * FROM clobdatatarget;</pre>Comparez les résultats aux résultats des requêtes de la base de données source (dès la première étape). | Developer | 
| Divisez les données CLOB en lignes distinctes. | Exécutez le code PostgreSQL personnalisé fourni dans [la section Informations supplémentaires pour diviser les](#migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-additional) données CLOB et les insérer dans des lignes distinctes dans la table PostgreSQL cible. | Developer | 

### Validez les données.
<a name="validate-the-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les données de la table cible. | Validez les données insérées dans la table cible à l'aide des requêtes suivantes.<pre>SELECT * FROM clobdata_pg;<br />SELECT * FROM clobdatatarget;</pre> | Developer | 

## Ressources connexes
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-resources"></a>
+ [Type de données CLOB](https://docs.oracle.com/database/121/SQLRF/sql_elements001.htm#SQLRF0021) (documentation Oracle)
+ [Types de données](https://www.postgresql.org/docs/11/datatype.html) (documentation PostgreSQL)

## Informations supplémentaires
<a name="migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws-additional"></a>

**Fonction PostgreSQL pour diviser les données CLOB**

```
do
$$
declare
totalstr varchar;
str1 varchar;
str2 varchar;
pos1 integer := 1;
pos2 integer ;
len integer;


begin
        select rawdata||chr(10) into totalstr from clobdata_pg;
        len :=  length(totalstr) ;
        raise notice 'Total length : %',len;
        raise notice 'totalstr : %',totalstr;
        raise notice 'Before while loop';


        while pos1 < len  loop


                  select position (chr(10) in totalstr) into pos2;
                 raise notice '1st position of new line : %',pos2;


                str1 := substring (totalstr,pos1,pos2-1);
                raise notice 'str1 : %',str1;


                   insert into clobdatatarget(data) values (str1);
                   totalstr := substring(totalstr,pos2+1,len);
                   raise notice 'new totalstr :%',totalstr;
                len :=  length(totalstr) ;


        end loop;
end
$$
LANGUAGE 'plpgsql' ;
```

**Exemples d'entrée et de sortie**

Vous pouvez utiliser les exemples suivants pour tester le code PostgreSQL avant de migrer vos données.

Créez une base de données Oracle avec trois lignes de saisie.

```
CREATE TABLE clobdata_or (
id INTEGER GENERATED ALWAYS AS IDENTITY,
rawdata clob  );


insert into clobdata_or(rawdata) values (to_clob('test line 1') || chr(10) || to_clob('test line 2') || chr(10) || to_clob('test line 3') || chr(10));
COMMIT;


SELECT * FROM clobdata_or;
```

Cela affiche le résultat suivant.


|  |  | 
| --- |--- |
| id | données brutes | 
| 1 | ligne de test 1 ligne de test 2 ligne de test 3 | 

Chargez les données sources dans une table intermédiaire PostgreSQL `clobdata_pg` () pour les traiter.

```
SELECT * FROM clobdata_pg;

CREATE TEMP TABLE clobdatatarget (id1 SERIAL,data VARCHAR );

<Run the code in the additional information section.>

SELECT * FROM clobdatatarget;
```

Cela affiche le résultat suivant.


|  |  | 
| --- |--- |
| id1 | data | 
| 1 | ligne de test 1 | 
| 2 | ligne de test 2 | 
| 3 | ligne de test 3 | 

# Migrer Oracle PeopleSoft vers Amazon RDS Custom
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom"></a>

*Gaurav Gupta, Amazon Web Services*

## Résumé
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-summary"></a>

[Oracle PeopleSoft](https://www.oracle.com/applications/peoplesoft/) est une solution de planification des ressources d'entreprise (ERP) pour les processus à l'échelle de l'entreprise. PeopleSoft possède une architecture à trois niveaux : client, application et base de données. PeopleSoft peut être exécuté sur [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)). Désormais, vous pouvez également exécuter PeopleSoft [Amazon RDS Custom](https://aws.amazon.com/rds/custom/), qui donne accès au système d'exploitation sous-jacent.

[Amazon RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/working-with-custom-oracle.html) est un service de base de données géré pour les applications existantes, personnalisées et packagées qui nécessitent un accès au système d'exploitation et à l'environnement de base de données sous-jacents. Lorsque vous migrez votre base de données Oracle vers Amazon RDS Custom, Amazon Web Services (AWS) peut gérer les tâches de sauvegarde et la haute disponibilité, tandis que vous pouvez vous concentrer sur la maintenance de votre PeopleSoft application et de ses fonctionnalités. Pour connaître les principaux facteurs à prendre en compte lors d'une migration, consultez les [stratégies de migration des bases de données Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) dans AWS Prescriptive Guidance.

Ce modèle se concentre sur les étapes de migration d'une PeopleSoft base de données sur Amazon Elastic Compute Cloud (Amazon EC2) vers Amazon RDS Custom à l'aide d'une sauvegarde Oracle Recovery Manager (RMAN). Il utilise un système de fichiers partagé [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) entre l'instance EC2 et Amazon RDS Custom, mais vous pouvez également utiliser Amazon FSx ou n'importe quel lecteur partagé. Le modèle utilise une sauvegarde complète RMAN (parfois appelée sauvegarde de niveau 0). 

## Conditions préalables et limitations
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-prereqs"></a>

**Conditions préalables**
+ Base de données source Oracle version 19C qui s'exécute sur Amazon EC2 avec Oracle Linux 7, Oracle Linux 8, Red Hat Enterprise Linux (RHEL) 7 ou RHEL 8. Dans les exemples de ce modèle, le nom de la base de données source est`FSDMO92`, mais ce n'est pas obligatoire.
**Note**  
Vous pouvez également utiliser ce modèle avec les bases de données source Oracle locales. Vous devez disposer de la connectivité réseau appropriée entre le réseau sur site et un cloud privé virtuel (VPC).
+ Une instance de démonstration PeopleSoft 9.2.
+ Un seul niveau PeopleSoft d'application. Toutefois, vous pouvez adapter ce modèle pour qu'il fonctionne avec plusieurs niveaux d'application.
+ Amazon RDS Custom configuré avec au moins 8 Go d'espace de swap.

**Limites**

Ce modèle ne prend pas en charge les configurations suivantes :
+ Définition du `ARCHIVE_LAG_TARGET` paramètre de base de données sur une valeur située en dehors de la plage de 60 à 7 200
+ Désactivation du mode journal de l'instance de base de données () `NOARCHIVELOG`
+ Désactivation de l'attribut optimisé pour Amazon Elastic Block Store (Amazon EBS) de l'instance EC2
+ Modification des volumes EBS d'origine attachés à l'instance EC2
+ Ajouter de nouveaux volumes EBS ou changer le type de volume de gp2 à gp3
+ Modification du format d'extension du `LOG_ARCHIVE_FORMAT` paramètre (obligatoire`*.arc`)
+ Multiplexage ou modification de l'emplacement et du nom du fichier de contrôle (cela doit être `/rdsdbdata/db/*DBNAME*/controlfile/control-01.ctl` le cas)

Pour plus d'informations sur ces configurations et sur d'autres configurations non prises en charge, consultez la documentation [Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-troubleshooting.html#custom-troubleshooting.fix-unsupported)

**Versions du produit**

Pour les versions de base de données Oracle et les classes d'instances prises en charge par Amazon RDS Custom, consultez [Exigences et limites relatives à Amazon RDS Custom pour](https://docs.amazonaws.cn/en_us/AmazonRDS/latest/UserGuide/custom-reqs-limits.html) Oracle.

## Architecture
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-architecture"></a>

**Pile technologique cible**
+ Application Load Balancer
+ Amazon EFS
+ Amazon RDS Custom for Oracle
+ AWS Secrets Manager
+ Amazon Simple Storage Service (Amazon S3)

**Architecture cible**

Le schéma d'architecture suivant représente un PeopleSoft système exécuté dans une seule [zone de disponibilité](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-regions-availability-zones.html) sur AWS. Le niveau application est accessible via un [Application Load Balancer](https://aws.amazon.com/elasticloadbalancing/application-load-balancer/). L'application et les bases de données se trouvent dans des sous-réseaux privés, et les instances de base de données Amazon RDS Custom et Amazon EC2 utilisent un système de fichiers partagé Amazon EFS pour stocker et accéder aux fichiers de sauvegarde RMAN. Amazon S3 est utilisé pour créer le moteur Oracle RDS personnalisé et pour stocker les métadonnées des journaux redo.

![\[Des serveurs Web, des serveurs d'applications, Amazon RDS Custom, une instance de base de données EC2 et Amazon EFS dans des sous-réseaux privés.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/bd423dfe-f3c8-42d9-ac84-bf3d093c52bc/images/0e9a6431-e6c7-4047-ae6c-85311938041f.jpeg)


## Outils
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-tools"></a>

**Outils**

*Services AWS*
+ [Amazon RDS Custom for Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/working-with-custom-oracle.html) est un service de base de données géré pour les applications existantes, personnalisées et packagées qui nécessitent un accès au système d'exploitation et à l'environnement de base de données sous-jacents. Il automatise les tâches d'administration des bases de données, telles que les sauvegardes et la haute disponibilité. 
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) vous aide à créer et à configurer des systèmes de fichiers partagés dans le cloud AWS. Ce modèle utilise un système de fichiers partagé Amazon EFS pour stocker et accéder aux fichiers de sauvegarde RMAN.
+ [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) 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. Dans ce modèle, vous récupérez les mots de passe des utilisateurs de la base de données à partir de Secrets Manager pour créer les `ADMIN` utilisateurs `RDSADMIN` et pour modifier les `system` mots de passe `sys` et.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) répartit le trafic applicatif ou réseau entrant sur plusieurs cibles. Par exemple, vous pouvez répartir le trafic entre les instances, les conteneurs et les adresses IP Amazon Elastic Compute Cloud (Amazon EC2) dans une ou plusieurs zones de disponibilité. Ce modèle utilise un Application Load Balancer.

*Autres outils*
+ Oracle Recovery Manager (RMAN) fournit un support de sauvegarde et de restauration pour les bases de données Oracle. Ce modèle utilise RMAN pour effectuer une sauvegarde à chaud de la base de données Oracle source sur Amazon EC2 qui est restaurée sur Amazon RDS Custom.

## Bonnes pratiques
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-best-practices"></a>
+ Pour les paramètres d'initialisation de la base de données, personnalisez le fichier standard fourni par l'instance de base de données personnalisée Amazon RDS PeopleSoft au lieu d'utiliser le fichier spfile de la base de données source Oracle. Cela est dû au fait que les espaces blancs et les commentaires posent problème lors de la création de répliques de lecture dans Amazon RDS Custom. Pour plus d'informations sur les paramètres d'initialisation de la base de données, consultez la note de support Oracle 1100831.1 (nécessite un compte Oracle [Support](https://support.oracle.com/portal/)).
+ Amazon RDS Custom utilise la gestion automatique de la mémoire par Oracle par défaut. Si vous souhaitez utiliser le noyau Hugemem, vous pouvez configurer Amazon RDS Custom pour qu'il utilise plutôt la gestion automatique de la mémoire partagée.
+ Laissez le `memory_max_target` paramètre activé par défaut. Le framework l'utilise en arrière-plan pour créer des répliques de lecture.
+ Activez la base de données Oracle Flashback. Cette fonctionnalité est utile lors du rétablissement du mode veille dans des scénarios de test de basculement (et non de basculement).

## Épopées
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-epics"></a>

### Configuration de l'instance de base de données et du système de fichiers
<a name="set-up-the-db-instance-and-file-system"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de base de données. | Dans la console Amazon RDS, créez une instance de base de données Amazon RDS personnalisée pour Oracle avec un nom de base de données appelé FSDMO92 (ou le nom de votre base de données source).Pour obtenir des instructions, consultez [Working with Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-custom.html) dans la documentation AWS et le billet de blog [Amazon RDS Custom for Oracle — New Control Capabilities in Database Environment](https://aws.amazon.com/blogs/aws/amazon-rds-custom-for-oracle-new-control-capabilities-in-database-environment/). Cela garantit que le nom de la base de données est le même que celui de la base de données source. (Si ce champ est laissé vide, le nom de l'instance EC2 et de la base de données sera défini sur`ORCL`.) | DBA | 

### Effectuez une sauvegarde complète RMAN de la base de données Amazon EC2 source
<a name="perform-an-rman-full-backup-of-the-source-amazon-ec2-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un script de sauvegarde. | Créez un script de sauvegarde RMAN pour sauvegarder la base de données sur le système de fichiers Amazon EFS que vous avez monté (`/efs`dans l'exemple suivant). Vous pouvez utiliser l'exemple de code ou exécuter l'un de vos scripts RMAN existants.<pre>#!/bin/bash<br />Dt=`date +'%Y%m%d-%H%M'`<br />BACKUP_LOG="rman-${ORACLE_SID}-$Dt"<br />export TAGDATE=`date +%Y%m%d%H%M`;<br />LOGPATH=/u01/scripts/logs<br />rman target / >> $LOGPATH/rman-${ORACLE_SID}-$Dt << EOF<br />SQL "ALTER SYSTEM SWITCH LOGFILE";<br />SQL "ALTER SESSION SET NLS_DATE_FORMAT="DD.MM.YYYY HH24:MI:SS"";<br />RUN<br />{<br />  ALLOCATE CHANNEL ch11 TYPE DISK MAXPIECESIZE 5G;<br />  ALLOCATE CHANNEL ch12 TYPE DISK MAXPIECESIZE 5G;<br />  BACKUP AS COMPRESSED BACKUPSET FULL DATABASE FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_FULL' ;<br />  SQL "ALTER SYSTEM ARCHIVE LOG CURRENT";<br />  BACKUP FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_ARCHIVE' ARCHIVELOG ALL DELETE ALL INPUT ;<br />  BACKUP CURRENT CONTROLFILE FORMAT '/efs/rman_backup/FSCM/%d_%T_%s_%p_CONTROL';<br />}<br />EXIT;<br />EOF<br />  </pre> | DBA | 
| Exécutez le script de sauvegarde. | Pour exécuter le script de sauvegarde RMAN, connectez-vous en tant qu'utilisateur Oracle Home, puis exécutez le script.<pre>$  chmod a+x rman_backup.sh<br />$ ./rman_backup.sh &</pre> | DBA | 
| Vérifiez les erreurs et notez le nom du fichier de sauvegarde. | Vérifiez la présence d'erreurs dans le fichier journal RMAN. Si tout semble correct, listez la sauvegarde du fichier de contrôle en exécutant la commande suivante.<pre>RMAN> list backup of controlfile;<br /><br />using target database control file instead of recovery catalog<br /></pre>Notez le nom du fichier de sortie.<pre>List of Backup Sets<br />===================<br /><br />BS Key  Type LV Size       Device Type Elapsed Time Completion Time<br />------- ---- -- ---------- ----------- ------------ ---------------<br />12      Full    21.58M     DISK        00:00:01     13-JUL-22<br />        BP Key: 12   Status: AVAILABLE  Compressed: NO  Tag: TAG20220713T150155<br />        Piece Name: /efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL<br /> Control File Included: Ckp SCN: 16559159985898   Ckp time: 13-JUL-22<br /></pre>Vous utiliserez le fichier de contrôle de sauvegarde `/efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL` lorsque vous restaurez la base de données sur Amazon RDS Custom. | DBA | 

### Arrêtez le niveau de l'application source
<a name="shut-down-the-source-application-tier"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez l'application.  | Pour arrêter le niveau de l'application source, utilisez l'`psadmin`utilitaire ou l'utilitaire de ligne de `psadmin` commande.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA, administrateur PeopleSoft  | 

### Configuration de la base de données personnalisée Amazon RDS cible
<a name="configure-the-target-amazon-rds-custom-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez le package rpm nfs-utils. | Pour installer le `nfs-utils rpm` package, exécutez la commande suivante.<pre>$ yum install -y nfs-utils<br /></pre> | DBA | 
| Montez le stockage EFS. | Obtenez la commande de montage Amazon EFS sur la page de la console Amazon EFS. Montez le système de fichiers EFS sur l'instance Amazon RDS à l'aide d'un client NFS (Network File System).<pre>sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-xxxxxxxxxx.efs.eu-west-1.amazonaws.com:/ /efs<br />sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-xxxxxxxxxx.efs.eu-west-1.amazonaws.com:/ /efs</pre> | DBA | 

### Supprimez la base de données de départ et créez les répertoires pour stocker les fichiers de base de données
<a name="drop-the-starter-database-and-create-the-directories-to-store-the-database-files"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suspendez le mode d'automatisation. | Vous devez suspendre le [mode d'automatisation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-managing.html#custom-managing.pausing) sur votre instance de base de données personnalisée Amazon RDS avant de passer aux étapes suivantes, afin de vous assurer que l'automatisation n'interfère pas avec l'activité de restauration RMAN.Vous pouvez suspendre l'automatisation à l'aide de la console AWS ou de la commande AWS Command Line Interface (AWS CLI) (assurez-vous d'[avoir d'abord configuré l'interface de ligne de commande AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)).<pre>aws rds modify-db-instance \<br />--db-instance-identifier peoplesoft-fscm-92 \<br />--automation-mode all-paused \<br />--resume-full-automation-mode-minute 360 \<br />--region eu-west-1<br /></pre>Lorsque vous spécifiez la durée de la pause, assurez-vous de laisser suffisamment de temps pour la restauration RMAN. Cela dépend de la taille de la base de données source. Modifiez donc la valeur 360 en conséquence.Assurez-vous également que la durée totale de l'automatisation suspendue ne coïncide pas avec la fenêtre de sauvegarde ou de maintenance de la base de données. | DBA | 
| Créez et modifiez le fichier de paramètres pour PeopleSoft | Pour créer et modifier le fichier pour PeopleSoft, utilisez le fichier standard créé avec l'instance de base de données personnalisée Amazon RDS. Ajoutez les paramètres dont vous avez besoin PeopleSoft.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 
| Supprimez la base de données de départ. | Pour supprimer la base de données personnalisée Amazon RDS existante, utilisez le code suivant.<pre>$ sqlplus / as sysdba<br />SQL> shutdown immediate;<br />SQL> startup mount exclusive restrict;<br />SQL> drop database;<br />SQL> exit</pre> |  | 
| Restaurez la base de données personnalisée Amazon RDS à partir de la sauvegarde. | Restaurez la base de données à l'aide du script suivant. Le script restaurera d'abord le fichier de contrôle, puis l'intégralité de la base de données à partir des éléments de sauvegarde stockés sur le support EFS.<pre>#!/bin/bash<br />Dt=`date +'%Y%m%d-%H%M'`<br />BACKUP_LOG="rman-${ORACLE_SID}-$Dt"<br />export TAGDATE=`date +%Y%m%d%H%M`;<br />LOGPATH=/rdsdbdata/scripts/logs<br />rman target / >> $LOGPATH/rman-${ORACLE_SID}-$Dt << EOF<br />restore controlfile from "/efs/rman_backup/FSCM/FSDMO92_20220713_12_1_CONTROL";<br />alter database mount;<br />run<br />{<br />set newname for database to '/rdsdbdata/db/FSDMO92_A/datafile/%f_%b';<br />SET NEWNAME FOR TEMPFILE 1 TO '/rdsdbdata/db/FSDMO92_A/datafile/%f_%b';<br />RESTORE DATABASE;<br />SWITCH DATAFILE ALL;<br />SWITCH TEMPFILE ALL;<br />RECOVER DATABASE;<br />}<br />EOF<br />sqlplus / as sysdba >> $LOGPATH/rman-${ORACLE_SID}-$Dt<<-EOF<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo01.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo01.log';<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo02.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo02.log';<br />ALTER DATABASE RENAME FILE '/u01/psoft/db/oradata/FSDMO92/redo03.log' TO '/rdsdbdata/db/FSDMO92_A/onlinelog/redo03.log';<br />alter database clear unarchived logfile group 1;<br />alter database clear unarchived logfile group 2;<br />alter database clear unarchived logfile group 3;<br />alter database open resetlogs;<br />EXIT<br />EOF<br /></pre> | DBA | 

### Récupérez les mots de passe depuis Secrets Manager, créez des utilisateurs et modifiez les mots de passe
<a name="retrieve-passwords-from-secrets-manager-create-users-and-change-passwords"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Récupérez le mot de passe dans Secrets Manager. | Vous pouvez effectuer cette étape à l'aide de la console AWS ou de l'interface de ligne de commande AWS. Les étapes suivantes indiquent les instructions relatives à la console.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 
| Créez l'utilisateur RDSADMIN. | `RDSADMIN`est l'utilisateur de base de données chargé de surveiller et d'orchestrer l'instance de base de données personnalisée Amazon RDS. Étant donné que la base de données de départ a été supprimée et que la base de données cible a été restaurée à partir de la source à l'aide de RMAN, vous devez recréer cet utilisateur après l'opération de restauration pour vous assurer que la surveillance personnalisée Amazon RDS fonctionne comme prévu. Vous devez également créer un profil et un espace disque logique distincts pour l'`RDSADMIN`utilisateur.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 
| Créez l'utilisateur principal. | Étant donné que la base de données de départ a été supprimée et que la base de données cible a été restaurée à partir de la source à l'aide de RMAN, vous devez recréer l'utilisateur principal. Dans cet exemple, le nom d'utilisateur principal est`admin`.<pre>SQL> create user admin identified by <password>;<br />SQL> grant dba to admin</pre> | DBA | 
| Modifiez les mots de passe du système. | Modifiez les mots de passe du système en utilisant le mot de passe que vous avez récupéré dans Secrets Manager.<pre>SQL> alter user sys identified by xxxxxxxxxxx;<br />SQL> alter user system identified by xxxxxxxxxx;</pre>Si vous ne modifiez pas ces mots de passe, Amazon RDS Custom affiche le message d'erreur suivant : « L'utilisateur de surveillance de la base de données ou les informations d'identification de l'utilisateur ont changé ». | DBA | 

### Configurez les entrées TNS pour Amazon RDS Custom et PeopleSoft
<a name="configure-the-tns-entries-for-amazon-rds-custom-and-peoplesoft"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez le fichier tnsnames. | Pour vous connecter à la base de données depuis le niveau application, configurez le `tnsnames.ora` fichier de manière à pouvoir vous connecter à la base de données depuis le niveau application. Dans l'exemple suivant, vous pouvez voir qu'il existe un lien logiciel vers le `tnsnames.ora` fichier, mais le fichier est vide par défaut. <pre>$ cd /rdsdbbin/oracle/network/admin<br />$ ls -ltr<br />-rw-r--r-- 1 rdsdb database 1536 Feb 14  2018 shrept.lst<br />lrwxrwxrwx 1 rdsdb database   30 Apr  5 13:19 listener.ora -> /rdsdbdata/config/listener.ora<br />lrwxrwxrwx 1 rdsdb database   28 Apr  5 13:19 sqlnet.ora -> /rdsdbdata/config/sqlnet.ora<br />lrwxrwxrwx 1 rdsdb database   30 Apr  5 13:19 tnsnames.ora -> /rdsdbdata/config/tnsnames.ora</pre>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 

### Créez le lien souple spfile
<a name="create-the-spfile-softlink"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez le lien souple spfile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 

### Exécuter les étapes postérieures à la migration
<a name="perform-post-migration-steps"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez le schéma, les connexions et les tâches de maintenance. | Pour finaliser la migration, effectuez les tâches suivantes.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-oracle-peoplesoft-to-amazon-rds-custom.html) | DBA | 

## Ressources connexes
<a name="migrate-oracle-peoplesoft-to-amazon-rds-custom-resources"></a>
+ [Utilisation d'Amazon RDS Custom](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-custom.html)
+ [Amazon RDS Custom pour Oracle — Nouvelles fonctionnalités de contrôle dans l'environnement de base de données](https://aws.amazon.com/blogs/aws/amazon-rds-custom-for-oracle-new-control-capabilities-in-database-environment/) (article de blog)
+ [Intégrer Amazon RDS Custom pour Oracle à Amazon EFS](https://aws.amazon.com/blogs/database/integrate-amazon-rds-custom-for-oracle-with-amazon-efs/) (article de blog)
+ [Configuration d'Amazon RDS en tant que PeopleSoft base de données Oracle](https://d1.awsstatic.com/whitepapers/configuring-amazon-rds-as-peoplesoft-database.pdf) (livre blanc AWS)

# Migrer la fonctionnalité Oracle ROWID vers PostgreSQL sur AWS
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws"></a>

*Rakesh Raghav et Ramesh Pathuri, Amazon Web Services*

## Résumé
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-summary"></a>

Ce modèle décrit les options de migration de la fonctionnalité de `ROWID` pseudocolonne d'Oracle Database vers une base de données PostgreSQL dans Amazon Relational Database Service (Amazon RDS) pour PostgreSQL, Amazon Aurora PostgreSQL Compatible Edition ou Amazon Elastic Compute Cloud (Amazon). EC2

Dans une base de données Oracle, la `ROWID` pseudocolonne est l'adresse physique d'une ligne d'une table. Cette pseudocolonne est utilisée pour identifier une ligne de manière unique même si la clé primaire n'est pas présente sur une table. PostgreSQL possède une pseudocolonne similaire `ctid` appelée, mais elle ne peut pas être utilisée en tant que. `ROWID` Comme expliqué dans la documentation de [PostgreSQL](https://www.postgresql.org/docs/current/ddl-system-columns.html)`ctid`, cela peut changer en cas de mise à jour ou après chaque processus. `VACUUM`

Vous pouvez créer la fonctionnalité de `ROWID` pseudocolonne de trois manières dans PostgreSQL :
+ Utilisez une colonne de clé primaire plutôt `ROWID` que pour identifier une ligne dans un tableau.
+ Utilisez une primary/unique clé logique (qui peut être une clé composite) dans la table. 
+ Ajoutez une colonne avec des valeurs générées automatiquement et faites-en une primary/unique clé à imiter`ROWID`.

Ce modèle vous guide à travers les trois implémentations et décrit les avantages et les inconvénients de chaque option.

## Conditions préalables et limitations
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Expertise en Language/PostgreSQL codage procédural (PL/pgSQL)
+ Base de données Oracle source
+ Un cluster compatible avec Amazon RDS for PostgreSQL ou Aurora PostgreSQL, ou une instance pour héberger la base de données PostgreSQL EC2 

**Limites**
+ Ce modèle fournit des solutions de contournement pour cette fonctionnalité. `ROWID` PostgreSQL ne fournit pas d'équivalent `ROWID` à Oracle Database.

**Versions du produit**
+ PostgreSQL 11.9 ou version ultérieure

## Architecture
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-architecture"></a>

**Pile technologique source**
+ Oracle Database

**Pile technologique cible**
+ Compatible avec Aurora PostgreSQL, Amazon RDS for PostgreSQL ou instance avec une base de données PostgreSQL EC2 

![\[Conversion d'une base de données Oracle en PostgreSQL sur AWS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/9a2ce994-4f68-4975-aab2-796cc20a3c82/images/6e7c2ef6-f440-476a-9003-f1f166718e15.png)


**Options de mise en œuvre**

Il existe trois options pour contourner le manque de `ROWID` support dans PostgreSQL, selon que votre table possède une clé primaire ou un index unique, une clé primaire logique ou un attribut d'identité. Votre choix dépend du calendrier de votre projet, de votre phase de migration en cours et des dépendances vis-à-vis du code de l'application et de la base de données.


| 
| 
| Option | Description | Avantages | Inconvénients | 
| --- |--- |--- |--- |
| **Clé primaire ou index unique** | Si votre table Oracle possède une clé primaire, vous pouvez utiliser les attributs de cette clé pour identifier une ligne de manière unique.  | Aucune dépendance à l'égard des fonctionnalités de base de données propriétaires.Impact minimal sur les performances, car les champs de clé primaire sont indexés. | Nécessite des modifications du code de l'application et de la base de données qui repose sur le passage `ROWID` aux champs de clé primaire.  | 
| ** primary/unique Clé logique** | Si votre table Oracle possède une clé primaire logique, vous pouvez utiliser les attributs de cette clé pour identifier une ligne de manière unique. Une clé primaire logique est constituée d'un attribut ou d'un ensemble d'attributs qui peuvent identifier une ligne de manière unique, mais qui n'est pas imposée à la base de données par le biais d'une contrainte. | Aucune dépendance à l'égard des fonctionnalités de base de données propriétaires. | Nécessite des modifications du code de l'application et de la base de données qui repose sur le passage `ROWID` aux champs de clé primaire.Impact significatif sur les performances si les attributs de la clé primaire logique ne sont pas indexés. Toutefois, vous pouvez ajouter un index unique pour éviter les problèmes de performances. | 
| **Attribut d'identité** | si votre table Oracle ne possède pas de clé primaire, vous pouvez créer un champ supplémentaire en tant que`GENERATED ALWAYS AS IDENTITY`. Cet attribut génère une valeur unique chaque fois que des données sont insérées dans la table. Il peut donc être utilisé pour identifier de manière unique une ligne pour les opérations DML (Data Manipulation Language). | Aucune dépendance à l'égard des fonctionnalités de base de données propriétaires.La base de données PostgreSQL renseigne l'attribut et conserve son caractère unique. | Nécessite des modifications du code de l'application et de la base de données sur `ROWID` lequel repose le passage à l'attribut d'identité.Impact significatif sur les performances si le champ supplémentaire n'est pas indexé. Vous pouvez toutefois ajouter un index pour éviter les problèmes de performances. | 

## Outils
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-tools"></a>
+ [Amazon Relational Database Service (Amazon RDS) pour PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html) vous aide à configurer, exploiter et dimensionner une base de données relationnelle PostgreSQL dans le cloud AWS.
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
+ [L'interface de ligne de commande AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) est un outil open source qui vous permet d'interagir avec les services AWS par le biais de commandes dans votre shell de ligne de commande. Dans ce modèle, vous pouvez utiliser l'interface de ligne de commande AWS pour exécuter des commandes SQL via **pgAdmin.**
+ [pgAdmin](https://www.pgadmin.org/) est un outil de gestion open source pour PostgreSQL. Il fournit une interface graphique qui vous permet de créer, de gérer et d'utiliser des objets de base de données.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.

## Épopées
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-epics"></a>

### Identifier les tables sources
<a name="identify-the-source-tables"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez les tables Oracle qui utilisent `ROWID` cet attribut. | Utilisez l'outil AWS Schema Conversion Tool (AWS SCT) pour identifier les tables Oracle dotées de `ROWID` fonctionnalités. Pour plus d'informations, consultez la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Source.Oracle.ToPostgreSQL.html#CHAP_Source.Oracle.ToPostgreSQL.ConvertRowID)—ou—Dans Oracle, utilisez la `DBA_TAB_COLUMNS` vue pour identifier les tables dotées d'un `ROWID` attribut. Ces champs peuvent être utilisés pour stocker des caractères alphanumériques de 10 octets. Déterminez l'utilisation et convertissez-les en `VARCHAR` champ, le cas échéant. | DBA ou développeur | 
| Identifiez le code qui fait référence à ces tables. | Utilisez AWS SCT pour générer un rapport d'évaluation de la migration afin d'identifier les procédures concernées par`ROWID`. Pour plus d'informations, consultez la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_AssessmentReport.html)—ou—Dans la base de données Oracle source, utilisez le champ de texte du `dba_source` tableau pour identifier les objets qui utilisent des `ROWID` fonctionnalités. | DBA ou développeur | 

### Déterminer l'utilisation des clés primaires
<a name="determine-primary-key-usage"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez les tables dépourvues de clés primaires. | Dans la base de données Oracle source, utilisez `DBA_CONSTRAINTS` pour identifier les tables dépourvues de clés primaires. Ces informations vous aideront à déterminer la stratégie pour chaque table. Par exemple :<pre>select dt.*<br />from dba_tables dt<br />where not exists (select 1<br />                  from all_constraints ct<br />                  where ct.owner = Dt.owner<br />                    and ct.table_name = Dt.table_name<br />                    and ct.constraint_type = 'P'<br />                  )<br />and dt.owner = '{schema}'</pre> | DBA ou développeur | 

### Identifier et appliquer la solution
<a name="identify-and-apply-the-solution"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Appliquez les modifications aux tables dotées d'une clé primaire définie ou logique.  | Apportez les modifications au code de l'application et de la base de données indiquées dans la section [Informations supplémentaires](#migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional) pour utiliser une clé primaire unique ou une clé primaire logique afin d'identifier une ligne de votre table. | DBA ou développeur | 
| Ajoutez un champ supplémentaire aux tables qui ne possèdent pas de clé primaire définie ou logique. | Ajoutez un attribut de type`GENERATED ALWAYS AS IDENTITY`. Apportez les modifications au code de l'application et de la base de données indiquées dans la section [Informations supplémentaires](#migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional). | DBA ou développeur | 
| Ajoutez un index si nécessaire. | Ajoutez un index au champ supplémentaire ou à la clé primaire logique pour améliorer les performances SQL. | DBA ou développeur | 

## Ressources connexes
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-resources"></a>
+ [CTID de PostgreSQL (documentation de PostgreSQL](https://www.postgresql.org/docs/current/ddl-system-columns.html))
+ [Colonnes générées](https://www.postgresql.org/docs/current/ddl-generated-columns.html) (documentation PostgreSQL)
+ [Pseudocolonne ROWID (documentation Oracle](https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/ROWID-Pseudocolumn.html#GUID-F6E0FBD2-983C-495D-9856-5E113A17FAF1))

## Informations supplémentaires
<a name="migrate-oracle-rowid-functionality-to-postgresql-on-aws-additional"></a>

Les sections suivantes fournissent des exemples de code Oracle et PostgreSQL pour illustrer les trois approches.

**Scénario 1 : utilisation d'une clé primaire unique**

Dans les exemples suivants, vous créez la table `testrowid_s1` avec `emp_id` comme clé primaire.

*Code Oracle :*

```
create table testrowid_s1 (emp_id integer, name varchar2(10), CONSTRAINT testrowid_pk PRIMARY KEY (emp_id));
INSERT INTO testrowid_s1(emp_id,name) values (1,'empname1');
INSERT INTO testrowid_s1(emp_id,name) values (2,'empname2');
INSERT INTO testrowid_s1(emp_id,name) values (3,'empname3');
INSERT INTO testrowid_s1(emp_id,name) values (4,'empname4');
commit;

SELECT rowid,emp_id,name FROM testrowid_s1;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3pAAAAAAAMOAAA          1 empname1
AAAF3pAAAAAAAMOAAB          2 empname2
AAAF3pAAAAAAAMOAAC          3 empname3
AAAF3pAAAAAAAMOAAD          4 empname4

UPDATE testrowid_s1 SET name = 'Ramesh' WHERE rowid = 'AAAF3pAAAAAAAMOAAB' ;
commit;

SELECT rowid,emp_id,name FROM testrowid_s1;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3pAAAAAAAMOAAA          1 empname1
AAAF3pAAAAAAAMOAAB          2 Ramesh
AAAF3pAAAAAAAMOAAC          3 empname3
AAAF3pAAAAAAAMOAAD          4 empname4
```

*Code PostgreSQL :*

```
CREATE TABLE public.testrowid_s1
(
    emp_id integer,
    name character varying,
    primary key (emp_id)
);

insert into public.testrowid_s1 (emp_id,name) values 
(1,'empname1'),(2,'empname2'),(3,'empname3'),(4,'empname4');

select emp_id,name from testrowid_s1;
 emp_id |   name   
--------+----------
      1 | empname1
      2 | empname2
      3 | empname3
      4 | empname4

update testrowid_s1 set name = 'Ramesh' where emp_id = 2 ;

select emp_id,name from testrowid_s1;
 emp_id |   name   
--------+----------
      1 | empname1
      3 | empname3
      4 | empname4
      2 | Ramesh
```

**Scénario 2 : utilisation d'une clé primaire logique**

Dans les exemples suivants, vous créez la table `testrowid_s2` avec `emp_id` comme clé primaire logique.

*Code Oracle :*

```
create table testrowid_s2 (emp_id integer, name varchar2(10) );
INSERT INTO testrowid_s2(emp_id,name) values (1,'empname1');
INSERT INTO testrowid_s2(emp_id,name) values (2,'empname2');
INSERT INTO testrowid_s2(emp_id,name) values (3,'empname3');
INSERT INTO testrowid_s2(emp_id,name) values (4,'empname4');
commit;

SELECT rowid,emp_id,name FROM testrowid_s2;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3rAAAAAAAMeAAA          1 empname1
AAAF3rAAAAAAAMeAAB          2 empname2
AAAF3rAAAAAAAMeAAC          3 empname3
AAAF3rAAAAAAAMeAAD          4 empname4

UPDATE testrowid_s2 SET name = 'Ramesh' WHERE rowid = 'AAAF3rAAAAAAAMeAAB' ;
commit;

SELECT rowid,emp_id,name FROM testrowid_s2;
ROWID                  EMP_ID NAME
------------------ ---------- ----------
AAAF3rAAAAAAAMeAAA          1 empname1
AAAF3rAAAAAAAMeAAB          2 Ramesh
AAAF3rAAAAAAAMeAAC          3 empname3
AAAF3rAAAAAAAMeAAD          4 empname4
```

*Code PostgreSQL :*

```
CREATE TABLE public.testrowid_s2
(
    emp_id integer,
    name character varying
);

insert into public.testrowid_s2 (emp_id,name) values 
(1,'empname1'),(2,'empname2'),(3,'empname3'),(4,'empname4');

select emp_id,name from testrowid_s2;
 emp_id |   name   
--------+----------
      1 | empname1
      2 | empname2
      3 | empname3
      4 | empname4

update testrowid_s2 set name = 'Ramesh' where emp_id = 2 ;

select emp_id,name from testrowid_s2;
 emp_id |   name   
--------+----------
      1 | empname1
      3 | empname3
      4 | empname4
      2 | Ramesh
```

**Scénario 3 : utilisation d'un attribut d'identité**

Dans les exemples suivants, vous créez la table `testrowid_s3` sans clé primaire et en utilisant un attribut d'identité.

*Code Oracle :*

```
create table testrowid_s3 (name varchar2(10));
INSERT INTO testrowid_s3(name) values ('empname1');
INSERT INTO testrowid_s3(name) values ('empname2');
INSERT INTO testrowid_s3(name) values ('empname3');
INSERT INTO testrowid_s3(name) values ('empname4');
commit;

SELECT rowid,name FROM testrowid_s3;
ROWID              NAME
------------------ ----------
AAAF3sAAAAAAAMmAAA empname1
AAAF3sAAAAAAAMmAAB empname2
AAAF3sAAAAAAAMmAAC empname3
AAAF3sAAAAAAAMmAAD empname4

UPDATE testrowid_s3 SET name = 'Ramesh' WHERE rowid = 'AAAF3sAAAAAAAMmAAB' ;
commit;

SELECT rowid,name FROM testrowid_s3;
ROWID              NAME
------------------ ----------
AAAF3sAAAAAAAMmAAA empname1
AAAF3sAAAAAAAMmAAB Ramesh
AAAF3sAAAAAAAMmAAC empname3
AAAF3sAAAAAAAMmAAD empname4
```

*Code PostgreSQL :*

```
CREATE TABLE public.testrowid_s3
(
    rowid_seq bigint generated always as identity,
    name character varying
);

insert into public.testrowid_s3 (name) values 
('empname1'),('empname2'),('empname3'),('empname4');

select rowid_seq,name from testrowid_s3;
 rowid_seq |   name   
-----------+----------
         1 | empname1
         2 | empname2
         3 | empname3
         4 | empname4

update testrowid_s3 set name = 'Ramesh' where rowid_seq = 2 ;

select rowid_seq,name from testrowid_s3;
 rowid_seq |   name   
-----------+----------
         1 | empname1
         3 | empname3
         4 | empname4
         2 | Ramesh
```

# Migrer les codes d'erreur de la base de données Oracle vers une base de données compatible avec Amazon Aurora PostgreSQL
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database"></a>

*Sai Parthasaradhi et Veeranjaneyulu Grandhi, Amazon Web Services*

## Résumé
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-summary"></a>

Ce modèle montre comment migrer les codes d'erreur de base de données Oracle vers une base de données [Amazon Aurora PostgreSQL Edition compatible](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) à l'aide d'une table de métadonnées prédéfinie.

Les codes d'erreur de base de données Oracle ne sont pas toujours associés à un code d'erreur PostgreSQL correspondant. Cette différence de codes d'erreur peut rendre difficile la configuration de la logique de traitement des procédures ou des fonctions dans l'architecture PostgreSQL cible.

Vous pouvez simplifier le processus en stockant les codes d'erreur des bases de données source et cible pertinents pour votre PL/pgSQL programme dans une table de métadonnées. Configurez ensuite la table pour signaler les codes d'erreur valides de la base de données Oracle et les mapper à leurs équivalents PostgreSQL avant de poursuivre avec la logique de processus restante. Si le code d'erreur de la base de données Oracle ne figure pas dans la table de métadonnées, le processus se termine à une exception près. Vous pouvez ensuite examiner manuellement les détails de l'erreur et ajouter le nouveau code d'erreur au tableau si votre programme l'exige.

Grâce à cette configuration, votre base de données compatible avec Amazon Aurora PostgreSQL peut gérer les erreurs de la même manière que votre base de données Oracle source.

**Note**  
La configuration d'une base de données PostgreSQL pour gérer correctement les codes d'erreur de base de données Oracle nécessite généralement de modifier le code de base de données et d'application.

## Conditions préalables et limitations
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Oracle source avec des services d'instance et d'écoute opérationnels
+ Un cluster compatible avec Amazon Aurora PostgreSQL qui est opérationnel
+ Connaissance d'Oracle Database
+ Connaissance des bases de données PostgreSQL

## Architecture
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-architecture"></a>

Le schéma suivant montre un exemple de flux de travail de base de données compatible avec Amazon Aurora PostgreSQL pour la validation et le traitement des codes d'erreur relatifs aux données :

![\[Validation et gestion des codes d'erreur de données pour une base de données compatible Aurora PostgreSQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/82751f40-2fd9-4ce7-ab61-0874552d857b/images/b7ab627e-8f34-4635-8660-93c5c80ce38d.png)


Le schéma suivant illustre le flux de travail suivant :

1. Une table contient les codes d'erreur et les classifications de la base de données Oracle ainsi que leurs codes d'erreur et classifications PostgreSQL équivalents. La table inclut une colonne **valid\$1error** qui classe si des codes d'erreur spécifiques prédéfinis sont valides ou non.

1. **Lorsqu'une PL/pgSQL fonction (**func\$1processdata**) lance une exception, elle invoque une deuxième PL/pgSQL fonction (error\$1validation).**

1. La fonction **error\$1validation** accepte le code d'erreur de la base de données Oracle comme argument d'entrée. Ensuite, la fonction compare le code d'erreur entrant au tableau pour voir si l'erreur est incluse dans le tableau.

1. Si le code d'erreur de la base de données Oracle est inclus dans la table, la fonction **error\$1validation** renvoie une valeur **VRAIE** et la logique du processus se poursuit. Si le code d'erreur n'est pas inclus dans le tableau, la fonction renvoie une valeur **FALSE** et la logique du processus s'arrête avec une exception.

1. Lorsque la fonction renvoie une valeur **FAUSSE**, les détails de l'erreur sont examinés manuellement par le responsable fonctionnel de l'application afin de déterminer sa validité.

1. Le nouveau code d'erreur est ensuite ajouté manuellement au tableau ou non. Si le code d'erreur est valide et ajouté à la table, la fonction **error\$1validation** renvoie une valeur **TRUE** la prochaine fois que l'exception se produira. Si le code d'erreur n'est pas valide et que le processus doit échouer lorsque l'exception se produit, le code d'erreur n'est pas ajouté au tableau.

**Pile technologique**
+ Amazon Aurora PostgreSQL
+ pgAdmin
+ Oracle SQL Developer

## Outils
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-tools"></a>
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
+ [pgAdmin](https://www.pgadmin.org/) est un outil d'administration et de développement open source pour PostgreSQL. Il fournit une interface graphique qui simplifie la création, la maintenance et l'utilisation des objets de base de données.
+ [Oracle SQL Developer](https://www.oracle.com/in/database/technologies/appdev/sqldeveloper-landing.html) est un environnement de développement intégré gratuit qui simplifie le développement et la gestion d'Oracle Database dans les déploiements traditionnels et dans le cloud.

## Épopées
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-epics"></a>

### Migrez les codes d'erreur de la base de données Oracle vers votre base de données compatible avec Amazon Aurora PostgreSQL
<a name="migrate-oracle-database-error-codes-to-your-amazon-aurora-postgresql-compatible-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une table dans la base de données compatible avec Amazon Aurora PostgreSQL. | Exécutez la commande [PostgreSQL CREATE TABLE](https://www.postgresql.org/docs/current/sql-createtable.html) suivante :<pre>(<br /><br />    source_error_code numeric NOT NULL,<br /><br />    target_error_code character varying NOT NULL,<br /><br />    valid_error character varying(1) NOT NULL<br /><br />); </pre> | Développeur PostgreSQL, Oracle, pour PostgreSQL RDS/Aurora  | 
| Ajoutez les codes d'erreur PostgreSQL et les codes d'erreur de base de données Oracle correspondants dans le tableau. | **Exécutez la commande [PostgreSQL](https://www.postgresql.org/docs/current/sql-insert.html) INSERT pour ajouter les valeurs de code d'erreur requises à la table error\$1codes.**Les codes d'erreur PostgreSQL doivent utiliser le type de données à caractère variable **(**valeur SQLSTATE). Les codes d'erreur Oracle doivent utiliser le type de données numérique (valeur **SQLCODE**).**Exemple d'instructions Insérer :**<pre>insert into error_codes values (-1817,'22007','Y');<br />insert into error_codes values (-1816,'22007','Y');<br />insert into error_codes values (-3114,'08006','N');</pre>Si vous détectez des exceptions de connectivité de base de données Java (JDBC) spécifiques à Oracle, vous devez les remplacer par des exceptions génériques entre bases de données ou passer à des exceptions spécifiques à PostgreSQL. | Développeur PostgreSQL, Oracle, pour PostgreSQL RDS/Aurora  | 
| Créez une PL/pgSQL fonction pour valider les codes d'erreur. | Créez une PL/pgSQL fonction en exécutant la commande CREATE FUNCTION de [PostgreSQL](https://www.postgresql.org/docs/current/sql-createfunction.html). Assurez-vous que la fonction effectue les opérations suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.html) | Développeur PostgreSQL, Oracle, pour PostgreSQL RDS/Aurora  | 
| Vérifiez manuellement les nouveaux codes d'erreur au fur et à mesure qu'ils sont enregistrés par la PL/pgSQL fonction. | Vérifiez manuellement les nouveaux codes d'erreur.**Si un nouveau code d'erreur est valide pour votre cas d'utilisation, ajoutez-le à la table **error\$1codes** en exécutant la commande PostgreSQL INSERT.**-ou-Si un nouveau code d'erreur n'est pas valide pour votre cas d'utilisation, ne l'ajoutez pas au tableau. La logique du processus continuera à échouer et se terminera, sauf si l'erreur se produit. | Développeur PostgreSQL, Oracle, pour PostgreSQL RDS/Aurora  | 

## Ressources connexes
<a name="migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database-resources"></a>

[Annexe A. Codes d'erreur PostgreSQL (documentation PostgreSQL](https://www.postgresql.org/docs/11/errcodes-appendix.html))

[Messages d'erreur de base](https://docs.oracle.com/cd/E11882_01/server.112/e17766/toc.htm) de données (documentation Oracle Database)

# Migrez SAP ASE sur Amazon EC2 vers une version compatible avec Amazon Aurora PostgreSQL à l'aide d'AWS SCT et d'AWS DMS
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms"></a>

*Amit Kumar et Ankit Gupta, Amazon Web Services*

## Résumé
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-summary"></a>

Ce modèle décrit comment migrer une base de données SAP Adaptive Server Enterprise (SAP ASE) hébergée sur une instance Amazon Elastic Compute Cloud (Amazon EC2) vers une édition compatible avec Amazon Aurora PostgreSQL à l'aide d'AWS Schema Conversion Tool (AWS SCT) et d'AWS Database Migration Service (AWS DMS). Le modèle se concentre à la fois sur les conversions en langage de définition des données (DDL) pour les objets stockés et sur la migration des données.

La compatibilité avec Aurora PostgreSQL prend en charge les charges de travail de traitement des transactions en ligne (OLTP). Ce service géré fournit des configurations qui s'adaptent automatiquement à la demande. Il peut automatiquement démarrer, arrêter, agrandir ou réduire votre base de données en fonction des besoins de votre application. Vous pouvez exécuter votre base de données dans le cloud sans gérer aucune instance de base de données. La compatibilité avec Aurora PostgreSQL constitue une option rentable pour les charges de travail peu fréquentes, intermittentes ou imprévisibles.

Le processus de migration comprend deux phases principales :
+ Conversion du schéma de base de données à l'aide d'AWS SCT
+ Migration des données à l'aide d'AWS DMS

Des instructions détaillées pour les deux phases sont fournies dans la section *Epics*. Pour plus d'informations sur la résolution des problèmes spécifiques à l'utilisation d'AWS DMS avec des bases de données SAP ASE, consultez la section [Résolution des problèmes liés à SAP ASE](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.SAP) dans la documentation AWS DMS.

## Conditions préalables et limitations
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données SAP ASE source sur une EC2 instance avec des services de serveur, de base de données et d'écoute opérationnels
+ Une base de données cible compatible avec Aurora PostgreSQL

**Limites**
+ Le numéro de port pour les connexions doit être 5432.
+ La fonctionnalité [huge\$1pages](https://www.postgresql.org/docs/9.6/static/runtime-config-resource.html) est activée par défaut mais peut être modifiée.
+ Point-in-time la granularité de récupération (PITR) est de 5 minutes.
+ La réplication entre régions n'est actuellement pas disponible.
+ La taille de stockage maximale d'une base de données Aurora est de 128 TiB.
+ Vous pouvez créer jusqu'à 15 répliques de lecture.
+ La limite de taille de table est limitée uniquement par la taille du volume du cluster Aurora, de sorte que la taille de table maximale pour un cluster de base de données compatible Aurora PostgreSQL est de 32 TiB. Nous vous recommandons de suivre les meilleures pratiques en matière de conception de tables, telles que le partitionnement de grandes tables.

**Versions du produit**
+ Base de données source : AWS DMS prend actuellement en charge SAP ASE 15, 15.5, 15.7 et 16.x. Consultez le [guide de l'utilisateur d'AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html) pour obtenir les dernières informations sur la prise en charge des versions de SAP ASE.
+ Base de données cible : PostgreSQL 9.4 et versions ultérieures (pour les versions 9.x), 10.x, 11.x, 12.x, 13.x et 14.x. Consultez le [guide de l'utilisateur d'AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.PostgreSQL.html) pour connaître les dernières versions de PostgreSQL prises en charge.
+ Amazon Aurora 1.x ou version ultérieure. Pour obtenir les informations les plus récentes, consultez les [versions compatibles avec Aurora PostgreSQL et les versions du moteur dans la documentation](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html) Aurora.

## Architecture
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-architecture"></a>

**Pile technologique source**
+ Base de données SAP ASE exécutée sur Amazon EC2

**Pile technologique cible**
+ Base de données compatible avec Aurora PostgreSQL

**Architecture de migration**

![\[Migration d'une base de données SAP ASE vers une version compatible avec Aurora PostgreSQL à l'aide d'AWS SCT et d'AWS DMS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/07fbdea1-0242-40ae-8e5f-2ce4a620a047/images/a3b018f3-2e7b-4c37-a218-870c56132acb.png)


## Outils
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-tools"></a>
+ [Amazon Aurora PostgreSQL Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré et compatible ACID qui vous aide à configurer, exploiter et dimensionner les déploiements PostgreSQL.
+ [AWS Schema Conversion Tool (AWS SCT)](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) prend en charge les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majeure partie du code personnalisé dans un format compatible avec la base de données cible.
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) prend en charge plusieurs bases de données sources et cibles différentes. Pour plus d'informations, consultez les [sections Sources pour la migration des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.html) et [cibles pour la migration des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.html) dans la documentation AWS DMS. Pour bénéficier de la prise en charge la plus complète des versions et des fonctionnalités, nous vous recommandons d'utiliser la dernière version d'AWS DMS. 

## Épopées
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-epics"></a>

### Configuration de l'environnement
<a name="set-up-the-environment"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez l'accès réseau dans l' EC2 instance source. | Configurez des groupes de sécurité dans l' EC2 instance qui héberge votre base de données SAP ASE source.Pour obtenir des instructions, consultez [les groupes EC2 de sécurité Amazon pour les instances Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html?icmpid=docs_ec2_console) dans la EC2 documentation Amazon. | Administrateur de systèmes | 
| Créez votre cluster de base de données compatible Aurora PostgreSQL cible. | Installez, configurez et lancez un cluster compatible Aurora PostgreSQL pour votre base de données cible.Pour plus d'informations, consultez la section [Création d'un cluster de base de données Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) dans la documentation Aurora. | DBA | 
| Configurez l'autorisation pour le cluster de base de données cible. | Configurez des groupes de sécurité et des pare-feux pour la base de données cible.Pour obtenir des instructions, consultez [la section Création d'un cluster de base de données Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) dans la documentation Aurora. | DBA, administrateur système | 

### Convertissez le schéma de votre base de données avec AWS SCT
<a name="convert-your-database-schema-with-aws-sct"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Lancez AWS SCT. | Lancez AWS SCT en suivant les instructions de la documentation [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_GettingStarted.html)AWS SCT fournit une interface utilisateur basée sur un projet pour convertir automatiquement le schéma de base de données de votre base de données source SAP ASE dans un format compatible avec votre instance de base de données cible compatible Aurora PostgreSQL. | DBA | 
| Créez des points de terminaison AWS SCT. | Créez des points de terminaison pour les bases de données SAP ASE source et les bases de données PostgreSQL cibles.Pour obtenir des instructions, consultez la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AddServers) | DBA | 
| Créez un rapport d'évaluation. | Créez un rapport d'évaluation de la migration de base de données pour évaluer la migration et détecter tout objet ou fonction incompatible.Pour obtenir des instructions, consultez la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_UserInterface.html#CHAP_UserInterface.AssessmentReport) | DBA | 
| Convertissez le schéma. | Convertissez le schéma de base de données en suivant les instructions de la [documentation AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Converting.html) | DBA | 
| Validez les objets de base de données | Si AWS SCT ne parvient pas à convertir un objet de base de données, il identifiera son nom et d'autres informations. Vous devez convertir ces objets manuellement.Pour identifier ces incohérences, suivez les instructions du billet de blog AWS intitulé Validation [des objets de base de données après la migration de SAP ASE vers Amazon RDS for PostgreSQL ou Amazon Aurora PostgreSQL](https://aws.amazon.com/blogs/database/validate-database-objects-after-migrating-from-sap-ase-to-amazon-rds-for-postgresql-or-amazon-aurora-postgresql/). | DBA | 

### Analyser la migration vers AWS DMS
<a name="analyze-the-aws-dms-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions de base de données source et cible. | Vérifiez la compatibilité des versions de base de données SAP ASE avec AWS DMS. Pour plus d'informations, consultez [les sections Sources pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Sources.html#CHAP_Introduction.Sources.title) et [cibles pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Introduction.Targets.html) dans la documentation AWS DMS. | DBA | 
| Identifiez les exigences relatives au type et à la capacité de stockage. | Choisissez la capacité de stockage appropriée pour la base de données cible en fonction de la taille de votre base de données source. | DBA, administrateur système | 
| Choisissez le type d'instance, la capacité et les autres fonctionnalités de l'instance de réplication. | Choisissez le type d'instance, la capacité, les fonctionnalités de stockage et les fonctionnalités réseau qui répondent à vos besoins.Pour obtenir des conseils, consultez [Choisir l'instance de réplication AWS DMS adaptée à votre migration](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.Types.html) dans la documentation AWS DMS. | DBA, administrateur système | 
| Identifiez les exigences de sécurité d'accès au réseau. | Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible.Suivez les instructions de la [section Configuration d'un réseau pour une instance de réplication](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html) dans la documentation AWS DMS. | DBA, administrateur système | 

### Migrer les données
<a name="migrate-the-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les données en créant une tâche de migration dans AWS DMS. | Pour migrer des données, créez une tâche et suivez les instructions de la [documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.Creating.html). Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités. | DBA | 
| Validez les données. | Pour vérifier que vos données ont bien été migrées de la base de données source vers la base de données cible, suivez les [directives de validation des données](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) fournies dans la documentation AWS DMS. | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez la stratégie de migration des applications. | Choisissez l'une des [sept stratégies (7R)](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/planning-phase.html) de migration des applications vers le cloud. | DBA, propriétaire de l'application, administrateur système | 
| Suivez la stratégie de migration des applications. | Effectuez les tâches de base de données identifiées par l'équipe chargée de l'application, notamment la mise à jour des détails de connexion DNS pour la base de données cible et la mise à jour des requêtes dynamiques.  | DBA, propriétaire de l'application, administrateur système | 

### Passez à la base de données cible
<a name="cut-over-to-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Basculez les clients de l'application vers la nouvelle infrastructure. | Basculez la connexion entre la base de données source et la base de données cible. Pour plus d'informations, consultez la section [Réduction](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/cut-over.html) de la *stratégie de migration pour les bases de données relationnelles*. | DBA, propriétaire de l'application, administrateur système | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. | Mettez fin à toutes les tâches de migration, aux instances de réplication, aux points de terminaison et aux autres ressources AWS SCT et AWS DMS. Pour en savoir plus, consultez [la documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.Replication.html#CHAP_GettingStarted.Replication.Deleting). | DBA, administrateur système | 
| Passez en revue et validez les documents du projet. | Validez toutes les étapes de la documentation du projet pour vous assurer que toutes les tâches ont été effectuées avec succès. | DBA, propriétaire de l'application, administrateur système | 
| Fermez le projet. | Clôturez le projet de migration et faites part de vos commentaires. | DBA, propriétaire de l'application, administrateur système | 

## Ressources connexes
<a name="migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms-resources"></a>

**Références**
+ [Activer les connexions chiffrées pour les instances de base de données PostgreSQL dans Amazon](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/enable-encrypted-connections-for-postgresql-db-instances-in-amazon-rds.html) RDS (AWS Prescriptive Guidance)
+ [Transportez des bases de données PostgreSQL entre deux instances de base de données Amazon RDS à l'aide de pg\$1transport (AWS Prescriptive Guidance](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg_transport.html))
+ [Tarification d’Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Bonnes pratiques relatives à l'édition compatible avec Amazon Aurora PostgreSQL (documentation Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.BestPractices.html) Aurora)
+ [Documentation AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Utilisation d'une base de données SAP ASE comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SAP.html)

**Tutoriels et vidéos**
+ [Commencer à utiliser AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/)
+ [AWS Database Migration Service](https://www.youtube.com/watch?v=zb4GcjEdl8U) (vidéo)

# Migrer les certificats SSL Windows vers un Application Load Balancer à l'aide d'ACM
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm"></a>

*Chandra Sekhar Yaratha et Igor Kovalchuk, Amazon Web Services*

## Résumé
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-summary"></a>

Le modèle fournit des conseils sur l'utilisation d'AWS Certificate Manager (ACM) pour migrer des certificats SSL (Secure Sockets Layer) existants à partir de sites Web hébergés sur des serveurs sur site ou d'instances Amazon Elastic Compute Cloud (Amazon EC2) sur Microsoft Internet Information Services (IIS). Les certificats SSL peuvent ensuite être utilisés avec Elastic Load Balancing sur AWS. 

Le protocole SSL protège vos données, affirme votre identité, améliore le classement dans les moteurs de recherche, aide à répondre aux exigences de la norme de sécurité des données de l'industrie des cartes de paiement (PCI DSS) et améliore la confiance des clients. Les développeurs et les équipes informatiques qui gèrent ces charges de travail souhaitent que leurs applications Web et leur infrastructure, y compris le serveur IIS et Windows Server, restent conformes à leurs politiques de base.

Ce modèle couvre l'exportation manuelle des certificats SSL existants depuis Microsoft IIS, leur conversion du format Personal Information Exchange (PFX) au format Private Enhanced Mail (PEM) pris en charge par ACM, puis leur importation dans ACM sur votre compte AWS. Il décrit également comment créer un Application Load Balancer pour votre application et configurer l'Application Load Balancer pour utiliser vos certificats importés. Les connexions HTTPS sont ensuite interrompues sur l'Application Load Balancer, et vous n'avez pas besoin de surcharger davantage la configuration du serveur Web. Pour plus d'informations, consultez [Créer un écouteur HTTPS pour votre Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html).

Les serveurs Windows utilisent des fichiers .pfx ou .p12 pour contenir le fichier de clé publique (certificat SSL) et son fichier de clé privée unique. L'autorité de certification (CA) vous fournit votre fichier de clé publique. Vous utilisez votre serveur pour générer le fichier de clé privée associé dans lequel la demande de signature de certificat (CSR) a été créée.

## Conditions préalables et limitations
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Un cloud privé virtuel (VPC) sur AWS avec au moins un sous-réseau privé et un sous-réseau public dans chaque zone de disponibilité utilisée par vos cibles
+ IIS version 8.0 ou ultérieure s'exécutant sur Windows Server 2012 ou version ultérieure
+ Une application Web exécutée sur IIS
+ Accès administrateur au serveur IIS

## Architecture
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-architecture"></a>

**Pile technologique source**
+ Implémentation du serveur Web IIS avec SSL pour garantir que les données sont transmises en toute sécurité dans le cadre d'une connexion cryptée (HTTPS) 

**Architecture source**

![\[Architecture source pour la migration des certificats SSL Windows vers Application Load Balancer à l'aide d'ACM\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/cad6e465-da39-4819-970e-10e1c30e0a1f/images/e63efb6f-205b-4e20-a043-6bc954470191.png)


**Pile technologique cible**
+ Certificats ACM dans votre compte AWS
+ Application Load Balancer configuré pour utiliser des certificats importés
+ Instances Windows Server dans les sous-réseaux privés

**Architecture cible**

![\[Architecture cible pour la migration des certificats SSL Windows vers Application Load Balancer à l'aide d'ACM\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/cad6e465-da39-4819-970e-10e1c30e0a1f/images/45ac7fba-fbad-4c74-9b1f-80ca212dae08.png)


 

## Outils
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-tools"></a>
+ [AWS Certificate Manager (ACM)](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html) vous aide à créer, stocker et renouveler des certificats et clés SSL/TLS X.509 publics et privés qui protègent vos sites Web et applications AWS.
+ [Elastic Load Balancing (ELB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) répartit le trafic applicatif ou réseau entrant sur plusieurs cibles. Par exemple, vous pouvez répartir le trafic entre les EC2 instances, les conteneurs et les adresses IP dans une ou plusieurs zones de disponibilité.

## Bonnes pratiques
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-best-practices"></a>
+ Appliquez les redirections de trafic de HTTP vers HTTPS.
+ Configurez correctement les groupes de sécurité pour votre Application Load Balancer afin d'autoriser le trafic entrant uniquement vers des ports spécifiques.
+ Lancez vos EC2 instances dans différentes zones de disponibilité pour garantir une haute disponibilité.
+ Configurez le domaine de votre application pour qu'il pointe vers le nom DNS de l'équilibreur de charge d'application au lieu de son adresse IP.
+ [Assurez-vous que les contrôles de santé de la couche application sont configurés dans l'Application Load Balancer.](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html)
+ Configurez le seuil pour les contrôles de santé.
+ Utilisez [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) pour surveiller l'Application Load Balancer.

## Épopées
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-epics"></a>

### Exporter un fichier .pfx
<a name="export-a-pfx-file"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Exportez le fichier .pfx depuis Windows Server. | Pour exporter le certificat SSL sous forme de fichier .pfx depuis le gestionnaire IIS local de Windows Server :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html)Votre fichier .pfx doit maintenant être enregistré à l'emplacement et au chemin que vous avez spécifiés. | Administrateur de systèmes | 

### Convertir le certificat codé au format PFX au format PEM
<a name="convert-the-pfx-encoded-certificate-to-pem-format"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez et installez le kit d'outils OpenSSL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html) | Administrateur de systèmes | 
| Convertissez le certificat codé au format PFX au format PEM. | Les étapes suivantes convertissent le fichier de certificat signé codé au format PFX en trois fichiers au format PEM :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html)Pour convertir le certificat codé au format PFX :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.html) | Administrateur de systèmes | 

### Importer un certificat dans ACM
<a name="import-a-certificate-into-acm"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez-vous à importer le certificat. | Sur la [console ACM](https://console.aws.amazon.com/acm/home), choisissez **Importer un certificat**. | Administrateur du cloud | 
| Indiquez le corps du certificat. | Pour **Corps du certificat**, collez le certificat codé PEM que vous souhaitez importer. Pour plus d'informations sur les commandes et les étapes décrites dans ce livre et sur les autres tâches décrites dans cette épopée, consultez la section [Importation d'un certificat](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-api-cli.html) dans la documentation d'ACM. | Administrateur du cloud | 
| Fournissez la clé privée du certificat. | Pour **Certificate private key**, collez la clé privée codée PEM, non chiffrée, correspondant à la clé publique du certificat. | Administrateur du cloud | 
| Fournissez la chaîne de certificats. | Pour **Chaîne de certificats**, collez la chaîne de certificats codée PEM, qui est stockée dans le `CertificateChain.pem` fichier. | Administrateur du cloud | 
| Importez le certificat. | Choisissez **Review and import** (Vérifier et importer). Vérifiez que les informations relatives à votre certificat sont correctes, puis choisissez **Importer**. | Administrateur du cloud | 

### Création d'un Application Load Balancer
<a name="create-an-application-load-balancer"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez et configurez l'équilibreur de charge et les écouteurs. | Suivez les instructions de la [documentation d'Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html) pour configurer un groupe cible, enregistrer des cibles et créer un Application Load Balancer et un écouteur. Ajoutez un deuxième écouteur (HTTPS) pour le port 443. | Administrateur du cloud | 

## Résolution des problèmes
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Windows PowerShell ne reconnaît pas la commande OpenSSL même après l'avoir ajoutée au chemin du système. | Vérifiez `$env:path` qu'il inclut l'emplacement des fichiers binaires OpenSSL.Si ce n'est pas le cas, exécutez la commande suivante dans PowerShell :<pre>$env:path = $env:path + ";C:\OpenSSL-Win64\bin"</pre> | 

## Ressources connexes
<a name="migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm-resources"></a>

**Importer un certificat dans ACM**
+ [Console ACM](https://console.aws.amazon.com/acm/home)
+ [Format du certificat et de la clé pour l'importation](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-format.html)
+ [Importer un certificat](https://aws.amazon.com/blogs/security/how-to-import-pfx-formatted-certificates-into-aws-certificate-manager-using-openssl/)
+ [Guide de l'utilisateur d'AWS Certificate Manager](https://docs.aws.amazon.com/acm/latest/userguide/acm-overview.html)

**Création d'un Application Load Balancer**
+ [Création d'un Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-application-load-balancer.html)
+ [Guide de l'utilisateur de l'Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)

# Migrer une file d'attente de messagerie de Microsoft Azure Service Bus vers Amazon SQS
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs"></a>

*Nisha Gambhir, Amazon Web Services*

## Résumé
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-summary"></a>

Ce modèle décrit comment migrer une application Web ou console .NET Framework ou .NET Core depuis la plateforme de messagerie de file d'attente Microsoft Azure Service Bus vers Amazon Simple Queue Service Service Service Service Service Service (Amazon SQS).

Les applications utilisent les services de messagerie pour envoyer des données à d'autres applications et en recevoir. Ces services permettent de créer des microservices découplés et hautement évolutifs, des systèmes distribués et des applications sans serveur dans le cloud.

Les files d'attente Azure Service Bus font partie d'une infrastructure de messagerie Azure plus large qui prend en charge les files d'attente et la messagerie. publish/subscribe  

Amazon SQS est un service de mise en file d'attente de messages entièrement géré qui vous permet de découpler et de dimensionner les microservices, les systèmes distribués et les applications sans serveur. Amazon SQS élimine la complexité et les frais associés à la gestion et à l'exploitation d'intergiciels orientés message, et permet aux développeurs de se concentrer sur la différenciation du travail. Amazon SQS vous permet d'envoyer, de stocker et de recevoir des messages entre des composants logiciels, quel que soit le volume, sans perdre de messages ni nécessiter la disponibilité d'autres services.

## Conditions préalables et limitations
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-prerequisites-and-limitations"></a>

**Conditions préalables**
+ Un compte AWS actif 
+ Une application Web ou console .NET Framework ou .NET Core qui utilise les files d'attente Azure Service Bus (exemple de code joint)

**Versions du produit**
+ .NET Framework 3.5 ou version ultérieure, ou .NET Core 1.0.1, 2.0.0 ou version ultérieure

## Architecture
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-architecture"></a>

**Pile technologique source**
+ Application Web ou console .NET (Core ou Framework) qui utilise une file d'attente Azure Service Bus pour envoyer des messages

 

**Pile technologique cible**
+ Amazon SQS

## Outils
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-tools"></a>

**Outils**
+ Microsoft Visual Studio

**Code**

Pour créer une politique de gestion des identités et des accès (IAM) AWS pour Amazon SQS :

1. Connectez-vous à AWS Management Console et ouvrez la console IAM à l'adresse [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

2. Dans le panneau de navigation à gauche, choisissez **politiques**, puis **Créer une politique**.

3. Choisissez l'onglet **JSON** et collez le code suivant :

```
{
   "Version": "2012-10-17",		 	 	 
   "Statement": [
      {
         "Sid": "VisualEditor0",
         "Effect": "Allow",
         "Action": [
            "sqs:DeleteMessage",
            "sqs:GetQueueUrl",
            "sqs:ChangeMessageVisibility",
            "sqs:SendMessageBatch",
            "sqs:ReceiveMessage",
            "sqs:SendMessage",
            "sqs:GetQueueAttributes",
            "sqs:ListQueueTags",
            "sqs:ListDeadLetterSourceQueues",
            "sqs:DeleteMessageBatch",
            "sqs:PurgeQueue",
            "sqs:DeleteQueue",
            "sqs:CreateQueue",
            "sqs:ChangeMessageVisibilityBatch",
            "sqs:SetQueueAttributes"
         ],
         "Resource": "arn:aws:sqs:*:<AccountId>:*"
      },
      {
         "Sid": "VisualEditor1",
         "Effect": "Allow",
         "Action": "sqs:ListQueues",
         "Resource": "*"
      }
   ]
}
```

4. Choisissez **Réviser la politique**, tapez un nom, puis choisissez **Créer une politique**.

5. Associez la nouvelle politique à votre rôle IAM existant ou créez-en un nouveau.

## Épopées
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-epics"></a>

### Configuration d'Amazon SQS dans AWS
<a name="set-up-amazon-sqs-in-aws"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une politique IAM pour Amazon SQS. | Créez la politique IAM qui fournira l'accès à Amazon SQS. Consultez la section Code pour un exemple de politique. | Ingénieur système | 
| Créez un profil AWS. | Créez un nouveau profil en exécutant les outils AWS pour la PowerShell commande Set-AWSCredential. Cette commande enregistre votre clé d'accès et votre clé secrète dans votre fichier d'informations d'identification par défaut sous le nom de profil que vous spécifiez. Associez la politique Amazon SQS que vous avez créée précédemment à ce compte. Conservez l'ID de la clé d'accès AWS et la clé d'accès secrète. Ils seront nécessaires dans les prochaines étapes. | Ingénieur système | 
| Créez une file d'attente SQS. | Vous pouvez créer une file d'attente standard ou une file d'attente « premier entré, premier sorti » (FIFO). Pour obtenir des instructions, consultez le lien dans la section Références. | Ingénieur système | 

### Révisez le code de votre application .NET
<a name="revise-your-net-application-code"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez AWS Toolkit pour Visual Studio. | Ce kit d'outils est une extension pour Microsoft Visual Studio qui facilite la création et le déploiement d'applications .NET dans AWS. Pour les instructions d'installation et d'utilisation, consultez le lien dans la section Références. | Développeur d'applications | 
| Installez le package AWSSDK .SQS. NuGet  | Vous pouvez installer le AWSSDK fichier .SQS en choisissant « Gérer le NuGet package » dans Visual Studio ou en exécutant la commande «  AWSSDK Install-Package .SQS ». | Développeur d'applications | 
| Créez un AWSCredentials objet dans votre application .NET. | L'exemple d'application en pièce jointe montre comment créer un AWSCredentials objet Basic, qui hérite de AWSCredentials. Vous pouvez utiliser l'ID de clé d'accès et la clé d'accès secrète antérieurs, ou laisser l'objet les sélectionner dans le dossier .aws dans le cadre du profil utilisateur lors de l'exécution. | Développeur d'applications | 
| Créez un objet client SQS. | Créez un objet client SQS (AmazonSQSClient) pour .NET Framework. Cela fait partie de l'espace de noms Amazon.sqs. Cet objet est requis à la place du IQueue client, qui fait partie de Microsoft.Azure. ServiceBus espace de noms. | Développeur d'applications | 
| Appelez la SendMessageAsync méthode pour envoyer des messages à la file d'attente SQS. | Modifiez le code qui envoie le message à la file d'attente pour utiliser le amazonSqsClient. SendMessageAsync méthode. Pour plus de détails, consultez l'exemple de code ci-joint. | Développeur d'applications | 
| Appelez la ReceiveMessageAsync méthode pour recevoir des messages de la file d'attente SQS. | Modifiez le code qui reçoit le message pour utiliser le amazonSqsClient. ReceiveMessageAsync méthode. Pour plus de détails, consultez l'exemple de code ci-joint. | Développeur d'applications | 
| Appelez la DeleteMessageAsync méthode pour supprimer des messages de la file d'attente SQS. | Pour supprimer des messages, modifiez le code depuis le QueueClient. CompleteAsync méthode pour le amazonSqsClient. DeleteMessageAsync méthode. Pour plus de détails, consultez l'exemple de code ci-joint. | Développeur d'applications | 

## Ressources connexes
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-related-resources"></a>
+ [Manuel du développeur du kit SDK AWS pour .NET](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/welcome.html)
+ [Messagerie à l'aide d'Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v3/developer-guide/sqs-apis-intro.html)
+ [Création et utilisation d'une file d'attente Amazon SQS avec le kit SDK AWS pour .NET](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/how-to-sqs.html)
+ [Envoyer un message Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/SendMessage.html)
+ [Recevoir un message depuis une file d'attente Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/ReceiveMessage.html)
+ [Supprimer un message d'une file d'attente Amazon SQS](https://docs.aws.amazon.com/sdk-for-net/v2/developer-guide/DeleteMessage.html)
+ [AWS Toolkit for Visual Studio](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/welcome.html)

## Informations supplémentaires
<a name="migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs-additional-information"></a>

Ce modèle inclut deux exemples d'applications (voir la section des pièces jointes) :
+ **AzureSbTestApp**inclut du code qui utilise la file d'attente Azure Service Bus.
+ **AmazonSqsTestApp**utilise Amazon SQS. Il s'agit d'une application console qui utilise .NET Core 2.2 et inclut des exemples d'envoi et de réception de messages.

Remarques :
+ QueueClient est un objet de IQueue Client, qui fait partie de Microsoft.Azure. ServiceBus espace de noms (inclus dans le fichier Microsoft.Azure. ServiceBus NuGet paquet).
+ amazonSqsClient est un objet d'AmazonSQSClient, qui fait partie de l'espace de noms Amazon.SQS (inclus dans le AWSSDK package .SQS). NuGet 
+ Selon l'endroit où le code est exécuté, disons s'il est exécuté EC2, le rôle doit être autorisé à écrire dans la file d'attente SQS.

## Pièces jointes
<a name="attachments-25334709-7000-4f60-87ed-ea41acb41a99"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/25334709-7000-4f60-87ed-ea41acb41a99/attachments/attachment.zip)

# Migrer une EnterpriseOne base de données Oracle JD Edwards vers AWS à l'aide d'Oracle Data Pump et d'AWS DMS
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms"></a>

*Thanigaivel Thirumalai, Amazon Web Services*

## Résumé
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-summary"></a>

Vous pouvez migrer et exécuter votre EnterpriseOne base de données JD Edwards sur [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)). Lorsque vous migrez votre base de données vers Amazon RDS, AWS peut prendre en charge les tâches de sauvegarde et la configuration de la haute disponibilité, afin que vous puissiez vous concentrer sur la maintenance de votre EnterpriseOne application et de ses fonctionnalités. Pour une liste complète des facteurs clés à prendre en compte lors du processus de migration, consultez les [stratégies de migration des bases de données Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) dans AWS Prescriptive Guidance.

Il existe plusieurs méthodes pour migrer une EnterpriseOne base de données, notamment :
+ Utilisation d'Oracle Universal Batch Engine (UBE) R98403 pour la création de schémas et de tables, et utilisation d'AWS Database Migration Service (AWS DMS) pour la migration
+ Utilisation des outils natifs de base de données pour la création de schémas et de tables et utilisation d'AWS DMS pour la migration
+ Utilisation des outils natifs de base de données pour la migration des données existantes (chargement complet) et utilisation d'AWS DMS pour les tâches de capture des données modifiées (CDC)

Ce modèle couvre la troisième option. Il explique comment migrer vos EnterpriseOne bases de données sur site vers Amazon RDS for Oracle en utilisant Oracle Data Pump avec [AWS](https://aws.amazon.com/dms) DMS et sa fonctionnalité CDC.

[Oracle JD Edwards EnterpriseOne](https://www.oracle.com/applications/jd-edwards-enterpriseone/) est une solution de planification des ressources d'entreprise (ERP) destinée aux entreprises qui fabriquent, construisent, distribuent, entretiennent ou gèrent des produits ou des actifs physiques. JD Edwards EnterpriseOne prend en charge divers matériels, systèmes d'exploitation et plateformes de base de données.

Lorsque vous migrez des applications ERP critiques telles que JD Edwards EnterpriseOne, il est essentiel de minimiser les temps d'arrêt. AWS DMS minimise les temps d'arrêt en prenant en charge à la fois le chargement complet et la réplication continue de la base de données source vers la base de données cible. AWS DMS fournit également une surveillance et une journalisation en temps réel pour la migration, ce qui peut vous aider à identifier et à résoudre les problèmes susceptibles de provoquer des interruptions de service.

Lorsque vous répliquez des modifications avec AWS DMS, vous devez spécifier une heure ou un numéro de modification du système (SCN) comme point de départ pour lire les modifications dans les journaux de base de données. Il est essentiel de garder ces journaux accessibles sur le serveur pendant un certain temps (nous recommandons 15 jours) afin de garantir qu'AWS DMS a accès à ces modifications.

## Conditions préalables et limitations
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-prereqs"></a>

**Conditions préalables**
+ Une base de données Amazon RDS for Oracle mise en service dans votre environnement cloud AWS en tant que base de données cible. Pour obtenir des instructions, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html)
+  EnterpriseOne Base de données exécutée sur site ou sur une instance Amazon Elastic Compute Cloud (Amazon EC2) sur AWS.
**Note**  
Ce modèle est conçu pour effectuer une migration sur site vers AWS, mais il a été testé à l'aide d'une EnterpriseOne base de données sur une instance EC2. Si vous envisagez de migrer depuis votre environnement sur site, vous devez configurer la connectivité réseau appropriée.
+ Détails du schéma Identifiez le schéma de base de données Oracle (par exemple DV920) pour lequel vous prévoyez de migrer EnterpriseOne. Avant de commencer le processus de migration, collectez les informations suivantes sur le schéma :
  + Taille du schéma
  + Le nombre d'objets par type d'objet
  + Le nombre d'objets non valides

**Limites**
+ Vous devez créer les schémas de votre choix sur la base de données Amazon RDS for Oracle cible. AWS DMS ne les crée pas pour vous. (La section [Epics](#migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-epics) décrit comment utiliser Data Pump pour exporter et importer des schémas.) Le nom du schéma doit déjà exister pour la base de données Oracle cible. Les tables du schéma source sont importées vers l'utilisateur ou le schéma, et AWS DMS utilise le compte administrateur ou système pour se connecter à l'instance cible. Vous pouvez créer plusieurs tâches de réplication si vous avez plusieurs schémas à migrer. Vous pouvez également migrer des données vers différents schémas sur une instance cible. Pour ce faire, utilisez des règles de transformation de schéma sur les mappages de tables AWS DMS.
+ Ce modèle a été testé avec un jeu de données de démonstration. Nous vous recommandons de valider la compatibilité de votre ensemble de données et sa personnalisation.
+ Ce modèle utilise une EnterpriseOne base de données exécutée sous Microsoft Windows. Toutefois, vous pouvez utiliser le même processus avec d'autres systèmes d'exploitation pris en charge par AWS DMS.

## Architecture
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-architecture"></a>

Le schéma suivant montre un système qui s'exécute EnterpriseOne sur une base de données Oracle en tant que base de données source, et une base de données Amazon RDS for Oracle en tant que base de données cible. Les données sont exportées depuis la base de données Oracle source et importées dans la base de données Amazon RDS for Oracle cible à l'aide d'Oracle Data Pump, puis répliquées pour les mises à jour du CDC à l'aide d'AWS DMS.

![\[Diagram showing data replication from on-premises Oracle to Amazon RDS using AWS DMS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/c8ec3789-f80e-4f3a-a3f4-72a4541316b0/images/4e3e3477-2fe0-4a5d-b95e-05a8aafe8b68.png)


1. Oracle Data Pump extrait les données de la base de données source et les données sont envoyées à la base de données cible Amazon RDS for Oracle.

1. Les données CDC sont envoyées depuis la base de données source vers un point de terminaison source dans AWS DMS.

1. À partir du point de terminaison source, les données sont envoyées à l'instance de réplication AWS DMS, où la tâche de réplication est exécutée.

1. Une fois la tâche de réplication terminée, les données sont envoyées au point de terminaison cible dans AWS DMS.

1. À partir du point de terminaison cible, les données sont envoyées à l'instance de base de données Amazon RDS for Oracle.

## Outils
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-tools"></a>

**Services AWS**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ [Amazon Relational Database Service (Amazon RDS) pour](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle vous aide à configurer, exploiter et dimensionner une base de données relationnelle Oracle dans le cloud AWS.

**Autres services**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) vous aide à déplacer rapidement des données et des métadonnées d'une base de données à une autre.

## Bonnes pratiques
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-best-practices"></a>

**Migrating LOBs**

Si votre base de données source contient de gros objets binaires (LOBs) qui doivent être migrés vers la base de données cible, AWS DMS propose les options suivantes :
+ **Mode LOB complet** : AWS DMS migre tous les éléments de la base de données source LOBs vers la base de données cible, quelle que soit leur taille. Bien que la migration soit plus lente que les autres modes, l'avantage est que les données ne sont pas tronquées. Pour de meilleures performances, vous pouvez créer une tâche distincte sur la nouvelle instance de réplication afin de migrer les tables LOBs dont la taille est supérieure à quelques mégaoctets.
+ **Mode LOB limité** : vous spécifiez la taille maximale des données des colonnes LOB, ce qui permet à AWS DMS de préallouer des ressources et de les appliquer en bloc. LOBs Si la taille des colonnes LOB dépasse la taille spécifiée dans la tâche, AWS DMS tronque les données et envoie des avertissements au fichier journal AWS DMS. Vous pouvez améliorer les performances en utilisant le mode LOB limité si la taille de vos données LOB se situe dans les limites de la taille LOB limitée.
+ **Mode LOB en ligne** : vous pouvez migrer LOBs sans tronquer les données ni ralentir les performances de votre tâche en répliquant à la fois les petites et les grandes tâches. LOBs Spécifiez d'abord une valeur pour le `InlineLobMaxSize` paramètre, qui n'est disponible que lorsque le mode LOB complet est défini sur. `true` La tâche AWS DMS transfère le petit LOBs en ligne, ce qui est plus efficace. AWS DMS migre ensuite le fichier volumineux LOBs en effectuant une recherche dans la table source. Cependant, le mode LOB en ligne ne fonctionne que pendant la phase de chargement complet.

**Génération de valeurs de séquence**

Au cours du processus CDC d'AWS DMS, les numéros de séquence incrémentiels ne sont pas répliqués depuis la base de données source. Pour éviter les différences dans les valeurs de séquence, vous devez générer la valeur de séquence la plus récente à partir de la source pour toutes les séquences, et l'appliquer à la base de données Amazon RDS for Oracle cible.

**AWS Secrets Manager**

Pour vous aider à gérer vos informations d'identification, nous vous recommandons de suivre les instructions du billet de blog [Gérer les informations d'identification de votre point de terminaison AWS DMS avec AWS Secrets Manager](https://aws.amazon.com/blogs/database/manage-your-aws-dms-endpoint-credentials-with-aws-secrets-manager/).

**Performances**
+ **Instances de réplication** ‒ Pour obtenir des conseils sur le choix de la meilleure taille d'instance, consultez [la section Sélection de la meilleure taille pour une instance de réplication](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.SizingReplicationInstance.html) dans la documentation AWS DMS.
+ **Options de connectivité** ‒ Pour éviter les problèmes de latence, nous vous recommandons de choisir la bonne option de connectivité. AWS Direct Connect fournit le chemin le plus court vers les ressources AWS, car il s'agit d'une connexion dédiée entre les centres de données de votre entreprise et AWS. Pendant le transit, le trafic de votre réseau reste sur le réseau mondial AWS et ne passe jamais par Internet. Cela réduit le risque de rencontrer des goulots d'étranglement ou des augmentations inattendues de la latence par rapport à l'utilisation d'un VPN ou de l'Internet public.
+ **Bande passante réseau** ‒ Pour optimiser les performances, vérifiez que le débit de votre réseau est rapide. Si vous utilisez un tunnel VPN entre votre base de données source sur site et AWS DMS, assurez-vous que la bande passante est suffisante pour votre charge de travail.
+ **Parallélisme des tâches** ‒ Vous pouvez accélérer la réplication des données en chargeant plusieurs tables en parallèle pendant le chargement complet. Ce modèle utilise des points de terminaison RDBMS, de sorte que cette option ne s'applique qu'au processus de chargement complet. Le parallélisme des tâches est contrôlé par le `MaxFullLoadSubTasks` paramètre, qui détermine le nombre de sous-tâches à chargement complet exécutées en parallèle. Par défaut, ce paramètre est défini sur 8, ce qui signifie que huit tables (si elles sont sélectionnées dans le mappage des tables) sont chargées ensemble en mode complet. Vous pouvez ajuster ce paramètre dans la section des paramètres de chargement complet des tâches du script JSON correspondant à la tâche.
+ **Parallélisme de tables** ‒ AWS DMS vous permet également de charger une seule grande table à l'aide de plusieurs threads parallèles. Cela est particulièrement utile pour les tables source Oracle contenant des milliards d'enregistrements ainsi que plusieurs partitions et sous-partitions. Si la table source n'est pas partitionnée, vous pouvez utiliser des limites de colonnes pour les chargements parallèles.
+ **Charges fractionnées** ‒ Lorsque vous répartissez les charges entre plusieurs tâches ou instances AWS DMS, n'oubliez pas les limites des transactions lorsque vous capturez les modifications.

## Épopées
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-epics"></a>

### Utiliser Oracle Data Pump pour exporter le EnterpriseOne schéma
<a name="use-oracle-data-pump-to-export-the-enterpriseone-schema"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Générez le SCN. | Lorsque la base de données source est active et utilisée par l' EnterpriseOne application, lancez l'exportation des données avec Oracle Data Pump. Vous devez d'abord générer un numéro de modification du système (SCN) à partir de la base de données source pour garantir la cohérence des données lors de l'exportation avec Oracle Data Pump et comme point de départ pour le CDC dans AWS DMS.Pour générer le SCN actuel à partir de votre base de données source, utilisez l'instruction SQL suivante :<pre>SQL> select current_scn from v$database;<br /><br />CURRENT_SCN<br />-----------<br />   30009727</pre>Enregistrez le SCN généré. Vous utiliserez le SCN lorsque vous exporterez les données et pour créer la tâche de réplication AWS DMS. | DBA | 
| Créez le fichier de paramètres. | Pour créer un fichier de paramètres pour exporter le schéma, vous pouvez utiliser le code suivant.<pre>directory=DMS_DATA_PUMP_DIR<br />logfile=export_dms.log<br />dumpfile=export_dms_data.dmp<br />schemas=<schema name><br />flashback_scn=<SCN from previous command></pre>Vous pouvez également définir le vôtre `DATA_PUMP_DIR` en utilisant les commandes suivantes, en fonction de vos besoins.<pre>SQL> CREATE OR REPLACE DIRECTORY DMS_DATA_PUMP_DIR AS '<Directory for dump>';<br />Directory created.<br /><br />SQL> GRANT READ, WRITE ON DIRECTORY DMS_DATA_PUMP_DIR TO SYSTEM;<br />Grant succeeded.</pre> | DBA | 
| Exportez le schéma. | Pour effectuer l'exportation, utilisez l'`expdp`utilitaire comme suit :<pre>C:\Users\Administrator>expdp system/********@<DB Name> PARFILE='<Path to PAR file create above>'<br /><br />Export: Release 19.0.0.0.0 - Production on *** *** ** **:**:** ****<br />Version 19.3.0.0.0<br /><br />Copyright (c) 1982, 2019, Oracle and/or its affiliates.  All rights reserved.<br /><br />Connected to: Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production<br />Starting "SYSTEM"."SYS_EXPORT_SCHEMA_02":  system/********@<DB Name>PARFILE='E:\exp_dms_datapump.par'<br />Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA<br />Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS<br />Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS<br />Processing object type SCHEMA_EXPORT/STATISTICS/MARKER<br />Processing object type SCHEMA_EXPORT/USER<br />Processing object type SCHEMA_EXPORT/ROLE_GRANT<br />Processing object type SCHEMA_EXPORT/DEFAULT_ROLE<br />Processing object type SCHEMA_EXPORT/TABLESPACE_QUOTA<br />Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA<br />Processing object type SCHEMA_EXPORT/TABLE/TABLE<br />Processing object type SCHEMA_EXPORT/TABLE/GRANT/OWNER_GRANT/OBJECT_GRANT<br />Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX<br />Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT<br />. . exported "<Schema Name>"."<Table Name>"                            228.9 MB  496397 rows</pre><pre>Master table "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully loaded/unloaded<br />******************************************************************************<br />Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_02 is:<br />  E:\DMSDUMP\EXPORT_DMS_DATA.DMP<br />Job "SYSTEM"."SYS_EXPORT_SCHEMA_02" successfully completed at *** *** ** **:**:** **** elapsed 0 00:01:57</pre> | DBA | 

### Utiliser Oracle Data Pump pour importer le EnterpriseOne schéma
<a name="use-oracle-data-pump-to-import-the-enterpriseone-schema"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Transférez le fichier de vidage vers l'instance cible. | Pour transférer vos fichiers à l'aide de cet `DBMS_FILE_TRANSFER` utilitaire, vous devez créer un lien de base de données entre la base de données source et l'instance Amazon RDS for Oracle. Une fois le lien établi, vous pouvez utiliser l'utilitaire pour transférer les fichiers Data Pump directement vers l'instance Amazon RDS.Vous pouvez également transférer les fichiers Data Pump vers [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/), puis les importer dans l'instance Amazon RDS for Oracle. Pour plus d'informations sur cette option, consultez la section [Informations supplémentaires](#migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-additional).Pour créer un lien de base de données `ORARDSDB` qui se connecte à l'utilisateur principal Amazon RDS sur l'instance de base de données cible, exécutez les commandes suivantes sur la base de données source :<pre>sqlplus / as sysdba<br /><br />SQL*Plus: Release 19.0.0.0.0 on *** *** ** **:**:** ****<br />Version 19.3.0.0.0<br /><br />Copyright (c) 1982, 2019, Oracle.  All rights reserved.<br /><br />Connected to:<br />Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0<br />Version 19.3.0.0.0<br /><br />SQL> create database link orardsdb connect to admin identified by "******" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = orcl.******.us-east-1.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))';<br /><br />Database link created.<br /><br />SQL></pre> | DBA | 
| Testez le lien de base de données. | Testez le lien de base de données pour vous assurer que vous pouvez vous connecter à la base de données cible Amazon RDS for Oracle en `sqlplus` utilisant.<pre>SQL> select name from v$database@orardsdb;<br /><br />NAME<br />---------<br />ORCL<br /></pre> | DBA | 
| Transférez le fichier de vidage vers la base de données cible. | Pour copier le fichier dump dans la base de données Amazon RDS for Oracle, vous pouvez soit utiliser le répertoire `DATA_PUMP_DIR` par défaut, soit créer votre propre répertoire en utilisant le code suivant, qui doit être exécuté sur l'instance Amazon RDS cible :<pre>exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => 'DMS_TARGET_PUMP_DIR');<br /><br />PL/SQL procedure successfully completed.</pre>Le script suivant copie un fichier de vidage nommé `EXPORT_DMS_DATA.DMP` depuis l'instance source vers une base de données Amazon RDS for Oracle cible en utilisant le lien `orardsdb` de base de données nommé. Vous devez exécuter le script sur l'instance de base de données source.<pre>BEGIN<br />DBMS_FILE_TRANSFER.PUT_FILE(<br />source_directory_object => 'DMS_DATA_PUMP_DIR',<br />source_file_name => 'EXPORT_DMS_DATA.DMP',<br />destination_directory_object => 'DMS_TARGET_PUMP_DIR',<br />destination_file_name => 'EXPORT_DMS_DATA.DMP',<br />destination_database => 'orardsdb');<br />END;<br /><br />PL/SQL procedure successfully completed.</pre> | DBA | 
| Répertoriez le fichier de vidage dans la base de données cible. | Une fois la PL/SQL procédure terminée, vous pouvez répertorier le fichier de vidage de données dans la base de données Amazon RDS for Oracle en utilisant le code suivant :<pre>select * from table (rdsadmin.rds_file_util.listdir(p_directory => 'DMS_TARGET_PUMP_DIR'));</pre> | DBA | 
| Créez des utilisateurs spécifiques à JDE dans l'instance cible. | Créez un profil et un rôle JD Edwards à l'aide des commandes suivantes dans l'instance cible :<pre>SQL> CREATE PROFILE "JDEPROFILE" LIMIT IDLE_TIME 15;<br />Profile created.<br /><br />SQL> CREATE ROLE "JDE_ROLE";<br />Role created.<br /><br />SQL> CREATE ROLE "JDEADMIN";<br />CREATE ROLE "JDEUSER";<br />Role created.<br />Role created.</pre>Accordez les autorisations requises au rôle :<pre>SQL> GRANT CREATE ANY SEQUENCE TO JDE_ROLE;<br /> GRANT DROP ANY SEQUENCE TO JDE_ROLE;<br /> GRANT CREATE ANY TRIGGER TO JDE_ROLE;<br /> GRANT DROP ANY TRIGGER TO JDE_ROLE;<br /></pre> | DBA, JDE CNC | 
| Créez des tablespaces dans l'instance cible. | Créez les tablespaces requis dans l'instance cible à l'aide des commandes suivantes pour les schémas concernés par cette migration :<pre>SQL> CREATE TABLESPACE <Tablespace Name for Tables>;<br />Tablespace created.<br /><br />SQL> CREATE TABLESPACE <Tablespace Name for Indexes>;<br />Tablespace created.</pre> | DBA, JDE CNC | 
| Lancez l'importation sur la base de données cible. | Avant de commencer le processus d'importation, configurez les rôles, les schémas et les tablespaces sur la base de données Amazon RDS for Oracle cible à l'aide du fichier de vidage de données.Pour effectuer l'importation, accédez à la base de données cible avec le compte utilisateur principal Amazon RDS et utilisez le nom de la chaîne de connexion dans le `tnsnames.ora` fichier, qui inclut la base de données Amazon RDS for Oracle. `tns-entry` Si nécessaire, vous pouvez inclure une option de remappage pour importer le fichier de vidage de données dans un autre tablespace ou sous un autre nom de schéma.Pour démarrer l'importation, utilisez le code suivant :<pre>impdp admin@orardsdb directory=DMS_TARGET_PUMP_DIR logfile=import.log dumpfile=EXPORT_DMS_DATA.DMP</pre>Pour garantir le succès de l'importation, vérifiez que le fichier journal d'importation ne contient aucune erreur et vérifiez les détails tels que le nombre d'objets, le nombre de lignes et les objets non valides. Si des objets ne sont pas valides, recompilez-les. Comparez également les objets de base de données source et cible pour vérifier qu'ils correspondent. | DBA | 

### Fournir une instance de réplication AWS DMS avec les points de terminaison source et cible
<a name="provision-an-aws-dms-replication-instance-with-the-source-and-target-endpoints"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez le modèle . | Téléchargez le modèle AWS CloudFormation [DMS\$1Instance.yaml](https://aws-database-blog.s3.amazonaws.com/artifacts/Migrating_oracle_using_DMS/DMS_Instance.yaml) pour provisionner l'instance de réplication AWS DMS ainsi que ses points de terminaison source et cible. | Administrateur cloud, DBA | 
| Commencez la création de la pile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Administrateur cloud, DBA | 
| Spécifiez les paramètres. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Administrateur cloud, DBA | 
| Créez la pile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html)Le provisionnement devrait être terminé en 5 à 10 minutes environ. Il est terminé lorsque la page AWS CloudFormation Stacks affiche **CREATE\$1COMPLETE**. | Administrateur cloud, DBA | 
| Configurez les points de terminaison. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | Administrateur cloud, DBA | 
| Testez la connectivité. | Une fois que les points de terminaison source et cible ont indiqué le statut **Actif**, testez la connectivité. Choisissez **Exécuter le test** pour chaque point de terminaison (source et cible) pour vous assurer que l'état indique que l'état est réussi. | Administrateur cloud, DBA | 

### Création d'une tâche de réplication AWS DMS pour une réplication en direct
<a name="create-an-aws-dms-replication-task-for-live-replication"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez la tâche de réplication. | Créez la tâche de réplication AWS DMS en procédant comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html)Après avoir créé la tâche, AWS DMS migre les modifications continues apportées à l'instance de base de données Amazon RDS for Oracle à partir du SCN que vous avez fourni en mode de démarrage CDC. Vous pouvez également vérifier la migration en consultant les CloudWatch journaux. | Administrateur cloud, DBA | 
| Répétez la tâche de réplication. | Répétez les étapes précédentes pour créer des tâches de réplication pour les autres schémas JD Edwards inclus dans la migration. | Administrateur cloud, DBA, administrateur JDE CNC | 

### Validez le schéma de base de données sur la base de données Amazon RDS for Oracle cible
<a name="validate-the-database-schema-on-the-target-amazon-rds-for-oracle-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez le transfert de données. | Une fois la tâche AWS DMS lancée, vous pouvez consulter l'onglet **Tableau des statistiques** de la page **Tâches** pour voir les modifications apportées aux données.Vous pouvez surveiller l'état de la réplication en cours dans la console sur la page des **tâches de migration de base** de données.Pour plus d'informations, consultez la section [Validation des données AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Administrateur cloud, DBA | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez la réplication. | Interrompez la procédure de réplication et arrêtez les services de l'application source. | Administrateur cloud, DBA | 
| Lancez l'application JD Edwards. | Lancez l'application cible de présentation et de niveau logique de JD Edwards sur AWS, et dirigez-la vers la base de données Amazon RDS for Oracle.Lorsque vous accédez à l'application, vous devez remarquer que toutes les connexions sont désormais établies avec la base de données Amazon RDS for Oracle. | Administrateur DBA, JDE CNC | 
| Éteignez la base de données source. | Après avoir confirmé qu'il n'y a plus de connexions, vous pouvez désactiver la base de données source. | DBA | 

## Résolution des problèmes
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Vous recevez un message d'avertissement vous demandant d'activer la [journalisation supplémentaire](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm#SUTIL1583) dans la base de données source pour une réplication continue | Entrez les commandes suivantes pour activer la journalisation supplémentaire :<pre>SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;<br />SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;</pre> | 
| La journalisation supplémentaire d'AWS DMS est désactivée. | La journalisation supplémentaire est désactivée par défaut dans AWS DMS. Pour l'activer pour un point de terminaison Oracle source :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | 
| La journalisation supplémentaire n'est pas activée au niveau de la CDB. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.html) | 
| Vous recevez le message d'erreur suivant : « Échec du point de terminaison du test : état de l'application : 1020912, message de l'application : non pris en charge dans l'environnement Oracle PDB. L' LogMiner initialisation du point de terminaison a échoué ». | Si ce message d'erreur s'affiche, vous pouvez utiliser Binary Reader au lieu de LogMiner.Sous **Paramètres du point de terminaison**, ajoutez cette ligne aux attributs de connexion supplémentaires pour votre base de données source :<pre>useLogMinerReader=N;useBfile=Y;</pre> | 

## Ressources connexes
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-resources"></a>
+ [Commencer à utiliser AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Bonnes pratiques pour AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)
+ [Migration des bases de données Oracle vers le cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)
+ [Référence du type de ressource AWS Database Migration Service pour AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_DMS.html)
+ [Gérez les informations d'identification de votre point de terminaison AWS DMS avec AWS Secrets Manager](https://aws.amazon.com/blogs/database/manage-your-aws-dms-endpoint-credentials-with-aws-secrets-manager/)
+ [Résolution des problèmes de migration dans AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.Oracle.RecordsMissing)
+ [Bonnes pratiques pour AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)

## Informations supplémentaires
<a name="migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms-additional"></a>

**Transférer des fichiers à l'aide d'Amazon S3**

Pour transférer les fichiers vers Amazon S3, vous pouvez utiliser l'AWS CLI ou la console Amazon S3. Après avoir transféré les fichiers vers Amazon S3, vous pouvez utiliser l'instance Amazon RDS for Oracle pour importer les fichiers Data Pump depuis Amazon S3.

Si vous choisissez de transférer le fichier de vidage en utilisant l'intégration Amazon S3 comme méthode alternative, effectuez les étapes suivantes :

1. Créez un compartiment S3.

1. Exportez les données de la base de données source à l'aide d'Oracle Data Pump.

1. Téléchargez les fichiers Data Pump dans le compartiment S3.

1. Téléchargez les fichiers Data Pump depuis le compartiment S3 vers la base de données Amazon RDS for Oracle cible.

1. Effectuez l'importation à l'aide des fichiers Data Pump.

**Note**  
Pour transférer des fichiers de données volumineux entre des instances S3 et RDS, nous vous recommandons d'utiliser la fonctionnalité [Amazon S3 Transfer Acceleration](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transfer-acceleration.html).

# Migrer une PeopleSoft base de données Oracle vers AWS à l'aide d'AWS DMS
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms"></a>

*sampath kathirvel, Amazon Web Services*

## Résumé
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-summary"></a>

[Oracle PeopleSoft](https://www.oracle.com/applications/peoplesoft/) est une solution de planification des ressources d'entreprise (ERP) pour les processus à l'échelle de l'entreprise. PeopleSoft possède une architecture à trois niveaux : client, application et base de données. PeopleSoft peut être exécuté sur [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)).

Si vous migrez votre base de données Oracle vers Amazon RDS, Amazon Web Services (AWS) peut prendre en charge les tâches de sauvegarde et la haute disponibilité, vous laissant ainsi libre de vous concentrer sur la maintenance de votre PeopleSoft application et de ses fonctionnalités. Pour une liste complète des facteurs clés à prendre en compte lors du processus de migration, consultez les [stratégies de migration des bases de données Oracle](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/strategies.html) dans AWS Prescriptive Guidance.

Ce modèle fournit une solution pour migrer vos bases de données Oracle sur site vers Amazon RDS for Oracle à l'aide d'Oracle Data Pump avec [AWS Database Migration Service (AWS DMS) et de sa fonctionnalité de capture des données de modification (CDC)](https://aws.amazon.com/dms).

Lors de la migration d'applications ERP critiques telles qu'Oracle PeopleSoft, il est essentiel de minimiser les temps d'arrêt. AWS DMS minimise les temps d'arrêt en prenant en charge à la fois le chargement complet et la réplication continue, de la base de données source vers la base de données cible. AWS DMS fournit également une surveillance et une journalisation en temps réel de la migration, ce qui peut vous aider à identifier et à résoudre les problèmes susceptibles de provoquer des interruptions de service.

Lorsque vous répliquez des modifications avec AWS DMS, vous devez spécifier une heure ou un numéro de modification du système (SCN) comme point de départ pour qu'AWS DMS puisse lire les modifications dans les journaux de base de données. Il est essentiel de garder ces journaux accessibles sur le serveur pendant un certain temps afin de garantir qu'AWS DMS ait accès à ces modifications.

## Conditions préalables et limitations
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-prereqs"></a>

**Conditions préalables**
+ Vous avez provisionné la base de données Amazon RDS for Oracle dans votre environnement cloud AWS en tant que base de données cible.
+ Une PeopleSoft base de données Oracle exécutée sur site ou sur Amazon Elastic Compute Cloud (Amazon EC2) dans le cloud AWS.
**Note**  
Ce modèle est conçu pour effectuer une migration sur site vers AWS, mais il a été testé à l'aide d'Oracle Database sur une EC2 instance Amazon. Pour effectuer une migration depuis un environnement local, vous devez configurer la connectivité réseau appropriée.
+ Détails du schéma Lors de la migration d'une PeopleSoft application Oracle vers Amazon RDS for Oracle, il est nécessaire d'identifier le schéma de base de données Oracle (par exemple`SYSADM`) à migrer. Avant de démarrer le processus de migration, collectez les informations suivantes sur le schéma :
  + Size
  + Le nombre d'objets par type d'objet
  + Le nombre d'objets non valides.

  Ces informations faciliteront le processus de migration.

**Limites**
+ Ce scénario a été testé uniquement avec la base de données PeopleSoft DEMO. Il n'a pas été testé avec un grand ensemble de données.

## Architecture
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-architecture"></a>

Le schéma suivant montre une instance exécutant une base de données Oracle en tant que base de données source et une base de données Amazon RDS for Oracle en tant que base de données cible. Les données sont exportées et importées de la base de données Oracle source vers la base de données Amazon RDS for Oracle cible à l'aide d'Oracle Data Pump et répliquées pour les modifications du CDC à l'aide d'AWS DMS.

![\[Processus en cinq étapes, de l'instance de base de données sur site à Amazon RDS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/c8ec3789-f80e-4f3a-a3f4-72a4541316b0/images/4e3e3477-2fe0-4a5d-b95e-05a8aafe8b68.png)


1. La première étape consiste à extraire les données de la base de données source à l'aide d'Oracle Data Pump, puis à les envoyer à la base de données cible Amazon RDS for Oracle.

1. Les données sont envoyées depuis la base de données source vers un point de terminaison source dans AWS DMS.

1. À partir du point de terminaison source, les données sont envoyées à l'instance de réplication AWS DMS, où la tâche de réplication est exécutée.

1. Une fois la tâche de réplication terminée, les données sont envoyées au point de terminaison cible dans AWS DMS.

1. À partir du point de terminaison cible, les données sont envoyées à l'instance de base de données Amazon RDS for Oracle.

## Outils
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-tools"></a>

**Services AWS**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ [Amazon Relational Database Service (Amazon RDS) pour](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle vous aide à configurer, exploiter et dimensionner une base de données relationnelle Oracle dans le cloud AWS.

**Autres services**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) vous aide à déplacer des données et des métadonnées d'une base de données à une autre à grande vitesse.

## Bonnes pratiques
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-best-practices"></a>

**Migrating LOBs**

Si votre base de données source contient de gros objets binaires (LOBs) qui doivent être migrés vers la base de données cible, AWS DMS propose les options suivantes :
+ **Mode LOB complet** : AWS DMS migre tous les éléments de la base de données source LOBs vers la base de données cible, quelle que soit leur taille. Bien que la migration soit plus lente, l'avantage est que les données ne sont pas tronquées. Pour de meilleures performances, vous pouvez créer une tâche distincte sur la nouvelle instance de réplication afin de migrer les tables dont la taille est LOBs supérieure à quelques mégaoctets.
+ **Mode LOB limité** : vous spécifiez la taille maximale des données des colonnes LOB, ce qui permet à AWS DMS de préallouer des ressources et de les appliquer en bloc. LOBs Si la taille des colonnes LOB dépasse la taille spécifiée dans la tâche, AWS DMS tronque les données et envoie des avertissements au fichier journal AWS DMS. Vous pouvez améliorer les performances en utilisant le mode LOB limité si la taille de vos données LOB se situe dans les limites de la taille LOB limitée.
+ **Mode LOB en ligne** : vous pouvez migrer LOBs sans tronquer les données ni ralentir les performances de votre tâche en répliquant à la fois les petites et les grandes tâches. LOBs Spécifiez d'abord une valeur pour le InlineLobMaxSize paramètre, qui n'est disponible que lorsque le mode LOB complet est défini sur true. La tâche AWS DMS transfère le petit LOBs en ligne, ce qui est plus efficace. AWS DMS migre ensuite le fichier volumineux LOBs en effectuant une recherche dans la table source. Cependant, le mode LOB intégré ne fonctionne que pendant la phase de chargement complet.

**Génération de valeurs de séquence**

N'oubliez pas que pendant le processus de capture des données de modification avec AWS DMS, les numéros de séquence incrémentiels ne sont pas répliqués depuis la base de données source. Pour éviter les différences dans les valeurs de séquence, vous devez générer la valeur de séquence la plus récente à partir de la source pour toutes les séquences, et l'appliquer à la base de données Amazon RDS for Oracle cible.

**Gestion des accréditations**

Pour sécuriser vos ressources AWS, nous vous recommandons de suivre les [meilleures pratiques relatives](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) à AWS Identity and Access Management (IAM).

## Épopées
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-epics"></a>

### Fournir une instance de réplication AWS DMS avec les points de terminaison source et cible
<a name="provision-an-aws-dms-replication-instance-with-the-source-and-target-endpoints"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez le modèle . | Téléchargez le CloudFormation modèle AWS [DMS\$1Instance.yaml](https://aws-database-blog.s3.amazonaws.com/artifacts/Migrating_oracle_using_DMS/DMS_Instance.yaml) pour provisionner l'instance de réplication AWS DMS ainsi que ses points de terminaison source et cible. | Administrateur cloud, DBA | 
| Commencez la création de la pile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Administrateur cloud, DBA | 
| Spécifiez les paramètres. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Administrateur cloud, DBA | 
| Créez la pile. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html)Le provisionnement devrait être terminé en 5 à 10 minutes environ. Il est terminé lorsque la page AWS CloudFormation Stacks affiche **CREATE\$1COMPLETE**. | Administrateur cloud, DBA | 
| Configurez les points de terminaison. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html) | Administrateur cloud, DBA | 
| Testez la connectivité. | Une fois que les points de terminaison source et cible ont affiché le statut Actif, testez la connectivité. Choisissez **Exécuter le test** pour chaque point de terminaison (source et cible) pour vous assurer que l'état indique que l'état est réussi. | Administrateur cloud, DBA | 

### Exportez le PeopleSoft schéma depuis la base de données Oracle locale à l'aide d'Oracle Data Pump
<a name="export-the-peoplesoft-schema-from-the-on-premises-oracle-database-by-using-oracle-data-pump"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Générez le SCN. | Lorsque la base de données source est active et utilisée par l'application, lancez l'exportation des données avec Oracle Data Pump. Vous devez d'abord générer un numéro de modification du système (SCN) à partir de la base de données source pour garantir la cohérence des données lors de l'exportation avec Oracle Data Pump et comme point de départ pour la capture des données de modification dans AWS DMS.Pour générer le SCN actuel à partir de votre base de données source, entrez l'instruction SQL suivante.<pre>SQL> select name from v$database;<br />SQL> select name from v$database;<br />NAME<br />---------<br />PSFTDMO<br />SQL> SELECT current_scn FROM v$database;<br />CURRENT_SCN<br />-----------<br />23792008</pre>Enregistrez le SCN généré pour l'utiliser lorsque vous exportez les données et pour créer la tâche de réplication AWS DMS. | DBA | 
| Créez le fichier de paramètres. | Pour créer un fichier de paramètres pour exporter le schéma, vous pouvez utiliser le code suivant.<pre>$ cat exp_datapmp.par<br />userid=system/*******<br />directory=DATA_PUMP_DIR<br />logfile=export_dms_sample_user.log<br />dumpfile=export_dms_sample_data_%U.dmp<br />schemas=SYSADM<br />flashback_scn=23792008</pre>Vous pouvez également définir le vôtre `DATA_PUMP_DIR` en utilisant les commandes suivantes, en fonction de vos besoins.<pre>SQL> CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/opt/oracle/product/19c/dbhome_1/dmsdump/';<br />Directory created.<br />SQL> GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO system;<br />Grant succeeded.<br />SQL><br />SQL> SELECT owner, directory_name, directory_path FROM dba_directories WHERE directory_name='DATA_PUMP_DIR';<br />OWNER DIRECTORY_NAME DIRECTORY_PATH<br />------------------------------------------------------------------------------------------------------------------<br />SYS DATA_PUMP_DIR /opt/oracle/product/19c/dbhome_1/dmsdump/</pre> | DBA | 
| Exportez le schéma. | Pour effectuer l'exportation, utilisez l'`expdp`utilitaire.<pre>$ expdp parfile=exp_datapmp.par<br />.......................<br />Transferring the dump file with DBMS_FILE_TRANSFER to Target:<br />. . exported "SYSADM"."PS_XML_TEMPLT_LNG" 6.320 KB 0 rows<br />. . exported "SYSADM"."PS_XML_TEMPLT_LNK" 6.328 KB 0 rows<br />. . exported "SYSADM"."PS_XML_XLATDEF_LNG" 6.320 KB 0 rows<br />. . exported "SYSADM"."PS_XML_XLATITM_LNG" 7.171 KB 0 rows<br />. . exported "SYSADM"."PS_XPQRYRUNCNTL" 7.601 KB 0 rows<br />. . exported "SYSADM"."PS_XPQRYRUNPARM" 7.210 KB 0 rows<br />. . exported "SYSADM"."PS_YE_AMOUNTS" 9.351 KB 0 rows<br />. . exported "SYSADM"."PS_YE_DATA" 16.58 KB 0 rows<br />. . exported "SYSADM"."PS_YE_EE" 6.75 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2CP_AMOUNTS" 9.414 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2CP_DATA" 20.94 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2C_AMOUNTS" 10.27 KB 0 rows<br />. . exported "SYSADM"."PS_YE_W2C_DATA" 20.95 KB 0 rows<br />. . exported "SYSADM"."PS_ZBD_JOBCODE_TBL" 14.60 KB 0 rows<br />. . exported "SYSADM"."PTGRANTTBL" 5.468 KB 0 rows<br />Master table "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded<br />**<br />Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:<br />/opt/oracle/product/19c/dbhome_1/dmsdump/export_dms_sample_data_01.dmp<br />Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at Mon Dec 19 20:13:57 2022 elapsed 0 00:38:22</pre> | DBA | 

### Importez le PeopleSoft schéma dans la base de données Amazon RDS for Oracle à l'aide d'Oracle Data Pump
<a name="import-the-peoplesoft-schema-into-the-amazon-rds-for-oracle-database-by-using-oracle-data-pump"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Transférez le fichier de vidage vers l'instance cible. | Pour transférer vos fichiers à l'aide de`DBMS_FILE_TRANSFER`, vous devez créer un lien de base de données entre la base de données source et l'instance Amazon RDS for Oracle. Une fois le lien établi, vous pouvez utiliser l'utilitaire pour transférer les fichiers Data Pump directement vers l'instance RDS.Vous pouvez également transférer les fichiers Data Pump vers [Amazon Simple Storage Service (Amazon S3)](https://aws.amazon.com/s3/), puis les importer dans l'instance Amazon RDS for Oracle. Pour plus d'informations sur cette option, consultez la section Informations supplémentaires.Pour créer un lien de base de données `ORARDSDB` qui se connecte à l'utilisateur principal Amazon RDS sur l'instance de base de données cible, exécutez les commandes suivantes sur la base de données source.<pre>$sqlplus / as sysdba<br />$ SQL> create database link orardsdb connect to admin identified by "*****" using '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = testpsft.*******.us-west-2.rds.amazonaws.com)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl)))';<br />Database link created.</pre> | DBA | 
| Testez le lien de base de données. | Testez le lien de base de données pour vous assurer que vous pouvez vous connecter via sqlplus à la base de données cible Amazon RDS for Oracle.<pre>SQL><br />SQL> select name from v$database@orardsdb;<br />NAME<br />---------<br />ORCL<br />SQL></pre> | DBA | 
| Transférez le fichier de vidage vers la base de données cible. | Pour copier le fichier de vidage dans la base de données Amazon RDS for Oracle, vous pouvez soit utiliser le répertoire `DATA_PUMP_DIR` par défaut, soit créer votre propre répertoire à l'aide du code suivant.<pre>exec rdsadmin.rdsadmin_util.create_directory(p_directory_name => ‘TARGET_PUMP_DIR’);</pre>Le script suivant copie un fichier de vidage nommé `export_dms_sample_data_01.dmp` depuis l'instance source vers une base de données Amazon RDS for Oracle cible à l'aide du lien `orardsdb` de base de données nommé.<pre>$ sqlplus / as sysdba<br />SQL><br />BEGIN<br />DBMS_FILE_TRANSFER.PUT_FILE(<br />source_directory_object => 'DATA_PUMP_DIR',<br />source_file_name => 'export_dms_sample_data_01.dmp',<br />destination_directory_object => 'TARGET_PUMP_DIR’',<br />destination_file_name => 'export_dms_sample_data_01.dmp',<br />destination_database => 'orardsdb'<br />);<br />END;<br />/<br />PL/SQL procedure successfully completed.</pre> | DBA | 
| Répertoriez le fichier de vidage dans la base de données cible. | Une fois la PL/SQL procédure terminée, vous pouvez répertorier le fichier de vidage de données dans la base de données Amazon RDS for Oracle en utilisant le code suivant.<pre>SQL> select * from table (rdsadmin.rds_file_util.listdir(p_directory => ‘TARGET_PUMP_DIR’));</pre> | DBA | 
| Lancez l'importation sur la base de données cible. | Avant de commencer le processus d'importation, configurez les rôles, les schémas et les tablespaces sur la base de données Amazon RDS for Oracle cible à l'aide du fichier de vidage de données.Pour effectuer l'importation, accédez à la base de données cible avec le compte utilisateur principal Amazon RDS et utilisez le nom de la chaîne de connexion dans le `tnsnames.ora` fichier, qui inclut la base de données Amazon RDS for Oracle. `tns-entry` Si nécessaire, vous pouvez inclure une option de remappage pour importer le fichier de vidage de données dans un autre tablespace ou sous un autre nom de schéma.Pour démarrer l'importation, utilisez le code suivant.<pre>impdp admin@orardsdb directory=TARGET_PUMP_DIR logfile=import.log dumpfile=export_dms_sample_data_01.dmp</pre>Pour garantir une importation réussie, vérifiez que le fichier journal d'importation ne contient aucune erreur et vérifiez les détails tels que le nombre d'objets, le nombre de lignes et les objets non valides. Si des objets ne sont pas valides, recompilez-les. Comparez également les objets de base de données source et cible pour vérifier qu'ils correspondent. | DBA | 

### Créez une tâche de réplication AWS DMS à l'aide du CDC pour effectuer une réplication en direct
<a name="create-an-aws-dms-replication-task-using-cdc-to-perform-live-replication"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez la tâche de réplication. | Créez la tâche de réplication AWS DMS en procédant comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.html)Après avoir créé la tâche, elle fait migrer le CDC vers l'instance de base de données Amazon RDS for Oracle à partir du SCN que vous avez fourni en mode de démarrage CDC. Vous pouvez également vérifier en consultant les CloudWatch journaux. | Administrateur cloud, DBA | 

### Validez le schéma de base de données sur la base de données Amazon RDS for Oracle cible
<a name="validate-the-database-schema-on-the-target-amazon-rds-for-oracle-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez le transfert de données. | Une fois la tâche AWS DMS lancée, vous pouvez consulter l'onglet **Tableau des statistiques** de la page **Tâches** pour voir les modifications apportées aux données.Vous pouvez surveiller l'état de la réplication en cours dans la console sur la page des **tâches de migration de base** de données.Pour plus d'informations, consultez la section [Validation des données AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html). | Administrateur cloud, DBA | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez la réplication. | Interrompez la procédure de réplication et arrêtez les services de l'application source. | Administrateur cloud, DBA | 
| Lancez le niveau PeopleSoft intermédiaire. | Lancez l'application cible de niveau PeopleSoft intermédiaire dans AWS et dirigez-la vers la base de données Amazon RDS for Oracle récemment migrée.Lorsque vous accédez à l'application, vous devez remarquer que toutes les connexions de l'application sont désormais établies avec la base de données Amazon RDS for Oracle. | DBA, administrateur PeopleSoft  | 
| Éteignez la base de données source. | Après avoir confirmé qu'il n'existe plus de connexions à la base de données source, celle-ci peut être désactivée. | DBA | 

## Ressources connexes
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-resources"></a>
+ [Commencer à utiliser AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html)
+ [Bonnes pratiques pour AWS Database Migration Service](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_BestPractices.html)
+ [Migration des bases de données Oracle vers le cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)

## Informations supplémentaires
<a name="migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms-additional"></a>

**Transférer des fichiers à l'aide d'Amazon S3**

Pour transférer les fichiers vers Amazon S3, vous pouvez utiliser l'AWS CLI ou la console Amazon S3. Après avoir transféré les fichiers vers Amazon S3, vous pouvez utiliser l'instance Amazon RDS for Oracle pour importer les fichiers Data Pump depuis Amazon S3.

Si vous choisissez de transférer le fichier de vidage en utilisant l'intégration Amazon S3 comme méthode alternative, effectuez les étapes suivantes :

1. Créez un compartiment S3.

1. Exportez les données de la base de données source à l'aide d'Oracle Data Pump.

1. Téléchargez les fichiers Data Pump dans le compartiment S3.

1. Téléchargez les fichiers Data Pump depuis le compartiment S3 vers la base de données Amazon RDS for Oracle cible.

1. Effectuez l'importation à l'aide des fichiers Data Pump.

**Note**  
Pour transférer des fichiers de données volumineux entre des instances S3 et RDS, il est recommandé d'utiliser la fonctionnalité Amazon S3 Transfer Acceleration.

**Activer la journalisation supplémentaire**

Si vous recevez un message d'avertissement vous demandant d'activer la [journalisation supplémentaire](https://docs.oracle.com/database/121/SUTIL/GUID-D2DDD67C-E1CC-45A6-A2A7-198E4C142FA3.htm#SUTIL1583) dans la base de données source pour une réplication continue, procédez comme suit.

```
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (FOREIGN KEY) COLUMNS;
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
```

# Migrer une base de données MySQL sur site vers Amazon RDS for MySQL
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql"></a>

*Lorenzo Mota, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-summary"></a>

Ce modèle fournit des conseils pour la migration d'une base de données MySQL locale vers Amazon Relational Database Service (Amazon RDS) pour MySQL. Le modèle décrit l'utilisation de AWS Database Migration Service (AWS DMS) ou d'outils MySQL natifs tels que **mysqldump** pour une migration complète de base de données. Ce modèle est principalement destiné DBAs aux architectes de solutions. Il peut être utilisé dans des projets de petite ou de grande envergure en tant que procédure de test (nous recommandons au moins un cycle de test) ou en tant que procédure de migration finale. 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-prereqs"></a>

**Conditions préalables**
+ Un AWS compte actif
+ Une base de données source MySQL dans un centre de données sur site

**Limites**
+ Limite de taille de base de données : [64 To](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)

**Versions du produit**
+ Versions de MySQL 5.5, 5.6, 5.7, 8.0. Pour obtenir la dernière liste des versions prises en charge, consultez [MySQL sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html) dans la AWS documentation. Si vous utilisez AWS DMS, consultez également [Utiliser une base de données compatible MySQL comme cible pour les versions de AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) MySQL actuellement prises en charge par. AWS DMS

## Architecture
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-architecture"></a>

**Pile technologique source**
+ Une base de données MySQL sur site

**Pile technologique cible**
+ Une instance de base de données Amazon RDS exécutant MySQL

**Architecture cible**

Le schéma suivant montre l'implémentation cible d'Amazon RDS for MySQL après la migration.

![\[Ciblez la mise en œuvre d'Amazon RDS for MySQL après le passage au cloud.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/2e10114e-e389-4d24-9b6a-fa56beee5369.png)


**AWS architecture de migration des données**

**En utilisant AWS DMS :**

Le schéma suivant montre l'architecture de migration des données que vous utilisez AWS DMS pour envoyer des modifications complètes et incrémentielles jusqu'au passage. La connexion réseau depuis le site vers le réseau AWS dépend de vos besoins et n'est pas couverte par ce modèle.

![\[Architecture de migration des données vers AWS lorsque vous utilisez AWS DMS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/ecc9b282-1897-4971-99ed-83223b17000d.png)


**À l'aide des outils MySQL natifs :**

Le schéma suivant montre l'architecture de migration des données lorsque vous utilisez des outils MySQL natifs. Les fichiers de vidage d'exportation sont copiés sur Amazon Simple Storage Service (Amazon S3) et importés dans la base de données Amazon RDS for AWS MySQL avant le transfert. La connexion réseau depuis le site vers le réseau AWS dépend de vos besoins et n'est pas couverte par ce modèle.

 

![\[Migration des données vers l'architecture AWS lorsque vous utilisez des outils MySQL natifs.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/808809dd-030f-42af-a5a7-c4ba40456193/images/3bbec989-c3eb-473e-ba4a-032d6a4271c5.png)


**Remarques** :
+ En fonction des besoins en temps d'arrêt et de la taille de la base de données, l'utilisation AWS DMS ou un outil de capture des données modifiées (CDC) permet de minimiser le temps de transition. AWS DMS peut aider à réduire au minimum le temps de transfert vers la nouvelle cible (généralement quelques minutes). Une stratégie hors ligne avec **mysqldump** peut suffire si la taille de la base de données et la latence du réseau permettent une courte période. (Nous vous recommandons de tester pour obtenir une durée approximative.)
+ Habituellement, une stratégie du CDC telle que celle-ci AWS DMS nécessite plus de surveillance et de complexité que les options hors ligne. 

## Outils
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-tools"></a>
+ **Services AWS**: [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer les magasins de données vers AWS Cloud ou entre des combinaisons de configurations cloud et sur site. Pour plus d'informations sur les bases de données source et cible MySQL prises en charge par AWS DMS, consultez [Migration de bases de données compatibles MySQL](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html) vers. AWS Si votre base de données source n'est pas prise en charge par AWS DMS, vous devez choisir une autre méthode pour migrer vos données.
+ **Outils MySQL natifs** : [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html)
+ **Outils tiers** : [Percona XtraBackup](https://www.percona.com/software/mysql-database/percona-xtrabackup)

## Épopées
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions de base de données | Validez les versions de base de données source et cible. | DBA | 
| Identifiez les exigences matérielles. | Identifiez la configuration matérielle requise pour le serveur cible. | DBA, administrateur système | 
| Identifiez les besoins en matière de stockage. | Identifiez les exigences de stockage (telles que le type et la capacité de stockage) pour la base de données cible. | DBA, administrateur système | 
| Choisissez le type d'instance. | Choisissez le type d'instance cible en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. | DBA, administrateur système | 
| Identifiez les exigences en matière d'accès au réseau. | Identifiez les exigences de sécurité relatives à l'accès au réseau pour les bases de données source et cible.  | DBA, administrateur système | 
| Identifiez les objets non pris en charge. | Identifiez les objets non pris en charge (le cas échéant) et déterminez l'effort de migration. | DBA | 
| Identifiez les dépendances. | Identifiez toute dépendance vis-à-vis des bases de données distantes. | DBA | 
| Déterminez la stratégie de migration des applications.  | Déterminez la stratégie de migration des applications clientes.  | DBA, propriétaire de l'application, administrateur système | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC) | Configurez les tables de routage, la passerelle Internet, les passerelles NAT et les sous-réseaux. Pour plus d'informations, consultez [VPCs Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html) dans la documentation Amazon RDS. | Administrateur de systèmes | 
| Créez des groupes de sécurité. | Configurez les ports et les plages d'adresses CIDR ou spécifiques IPs en fonction de vos besoins. Le port par défaut pour MySQL est 3306. Pour plus d'informations, consultez la section [Contrôle de l'accès avec les groupes de sécurité](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.RDSSecurityGroups.html) dans la documentation Amazon RDS. | Administrateur de systèmes | 
| Configurez et démarrez une instance de base de données Amazon RDS for MySQL. | Pour obtenir des instructions, consultez [la section Création d'une instance de base de données Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateInstance.html) dans la documentation Amazon RDS. Vérifiez les versions prises en charge. | Administrateur de systèmes | 

### Migrer les données ‒ option 1 (à l'aide d'outils natifs)
<a name="migrate-data-option-1-using-native-tools"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez des outils MySQL natifs ou des outils tiers pour migrer des objets et des données de base de données. | Pour obtenir des instructions, consultez la documentation des outils MySQL tels que [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) et [Percona XtraBackup](https://www.percona.com/software/mysql-database/percona-xtrabackup) (pour la migration physique). Pour plus d'informations sur les options, consultez le billet de blog [Options de migration pour MySQL vers Amazon RDS for MySQL ou Amazon Aurora MySQL](https://aws.amazon.com/blogs/database/migration-options-for-mysql-to-amazon-rds-for-mysql-or-amazon-aurora-mysql/). | DBA | 

### Migrer les données ‒ option 2 (en utilisant AWS DMS)
<a name="migrate-data-option-2-using-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les données avec AWS DMS. | Pour obtenir des instructions, consultez la [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html). | DBA | 

### Effectuez des tâches préliminaires avant le passage au poste
<a name="perform-preliminary-tasks-before-cutover"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Corrigez les écarts dans le nombre d'objets. | Collectez le nombre d'objets à partir de la base de données source et de la nouvelle base de données cible. Corrigez les anomalies dans la base de données cible. | DBA | 
| Vérifiez les dépendances. | Vérifiez si les dépendances (liens) vers et depuis d'autres bases de données sont valides et fonctionnent comme prévu. | DBA | 
| Réaliser des tests. | S'il s'agit d'un cycle de test, effectuez des tests de requêtes, collectez des métriques et corrigez les problèmes. | DBA | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Basculez vers la base de données cible. | Basculez les applications clientes vers la nouvelle infrastructure. | DBA, propriétaire de l'application, administrateur système | 
| Fournir une assistance en matière de tests. | Fournir une assistance pour les tests fonctionnels des applications.  | DBA | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources. | Arrêtez les AWS ressources temporaires que vous avez créées pour la migration.  | DBA, administrateur système | 
| Validez les documents du projet.  | Passez en revue et validez les documents du projet.  | DBA, propriétaire de l'application, administrateur système | 
| Collectez des statistiques. | Collectez des indicateurs tels que le temps de migration, le pourcentage d'efforts manuels par rapport aux efforts automatisés, les économies de coûts, etc. | DBA, propriétaire de l'application, administrateur système | 
| Clôturez le projet.  | Clôturez le projet et faites part de vos commentaires.  | DBA, propriétaire de l'application, administrateur système | 
| Désactivez la base de données source. | Lorsque toutes les tâches de migration et de transfert sont terminées, désactivez la base de données locale. | DBA, administrateur système | 

## Ressources connexes
<a name="migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql-resources"></a>

**Références**
+ [Migration strategy for relational databases](https://docs.aws.amazon.com/prescriptive-guidance/latest/strategy-database-migration/welcome.html)
+ [AWS DMS website](https://aws.amazon.com/dms/)
+ [AWS DMS documentation](https://docs.aws.amazon.com/dms/)
+ [Documentation Amazon RDS](https://docs.aws.amazon.com/rds/)
+ [Tarification d’Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Amazon VPC et Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Déploiements multi-AZ d'Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Migrez des bases de données MySQL sur site vers Aurora MySQL à l'aide de Percona, XtraBackup Amazon EFS et Amazon S3](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.html)
+ [Stockage d’instance de base de données Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html)

**Didacticiels**
+ [Commencer avec AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)

# Migrer une base de données Microsoft SQL Server locale vers Amazon RDS for SQL Server
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server"></a>

*Henrique Lobao, Jonathan Pereira Cruz et Vishal Singh, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-summary"></a>

Ce modèle fournit des conseils pour la migration d'une base de données Microsoft SQL Server locale vers Amazon Relational Database Service (Amazon RDS) pour SQL Server. Il décrit deux options de migration : utiliser AWS Data Migration Service (AWS DMS) ou utiliser les outils natifs de Microsoft SQL Server tels que Copy Database Wizard.

## Conditions préalables et limitations
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Microsoft SQL Server source dans un centre de données sur site

**Limites**
+ Limite de taille de base de données : 16 To

**Versions du produit**
+ Pour obtenir la dernière liste des versions et fonctionnalités prises en charge, consultez [Microsoft SQL Server sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport) dans la documentation AWS. Si vous utilisez AWS DMS, consultez également [Utilisation d'une base de données Microsoft SQL Server comme cible pour les versions d'AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.SQLServer.html) pour SQL Server prises en charge par AWS DMS. 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-architecture"></a>

**Pile technologique source**
+ Une base de données Microsoft SQL Server sur site

**Pile technologique cible**
+ Une instance de base de données Amazon RDS pour SQL Server 

**Architecture source et cible**

*À l'aide d'AWS DMS :*

![\[Architecture pour la migration de SQL Server sur site vers Amazon RDS à l'aide d'AWS DMS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/27942833-c294-405c-90e6-32cc197e36ee/images/69b9877c-2d56-4d64-8475-a3dae789c5de.png)


*À l'aide des outils SQL Server natifs :*

![\[Architecture pour la migration de SQL Server sur site vers Amazon RDS à l'aide des outils SQL Server\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/27942833-c294-405c-90e6-32cc197e36ee/images/45ee14e4-3c7e-4b35-a2c9-3e8e3c7e6cee.png)


## Outils
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) prend en charge plusieurs types de bases de données source et cible. Pour plus de détails, consultez les procédures pas à pas d'[AWS DMS Step-by-Step.](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) Si AWS DMS ne prend pas en charge la base de données source, sélectionnez une autre méthode pour migrer les données. 
+ Les outils natifs de Microsoft SQL Server incluent la sauvegarde et la restauration, l'assistant de copie de base de données, la copie et l'attachement de base de données.

## Épopées
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez la version et le moteur de la base de données source et cible. |  | DBA | 
| Identifiez la configuration matérielle requise pour l'instance de serveur cible. |  | DBA, administrateur système | 
| Identifiez les exigences de stockage (type et capacité de stockage). |  | DBA, administrateur système | 
| Choisissez le type d'instance approprié en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. |  | DBA, administrateur système | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA, administrateur système | 
| Identifiez la stratégie de migration des applications. |  | DBA, administrateur système | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC) |  | Administrateur de systèmes | 
| Créez des groupes de sécurité. |  | Administrateur de systèmes | 
| Configurez et démarrez une instance de base de données Amazon RDS. |  | DBA, administrateur système | 

### Migrer les données - option 1
<a name="migrate-data---option-1"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez des outils SQL Server natifs ou des outils tiers pour migrer les objets et les données de base de données. |  | DBA | 

### Migrer les données - option 2
<a name="migrate-data---option-2"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les données avec AWS DMS. |  | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de migration des applications. |  | DBA, propriétaire de l'application, administrateur système | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Basculez les clients de l'application vers la nouvelle infrastructure. |  | DBA, propriétaire de l'application, administrateur système | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. |  | DBA, administrateur système | 
| Passez en revue et validez les documents du projet. |  | DBA, propriétaire de l'application, administrateur système | 
| Collectez des indicateurs tels que le temps de migration, le pourcentage de tâches manuelles par rapport aux tâches automatisées et les économies de coûts. |  | DBA, propriétaire de l'application, administrateur système | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA, propriétaire de l'application, administrateur système | 

## Ressources connexes
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-resources"></a>

**Références**
+ [Déploiement de Microsoft SQL Server sur Amazon Web Services](https://d1.awsstatic.com/whitepapers/RDS/Deploying_SQLServer_on_AWS.pdf) 
+ [Site Web AWS DMS](https://aws.amazon.com/dms/)
+ [Tarification d'Amazon RDS](https://aws.amazon.com/rds/pricing/)
+ [Produits Microsoft sur AWS](https://aws.amazon.com/windows/products/)
+ [Licences Microsoft sur AWS](https://aws.amazon.com/windows/resources/licensing/)
+ [Microsoft SQL Server sur AWS](https://aws.amazon.com/windows/products/sql/)
+ [Utilisation de l'authentification Windows avec une instance de base de données Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_SQLServerWinAuth.html)
+ [Déploiements multi-AZ d'Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)

**Tutoriels et vidéos**
+ [Commencer à utiliser AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)
+ [AWS DMS (vidéo)](https://www.youtube.com/watch?v=zb4GcjEdl8U) 
+ [Amazon RDS (vidéo)](https://www.youtube.com/watch?v=igRfulrrYCo)  

# Migrez les données de Microsoft Azure Blob vers Amazon S3 à l'aide de Rclone
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone"></a>

*Suhas Basavaraj, Aidan Keane et Corey Lane, Amazon Web Services*

## Résumé
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-summary"></a>

Ce modèle décrit comment utiliser [Rclone](https://rclone.org/) pour migrer des données depuis le stockage d'objets Microsoft Azure Blob vers un bucket Amazon Simple Storage Service (Amazon S3). Vous pouvez utiliser ce modèle pour effectuer une migration ponctuelle ou une synchronisation continue des données. Rclone est un programme de ligne de commande écrit en Go et utilisé pour déplacer des données entre différentes technologies de stockage proposées par des fournisseurs de cloud.

## Conditions préalables et limitations
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Données stockées dans le service de conteneur Azure Blob

## Architecture
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-architecture"></a>

**Pile technologique source**
+ Conteneur de stockage Azure Blob

**Pile technologique cible**
+ Compartiment Amazon S3
+ Instance Linux Amazon Elastic Compute Cloud (Amazon EC2)

**Architecture**

![\[Migration de données de Microsoft Azure vers Amazon S3\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/6ead815d-7768-4726-b27d-97a70cd21081/images/abe69eee-632f-4ca2-abf6-3223f3f3ec94.png)


## Outils
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-tools"></a>
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.
+ [Rclone](https://rclone.org/) **est un programme de ligne de commande open source inspiré de rsync.** Il est utilisé pour gérer les fichiers sur de nombreuses plateformes de stockage cloud.

## Bonnes pratiques
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-best-practices"></a>

Lorsque vous migrez des données d'Azure vers Amazon S3, tenez compte de ces considérations afin d'éviter des coûts inutiles ou des vitesses de transfert lentes :
+ Créez votre infrastructure AWS dans la même région géographique que le compte de stockage Azure et le conteneur Blob, par exemple, la région AWS `us-east-1` (Virginie du Nord) et la région Azure. `East US`
+ Évitez si possible d'utiliser la passerelle NAT, car elle entraîne des frais de transfert de données pour la bande passante d'entrée et de sortie.
+ Utilisez un point de [terminaison de passerelle VPC pour Amazon S3](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html) afin d'améliorer les performances.
+ Envisagez d'utiliser une EC2 instance basée sur le processeur AWS Graviton2 (ARM) pour réduire les coûts et améliorer les performances par rapport aux instances Intel x86. Rclone est fortement compilé de manière croisée et fournit un binaire ARM précompilé.

## Épopées
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-epics"></a>

### Préparez les ressources du cloud AWS et Azure
<a name="prepare-aws-and-azure-cloud-resources"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez un compartiment S3 de destination. | [Créez un nouveau compartiment S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans la région AWS appropriée ou choisissez un compartiment existant comme destination pour les données que vous souhaitez migrer. | Administrateur AWS | 
| Créez un rôle d'instance IAM pour Amazon EC2. | [Créez un nouveau rôle AWS Identity and Access Management (IAM) pour Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#working-with-iam-roles). Ce rôle donne à votre EC2 instance un accès en écriture au compartiment S3 de destination. | Administrateur AWS | 
| Attachez une politique au rôle d'instance IAM. | Utilisez la console IAM ou l'interface de ligne de commande AWS (AWS CLI) pour créer une politique en ligne pour EC2 le rôle d'instance qui autorise les autorisations d'accès en écriture au compartiment S3 de destination. Pour un exemple de politique, consultez la section [Informations supplémentaires](#migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional). | Administrateur AWS | 
| Lancez une EC2 instance. | Lancez une EC2 instance Amazon Linux configurée pour utiliser le rôle de service IAM nouvellement créé. Cette instance devra également accéder aux points de terminaison de l'API publique Azure via Internet. Envisagez d'utiliser des [ EC2 instances basées sur AWS Graviton](https://docs.aws.amazon.com/compute-optimizer/latest/ug/graviton-recommendations.html) pour réduire les coûts. Rclone fournit des fichiers binaires compilés par ARM. | Administrateur AWS | 
| Créez un principal de service Azure AD. | Utilisez la CLI Azure pour créer un principal de service Azure Active Directory (Azure AD) disposant d'un accès en lecture seule au conteneur de stockage Azure Blob source. Pour obtenir des instructions, consultez la section [Informations supplémentaires](#migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional). Stockez ces informations d'identification sur votre EC2 instance à cet emplacement`~/azure-principal.json`. | Administrateur du cloud, Azure | 

### Installation et configuration de Rclone
<a name="install-and-configure-rclone"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez et installez Rclone.  | Téléchargez et installez le programme de ligne de commande Rclone. Pour les instructions d'installation, consultez la [documentation d'installation de Rclone](https://rclone.org/install/). | AWS général, administrateur du cloud | 
| Configurez Rclone. | Copiez le fichier `rclone.conf` d'exemple suivant. `AZStorageAccount`Remplacez-le par le nom de votre compte Azure Storage et `us-east-1` par la région AWS dans laquelle se trouve votre compartiment S3. Enregistrez ce fichier à l'emplacement `~/.config/rclone/rclone.conf` de votre EC2 instance.<pre>[AZStorageAccount]<br />type = azureblob<br />account = AZStorageAccount<br />service_principal_file = azure-principal.json<br /><br />[s3]<br />type = s3<br />provider = AWS<br />env_auth = true<br />region = us-east-1</pre> | AWS général, administrateur du cloud | 
| Vérifiez la configuration de Rclone. | Pour vérifier que Rclone est configuré et que les autorisations fonctionnent correctement, vérifiez que Rclone peut analyser votre fichier de configuration et que les objets de votre conteneur Azure Blob et de votre compartiment S3 sont accessibles. Consultez les exemples de commandes de validation suivants.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.html) | AWS général, administrateur du cloud | 

### Migrer les données à l'aide de Rclone
<a name="migrate-data-using-rclone"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les données de vos conteneurs. | Exécutez la commande de [copie](https://rclone.org/commands/rclone_copy/) ou de [synchronisation](https://rclone.org/commands/rclone_sync/) Rclone.  **Exemple : copie**Cette commande copie les données du conteneur Azure Blob source vers le compartiment S3 de destination.<pre>rclone copy AZStorageAccount:blob-container s3:amzn-s3-demo-bucket1</pre>**Exemple : synchronisation**Cette commande synchronise les données entre le conteneur Azure Blob source et le compartiment S3 de destination. ****<pre>rclone sync AZStorageAccount:blob-container s3:amzn-s3-demo-bucket1</pre>Lorsque vous utilisez la commande de **synchronisation**, les données absentes du conteneur source sont supprimées du compartiment S3 de destination. | AWS général, administrateur du cloud | 
| Synchronisez vos conteneurs.  | Une fois la copie initiale terminée, exécutez la commande Rclone **sync** pour poursuivre la migration afin que seuls les nouveaux fichiers manquants dans le compartiment S3 de destination soient copiés. | AWS général, administrateur du cloud | 
| Vérifiez que les données ont bien été migrées.  | Pour vérifier que les données ont bien été copiées dans le compartiment S3 de destination, exécutez les commandes Rclone [lsd](https://rclone.org/commands/rclone_lsd/) et [ls](https://rclone.org/commands/rclone_ls/). | AWS général, administrateur du cloud | 

## Ressources connexes
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-resources"></a>
+ [Guide de l'utilisateur Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) (documentation AWS)
+ [Rôles IAM pour Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) (documentation AWS)
+ [Création d'un conteneur Microsoft Azure Blob](https://docs.microsoft.com/en-us/azure/storage/blobs/storage-quickstart-blobs-portal) (documentation Microsoft Azure)
+ [Commandes Rclone](https://rclone.org/commands/) (documentation Rclone)

## Informations supplémentaires
<a name="migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone-additional"></a>

**Exemple de politique de rôle pour les EC2 instances**

Cette politique donne à votre EC2 instance un accès en lecture et en écriture à un compartiment spécifique de votre compte. Si votre compartiment utilise une clé gérée par le client pour le chiffrement côté serveur, la politique peut nécessiter un accès supplémentaire à AWS Key Management Service (AWS KMS).

```
{
    "Version": "2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
              "arn:aws:s3:::amzn-s3-demo-bucket/*",
              "arn:aws:s3:::amzn-s3-demo-bucket"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "s3:ListAllMyBuckets",
            "Resource": "arn:aws:s3:::*"
        }    
    ]
}
```

**Création d'un principal de service Azure AD en lecture seule**

Un principal de service Azure est une identité de sécurité utilisée par les applications, les services et les outils d'automatisation des clients pour accéder à des ressources Azure spécifiques. Considérez-le comme une identité d'utilisateur (identifiant et mot de passe ou certificat) dotée d'un rôle spécifique et d'autorisations étroitement contrôlées pour accéder à vos ressources. Pour créer un principal de service en lecture seule afin de respecter les autorisations du moindre privilège et de protéger les données dans Azure contre les suppressions accidentelles, procédez comme suit : 

1. Connectez-vous au portail de votre compte cloud Microsoft Azure et lancez Cloud Shell PowerShell ou utilisez l'interface de ligne de commande (CLI) Azure sur votre poste de travail.

1. Créez un principal de service et configurez-le avec un accès [en lecture seule](https://docs.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#storage-blob-data-reader) à votre compte de stockage Azure Blob. Enregistrez le résultat JSON de cette commande dans un fichier local appelé`azure-principal.json`. Le fichier sera chargé sur votre EC2 instance. Remplacez les variables d'espace réservé indiquées entre accolades (`{`et`}`) par votre ID d'abonnement Azure, le nom du groupe de ressources et le nom de votre compte de stockage.

   ```
   az ad sp create-for-rbac `
   --name AWS-Rclone-Reader `
   --role "Storage Blob Data Reader" `
   --scopes /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/providers/Microsoft.Storage/storageAccounts/{Storage Account Name}
   ```

# Migrer du serveur Couchbase vers Couchbase Capella sur AWS
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws"></a>

*Battulga Purevragchaa et Saurabh Shanbhag, Amazon Web Services*

*Mark Gamble, aucun*

## Résumé
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-summary"></a>

Couchbase Capella est une base de données NoSQL en tant que service (DBaaS) entièrement gérée pour les applications critiques (par exemple, les profils utilisateurs ou les catalogues en ligne et la gestion des stocks). Couchbase Capella gère votre charge de travail DBaa S dans un compte Amazon Web Services (AWS) géré par Couchbase. Capella facilite l'exécution et la gestion de la réplication sur plusieurs clusters, plusieurs (région AWS, multicloud et cloud hybride) au sein d'une seule interface.

Couchbase Capella vous aide à faire évoluer instantanément vos applications Couchbase Server, en vous aidant à créer des clusters multi-nœuds en quelques minutes. [https://docs.couchbase.com/server/current/eventing/eventing-overview.html](https://docs.couchbase.com/server/current/eventing/eventing-overview.html) Il élimine également le besoin de gérer les installations, les mises à niveau, les sauvegardes et la maintenance générale des bases de données. 

Ce modèle décrit les étapes et les meilleures pratiques pour migrer un environnement de [serveur Couchbase](https://www.couchbase.com/products/server) autogéré vers le cloud AWS. Le modèle fournit un processus reproductible pour migrer les données et les index des clusters Couchbase Server, exécutés sur site ou dans le cloud, vers Couchbase Capella. Ces étapes vous permettent d'éviter les problèmes lors de votre migration et d'accélérer l'ensemble de votre processus de migration.

Ce modèle propose les deux options de migration suivantes :
+ **L'option 1** est appropriée si vous avez moins de 50 index à migrer. 
+ **L'option 2** est appropriée si vous avez plus de 50 index à migrer. 

Vous pouvez également [configurer des exemples de données](https://docs.couchbase.com/server/current/manage/manage-settings/install-sample-buckets.html) sur votre serveur Couchbase autogéré afin de suivre le guide de migration.

Si vous choisissez l'**option de migration 2**, ou si vous utilisez des étendues ou des collections autres que la valeur par défaut, vous devez utiliser l'exemple de fichier de configuration, qui se trouve dans la section *Informations supplémentaires*.

## Conditions préalables et limitations
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-prereqs"></a>

**Conditions préalables**
+ Un compte payant Couchbase Capella existant. Vous pouvez également créer un compte [Couchbase Capella sur AWS](https://aws.amazon.com/marketplace/pp/prodview-xrhx5zgue5c26) et utiliser l'essai gratuit de Couchbase Capella, puis passer à un compte payant pour configurer votre cluster en vue de la migration. Pour commencer avec la version d'essai, suivez les instructions de la section [Getting Started with Couchbase Capella](https://docs.couchbase.com/cloud/get-started/create-account.html).
+ Un environnement Couchbase Server autogéré existant sur site ou déployé chez un fournisseur de services cloud. 
+ Pour l'option de migration 2, Couchbase Shell et un fichier de configuration. Pour créer le fichier de configuration, vous pouvez utiliser le fichier d'exemple qui se trouve dans la section *Informations supplémentaires*.
+ Connaissance de l'administration de Couchbase Server et de Couchbase Capella.
+ Connaissance de l'ouverture de ports TCP et de l'exécution de commandes dans une interface de ligne de commande (CLI).

Le processus de migration nécessite également les rôles et l'expertise décrits dans le tableau suivant.


| 
| 
| Role | Expertise | Responsabilités | 
| --- |--- |--- |
| Administrateur Couchbase | Connaissance de Couchbase Server et de Couchbase CapellaDes connaissances de base en ligne de commande sont utiles mais ne sont pas obligatoires | Tâches spécifiques à Couchbase Server et Capella | 
| Administrateur système, administrateur informatique | Connaissance de l'environnement et de l'administration autogérés du système Couchbase Server | Ouverture de ports et détermination des adresses IP sur les nœuds de cluster Couchbase Server autogérés | 

 

**Limites**
+ Ce modèle est utilisé pour migrer les données, les index et les index [Couchbase Full Text Search](https://docs.couchbase.com/server/current/fts/full-text-intro.html) depuis Couchbase Server vers Couchbase Capella sur AWS. [Le modèle ne s'applique pas à la migration de [Couchbase Eventing Service](https://docs.couchbase.com/server/current/eventing/eventing-overview.html) ou à Couchbase Analytics.](https://docs.couchbase.com/server/current/analytics/introduction.html)
+ Couchbase Capella est disponible dans plusieurs régions AWS. Pour up-to-date plus d'informations sur les régions prises en charge par Capella, consultez [Amazon Web Services](https://docs.couchbase.com/cloud/reference/aws.html) dans la documentation de Couchbase.

**Versions du produit**
+ [Édition Couchbase Server (Community ou Enterprise) version 5.x ou ultérieure](https://docs.couchbase.com/server/current/release-notes/relnotes.html)

## Architecture
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-architecture"></a>

**Pile technologique source**
+ Serveur Couchbase

**Pile technologique cible**
+ Canapé Capella

**Architecture cible**

![\[La migration de Couchbase Capella vers le cluster Couchbase dans le plan de données Capella sur AWS s'effectue en quatre étapes.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/14ac5a81-eade-4708-9335-f5602fa07824/images/95cd7f33-742e-4d10-8e2c-37c7b4d9df45.png)


1. Vous accédez à Couchbase Capella en utilisant le plan de contrôle **Capella**. Vous pouvez utiliser le plan de contrôle Capella pour effectuer les opérations suivantes :
   + Contrôlez et surveillez votre compte.
   + Gérez les clusters et les données, les index, les utilisateurs et les groupes, les autorisations d'accès, la surveillance et les événements.

1. Des clusters sont créés.

1. Le **plan de données Capella** se trouve dans le compte AWS géré par Couchbase. Après avoir créé un nouveau cluster, Couchbase Capella le déploie dans plusieurs zones de disponibilité de la région AWS sélectionnée.

1. Vous pouvez développer et déployer des applications Couchbase dans un VPC de votre compte AWS. [Généralement, ce VPC accède au plan de données Capella via le peering VPC.](https://docs.couchbase.com/cloud/clouds/private-network.html)

## Outils
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-tools"></a>
+ [Couchbase Cross Data Center Replication (XDCR)](https://docs.couchbase.com/cloud/current/clusters/xdcr/xdcr.html) permet de répliquer les données entre des clusters situés dans différents fournisseurs de cloud et différents centres de données. Il est utilisé pour migrer des données vers Couchbase Capella à partir de clusters Couchbase Server autogérés.
**Note**  
XDCR ne peut pas être utilisé avec Couchbase Server Community Edition pour migrer vers Couchbase Capella. Au lieu de cela, vous pouvez utiliser [cbexport](https://docs.couchbase.com/server/current/tools/cbexport.html). Pour plus d'informations, consultez l'épique *Migrate data from Community Edition*.
+ [Couchbase Shell est un shell](https://couchbase.sh/docs/) en ligne de commande permettant à Couchbase Server et Couchbase Capella d'accéder aux clusters Couchbase locaux et distants. Dans ce modèle, Couchbase Shell est utilisé pour migrer les index.
+ [cbexport](https://docs.couchbase.com/server/current/tools/cbexport.html) est un utilitaire Couchbase permettant d'exporter des données depuis le cluster Couchbase. Inclus dans les [outils CLI de Couchbase Server](https://docs.couchbase.com/server/current/cli/cli-intro.html).

## Épopées
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-epics"></a>

### Préparer la migration
<a name="prepare-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Évaluez la taille du cluster de serveurs Couchbase autogéré. | Connectez-vous à la [console Web Couchbase](https://docs.couchbase.com/server/current/manage/manage-ui/manage-ui.html) pour Couchbase Server et évaluez les nœuds et les compartiments de votre cluster autogéré. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Vous utiliserez les configurations de votre cluster Couchbase Server autogéré comme guide général pour le dimensionnement et la configuration du cluster cible sur Couchbase Capella.[Pour obtenir de l'aide concernant un exercice plus détaillé de dimensionnement de Couchbase Capella, contactez Couchbase.](https://www.couchbase.com/contact) | Administrateur Couchbase | 
| Enregistrez la distribution du service Couchbase sur le cluster de serveurs Couchbase autogéré.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase | 
| Enregistrez les adresses IP des nœuds du cluster Couchbase Server autogérés. | (Ignorez cette étape si vous utilisez Community Edition.) Enregistrez l'adresse IP de chaque nœud de votre cluster. Ils seront ajoutés ultérieurement à la liste des autorisations de votre cluster Couchbase Capella. | Administrateur Couchbase, administrateur système | 

### Déployez et configurez des ressources sur Couchbase Capella
<a name="deploy-and-configure-resources-on-couchbase-capella"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Choisir un modèle. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase | 
| Choisissez et configurez les nœuds. | Choisissez et configurez les nœuds en fonction de votre environnement de cluster Couchbase Server autogéré, notamment en ce qui concerne le nombre de nœuds, la distribution des services, le calcul ou la RAM et le stockage.Couchbase Capella utilise les meilleures pratiques de mise à l'[échelle multidimensionnelle](https://docs.couchbase.com/cloud/clusters/scale-cluster.html#scale-a-cluster). Les services et les nœuds ne peuvent être choisis qu'en fonction des meilleures pratiques de déploiement. Cela peut signifier que vous ne pouvez pas correspondre exactement aux configurations de votre cluster Couchbase Server autogéré. | Administrateur Couchbase | 
| Déployez le cluster. | Choisissez une zone de support et un package de support, puis déployez le cluster. Pour obtenir des instructions et des étapes détaillées, consultez la section [Création d'un cluster](https://docs.couchbase.com/cloud/clusters/create-cluster.html) dans la documentation de Couchbase.Si vous utilisez l'essai gratuit de Couchbase Capella, vous devez le convertir en compte payant avant de commencer votre migration. Pour convertir votre compte, ouvrez la section **Facturation** du plan de contrôle Couchbase Capella, puis choisissez **Ajouter** un identifiant d'activation. L'identifiant d'activation est envoyé à votre adresse e-mail de contact de facturation une fois que vous avez conclu un contrat d'achat avec Couchbase Sales ou après avoir effectué un achat via [AWS](https://aws.amazon.com/marketplace/pp/prodview-xrhx5zgue5c26) Marketplace. | Administrateur Couchbase | 
| Créez un utilisateur d'identification de base de données.  | Un utilisateur d'identification de base de données est spécifique à un cluster et comprend un nom d'utilisateur, un mot de passe et un ensemble de privilèges de compartiment. Cet utilisateur est requis pour créer des compartiments et accéder aux données des compartiments. Dans le plan de contrôle Couchbase Capella, créez un identifiant de base de données pour le nouveau cluster en suivant les instructions de la section [Configurer les informations d'identification de base de données dans la documentation Couchbase](https://docs.couchbase.com/cloud/clusters/manage-database-users.html) Capella.Les utilisateurs d'une organisation ont besoin que les informations d'identification relatives au rôle organisationnel leur soient attribuées s'ils souhaitent accéder aux données des compartiments d'un cluster en particulier, soit à distance, soit via l'interface utilisateur de Couchbase Capella. Cela est distinct des informations d'identification de base de données, qui sont généralement utilisées par les applications et les intégrations. La création de l'utilisateur organisationnel vous permet de créer et de gérer les buckets cibles sur votre cluster Couchbase Capella. | Administrateur Couchbase | 
| Si vous utilisez l'option de migration 2, installez Couchbase Shell. | Vous pouvez installer Couchbase Shell sur n'importe quel système disposant d'un accès réseau à la fois à votre serveur Couchbase autogéré et aux clusters Couchbase Capella. Pour plus d'informations, consultez [Installer Couchbase Shell version 1.0.0-beta.5](https://couchbase.sh/docs/#_installation) dans la documentation de Couchbase Shell.Vérifiez que Couchbase Shell est installé en [testant une connexion à votre cluster autogéré](https://couchbase.sh/docs/#_connecting_to_a_cluster) dans un terminal de ligne de commande. | Administrateur Couchbase, administrateur système | 
| Autoriser les adresses IP. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Pour plus d'informations sur les adresses IP autorisées, consultez [Configurer les adresses IP autorisées](https://docs.couchbase.com/cloud/get-started/configure-cluster-access.html#allow-ip-address) dans la documentation de Couchbase. | Administrateur Couchbase, administrateur système | 
| Configurez les certificats. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase, administrateur système | 
| Créez le fichier de configuration pour Couchbase Shell. | Créez un fichier point de configuration dans le répertoire personnel de l'installation de Couchbase Shell (par exemple,). `/<HOME_DIRECTORY>/.cbsh/config` Pour plus d'informations, consultez [Config dotfiles](https://couchbase.sh/docs/#_the_config_dotfiles) dans la documentation de Couchbase.Ajoutez les propriétés de connexion pour les clusters source et cible au fichier de configuration. Vous pouvez utiliser l'exemple de fichier de configuration qui se trouve dans la section *Informations supplémentaires* et modifier les paramètres de vos clusters. Enregistrez le fichier de configuration avec les paramètres mis à jour `.cbsh` dans le dossier (par exemple,`/<HOME_DIRECTORY>/.cbsh/config`). | Administrateur Couchbase, administrateur système | 
| Créez des compartiments cibles. | Pour chaque bucket source, créez un bucket cible dans votre cluster Couchbase Capella en suivant les instructions de la section [Créer un bucket](https://docs.couchbase.com/cloud/clusters/data-service/manage-buckets.html#add-bucket) dans la documentation Couchbase.Les configurations de vos compartiments cibles doivent correspondre aux noms des compartiments, aux paramètres de mémoire et aux paramètres de résolution des conflits des compartiments de votre cluster Couchbase Server autogéré. | Administrateur Couchbase | 
| Créez des étendues et des collections. | Chaque compartiment contient une étendue et une collection par défaut avec le keyspace. `_default._default` Si vous utilisez d'autres espaces clés pour votre portée et votre collection, vous devez créer des espaces clés identiques dans le cluster Capella cible.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)<pre>scopes --clusters "On-Prem-Cluster" --bucket <BUCKET_NAME> | select scope | where scope != "_default" | each { |it| scopes create $it.scope --clusters "Capella-Cluster" }<br />collections --clusters "On-Prem-Cluster" --bucket <BUCKET_NAME> | select scope collection | where $it.scope != "_default" | where $it.collection != "_default" | each { |it| collections create $it.collection --clusters "Capella-Cluster" --bucket <BUCKET_NAME> --scope $it.scope }</pre> | Administrateur Couchbase | 

### Migrer les données depuis Enterprise Edition
<a name="migrate-the-data-from-enterprise-edition"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Ouvrez les ports TCP sur les nœuds du cluster Couchbase Server autogérés. | Assurez-vous que les ports appropriés sont ouverts pour la communication XDCR sur les nœuds du cluster Couchbase Server autogéré. Pour plus d'informations, consultez la documentation sur les [ports du serveur Couchbase](https://docs.couchbase.com/server/current/install/install-ports.html#ports-listed-by-communication-path). | Administrateur Couchbase, administrateur système | 
| Si vous utilisez Couchbase Server Enterprise Edition, configurez Couchbase XDCR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase | 
| Démarrez Couchbase XDCR. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase | 

### Migrez les index à l'aide de l'option 1
<a name="migrate-the-indexes-by-using-option-1"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les index de clusters autogérés vers Couchbase Capella. | Nous recommandons cette procédure si vous avez moins de 50 index à migrer. Si vous avez plus de 50 index à migrer, nous vous recommandons d'utiliser l'option de migration 2.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase, administrateur système | 

### Migrez les index à l'aide de l'option 2
<a name="migrate-the-indexes-by-using-option-2"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les définitions d'index.  | Nous recommandons cette procédure si vous avez plus de 50 index à migrer. Si vous avez moins de 50 index à migrer, nous vous recommandons d'utiliser l'option de migration 1.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase, administrateur système | 
| Créez les définitions d'index.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase, administrateur système | 

### Migrer les index de recherche en texte intégral
<a name="migrate-full-text-search-indexes"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les index de recherche en texte intégral des clusters autogérés vers Couchbase Capella. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase | 

### Migrer les données depuis Couchbase Community Edition
<a name="migrate-data-from-couchbase-community-edition"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Exportez des données depuis l'édition communautaire autogérée de Couchbase Server. | Le XDCR crypté n'est pas disponible dans Couchbase Community Edition. Vous pouvez exporter des données depuis Couchbase Community Edition, puis les importer manuellement dans Couchbase Capella.Pour exporter des données depuis le compartiment source, utilisez `cbexport` la ligne de commande.La commande suivante est fournie à titre d'exemple.<pre>cbexport json \<br />--cluster localhost \<br />--bucket <SOURCE BUCKET NAME> \<br />--format lines \<br />--username <USERNAME> \<br />--password <PASSWORD> \<br />--include-key cbkey \<br />--scope-field cbscope \<br />--collection-field cbcoll \<br />--output cbexported_data.json</pre>Notez que`cbkey`, `cbscope``cbcoll`, et `cbexported_data.json` sont des libellés arbitraires. Ils seront référencés plus tard dans le processus, donc si vous choisissez de les nommer différemment, prenez-en note. | Administrateur Couchbase | 
| Importez des données dans Couchbase Capella. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html)Pour les fichiers volumineux, Couchbase Capella prend en charge l'importation en ligne de commande à l'aide de cURL. Vous pouvez explorer les options d'importation plus en détail dans la section [Importer des données](https://docs.couchbase.com/cloud/clusters/data-service/import-data-documents.html) dans la documentation de Couchbase Capella. | Administrateur Couchbase | 

### Tester et vérifier la migration
<a name="test-and-verify-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Vérifiez la migration des données. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase | 
| Vérifiez la migration de l'index.  | **Dans le plan de contrôle Couchbase Capella, dans la liste déroulante **Outils** de votre cluster cible, choisissez Indexes.** Vérifiez que les index sont migrés et créés. | Administrateur Couchbase | 
| Vérifiez les résultats de la requête.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase | 
| Vérifiez les résultats de recherche en texte intégral (applicable si vous avez migré des index FTS). | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-couchbase-server-to-couchbase-capella-on-aws.html) | Administrateur Couchbase | 

## Ressources connexes
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-resources"></a>

**Préparer la migration**
+ [Commencez avec l'essai gratuit de Couchbase Capella](https://cloud.couchbase.com/sign-up)
+ [Exigences relatives aux fournisseurs de cloud pour Couchbase Capella](https://docs.couchbase.com/cloud/reference/aws.html)
+ [Directives relatives aux tailles de Couchbase Capella](https://docs.couchbase.com/cloud/clusters/sizing.html)

**Migrer les données et les index**
+ [Canapé XDCR](https://docs.couchbase.com/cloud/clusters/xdcr/xdcr.html)
+ [Documentation de Couchbase Shell](https://couchbase.sh/docs/)

**Couchbase SLAs Capella et assistance**
+ Contrats de niveau de [service Couchbase Capella](https://www.couchbase.com/capellasla) () SLAs
+ [Politique de support du service Couchbase Capella](https://www.couchbase.com/support-policy/cloud)

## Informations supplémentaires
<a name="migrate-from-couchbase-server-to-couchbase-capella-on-aws-additional"></a>

Le code suivant est un exemple de [fichier de configuration pour Couchbase Shell](https://couchbase.sh/docs/#_the_config_dotfiles). 

```
Version = 1
 
[[clusters]]
identifier = "On-Prem-Cluster"
hostnames = ["<SELF_MANAGED_COUCHBASE_CLUSTER>"]
default-bucket = "travel-sample"
username = "<SELF_MANAGED_ADMIN>"
password = "<SELF_MANAGED_ADMIN_PWD>"
tls-cert-path = "/<ABSOLUTE_PATH_TO_SELF_MANAGED_ROOT_CERT>"
data-timeout = "2500ms"
connect-timeout = "7500ms"
query-timeout = "75s"
 
[[clusters]]
identifier = "Capella-Cluster"
hostnames = ["<COUCHBASE_CAPELLA_ENDPOINT>"]
default-bucket = "travel-sample"
username = "<CAPELLA_DATABASE_USER>"
password = "<CAPELLA_DATABASE_USER_PWD>"
tls-cert-path = "/<ABSOLUTE_PATH_TO_COUCHBASE_CAPELLA_ROOT_CERT>"
data-timeout = "2500ms"
connect-timeout = "7500ms"
query-timeout = "75s"
```

Avant d'enregistrer le fichier de configuration, utilisez le tableau suivant pour vous assurer que vous avez ajouté vos propres informations de cluster source et cible.

 


|  |  | 
| --- |--- |
| <SELF\$1MANAGED\$1COUCHBASE\$1CLUSTER> | Utilisez l'adresse IP de votre cluster Couchbase Server autogéré. | 
| <SELF\$1MANAGED\$1ADMIN> | Utilisez l'utilisateur administrateur pour votre cluster Couchbase Server autogéré. | 
| <ABSOLUTE\$1PATH\$1TO\$1SELF\$1MANAGED\$1ROOT\$1CERT> | Utilisez le chemin absolu vers le fichier de certificat racine enregistré pour votre cluster Couchbase Server autogéré. | 
| <COUCHBASE\$1CAPELLA\$1ENDPOINT> | Utilisez le point de connexion de votre cluster Couchbase Capella. | 
| <CAPELLA\$1DATABASE\$1USER> | Utilisez l'utilisateur de base de données pour votre cluster Couchbase Capella. | 
| <CAPELLA\$1DATABASE\$1USER\$1PWD> | Utilisez le mot de passe utilisateur de la base de données pour votre cluster Couchbase Capella. | 
| <ABSOLUTE\$1PATH\$1TO\$1COUCHBASE\$1CAPELLA\$1ROOT\$1CERT> | Utilisez le chemin absolu vers le fichier de certificat racine enregistré pour votre cluster Couchbase Capella. | 

# Migrer d'un serveur WebSphere d'applications IBM vers Apache Tomcat sur Amazon EC2
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2"></a>

*Neal Ardeljan et Afroz Khan, Amazon Web Services*

## Résumé
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-summary"></a>

Ce modèle explique les étapes de migration d'un système Red Hat Enterprise Linux (RHEL) 6.9 ou version ultérieure sur site exécutant IBM WebSphere Application Server (WAS) vers RHEL 8 exécutant Apache Tomcat sur une instance Amazon Elastic Compute Cloud (Amazon). EC2 

Le modèle peut être appliqué aux versions source et cible suivantes : 
+ WebSphere Serveur d'applications 7.x vers Apache Tomcat 8 (avec Java 7 ou version ultérieure) 
+ WebSphere Serveur d'applications 8.x vers Apache Tomcat 8 (avec Java 7 ou version ultérieure) 
+ WebSphere Serveur d'applications 8.5.5.x vers Apache Tomcat 9 (avec Java 8 ou version ultérieure) 
+ WebSphere Serveur d'applications 8.5.5.x vers Apache Tomcat 10 (avec Java 8 ou version ultérieure) 

## Conditions préalables et limitations
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-prereqs"></a>

**Prérequis******
+ Un compte AWS actif 
+ Code Java source, avec les hypothèses suivantes :
  + Utilise la version Java Development Kit (JDK) de Java 7 ou version ultérieure 
  + Utilise le framework Spring ou Apache Struts 
  + N'utilise pas le framework Enterprise Java Beans (EJB) ni aucune autre fonctionnalité de WebSphere serveur qui n'est pas facilement disponible pour Tomcat
  + Utilise principalement des servlets ou des pages de serveur Java () JSPs 
  + Utilise les connecteurs Java Database Connectivity (JDBC) pour se connecter aux bases de données  
+ Source : IBM WebSphere Application Server version 7.x ou ultérieure 
+ Target Apache Tomcat version 8.5 ou supérieure  

## Architecture
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-architecture"></a>

******Pile technologique source**
+ Une application Web créée à l'aide du framework Apache Struts Model-View-Controller (MVC) 
+ Une application Web exécutée sur IBM WebSphere Application Server version 7.x ou 8.x
+ Application Web qui utilise un connecteur LDAP (Lightweight Directory Access Protocol) pour se connecter à un annuaire LDAP (iPlanet/eTrust) 
+ Une application qui utilise la connectivité IBM Tivoli Access Manager (TAM) pour mettre à jour le mot de passe utilisateur TAM (dans l'implémentation actuelle, les applications utilisent PD.jar)

******Bases de données sur site**
+ Oracle Database 21c (21.0.0.0)
+ Oracle Database 19c (19.0.0.0)
+ Oracle Database 12c version 2 (12.2.0.1)
+ Oracle Database 12c version 1 (12.1.0.2)

**Pile technologique cible**
+ Apache Tomcat version 8 (ou version ultérieure) exécuté sur RHEL sur une instance EC2 
+ Amazon Relational Database Service (Amazon RDS) pour Oracle

Pour plus d'informations sur les versions d'Oracle prises en charge par Amazon RDS, consultez le site [Web Amazon RDS for](https://aws.amazon.com/rds/oracle/) Oracle. 

**Architecture cible**

![\[Architecture pour la migration d'IBM WebSphere vers Apache Tomcat sur Amazon EC2\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/96f91201-e0a6-4d3f-a94e-7bd68a59cc4e/images/11afe7c0-b400-423b-9dfe-02a915fe47ff.png)


## Outils
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-tools"></a>
+ Niveau d'application : reconstruction de l'application Java dans un fichier WAR.
+ Niveau de base de données : sauvegarde et restauration natives d'Oracle.
+ Outil de migration Apache Tomcat pour Jakarta EE. Cet outil utilise une application Web écrite pour Java EE 8 qui s'exécute sur Apache Tomcat 9 et la convertit automatiquement pour qu'elle s'exécute sur Apache Tomcat 10, qui implémente Jakarta EE 9.

## Épopées
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Terminez la découverte des applications, l'empreinte de l'état actuel et les performances de référence. |  | BA, responsable de la migration | 
| Validez les versions de base de données source et cible. |  | DBA | 
| Identifiez la configuration matérielle requise pour l' EC2 instance de serveur cible. |  | DBA, SysAdmin | 
| Identifiez les exigences de stockage (type et capacité de stockage). |  | DBA, SysAdmin | 
| Choisissez le type d' EC2 instance approprié en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. |  | DBA, SysAdmin | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA, SysAdmin | 
| Identifiez la stratégie et les outils de migration des applications. |  | DBA, responsable de la migration | 
| Complétez le guide de conception et de migration de l'application. |  | Responsable de la création, responsable de la migration | 
| Terminez le runbook de migration des applications. |  | Responsable du développement, responsable du transfert, responsable des tests, responsable de la migration | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC) |  | SysAdmin | 
| Créez les groupes de sécurité. |  | SysAdmin | 
| Configurez et démarrez Amazon RDS pour Oracle. |  | DBA, SysAdmin | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez ou obtenez l'accès aux points de terminaison pour récupérer les fichiers de sauvegarde de la base de données. |  | DBA | 
| Utilisez le moteur de base de données natif ou un outil tiers pour migrer les objets et les données de base de données. | Pour plus de détails, consultez la section « Migration des objets et des données de base de données » dans la section *Informations supplémentaires*. | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Déposez la demande de modification (CR) pour la migration. |  | Plomb de découpe | 
| Obtenez l'approbation du CR pour la migration. |  | Plomb de découpe | 
| Suivez la stratégie de migration des applications décrite dans le runbook de migration des applications. | Pour plus de détails, voir « Configuration du niveau d'application » dans la section *Informations supplémentaires*. | DBA, ingénieur en migration, propriétaire de l'application | 
| Mettez à niveau l'application (si nécessaire). |  | DBA, ingénieur en migration, propriétaire de l'application | 
| Effectuez les tests fonctionnels, non fonctionnels, de validation des données, de SLA et de performance. |  | Responsable des tests, propriétaire de l'application, utilisateurs de l'application | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Obtenez l'approbation du propriétaire de l'application ou du propriétaire de l'entreprise. |  | Plomb de découpe | 
| Basculez les clients de l'application vers la nouvelle infrastructure. |  | DBA, ingénieur en migration, propriétaire de l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. |  | DBA, ingénieur en migration, SysAdmin | 
| Passez en revue et validez les documents du projet. |  | Responsable de la migration | 
| Collectez des indicateurs tels que le temps de migration, le pourcentage de tâches manuelles par rapport aux tâches automatisées et les économies de coûts. |  | Responsable de la migration | 
| Clôturez le projet et faites part de vos commentaires. |  | Responsable de la migration, propriétaire de l'application | 

## Ressources connexes
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-resources"></a>

**Références**
+ [Documentation d'Apache Tomcat 10.0](https://tomcat.apache.org/tomcat-10.0-doc/index.html)
+ [Documentation d'Apache Tomcat 9.0](https://tomcat.apache.org/tomcat-9.0-doc/index.html)
+ [Documentation d'Apache Tomcat 8.0](https://tomcat.apache.org/tomcat-8.0-doc)
+ [Guide d'installation d'Apache Tomcat 8.0](https://tomcat.apache.org/tomcat-8.0-doc/setup.html)
+ [Documentation JNDI d'Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html)
+ [Site Web Amazon RDS for Oracle](https://aws.amazon.com/rds/oracle/) 
+ [Tarification d’Amazon RDS](https://aws.amazon.com/rds/pricing/) 
+ [Oracle et Amazon Web Services](https://aws.amazon.com/oracle/) 
+ [Oracle sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Déploiements multi-AZ d'Amazon RDS](https://aws.amazon.com/rds/details/multi-az/) 

**Tutoriels et vidéos**
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS) 

## Informations supplémentaires
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-additional"></a>

**Migration d'objets et de données de base de données**

Par exemple, si vous utilisez des backup/restore utilitaires Oracle natifs :

1. Créez la sauvegarde Amazon Simple Storage Service (Amazon S3) pour les fichiers de sauvegarde de base de données (facultatif).

1. Sauvegardez les données Oracle DB dans le dossier partagé du réseau.

1. Connectez-vous au serveur de préparation de la migration pour mapper le dossier de partage réseau.

1. Copiez les données du dossier de partage réseau vers le compartiment S3.

1. Demandez un déploiement Amazon RDS Multi-AZ pour Oracle.

1. Restaurez la sauvegarde de base de données sur site sur Amazon RDS for Oracle.

**Configuration du niveau d'application**

1. Installez Tomcat 8 (ou 9/10) depuis le site Web d'Apache Tomcat.

1. Package de l'application et des bibliothèques partagées dans un fichier WAR.

1. Déployez le fichier WAR dans Tomcat.

1. Surveillez le journal de démarrage pour détecter `Linux cat` toutes les bibliothèques partagées manquantes à partir de WebSphere.

1. Regardez l'enregistrement de démarrage de `Linux cat` toute extension de descripteur de déploiement WebSphere spécifique.

1. Collectez toutes les bibliothèques Java dépendantes manquantes sur le WebSphere serveur.

1. Modifiez les éléments WebSphere du descripteur de déploiement spécifiques avec des équivalents compatibles avec Tomcat.

1. Reconstruisez le fichier WAR avec les bibliothèques Java dépendantes et les descripteurs de déploiement mis à jour.

1. Mettez à jour la configuration LDAP, la configuration de la base de données et testez les connexions (consultez [le manuel de configuration du domaine et le mode d'](https://tomcat.apache.org/tomcat-8.0-doc/realm-howto.html)emploi de la [source de données JNDI dans la documentation d'Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/jndi-datasource-examples-howto.html)).

1. Testez l'application installée par rapport à la base de données Amazon RDS for Oracle restaurée.

1. Créez une Amazon Machine Image (AMI) pour Linux à partir de l' EC2 instance.

1. Lancez l'architecture complète avec le groupe Application Load Balancer et Auto Scaling.

1. Mettez à jour le URLs (en utilisant la jonction WebSEAL) pour qu'il pointe vers l'Application Load Balancer.

1. Mettez à jour la base de données de gestion de configuration (CMDB). 

# Migrez d'IBM WebSphere Application Server vers Apache Tomcat sur Amazon EC2 avec Auto Scaling
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling"></a>

*Kevin Yung et Afroz Khan, Amazon Web Services*

## Résumé
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-summary"></a>

Ce modèle fournit des conseils pour la migration d'une application Java d'IBM WebSphere Application Server vers Apache Tomcat sur une instance Amazon Elastic Compute Cloud EC2 (Amazon) avec Amazon EC2 Auto Scaling activé. 

En utilisant ce modèle, vous pouvez obtenir :
+ Réduction des coûts de licence IBM
+ Haute disponibilité grâce au déploiement multi-AZ
+ Résilience des applications améliorée avec Amazon EC2 Auto Scaling

## Conditions préalables et limitations
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-prerequisites-and-limitations"></a>

**Conditions préalables**
+ Applications Java (version 7). *x* ou 8. *x*) doit être développé dans des piles LAMP.
+ L'état cible est d'héberger des applications Java sur des hôtes Linux. Ce modèle a été implémenté avec succès dans un environnement Red Hat Enterprise Linux (RHEL) 7. D'autres distributions Linux peuvent suivre ce modèle, mais la configuration de la distribution Apache Tomcat doit être référencée.
+ Vous devez comprendre les dépendances de l'application Java.
+ Vous devez avoir accès au code source de l'application Java pour apporter des modifications. 

**Limitations et modifications apportées à la replateforme**
+ Vous devez comprendre les composants d'archivage d'entreprise (EAR) et vérifier que toutes les bibliothèques sont regroupées dans les fichiers WAR des composants Web. Vous devez configurer le [plug-in Apache Maven WAR](https://maven.apache.org/plugins/maven-war-plugin/) et produire des artefacts de fichiers WAR.
+ Lors de l'utilisation d'Apache Tomcat 8, il existe un conflit connu entre le fichier servlet-api.jar et les fichiers jar intégrés au package de l'application. Pour résoudre ce problème, supprimez le fichier servlet-api.jar du package de l'application.
+ [Vous devez configurer WEB-INF/Resources situé dans le *chemin de classe de la configuration d'Apache Tomcat*.](https://tomcat.apache.org/tomcat-8.0-doc/class-loader-howto.html) Par défaut, les bibliothèques JAR ne sont pas chargées dans le répertoire. Vous pouvez également déployer toutes les ressources ci-dessous src/main/resources*.*
+ Vérifiez la présence de racines de contexte codées en dur dans l'application Java et mettez à jour la nouvelle [racine de contexte d'Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/config/context.html#Defining_a_context).
+ **Pour définir les options d'exécution de la JVM, vous pouvez créer le fichier de configuration setenv.sh dans le dossier bin d'Apache Tomcat ; par exemple, JAVA\$1OPTS, JAVA\$1HOME, etc.**  
+ L'authentification est configurée au niveau du conteneur et est configurée en tant que domaine dans les configurations Apache Tomcat. L'authentification est établie pour l'un des trois domaines suivants : 
  + Le [domaine de base de données JDBC](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#JDBC_Database_Realm_-_org.apache.catalina.realm.JDBCRealm) recherche les utilisateurs dans une base de données relationnelle accessible par le pilote JDBC.
  + [DataSource Database Realm](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#DataSource_Database_Realm_-_org.apache.catalina.realm.DataSourceRealm) recherche les utilisateurs dans une base de données à laquelle JNDI accède. 
  + Le [domaine du répertoire JNDI](https://tomcat.apache.org/tomcat-8.0-doc/config/realm.html#JNDI_Directory_Realm_-_org.apache.catalina.realm.JNDIRealm) recherche les utilisateurs dans le répertoire LDAP (Lightweight Directory Access Protocol) auquel le fournisseur JNDI accède. Les recherches nécessitent : 
    + Détails de la connexion LDAP : base de recherche utilisateur, filtre de recherche, base de rôles, filtre de rôles 
    + Le domaine clé du répertoire JNDI : se connecte au LDAP, authentifie les utilisateurs et récupère tous les groupes dont un utilisateur est membre
+ Autorisation : dans le cas d'un conteneur doté d'une autorisation basée sur les rôles qui vérifie les contraintes d'autorisation dans le fichier web.xml, les ressources Web doivent être définies et comparées aux rôles définis dans les contraintes. Si LDAP ne dispose pas de mappage des rôles de groupe, vous devez définir l'attribut < security-role-ref > dans le fichier web.xml pour réaliser le mappage des rôles de groupe. Pour voir un exemple de document de configuration, consultez la [documentation Oracle](https://docs.oracle.com/cd/E19226-01/820-7627/bncav/index.html). 
+ Connexion à la base de données : créez une définition de ressource dans Apache Tomcat avec une URL de point de terminaison Amazon Relational Database Service (Amazon RDS) et les détails de connexion. Mettez à jour le code de l'application pour qu'il fasse référence à un en DataSource utilisant la recherche JNDI. Une connexion à la base de données existante définie dans ne WebSphere fonctionnerait pas, car elle utilise les WebSphere noms JNDI. Vous pouvez ajouter une <resource-ref>entrée dans le fichier web.xml avec le nom JNDI et la définition du DataSource type. Pour consulter un exemple de document de configuration, consultez la [documentation d'Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/jndi-resources-howto.html#JDBC_Data_Sources).
+ Journalisation : par défaut, Apache Tomcat se connecte à la console ou à un fichier journal. [Vous pouvez activer le suivi au niveau du domaine en mettant à jour *logging.properties (voir Logging* in Tomcat).](https://tomcat.apache.org/tomcat-8.0-doc/logging.html) *Si vous utilisez Apache Log4j pour ajouter des journaux à un fichier, vous devez télécharger tomcat-juli et l'ajouter au chemin de classe.*
+ Gestion des sessions : si vous conservez IBM WebSeal pour l'équilibrage de charge des applications et la gestion des sessions, aucune modification n'est requise. [Si vous utilisez un Application Load Balancer ou un Network Load Balancer sur AWS pour remplacer le composant IBM WebSEAL, vous devez configurer la gestion de session en utilisant une instance ElastiCache Amazon avec un cluster Memcached et configurer Apache Tomcat pour utiliser la gestion de session open source.](https://github.com/magro/memcached-session-manager) 
+ Si vous utilisez le proxy de transfert IBM WebSEAL, vous devez configurer un nouveau Network Load Balancer sur AWS. Utilisez celui IPs fourni par le Network Load Balancer pour les configurations de jonction WebSEAL.
+ Configuration SSL : nous vous recommandons d'utiliser le protocole SSL (Secure Sockets Layer) pour les end-to-end communications. Pour configurer une configuration de serveur SSL dans Apache Tomcat, suivez les instructions de la documentation d'[Apache Tomcat](https://tomcat.apache.org/tomcat-8.0-doc/ssl-howto.html). 

## Architecture
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-architecture"></a>

**Pile technologique source**
+ Serveur WebSphere d'applications IBM

 

**Pile technologique cible**
+ L'architecture utilise [Elastic Load Balancing (version 2](https://docs.aws.amazon.com/elasticloadbalancing/)). Si vous utilisez IBM WebSeal pour la gestion des identités et l'équilibrage de charge, vous pouvez sélectionner un Network Load Balancer sur AWS à intégrer au proxy inverse IBM WebSeal.
+ Les applications Java sont déployées sur un serveur d'applications Apache Tomcat, qui s'exécute sur une EC2 instance d'un [groupe Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html). Vous pouvez définir une [politique de dimensionnement](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html) basée sur les CloudWatch indicateurs Amazon tels que l'utilisation du processeur. 
+ Si vous arrêtez d'utiliser IBM WebSeal pour l'équilibrage de charge, vous pouvez utiliser [Amazon for Memcached ElastiCache pour la gestion des](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html) sessions.
+ Pour la base de données principale, vous pouvez déployer [la haute disponibilité (Multi-AZ) pour Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) et sélectionner un type de moteur de base de données.

 

**Architecture cible**

![\[AWS Cloud architecture with VPC, two availability zones, load balancer, and database components.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/52b91dab-7b3b-4751-abe2-25e7c7cd8d89/images/25125023-9a81-452a-9ada-184e2416cc02.png)


## Outils
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-tools"></a>
+ [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [Interface de ligne de commande AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)
+ Apache Tomcat (version 7). *x* ou 8. *x*)
+ RHEL 7 ou Centos 7
+ [Déploiement multi-AZ d'Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Amazon ElastiCache pour Memcached (facultatif](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html))

## Épopées
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-epics"></a>

### Configuration du VPC
<a name="set-up-the-vpc"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC) |  |  | 
| Créez des sous-réseaux. |  |  | 
| Créez des tables de routage si nécessaire. |  |  | 
| Créez des listes de contrôle d'accès réseau (ACLs). |  |  | 
| Configurez AWS Direct Connect ou une connexion VPN d'entreprise. |  |  | 

### Replate-forme de l'application
<a name="replatform-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Refactorisez la configuration Maven de la version de l'application pour générer les artefacts WAR. |  |  | 
| Refactorisez les sources de données de dépendance des applications dans Apache Tomcat. |  |  | 
| Refactorisez les codes sources de l'application pour utiliser les noms JNDI dans Apache Tomcat. |  |  | 
| Déployez les artefacts WAR dans Apache Tomcat. |  |  | 
| Terminez les validations et les tests des applications. |  |  | 

### Configuration du réseau
<a name="configure-the-network"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez le pare-feu d'entreprise pour autoriser la connexion aux services de dépendance. |  |  | 
| Configurez le pare-feu de l'entreprise pour autoriser l'accès des utilisateurs finaux à Elastic Load Balancing on AWS. |  |  | 

### Création de l'infrastructure d'applications
<a name="create-the-application-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez et déployez l'application sur une EC2 instance. |  |  | 
| Créez un cluster Amazon ElastiCache for Memcached pour la gestion des sessions. |  |  | 
| Créez une instance Amazon RDS Multi-AZ pour la base de données principale. |  |  | 
| Créez des certificats SSL et importez-les dans AWS Certificate Manager (ACM). |  |  | 
| Installez des certificats SSL sur les équilibreurs de charge. |  |  | 
| Installez des certificats SSL pour les serveurs Apache Tomcat. |  |  | 
| Terminez les validations et les tests des applications. |  |  | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez l'infrastructure existante. |  |  | 
| Restaurez la base de données de production vers Amazon RDS. |  |  | 
| Réduisez l'application en modifiant le DNS. |  |  | 

## Ressources connexes
<a name="migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling-related-resources"></a>

**Références**
+ [Documentation d'Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html)
+ [Guide d'installation d'Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html)
+ [Documentation JNDI d'Apache Tomcat](https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html)
+ [Déploiements multi-AZ d'Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Amazon ElastiCache pour Memcached](https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/WhatIs.html)

**Tutoriels et vidéos**
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)

# Migrer une application .NET de Microsoft Azure App Service vers AWS Elastic Beanstalk
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk"></a>

*Raghavender Madamshitti, Amazon Web Services*

## Résumé
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-summary"></a>

Ce modèle décrit comment migrer une application Web .NET hébergée sur Microsoft Azure App Service vers AWS Elastic Beanstalk. Il existe deux méthodes pour migrer des applications vers Elastic Beanstalk :
+ Utiliser AWS Toolkit for Visual Studio : ce plugin pour l'IDE Microsoft Visual Studio constitue le moyen le plus simple et le plus direct de déployer des applications .NET personnalisées sur AWS. Vous pouvez utiliser cette approche pour déployer du code .NET directement sur AWS et pour créer des ressources de support, telles qu'Amazon Relational Database Service (Amazon RDS) pour les bases de données SQL Server, directement depuis Visual Studio.
+ Téléchargement et déploiement sur Elastic Beanstalk : chaque service d'application Azure inclut un service d'arrière-plan appelé Kudu, utile pour capturer les vidages de mémoire et les journaux de déploiement, consulter les paramètres de configuration et accéder aux packages de déploiement. Vous pouvez utiliser la console Kudu pour accéder au contenu d'Azure App Service, extraire le package de déploiement, puis télécharger le package sur Elastic Beanstalk en utilisant l'option de téléchargement et de déploiement de la console Elastic Beanstalk.

Ce modèle décrit la deuxième approche (téléchargement de votre application vers Elastic Beanstalk via Kudu). Le modèle utilise également les services AWS suivants : AWS Elastic Beanstalk, Amazon Virtual Private Cloud (Amazon VPC), Amazon, Amazon Elastic Compute Cloud ( CloudWatchAmazon EC2) Auto Scaling, Amazon Simple Storage Service (Amazon S3) et Amazon Route 53. 

L'application Web .NET est déployée sur AWS Elastic Beanstalk, qui s'exécute dans un groupe Amazon EC2 Auto Scaling. Vous pouvez définir une politique de dimensionnement basée sur les CloudWatch indicateurs Amazon tels que l'utilisation du processeur. Pour une base de données, vous pouvez utiliser Amazon RDS dans un environnement multi-AZ, ou Amazon DynamoDB, en fonction de votre application et des exigences commerciales. 

## Conditions préalables et limitations
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une application Web .NET exécutée dans Azure App Service
+ Autorisation d'utiliser la console Azure App Service Kudu

**Versions du produit**
+ .NET Core (x64) 1.0.1, 2.0.0 ou version ultérieure, ou .NET Framework 4.x, 3.5 (voir l'historique de la plateforme [.NET sur Windows Server](https://docs.aws.amazon.com/elasticbeanstalk/latest/platforms/platform-history-dotnet.html))
+ Internet Information Services (IIS) version 8.0 ou ultérieure, s'exécutant sur Windows Server 2012 ou version ultérieure
+ .NET 2.0 ou 4.0 Runtime.

## Architecture
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-architecture"></a>

**Pile technologique source**
+  Application développée à l'aide de .NET Framework 3.5 ou version ultérieure, ou .NET Core 1.0.1, 2.0.0 ou version ultérieure, et hébergée sur Azure App Service (application Web ou application API)

**Pile technologique cible**
+ AWS Elastic Beanstalk exécuté dans un groupe Amazon EC2 Auto Scaling

**Architecture de migration**

![\[Kudu accède au contenu d'Azure App Service, obtient le package de déploiement et le télécharge sur Elastic Beanstalk.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/dd15f97b-9cf2-4bcc-af45-44df1c4ca4a5.png)


 

**Flux de travail de déploiement**

![\[Flux de travail de déploiement pour créer une application, la publier dans l'environnement de lancement, puis gérer l'environnement.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/df606a2d-b0a8-4035-b377-0a760e7300c9/images/accec77d-c753-4166-8f27-bd4932b3d884.png)


## Outils
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-tools"></a>

**Outils**
+ .NET Core ou .NET Framework
+ C\$1
+ IIS
+ Console Kudu

**Services et fonctionnalités AWS**
+ [AWS Elastic Beanstalk](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/Welcome.html) — Elastic Beanstalk est un service de déploiement et de mise à l' easy-to-useéchelle d'applications Web .NET. Elastic Beanstalk gère automatiquement le provisionnement des capacités, l'équilibrage de charge et le dimensionnement automatique.
+ [Groupe Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroup.html) — Elastic Beanstalk inclut un groupe Auto Scaling qui gère les instances Amazon EC2 dans l'environnement. Dans un environnement à instance unique, le groupe Auto Scaling s'assure qu'il y a toujours une instance en cours d'exécution. Dans un environnement à charge équilibrée, vous pouvez configurer le groupe avec une série d'instances à exécuter, et Amazon EC2 Auto Scaling ajoute ou supprime des instances selon les besoins, en fonction de la charge.
+ [Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html) : lorsque vous activez l'équilibrage de charge dans AWS Elastic Beanstalk, cela crée un équilibreur de charge qui répartit le trafic EC2 entre les instances de l'environnement.
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) — Elastic Beanstalk CloudWatch utilise automatiquement Amazon pour fournir des informations sur les ressources de votre application et de votre environnement. Amazon CloudWatch prend en charge les métriques standard, les métriques personnalisées et les alarmes.
+ [Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/Welcome.html) — Amazon Route 53 est un service Web de système de noms de domaine (DNS) cloud hautement disponible et évolutif. Vous pouvez utiliser les enregistrements d'alias Route 53 pour mapper des noms de domaine personnalisés aux environnements AWS Elastic Beanstalk.

## Épopées
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-epics"></a>

### Configuration d’un VPC
<a name="set-up-a-vpc"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez un cloud privé virtuel (VPC). | Dans votre compte AWS, créez un VPC avec les informations requises. | Administrateur système | 
| Créez des sous-réseaux. | Créez au moins deux sous-réseaux dans votre VPC. | Administrateur système | 
| Créez une table de routage. | Créez une table de routage en fonction de vos besoins. | Administrateur système | 

### Configurer Elastic Beanstalk
<a name="set-up-elastic-beanstalk"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Accédez à la console Azure App Service Kudu. | **Accédez à Kudu via le portail Azure en accédant au tableau de bord App Service, puis en choisissant **Advanced Tools, Go**.** Ou, vous pouvez modifier l'URL d'Azure App Service comme suit : `https://<appservicename>.scm.azurewebsites.net` | Développeur d'applications, administrateur système | 
| Téléchargez le package de déploiement depuis Kudu. | Accédez à Windows PowerShell en choisissant l'**DebugConsole**option. Cela ouvrira la console Kudo. Accédez au `wwwroot` dossier et téléchargez-le. Cela téléchargera le package de déploiement d'Azure App Service sous forme de fichier zip. Pour un exemple, voir la pièce jointe. | Développeur d'applications, administrateur système | 
| Créez un package pour Elastic Beanstalk. | Décompressez le package de déploiement que vous avez téléchargé depuis Azure App Service. Créez un fichier JSON appelé `aws-windows-deployment-manifest.json` (ce fichier n'est requis que pour les applications .NET Core). Créez un fichier zip qui inclut `aws-windows-deployment-manifest.json` le fichier du package de déploiement Azure App Service. Pour un exemple, voir la pièce jointe. | Développeur d'applications, administrateur système | 
| Créez une nouvelle application Elastic Beanstalk. | Ouvrez la console Elastic Beanstalk. Choisissez une application existante ou créez-en une nouvelle. | Développeur d'applications, administrateur système | 
| Création de l'environnement | **Dans le menu Actions de la console Elastic **Beanstalk**, choisissez Create environment.** Sélectionnez l'environnement du serveur Web et la plate-forme .NET/IIS. Pour le code de l'application, choisissez **Upload**. **Téléchargez le fichier zip que vous avez préparé pour Elastic Beanstalk, puis choisissez Create Environment.** | Développeur d'applications, administrateur système | 
| Configurez Amazon CloudWatch. | Par défaut, la CloudWatch surveillance de base est activée. **Si vous souhaitez modifier la configuration, dans l'assistant Elastic Beanstalk, choisissez l'application publiée, puis choisissez Monitoring.** | Administrateur système | 
| Vérifiez que le package de déploiement se trouve dans Amazon S3.  | Lorsque l'environnement d'application a été créé, vous pouvez trouver le package de déploiement dans le compartiment S3. | Développeur d'applications, administrateur système | 
| Testez l'application. | Une fois l'environnement créé, utilisez l'URL fournie dans la console Elastic Beanstalk pour tester l'application. | Administrateur système | 

## Ressources connexes
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-resources"></a>
+ [Concepts d'AWS Elastic Beanstack (documentation](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/concepts.html) Elastic Beanstalk)
+ [Commencer à utiliser .NET sur Elastic Beanstalk (documentation](https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/dotnet-getstarted.html) Elastic Beanstalk)
+ [Console Kudu](https://github.com/projectkudu/kudu/wiki/Kudu-console) () GitHub
+ [Utilisation de « Kudu » pour gérer les applications Web Azure](https://www.gslab.com/blogs/kudu-azure-web-app/) (article du GS Lab)
+ [Déploiements ASP.NET Core Elastic Beanstalk personnalisés](https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/deployment-beanstalk-custom-netcore.html) (guide de l'utilisateur d'AWS Toolkit pour Visual Studio)
+ [Documentation sur Elastic Load Balancing](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html)
+ [Plateformes prises en charge par AWS Elastic Beanstalk (documentation Elastic Beanstalk](https://docs.amazonaws.cn/en_us/elasticbeanstalk/latest/platforms/platforms-supported.html))
+ [Déployer une application Web sur AWS](https://www.c-sharpcorner.com/article/deploying-a-web-application-to-aws/) (article C\$1 Corner)
+ [Dimensionnement de la taille de votre groupe Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/scaling_plan.html) ( EC2 documentation Amazon)
+ [Haute disponibilité (multi-AZ) pour Amazon RDS (documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.MultiAZ.html) Amazon RDS)

## Informations supplémentaires
<a name="migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk-additional"></a>

**Remarques**
+ Si vous migrez une base de données locale ou Azure SQL Server vers Amazon RDS, vous devez également mettre à jour les informations de connexion à la base de données. 
+ À des fins de test, un exemple d'application de démonstration est joint.

## Pièces jointes
<a name="attachments-df606a2d-b0a8-4035-b377-0a760e7300c9"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/df606a2d-b0a8-4035-b377-0a760e7300c9/attachments/attachment.zip)

# Migrer d'Oracle WebLogic vers Apache Tomcat (ToMee) sur Amazon ECS
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs"></a>

*Anya Epishcheva et Harshad Gohil, Amazon Web Services*

## Résumé
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-summary"></a>

Ce modèle décrit les étapes de migration d'un système Oracle Solaris SPARC sur site exécutant Oracle WebLogic vers une installation basée sur des conteneurs Docker exécutant Apache [ToMee (Apache Tomcat](http://tomee.apache.org/) avec support de conteneur supplémentaire) avec Amazon Elastic Container Service (Amazon ECS). 

Pour plus d'informations sur la migration des bases de données associées aux applications que vous migrez d'Oracle WebLogic vers Tomcat, consultez les modèles de migration de base de données de ce catalogue. 

**Bonnes pratiques**

Les étapes de migration des applications Web Java et Java Enterprise Edition (Java EE) varient en fonction du nombre de ressources spécifiques au conteneur utilisées par l'application. Les applications basées sur Spring sont généralement plus faciles à migrer, car elles ne dépendent que d'un petit nombre de fois par rapport au conteneur de déploiement. En revanche, les applications Java EE qui utilisent Enterprise JavaBeans (EJBs) et des ressources de conteneur gérées telles que les pools de threads, le service d'authentification et d'autorisation Java (JAAS) et la persistance gérée par conteneur (CMP) nécessitent plus d'efforts. 

Les applications développées pour Oracle Application Server utilisent fréquemment la suite Oracle Identity Management. Les clients qui migrent vers des serveurs d'applications open source choisissent souvent de réimplémenter la gestion des identités et des accès à l'aide de la fédération basée sur le protocole SAML. D'autres utilisent Oracle HTTP Server Webgate dans les cas où la migration depuis la suite Oracle Identity Management n'est pas une option. 

Les applications Web Java et Java EE sont d'excellentes candidates pour le déploiement sur des services AWS basés sur Docker, tels que AWS Fargate et Amazon ECS. Les clients choisissent souvent une image Docker avec la dernière version du serveur d'applications cible (tel que ToMee) et le kit de développement Java (JDK) préinstallés. Ils installent leurs applications au-dessus de l'image Docker de base, la publient dans leur registre Amazon Elastic Container Registry (Amazon ECR) et l'utilisent pour le déploiement évolutif de leurs applications sur AWS Fargate ou Amazon ECS. 

Idéalement, le déploiement des applications est élastique, c'est-à-dire que le nombre d'instances d'application augmente ou diminue en fonction du trafic ou de la charge de travail. Cela signifie que les instances d'application doivent être mises en ligne ou mises hors service pour ajuster la capacité à la demande. 

Lorsque vous déplacez une application Java vers AWS, pensez à la rendre apatride. Il s'agit d'un principe architectural clé de l'AWS Well-Architected Framework qui permettra une mise à l'échelle horizontale à l'aide de la conteneurisation. Par exemple, la plupart des applications Web basées sur Java stockent les informations de session utilisateur localement. Pour éviter la fermeture d'une instance d'application en raison du dimensionnement automatique dans Amazon Elastic Compute Cloud (Amazon EC2) ou pour d'autres raisons, les informations de session utilisateur doivent être stockées dans le monde entier afin que les utilisateurs des applications Web puissent continuer à travailler de manière fluide et transparente sans se reconnecter ou se reconnecter à une application Web. Il existe plusieurs options architecturales pour cette approche, notamment Amazon ElastiCache pour Redis ou le stockage de l'état de session dans une base de données globale. Les serveurs d'applications tels que TomEE disposent de plug-ins qui permettent le stockage et la gestion des sessions via Redis, des bases de données et d'autres magasins de données mondiaux.

Utilisez un outil de journalisation et de débogage commun et centralisé qui s'intègre facilement à Amazon CloudWatch et AWS X-Ray. La migration permet d'améliorer les fonctionnalités du cycle de vie des applications. Par exemple, vous souhaiterez peut-être automatiser le processus de création afin que les modifications soient facilement apportées à l'aide d'un pipeline d'intégration et de livraison continues (CI/CD). Cela peut nécessiter des modifications de l'application afin qu'elle puisse être déployée sans interruption. 

## Conditions préalables et limitations
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-prerequisites-and-limitations"></a>

**Conditions préalables**
+ Un compte AWS actif 
+ Code source Java et JDK 
+ Application source créée avec Oracle WebLogic
+ Solution définie pour la gestion des identités et des accès (SAML ou Oracle Webgate)
+ Solution définie pour la gestion des sessions d'application (transfert like-for-like ou utilisation d'Amazon ElastiCache, ou mise en état de l'application si nécessaire)
+ Comprendre si l'équipe doit refactoriser les bibliothèques spécifiques à J2EE pour la portabilité vers Apache ToMee (voir État de l'[implémentation de Java EE 7](http://tomee.apache.org/javaee7-status.html) sur le site Web d'Apache) 
+ Image TomEee renforcée en fonction de vos exigences de sécurité
+ Image du conteneur avec ToMee cible préinstallée 
+ Corrections d'applications convenues et mises en œuvre si nécessaire (par exemple, journalisation, débogage, construction, authentification)

**Versions du produit**
+ Oracle WebLogic OC4 J, 9i, 10 g 
+ Tomcat 7 (avec Java 1.6 ou version ultérieure) 

## Architecture
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-architecture"></a>

 **Pile technologique source**
+ Application Web créée à l'aide d'Oracle WebLogic
+ Application Web utilisant l'authentification Oracle Webgate ou SAML
+ Applications Web connectées à Oracle Database version 10g et ultérieure 

**Pile technologique cible**
+ TomEE (Apache Tomcat avec prise en charge des conteneurs ajoutée) s'exécutant sur Amazon ECS (voir également [Déploiement d'applications Web Java](https://aws.amazon.com/answers/web-applications/aws-web-app-deployment-java/) et de [microservices Java sur Amazon](https://aws.amazon.com/blogs/compute/deploying-java-microservices-on-amazon-ec2-container-service/) ECS) 
+ Amazon Relational Database Service (Amazon RDS) pour Oracle ; pour les versions d'Oracle prises en charge par Amazon RDS, [consultez](https://aws.amazon.com/rds/oracle/) Amazon RDS pour Oracle****

**Architecture cible**

![\[AWS Cloud architecture diagram showing VPC, application subnets, and shared services account components.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/d5e7b3fa-062f-4559-af56-aa6058f96755/images/762193cf-aa68-4195-b3c7-6541caee61c9.png)


 

## Outils
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-tools"></a>

Pour fonctionner sur TomEE, une application Java doit être reconstruite dans un fichier .war. Dans certains cas, des modifications d'application peuvent être nécessaires pour faire fonctionner l'application sur ToMee ; vous devez vérifier que les options de configuration et les propriétés d'environnement nécessaires sont correctement définies.  

En outre, les recherches JNDI (Java Naming and Directory Interface) et les espaces de noms JavaServer Pages (JSP) doivent être définis correctement. Pensez à vérifier les noms de fichiers utilisés par l'application pour éviter les collisions de noms avec les bibliothèques T intégrées. Par exemple, persistence.xml est un nom de fichier utilisé par le framework Apache OpenJPA (qui est fourni avec OpenEJB dans TomEE) à des fins de configuration. Le fichier persistence.xml du PUI contient les déclarations de bean du framework Spring.  

TomEE version 7.0.3 et versions ultérieures (Tomcat 8.5.7 et versions ultérieures) renvoie une réponse HTTP 400 (mauvaise requête) pour le format brut (non codé) avec des caractères spéciaux. URLs La réponse du serveur apparaît sous forme de page blanche à l'utilisateur final. [Les versions antérieures de Tomee et Tomcat autorisaient l'utilisation de certains caractères spéciaux non codés URLs ; toutefois, cela est considéré comme dangereux, comme indiqué sur le site Web CVE-2016-6816.](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6816) Pour résoudre le problème d'encodage des URL, les URLs informations transmises directement au navigateur via JavaScript doivent être codées avec la méthode **encodeURI ()** au lieu d'être utilisées sous forme de chaînes brutes. 

Après avoir déployé le fichier .war dans ToMee, surveillez le *journal de démarrage sur* *Linux cat* pour détecter les bibliothèques partagées manquantes et les extensions spécifiques à Oracle afin d'ajouter les composants manquants dans les bibliothèques Tomcat. 

 

**Procédure générale**
+ Configurez l'application sur TomEE.
+ Identifiez et reconfigurez les fichiers de configuration et les ressources spécifiques au serveur d'applications, du format source au format cible.
+ Identifiez et reconfigurez les ressources JNDI.
+ Ajustez l'espace de noms et les recherches EJB au format requis par le serveur d'applications cible (le cas échéant).
+ Reconfigurez les rôles de sécurité et les mappages principaux spécifiques au conteneur d'applications JAAS (le cas échéant).
+ Package de l'application et des bibliothèques partagées dans un fichier .war.
+ Déployez le fichier .war dans Tomee à l'aide du conteneur Docker fourni.
+ Surveillez *le journal de démarrage* pour identifier les extensions de bibliothèque partagée et de descripteur de déploiement manquantes. Si vous en trouvez, revenez à la première tâche. 
+ Testez l'application installée par rapport à la base de données Amazon RDS restaurée.
+ Lancez l'architecture complète avec un équilibreur de charge et un cluster Amazon ECS en suivant les instructions de la section [Déployer des conteneurs Docker](https://aws.amazon.com/getting-started/tutorials/deploy-docker-containers/).
+ Mettez à jour le URLs pour qu'il pointe vers l'équilibreur de charge. 
+ Mettez à jour la base de données de gestion de configuration (CMDB). 

## Épopées
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Effectuez la découverte des applications (empreinte de l'état actuel et référence de performances). |  | BA, responsable de la migration | 
| Validez les versions et les moteurs des bases de données source et cible. |  | DBA | 
| Validez la conception de l'application source et cible (gestion des identités et des sessions). |  | DBA, ingénieur en migration, propriétaire de l'application | 
| Identifiez les exigences matérielles et de stockage pour l'instance de serveur cible. |  | DBA, SysAdmin | 
| Choisissez le type d'instance approprié en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. |  | DBA, SysAdmin | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA, SysAdmin | 
| Identifiez la stratégie et les outils de migration des applications. |  | DBA, responsable de la migration | 
| Complétez le guide de conception et de migration de l'application. |  | Responsable de la création, responsable de la migration | 
| Terminez le runbook de migration des applications. |  | Responsable du développement, responsable du transfert, responsable des tests, responsable de la migration | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC) |  | SysAdmin | 
| Créez des groupes de sécurité. |  | SysAdmin | 
| Configurez et démarrez l'instance de base de données Amazon RDS. |  | DBA, SysAdmin | 
| Configurez le déploiement d'Amazon ECS. |  | SysAdmin | 
| Package de votre application sous forme d'image Docker. |  | SysAdmin | 
| Transférez l'image vers le registre Amazon ECR (ou ignorez cette étape et transférez-la vers le cluster Amazon ECS). |  | SysAdmin | 
| Configurez la définition de tâche pour l'application et les options de service Amazon ECS. |  | SysAdmin | 
| Configurez votre cluster, passez en revue les paramètres de sécurité et définissez les rôles AWS Identity and Access Management (IAM). |  | SysAdmin | 
| Lancez votre installation et exécutez les tests conformément au manuel de migration de votre application. |  | SysAdmin | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Obtenez l'autorisation de votre équipe d'assurance sécurité pour transférer les données de production vers AWS. |  | DBA, ingénieur en migration, propriétaire de l'application | 
| Créez et obtenez l'accès à des points de terminaison pour récupérer les fichiers de sauvegarde de la base de données. |  | DBA | 
| Utilisez le moteur de base de données natif ou des outils tiers pour migrer les objets et les données de base de données. |  | DBA | 
| Exécutez les tests nécessaires depuis le runbook de migration des applications pour confirmer la réussite de la migration des données. |  | DBA, ingénieur en migration, propriétaire de l'application | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une demande de modification (CR) pour la migration. |  | Plomb de découpe | 
| Obtenez l'approbation du CR pour la migration. |  | Plomb de découpe | 
| Suivez la stratégie de migration des applications décrite dans le runbook de migration des applications. |  | DBA, ingénieur en migration, propriétaire de l'application | 
| Mettez à niveau l'application (si nécessaire). |  | DBA, ingénieur en migration, propriétaire de l'application | 
| Effectuez des tests fonctionnels, non fonctionnels, de validation des données, de SLA et de performance. |  | Responsable des tests, propriétaire de l'application, utilisateurs de l'application | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Obtenez l'approbation de l'application ou du propriétaire de l'entreprise. |  | Plomb de découpe | 
| Exécutez un exercice sur le thème d'un tableau pour suivre toutes les étapes du runbook de transition. |  | DBA, ingénieur en migration, propriétaire de l'application | 
| Basculez les clients de l'application vers la nouvelle infrastructure. |  | DBA, ingénieur en migration, propriétaire de l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. |  | DBA, ingénieur en migration, SysAdmin | 
| Passez en revue et validez les documents du projet. |  | Responsable de la migration | 
| Collectez des indicateurs concernant le délai de migration, le pourcentage de manuel par rapport à l'outil, les économies de coûts, etc. |  | Responsable de la migration | 
| Clôturez le projet et faites part de vos commentaires. |  | Responsable de la migration, propriétaire de l'application | 

## Ressources connexes
<a name="migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs-related-resources"></a>

**Références**
+ [Documentation d'Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/realm-howto.html) 
+ [Guide d'installation d'Apache Tomcat 7.0](https://tomcat.apache.org/tomcat-7.0-doc/appdev/installation.html) 
+ [Documentation JNDI d'Apache Tomcat](https://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html) 
+ [Documentation d'Apache ToMee](http://tomee.apache.org/) 
+ [Amazon RDS for Oracle](https://aws.amazon.com/rds/oracle/) 
+ [Tarification d’Amazon RDS](https://aws.amazon.com/rds/pricing/) 
+ [Oracle et AWS](https://aws.amazon.com/oracle/) 
+ [Documentation Oracle sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) 
+ [Déploiements multi-AZ d'Amazon RDS](https://aws.amazon.com/rds/details/multi-az/) 
+ [Commencer à utiliser Amazon ECS](https://aws.amazon.com/ecs/getting-started/)
+ [Mise en route avec Amazon RDS](https://aws.amazon.com/rds/getting-started/) 

**Tutoriels et vidéos**
+ [Meilleures pratiques pour exécuter des bases de données Oracle sur Amazon RDS (présentation](https://www.youtube.com/watch?v=j2wqT0EPDbw) re:Invent 2018) 

# Migrer une base de données Oracle d'Amazon EC2 vers Amazon RDS for Oracle à l'aide d'AWS DMS
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms"></a>

*Chethan Gangadharaiah et Brian Motzer, Amazon Web Services*

## Résumé
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-summary"></a>

Ce modèle décrit les étapes de migration d'une base de données Oracle sur Amazon Elastic Compute Cloud (Amazon EC2) vers Amazon Relational Database Service (Amazon RDS) pour Oracle à l'aide d'AWS Database Migration Service (AWS DMS). Le modèle utilise également Oracle SQL Developer ou SQL \$1Plus pour se connecter à votre instance de base de données Oracle, et inclut un CloudFormation modèle AWS qui automatise certaines tâches.

La migration vers Amazon RDS for Oracle vous permet de vous concentrer sur votre activité et vos applications, tandis qu'Amazon RDS s'occupe des tâches d'administration des bases de données telles que le provisionnement des bases de données, la sauvegarde et la restauration, les correctifs de sécurité, les mises à niveau des versions et la gestion du stockage.

## Conditions préalables et limitations
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-prerequisites-and-limitations"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une image machine Amazon (AMI) pour la base de données Oracle sur Amazon EC2

**Versions du produit**
+ AWS DMS prend en charge les versions 11g (versions 11.2.0.3.v1 et ultérieures), 12c et 18c d'Oracle pour les bases de données d'instances Amazon RDS pour les éditions Enterprise, Standard, Standard One et Standard Two. Pour obtenir les dernières informations sur les versions prises en charge, consultez la section [Utilisation d'une base de données Oracle comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) dans la documentation AWS. (Les CloudFormation modèles AWS joints utilisent la version 12c d'Oracle comme base de données source.)
+ Développeur Oracle SQL 4.0.3

## Architecture
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-architecture"></a>

**Architecture de la source**
+ Base de données Oracle sur Amazon EC2

**Architecture cible**
+ Amazon RDS for Oracle

**Architecture de migration**

![\[AWS Cloud architecture showing Oracle database migration from EC2 to RDS across availability zones.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/4db0c731-0897-4eb8-a06f-b648c3d94b2c/images/636c2a69-5a78-482d-ae81-55e9ec975ead.png)


## Outils
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-tools"></a>
+ [AWS DMS](https://docs.aws.amazon.com/dms/index.html) — AWS Database Migration Service (AWS DMS) vous aide à migrer des bases de données vers AWS rapidement et en toute sécurité. Il prend en charge les migrations homogènes et hétérogènes. Pour plus d'informations sur les versions et éditions de base de données Oracle prises en charge, consultez les [sections Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) et [Utilisation d'une base de données Oracle comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) dans la documentation AWS.
+ **Oracle SQL Developer ou SQL \$1Plus** : ces outils vous permettent de vous connecter à l'instance de base de données Amazon RDS for Oracle.

## Épopées
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-epics"></a>

### Configuration de votre base de données cible
<a name="set-up-your-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de base de données Amazon RDS for Oracle. | Connectez-vous à AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/. Créez une instance de base de données Oracle en sélectionnant le moteur, le modèle, le paramètre d'identification de base de données, le type d'instance, le stockage, les paramètres multi-AZ, le cloud privé virtuel (VPC) et la configuration appropriés, les informations d'identification de connexion et les paramètres supplémentaires pour la base de données Oracle. Pour obtenir des instructions, consultez les liens dans la section « Ressources connexes ». Vous pouvez également utiliser le CloudFormation modèle AWS (Create\$1RDS.yaml) dans la pièce jointe pour créer l'instance de base de données Amazon RDS for Oracle. | Developer | 
| Connectez-vous à Amazon RDS et accordez des privilèges à l'utilisateur Oracle. | Modifiez le groupe de sécurité pour ouvrir les ports appropriés pour vous connecter à partir de la machine locale et de l'instance de réplication AWS DMS. Lorsque vous configurez la connectivité, assurez-vous que l'option « Accessible au public » est sélectionnée afin de pouvoir vous connecter à la base de données depuis l'extérieur du VPC. Connectez-vous à Amazon RDS avec Oracle SQL Developer ou SQL \$1Plus en utilisant les informations de connexion, créez un utilisateur AWS DMS et accordez les privilèges requis à l'utilisateur AWS DMS pour modifier la base de données. | Developer | 

### Configurer le groupe de sécurité de l' EC2 instance source
<a name="configure-the-security-group-of-the-source-ec2-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Vérifiez si la base de données Oracle est opérationnelle. | Utilisez Secure Shell (SSH) pour vous connecter à l' EC2 instance et essayez de vous connecter à la base de données Oracle à l'aide de SQL \$1Plus. | Developer | 
| Modifiez le groupe de sécurité. | Modifiez le groupe de sécurité de l' EC2 instance pour ouvrir les ports appropriés, afin de pouvoir vous connecter depuis votre machine locale et l'instance de réplication AWS DMS. | Developer | 

### Configuration d'AWS DMS
<a name="set-up-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de réplication AWS DMS. | Dans AWS DMS, créez une instance de réplication dans le même VPC que votre instance de base de données Amazon RDS for Oracle. Spécifiez le nom et la description de l'instance de réplication, choisissez la classe d'instance et la version du moteur de réplication (utilisez la valeur par défaut), choisissez le VPC dans lequel vous avez créé l'instance de base de données Amazon RDS, définissez les paramètres multi-AZ si nécessaire, allouez du stockage, spécifiez la zone de disponibilité et configurez des paramètres supplémentaires. Vous pouvez également utiliser le CloudFormation modèle AWS (DMS.yaml) dans la pièce jointe pour implémenter cette étape. | DBA | 
| Connectez-vous aux points de terminaison de la base de données source et cible. | Créez les points de terminaison de base de données source et cible en spécifiant l'identifiant du point de terminaison, le moteur, le serveur, le port, les informations de connexion et les attributs de connexion supplémentaires. Pour le serveur source, utilisez le DNS public de l' EC2 instance qui héberge la base de données Oracle. Pour le serveur cible, utilisez le point de terminaison d'Amazon RDS for Oracle. Effectuez un test pour vérifier que les connexions source et cible fonctionnent. Vous pouvez également utiliser le CloudFormation modèle AWS (DMS.yaml) dans la pièce jointe pour implémenter cette étape. | DBA | 
| Créez une tâche AWS DMS. | Créez une tâche AWS DMS pour migrer les données du point de terminaison source vers le point de terminaison cible, pour configurer la réplication entre le point de terminaison source et le point de terminaison de destination, ou les deux. Lors de la création de la tâche AWS DMS, spécifiez l'instance de réplication, le point de terminaison source, le point de terminaison cible, le type de migration (données uniquement, réplication uniquement, ou les deux), le mappage des tables et le filtre. Exécutez la tâche AWS DMS, surveillez-la, consultez les statistiques du tableau et consultez les journaux sur Amazon CloudWatch. Vous pouvez également utiliser le CloudFormation modèle AWS (DMS.yaml) dans la pièce jointe pour implémenter cette étape. | DBA | 

## Ressources connexes
<a name="migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms-related-resources"></a>
+ [Création d'une instance de base de données Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateOracleInstance.html)
+ [Connexion à une instance de base de données exécutant le moteur de base de données Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ConnectToOracleInstance.html)
+ [Documentation AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Procédures pas à pas d'AWS DMS Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Migration des bases de données Oracle vers le cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html)

## Pièces jointes
<a name="attachments-4db0c731-0897-4eb8-a06f-b648c3d94b2c"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/4db0c731-0897-4eb8-a06f-b648c3d94b2c/attachments/attachment.zip)

# Migrer une base de données Oracle sur site vers Amazon OpenSearch Service à l'aide de Logstash
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash"></a>

*Aditya Goteti, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-summary"></a>

Ce modèle décrit comment déplacer des données d'une base de données Oracle sur site vers Amazon OpenSearch Service à l'aide de Logstash. Il inclut des considérations architecturales ainsi que certaines compétences et recommandations requises. Les données peuvent provenir d'une seule table ou de plusieurs tables dans lesquelles une recherche en texte intégral devra être effectuée. 

OpenSearch Le service peut être configuré dans un cloud privé virtuel (VPC), ou il peut être placé publiquement avec des restrictions basées sur l'IP. Ce modèle décrit un scénario dans lequel le OpenSearch service est configuré au sein d'un VPC. Logstash est utilisé pour collecter les données de la base de données Oracle, les analyser au format JSON, puis les introduire dans Service. OpenSearch  

## Conditions préalables et limitations
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Java 8 (requis par Logstash 6.4.3)
+ Connectivité entre les serveurs de base de données sur site et les instances Amazon Elastic Compute Cloud (Amazon EC2) dans un VPC, établie à l'aide du réseau privé virtuel AWS (AWS VPN)
+ Une requête pour récupérer les données requises à envoyer au OpenSearch Service à partir de la base de données
+ Pilotes Oracle Java Database Connectivity (JDBC)

**Limites**
+ Logstash ne peut pas identifier les enregistrements supprimés définitivement de la base de données 

**Versions du produit**
+ Oracle Database 12c
+ OpenSearch Service 6.3
+ Logstash 6.4.3

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-architecture"></a>

**Pile technologique source**
+ Base de données Oracle sur site
+ VPN AWS sur site

**Pile technologique cible**
+ VPC
+ EC2 instance
+ OpenSearch Service 
+ Logstash
+ Passerelle NAT (pour les mises à jour du système d'exploitation sur les EC2 instances et pour installer Java 8, Logstash et les plugins)

**Architecture de migration des données**

![\[Comment déplacer des données d'une base de données Oracle sur site vers Amazon OpenSearch Service à l'aide de Logstash.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/09f6d2de-de2f-4ed6-af93-34b71b75a263/images/df6a61fb-09fb-49d4-a7e8-b04e88c003df.png)


## Outils
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-tools"></a>
+ Logstash 6.4.3
+ Plug-in d'entrée JDBC ([téléchargement et informations supplémentaires](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html))
+ [Plug-in de sortie Logstash (\$1es) logstash-output-amazon](https://github.com/awslabs/logstash-output-amazon_es)
+ Pilotes Oracle JDBC

## Épopées
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Identifiez la taille des données sources. | La taille des données source est l'un des paramètres que vous utilisez pour déterminer le nombre de partitions à configurer dans un index. | DBA, développeur de bases de données | 
| Analysez les types de données de chaque colonne et les données correspondantes. | OpenSearch Le service mappe dynamiquement le type de données lorsqu'un champ invisible est trouvé dans le document. Si certains types ou formats de données spécifiques (par exemple, les champs de date) doivent être explicitement déclarés, identifiez les champs et définissez le mappage de ces champs lors de la création de l'index. | Propriétaire de l'application, développeur, développeur de base de données | 
| Déterminez s'il existe des colonnes avec des clés primaires ou uniques. | Pour éviter la duplication des enregistrements dans Amazon OpenSearch Service lors des mises à jour ou des insertions, vous devez configurer le `document_id` paramètre dans la section de sortie du `amazon_es` plugin (par exemple, `document_id => "%{customer_id}"` où se `customer_id` trouve une clé primaire). | Propriétaire de l'application, développeur | 
| Analysez le nombre et la fréquence des nouveaux enregistrements ajoutés ; vérifiez la fréquence à laquelle les enregistrements sont supprimés. | Cette tâche est nécessaire pour comprendre le taux de croissance des données sources. Si les données sont lues de manière intensive et que les insertions sont rares, vous pouvez avoir un seul index. Si de nouveaux enregistrements sont insérés fréquemment et qu'il n'y a aucune suppression, la taille de la partition peut facilement dépasser la taille maximale recommandée de 50 Go. Dans ce cas, vous pouvez créer un index de manière dynamique en configurant des modèles d'index dans Logstash et dans le code auquel vous pouvez accéder à l'aide d'un alias. | Propriétaire de l'application, développeur | 
| Déterminez le nombre de répliques nécessaires. |  | Propriétaire de l'application, développeur | 
| Déterminez le nombre de partitions à configurer sur l'index. |  | Propriétaire de l'application, développeur | 
| Identifiez les types d'instances pour les nœuds maîtres dédiés, les nœuds de données et l' EC2 instance. | Pour plus d'informations, consultez la section [Ressources connexes](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). | Propriétaire de l'application, développeur | 
| Déterminez le nombre de nœuds maîtres et de nœuds de données dédiés requis. | Pour plus d'informations, consultez la section [Ressources connexes](#migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources). |  | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Lancez une EC2 instance. | Lancez une EC2 instance au sein du VPC auquel le VPN AWS est connecté. | Constructions Amazon VPC, AWS VPN | 
| Installez Logstash sur l'instance. EC2  |  | Developer | 
| Installez les plugins Logstash. | Installez les plugins `jdbc-input` Logstash requis et. ` logstash-output-amazon_es` | Developer | 
| Configurez Logstash. | Créez le keystore Logstash pour stocker des informations sensibles telles que les clés AWS Secrets Manager et les informations d'identification de base de données, puis placez les références dans un fichier de configuration Logstash. | Developer | 
| Configurez la file d'attente des lettres mortes et la file d'attente persistante. | Par défaut, lorsque Logstash rencontre un événement qu'il ne peut pas traiter en raison d'une erreur de mappage ou d'un autre problème, le pipeline Logstash bloque ou supprime l'événement infructueux. Pour vous protéger contre la perte de données dans ce cas, vous pouvez configurer Logstash pour qu'il inscrive les événements infructueux dans une file d'attente lettre morte au lieu de les supprimer. Pour se protéger contre la perte de données lors d'une interruption anormale, Logstash dispose d'une fonction de file d'attente persistante qui permet de stocker la file de messages sur le disque. Les files d'attente persistantes garantissent la durabilité des données dans Logstash. | Developer | 
| Créez le domaine Amazon OpenSearch Service. | Créez le domaine Amazon OpenSearch Service avec une politique d'accès qui n'exige pas de signer les demandes avec les informations d'identification AWS Identity and Access Management (IAM). Le domaine Amazon OpenSearch Service doit être créé au sein du même VPC. Vous devez également sélectionner les types d'instances et définir le nombre de nœuds dédiés et maîtres en fonction de votre analyse. | Developer | 
| Configurez les journaux Amazon OpenSearch Service requis. | Pour plus d'informations, consultez la [documentation du OpenSearch service](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html). |  | 
| Créez l'index. |  | Developer | 
| Lancez Logstash. | Exécutez Logstash en tant que service d'arrière-plan. Logstash exécute la requête SQL configurée, extrait les données, les convertit au format JSON et les transmet au OpenSearch Service. Pour le chargement initial, ne configurez pas le planificateur dans le fichier de configuration de Logstash. | Developer | 
| Vérifiez les documents. | Vérifiez le nombre de documents figurant dans l'index et vérifiez si tous les documents sont présents dans la base de données source. Lors du chargement initial, ils sont ajoutés à l'index et utilisés pour arrêter Logstash. Modifiez la configuration de Logstash pour ajouter un planificateur qui s'exécute à intervalles fixes en fonction des besoins du client, puis redémarrez Logstash. Logstash sélectionne uniquement les enregistrements qui ont été mis à jour ou ajoutés après la dernière exécution, et l'horodatage de la dernière exécution est stocké dans le fichier configuré avec la propriété `last_run_metadata_path => "/usr/share/logstash/.logstash_jdbc_last_run"` du fichier de configuration Logstash. | Developer | 

## Ressources connexes
<a name="migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash-resources"></a>
+ [ CloudWatch Alarmes recommandées](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/cloudwatch-alarms.html) 
+ [Nœuds OpenSearch principaux Amazon Service dédiés](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-managedomains-dedicatedmasternodes.html) 
+ [Dimensionnement des domaines Amazon OpenSearch Service](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/sizing-domains.html) 
+ [Documentation de Logstash](https://www.elastic.co/guide/en/logstash/current/getting-started-with-logstash.html) 
+ [Plug-in d'entrée JDBC](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html)
+ [Plug-in de sortie Logstash](https://github.com/awslabs/logstash-output-amazon_es)
+ [Site Web Amazon OpenSearch Service](https://aws.amazon.com/elasticsearch-service/) 

# Migrer une base de données Oracle sur site vers Amazon RDS for Oracle
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle"></a>

*Baji Shaik et Pavan Pusuluri, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-summary"></a>

Ce modèle décrit les étapes de migration des bases de données Oracle locales vers Amazon Relational Database Service (Amazon RDS) pour Oracle. Dans le cadre du processus de migration, vous créez un plan de migration et vous tenez compte des facteurs importants concernant votre infrastructure de base de données cible en fonction de votre base de données source. Vous pouvez choisir l'une des deux options de migration en fonction des besoins de votre entreprise et de votre cas d'utilisation :
+ AWS Database Migration Service (AWS DMS) : vous pouvez utiliser AWS DMS pour migrer des bases de données vers le cloud AWS rapidement et en toute sécurité. Votre base de données source reste pleinement opérationnelle pendant la migration, ce qui minimise les interruptions de service pour les applications qui dépendent de la base de données. Vous pouvez réduire le temps de migration en utilisant AWS DMS pour créer une tâche qui capture les modifications en cours après avoir effectué une migration initiale complète via un processus appelé [capture des données de modification (CDC)](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Task.CDC.html). 
+ Outils Oracle natifs : vous pouvez migrer des bases de données à l'aide d'outils Oracle natifs, tels qu'Oracle et [Data Pump Export](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_export.htm#SUTIL200) et [Data Pump Import](https://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL300) with [Oracle GoldenGate](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) for CDC. Vous pouvez également utiliser des outils Oracle natifs tels que l'utilitaire d'[exportation et l'utilitaire](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_export.htm#SUTIL3634) d'[importation d'](https://docs.oracle.com/cd/E11882_01/server.112/e22490/original_import.htm#SUTIL001)origine pour réduire le temps de chargement complet.

## Conditions préalables et limitations
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données Oracle sur site
+ Une instance de base de données Oracle (DB) Amazon RDS

**Limites**
+ Limite de taille de base de données : 64 To

**Versions du produit**
+ Versions Oracle 11g (versions 11.2.0.3.v1 et ultérieures) et versions 12.2 et 18c supérieures. Pour obtenir la dernière liste des versions et éditions prises en charge, consultez [Amazon RDS for](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle dans la documentation AWS. Pour les versions d'Oracle prises en charge par AWS DMS, consultez la section [Utilisation d'une base de données Oracle comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) dans la documentation AWS DMS.

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-architecture"></a>

**Pile technologique source**
+ Bases de données Oracle sur site

**Pile technologique cible**
+ Amazon RDS for Oracle

**Architecture source et cible**

Le schéma suivant montre comment migrer une base de données Oracle sur site vers Amazon RDS for Oracle à l'aide d'AWS DMS.

![\[Flux de travail pour la migration des bases de données Oracle vers Amazon RDS for Oracle à l'aide d'AWS DMS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/20f94a5c-1095-4182-b964-c379414c9a36.png)


Le schéma suivant illustre le flux de travail suivant :

1. [Créez ou utilisez un utilisateur de base de données existant, accordez les [autorisations AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed) requises à cet utilisateur, activez le [mode ARCHIVELOG](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.ArchiveLogMode), puis configurez une journalisation supplémentaire.](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed.Configuration.SupplementalLogging)

1. Configurez la passerelle Internet entre le réseau sur site et le réseau AWS.

1. Configurez les [points de terminaison source et cible](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Endpoints.Creating.html) pour AWS DMS.

1. Configurez les [tâches de réplication AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Tasks.html) pour migrer les données de la base de données source vers la base de données cible.

1. Effectuez les activités de post-migration sur la base de données cible.

Le schéma suivant montre comment migrer une base de données Oracle sur site vers Amazon RDS for Oracle à l'aide d'outils Oracle natifs.

![\[Flux de travail pour la migration des bases de données Oracle vers Amazon RDS for Oracle à l'aide des outils Oracle.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/25912997-0ac0-4303-9ce5-0621a7e12406/images/af8e0e1a-d4c8-4d99-9780-3e093ad9a257.png)


Le schéma suivant illustre le flux de travail suivant :

1. Créez ou utilisez un utilisateur de base de données existant et accordez les autorisations requises pour sauvegarder la base de données Oracle à l'aide des utilitaires Oracle Export (`exp`) et Import (`imp`).

1. Configurez la passerelle Internet entre le réseau sur site et le réseau AWS.

1. Configurez le client Oracle sur l'hôte [Bastion](https://www.oracle.com/security/cloud-security/bastion/) pour qu'il prenne en charge la base de données de sauvegarde.

1. Chargez la base de données de sauvegarde dans un compartiment Amazon Simple Storage Service (Amazon S3).

1. Restaurez la sauvegarde de base de données depuis Amazon S3 vers une base de données Amazon RDS for Oracle.

1. Configurez Oracle GoldenGate pour CDC.

1. Effectuez les activités de post-migration sur la base de données cible.

## Outils
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site.
+ Les outils Oracle natifs vous aident à effectuer une migration homogène. Vous pouvez utiliser [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) pour faire migrer les données entre vos bases de données source et cible. Ce modèle utilise Oracle Data Pump pour effectuer le chargement complet de la base de données source vers la base de données cible.
+ [Oracle](https://docs.oracle.com/goldengate/c1230/gg-winux/GGCON/introduction-oracle-goldengate.htm#GGCON-GUID-EF513E68-4237-4CB3-98B3-2E203A68CBD4) vous GoldenGate aide à effectuer une réplication logique entre deux bases de données ou plus. Ce modèle est utilisé GoldenGate pour reproduire les modifications du delta après le chargement initial à l'aide d'Oracle Data Pump.

## Épopées
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez des documents de projet et enregistrez les détails de la base de données. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 
| Identifiez les besoins en matière de stockage. | Identifiez et documentez vos besoins en matière de stockage, notamment les suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html)Pour les [volumes SSD à usage général (gp2)](https://aws.amazon.com/ebs/volume-types/), vous bénéficiez de trois IOPS pour 1 Go de stockage. Allouez le stockage en calculant le nombre total d'IOPS en lecture et en écriture sur la base de données source. | DBA, SysAdmin | 
| Choisissez le type d'instance approprié en fonction des exigences de calcul. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | SysAdmin | 
| Identifiez les exigences de sécurité de l'accès au réseau. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 
| Identifiez la stratégie de migration des applications. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, propriétaire de SysAdmin l'application | 
| Identifiez les risques liés à la migration. | Évaluez les risques et les mesures d'atténuation spécifiques à la migration des bases de données et des documents. Par exemple :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un VPC. | [Créez un nouvel Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/gsg_create_vpc.html) pour l'instance de base de données cible. | SysAdmin | 
| Créez des groupes de sécurité. | [Créez un groupe de sécurité](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/working-with-security-groups.html#creating-security-group) dans votre nouveau VPC pour autoriser les connexions entrantes vers l'instance de base de données. | SysAdmin | 
| Créez une instance de base de données Amazon RDS pour Oracle. | [Créez l'instance de base de données cible](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) avec le nouveau VPC et le nouveau groupe de sécurité, puis démarrez l'instance. | SysAdmin | 

### Option 1 : utiliser des outils natifs d'Oracle ou des outils tiers pour migrer les données
<a name="option-1---use-native-oracle-or-third-party-tools-to-migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez la base de données source. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 
| Préparez la base de données cible. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, SysAdmin | 

### Option 2 - Utiliser AWS DMS pour migrer les données
<a name="option-2---use-aws-dms-to-migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez les données. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 
| Migrez les données. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA | 

### Passez à la base de données cible
<a name="cut-over-to-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Basculez les clients de l'application vers la nouvelle infrastructure. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, propriétaire de SysAdmin l'application | 
| Mettez en œuvre votre plan de rollback. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.html) | DBA, propriétaire de l'application | 

### Clôturer le projet de migration
<a name="close-out-the-migration-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| nettoyer les ressources. | Arrêtez ou supprimez les ressources AWS temporaires, telles que l'instance de réplication AWS DMS et le compartiment S3. | DBA, SysAdmin | 
| Passez en revue les documents du projet. | Passez en revue vos documents et objectifs de planification de migration, puis confirmez que vous avez effectué toutes les étapes de migration requises. | DBA, propriétaire de SysAdmin l'application | 
| Collectez des statistiques. | Enregistrez les principaux indicateurs de migration, notamment le temps nécessaire pour terminer la migration, le pourcentage de tâches manuelles par rapport aux tâches basées sur des outils, les économies de coûts et les autres indicateurs pertinents. | DBA, propriétaire de SysAdmin l'application | 
| Clôturez le projet. | Clôturez le projet de migration et recueillez des commentaires sur les efforts déployés. | DBA, propriétaire de SysAdmin l'application | 

## Ressources connexes
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-resources"></a>

**Références**
+ [Migration de bases de données Oracle vers le cloud AWS](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-oracle-database/welcome.html) (AWS Prescriptive Guidance)
+ [Service de migration de base](https://aws.amazon.com/dms/) de données AWS (documentation AWS DMS)
+ [Tarification Amazon RDS](https://aws.amazon.com/rds/pricing/) (documentation Amazon RDS)

**Tutoriels et vidéos**
+ [Mise en route avec AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/) (documentation AWS DMS)
+ [Ressources Amazon RDS](https://aws.amazon.com/rds/getting-started/) (documentation Amazon RDS)
+ [Service de migration de base de données AWS (DMS) (YouTube)](https://www.youtube.com/watch?v=zb4GcjEdl8U)

# Migrer une base de données Oracle sur site vers Amazon RDS for Oracle à l'aide d'Oracle Data Pump
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump"></a>

*Mohan Annam et Brian Motzer, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-summary"></a>

Ce modèle décrit comment migrer une base de données Oracle d'un centre de données sur site vers une instance de base de données Amazon Relational Database Service (Amazon RDS) pour Oracle à l'aide d'Oracle Data Pump. 

Le modèle implique la création d'un fichier de vidage de données à partir de la base de données source, le stockage du fichier dans un bucket Amazon Simple Storage Service (Amazon S3), puis la restauration des données sur une instance de base de données Amazon RDS for Oracle. Ce modèle est utile lorsque vous rencontrez des difficultés lors de l'utilisation d'AWS Database Migration Service (AWS DMS) pour la migration. 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Les autorisations requises pour créer des rôles dans AWS Identity and Access Management (IAM) et pour un téléchargement partitionné sur Amazon S3
+ Les autorisations requises pour exporter des données depuis la base de données source
+ [Interface de ligne de commande (AWS CLI) (AWS CLI[)](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) installée et configurée](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)

**Versions du produit**
+ Oracle Data Pump est uniquement disponible pour Oracle Database 10g version 1 (10.1) et versions ultérieures.

## Architecture
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-architecture"></a>

**Pile technologique source**
+ Bases de données Oracle sur site

**Pile technologique cible**
+ Amazon RDS for Oracle
+ Client SQL (développeur Oracle SQL)
+ Compartiment S3

**Architecture source et cible**

![\[Chargement partitionné d'Amazon S3 depuis une base de données Oracle sur site vers Amazon RDS à l'aide d'Oracle Data Pump.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/d8d6e00f-753e-4ecc-80e5-e60e279a699b/images/1bb6095a-0a95-4469-be0e-7b7bd59b35ae.png)


## Outils
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-tools"></a>

**Services AWS**
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) vous aide à gérer en toute sécurité l'accès à vos ressources AWS en contrôlant qui est authentifié et autorisé à les utiliser. Dans ce modèle, IAM est utilisé pour créer les rôles et les politiques nécessaires à la migration des données d'Amazon S3 vers Amazon RDS for Oracle.
+ [Amazon Relational Database Service (Amazon RDS) pour](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html) Oracle vous aide à configurer, exploiter et dimensionner une base de données relationnelle Oracle dans le cloud AWS.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.

**Autres outils**
+ [Oracle Data Pump](https://docs.oracle.com/cd/B19306_01/server.102/b14215/dp_overview.htm) vous aide à déplacer des données et des métadonnées d'une base de données à une autre à grande vitesse. Dans ce modèle, Oracle Data Pump est utilisé pour exporter le fichier de vidage de données (.dmp) vers le serveur Oracle et pour l'importer dans Amazon RDS for Oracle. Pour plus d'informations, consultez la section [Importation de données dans Oracle sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3) dans la documentation Amazon RDS.
+ [Oracle SQL Developer](https://www.oracle.com/database/technologies/appdev/sqldeveloper-landing.html) est un environnement de développement intégré qui simplifie le développement et la gestion des bases de données Oracle dans les déploiements traditionnels et basés sur le cloud. Il interagit à la fois avec la base de données Oracle sur site et avec Amazon RDS for Oracle pour exécuter les commandes SQL nécessaires à l'exportation et à l'importation de données.

## Épopées
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-epics"></a>

### Création d’un compartiment S3
<a name="create-an-s3-bucket"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer le compartiment. | Pour créer le compartiment S3, suivez les instructions de la [documentation AWS](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | Administrateur système AWS | 

### Création du rôle IAM et attribution de politiques
<a name="create-the-iam-role-and-assign-policies"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez les autorisations IAM. | Pour configurer les autorisations, suivez les instructions de la [documentation AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing). | Administrateur système AWS | 

### Créez l'instance de base de données Amazon RDS for Oracle cible et associez le rôle d'intégration Amazon S3
<a name="create-the-target-amazon-rds-for-oracle-db-instance-and-associate-the-amazon-s3-integration-role"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'instance de base de données Amazon RDS for Oracle cible. | Pour créer l'instance Amazon RDS for Oracle, suivez les instructions de la documentation [AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html). | Administrateur système AWS | 
| Associez le rôle à l'instance de base de données. | Pour associer le rôle à l'instance, suivez les instructions de la [documentation AWS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing.instance). | DBA | 

### Création de l'utilisateur de base de données sur la base de données cible
<a name="create-the-database-user-on-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l’utilisateur. | Connectez-vous à la base de données Amazon RDS for Oracle cible depuis Oracle SQL Developer ou SQL\$1Plus, puis exécutez la commande SQL suivante pour créer l'utilisateur dans lequel importer le schéma.<pre>create user SAMPLE_SCHEMA identified by <PASSWORD>;<br />grant create session, resource to <USER NAME>;<br />alter user <USER NAME> quota 100M on users;</pre> | DBA | 

### Créez le fichier d'exportation à partir de la base de données Oracle source
<a name="create-the-export-file-from-the-source-oracle-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un fichier de vidage de données. | Pour créer un fichier de vidage nommé `sample.dmp` dans le `DATA_PUMP_DIR` répertoire d'exportation de l'`SAMPLE_SCHEMA`utilisateur, utilisez le script suivant.<pre>DECLARE<br />    hdnl NUMBER;<br />BEGIN<br />    hdnl := dbms_datapump.open(operation => 'EXPORT', <br />                                job_mode => 'SCHEMA', <br />                                job_name => NULL);<br /><br />    dbms_datapump.add_file( handle => hdnl, <br />                            filename => 'sample.dmp', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />    dbms_datapump.add_file(handle => hdnl, <br />                            filename => 'export.log', <br />                            directory => 'DATA_PUMP_DIR', <br />                            filetype => dbms_datapump.ku$_file_type_log_file);<br /><br />    dbms_datapump.metadata_filter(hdnl, 'SCHEMA_EXPR', 'IN (''SAMPLE_SCHEMA'')');  <br /><br />    dbms_datapump.start_job(hdnl);<br />END;<br />/</pre>Vérifiez les détails de l'exportation en consultant le `export.log` fichier dans votre `DATA_PUMP_DIR` répertoire local.  | DBA | 

### Téléchargez le fichier de vidage dans le compartiment S3
<a name="upload-the-dump-file-to-the-s3-bucket"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez le fichier de vidage de données de la source vers le compartiment S3. | À l'aide de l'AWS CLI, exécutez la commande suivante.<pre>aws s3 cp sample.dmp s3://<bucket_created_epic_1>/</pre> | DBA | 

### Téléchargez le fichier d'exportation depuis le compartiment S3 vers l'instance RDS
<a name="download-the-export-file-from-the-s3-bucket-to-the-rds-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez le fichier de vidage de données sur Amazon RDS | Pour copier le fichier `sample.dmp` de vidage du compartiment S3 vers la base de données Amazon RDS for Oracle, exécutez la commande SQL suivante. Dans cet exemple, le `sample.dmp` fichier est téléchargé depuis le compartiment S3 `my-s3-integration1` vers le répertoire Oracle`DATA_PUMP_DIR`. Assurez-vous que l'espace disque alloué à votre instance RDS est suffisant pour accueillir à la fois la base de données et le fichier d'exportation.<pre>-- If you want to download all the files in the S3 bucket remove the p_s3_prefix line.<br /><br />SELECT rdsadmin.rdsadmin_s3_tasks.download_from_s3(<br />      p_bucket_name    =>  'my-s3-integration',    <br />      p_s3_prefix => 'sample.dmp',<br />      p_directory_name =>  'DATA_PUMP_DIR') <br />   AS TASK_ID FROM DUAL;</pre>La commande précédente génère un identifiant de tâche. Pour vérifier l'état du téléchargement en consultant les données contenues dans l'ID de tâche, exécutez la commande suivante.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','dbtask-<task_id>.log'));<br /><br /></pre>Pour voir les fichiers du `DATA_PUMP_DIR` répertoire, exécutez la commande suivante.<pre>SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp<br />FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre> | Administrateur système AWS | 

### Importez le fichier de vidage dans la base de données cible
<a name="import-the-dump-file-into-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Restaurez le schéma et les données sur Amazon RDS. | Pour importer le fichier de vidage dans le schéma `sample_schema` de base de données, exécutez la commande SQL suivante depuis SQL Developer ou SQL\$1Plus.<pre>DECLARE<br />hdnl NUMBER;<br />BEGIN<br /><br />hdnl := DBMS_DATAPUMP.OPEN( operation => 'IMPORT', job_mode => 'SCHEMA', job_name=>null);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle => hdnl, filename => 'sample.dmp', directory => 'DATA_PUMP_DIR', filetype => dbms_datapump.ku$_file_type_dump_file);<br /><br />DBMS_DATAPUMP.ADD_FILE( handle    => hdnl, filename  => 'import.log', directory => 'DATA_PUMP_DIR', filetype  => dbms_datapump.ku$_file_type_log_file);<br /><br />DBMS_DATAPUMP.METADATA_FILTER(hdnl,'SCHEMA_EXPR','IN (''SAMPLE_SCHEMA'')');<br /><br />DBMS_DATAPUMP.START_JOB(hdnl);<br /><br />END;<br />/</pre>Pour consulter le fichier journal de l'importation, exécutez la commande suivante.<pre>SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('DATA_PUMP_DIR','import.log'));</pre> | DBA | 

### Supprimez le fichier de vidage du répertoire DATA\$1PUMP\$1DIR
<a name="remove-the-dump-file-from-the-data_pump_dir-directory"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Répertoriez et nettoyez les fichiers d'exportation. | Répertoriez et supprimez les fichiers d'exportation dans le `DATA_PUMP_DIR` répertoire, exécutez les commandes suivantes.<pre>-- List the files<br />SELECT filename,type,filesize/1024/1024 size_megs,to_char(mtime,'DD-MON-YY HH24:MI:SS') timestamp FROM TABLE(rdsadmin.rds_file_util.listdir(p_directory => upper('DATA_PUMP_DIR'))) order by 4;</pre><pre>-- Remove the files<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','sample.dmp');<br />EXEC UTL_FILE.FREMOVE('DATA_PUMP_DIR','import.log');</pre> | Administrateur système AWS | 

## Ressources connexes
<a name="migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump-resources"></a>
+ [Intégration avec Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/oracle-s3-integration.html#oracle-s3-integration.preparing)
+ [Création d'une instance de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Tutorials.WebServerDB.CreateDBInstance.html)
+ [Importation de données dans Oracle sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.html#Oracle.Procedural.Importing.DataPump.S3)
+ [Documentation Amazon S3](https://docs.aws.amazon.com/s3/index.html)
+ [Documentation IAM](https://docs.aws.amazon.com/iam/index.html)
+ [Documentation Amazon RDS](https://docs.aws.amazon.com/rds/index.html)
+ [Documentation Oracle Data Pump](https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/oracle-data-pump-overview.html)
+ [Oracle SQL Developer](https://www.oracle.com/database/sqldeveloper/)

# Migrez de PostgreSQL sur EC2 Amazon vers Amazon RDS pour PostgreSQL à l'aide de pglogical
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical"></a>

*Rajesh Madiwale, Amazon Web Services*

## Résumé
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-summary"></a>

**Ce modèle décrit les étapes de migration d'une base de données PostgreSQL (version 9.5 et ultérieure) d'Amazon Elastic Compute Cloud (Amazon) vers Amazon Relational Database Service ( EC2Amazon RDS) pour PostgreSQL à l'aide de l'extension pglogical PostgreSQL.** Amazon RDS prend désormais en charge l'extension pglogical pour PostgreSQL version 10.

## Conditions préalables et limitations
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-prereqs"></a>

**Prérequis**
+ Choisissez le bon type d'instance Amazon RDS. Pour plus d'informations, consultez la section [Types d'instances Amazon RDS](https://aws.amazon.com/rds/instance-types/). 
+ Assurez-vous que les versions source et cible de PostgreSQL sont identiques.   
+ Installez et intégrez l'[extension **pglogical** à PostgreSQL](https://github.com/2ndQuadrant/pglogical) sur Amazon. EC2 

**Versions du produit**
+ PostgreSQL version 10 et versions ultérieures sur Amazon RDS, avec les fonctionnalités prises en charge par Amazon RDS (voir [PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts) sur Amazon RDS dans la documentation AWS). Ce modèle a été testé lors de la migration de PostgreSQL 9.5 vers PostgreSQL version 10 sur Amazon RDS, mais il s'applique également aux versions ultérieures de PostgreSQL sur Amazon RDS. 

## Architecture
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-architecture"></a>

**Architecture de migration des données**

![\[Architecture de migration de données pour PostgreSQL sur Amazon RDS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/29af3931-48de-499f-9c4b-e10a98e4bba5/images/5f5b906f-dc1a-49a5-ae3f-3e10ae854784.png)


## Outils
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-tools"></a>
+ [https://github.com/2ndQuadrant/pglogical](https://github.com/2ndQuadrant/pglogical)
+ [https://www.postgresql.org/docs/9.5/app-pgdump.html](https://www.postgresql.org/docs/9.5/app-pgdump.html)

## Épopées
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-epics"></a>

### Migrer les données à l'aide de l'extension pglogical
<a name="migrate-data-by-using-the-pglogical-extension"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de base de données Amazon RDS PostgreSQL. | Configurez une instance de base de données PostgreSQL dans Amazon RDS. Pour obtenir des instructions, consultez la [documentation Amazon RDS for PostgreSQL.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.PostgreSQL.html) | DBA | 
| Obtenez un dump de schéma à partir de la base de données PostgreSQL source et restaurez-le dans la base de données PostgreSQL cible. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | DBA | 
| Activez le décodage logique. | Dans le groupe de paramètres de base de données Amazon RDS, définissez le paramètre `rds.logical_replication` statique sur 1. Pour obtenir des instructions, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalDecoding) | DBA | 
| Créez l'extension pglogical sur les bases de données source et cible. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.html) | DBA | 
| Créez un éditeur sur la base de données PostgreSQL source. | Pour créer un éditeur, exécutez :<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.create_node( node_name := 'provider1', dsn := 'host=<ec2-endpoint> port=5432 dbname=source-dbname user=source-dbuser' );<br />EOF</pre> | DBA | 
| Créez un ensemble de réplication, ajoutez des tables et des séquences. | Pour créer un jeu de réplication dans la base de données PostgreSQL source et pour ajouter des tables et des séquences au jeu de réplication, exécutez :<pre>psql -d dbname -p 5432 <<EOF<br />SELECT pglogical.replication_set_add_all_tables('default', '{public}'::text[],synchronize_data := true);<br />EOF</pre> | DBA | 
| Créez un abonné. | Pour créer un abonné sur la base de données PostgreSQL cible, exécutez :<pre>psql -h <rds-endpoint> -d target-dbname -U target-dbuser  <<EOF<br />SELECT pglogical.create_node(<br />    node_name := 'subscriber1',<br />    dsn := 'host=<rds-endpoint> port=5432 dbname=target-dbname password=postgres user=target-dbuser'<br />);<br />EOF</pre> | DBA | 
| Créez un abonnement. | Pour créer un abonnement sur la base de données PostgreSQL cible, exécutez :<pre>psql -h <rds-endpoint> -d target -U postgres  <<EOF<br />SELECT pglogical.create_subscription(<br /> subscription_name := 'subscription1',<br /> replication_sets := array['default'],<br />    provider_dsn := 'host=<ec2-endpoint> port=5432 dbname=<source-dbname> password=<password> user=source-dbuser'<br />);</pre> | DBA | 

### Validez vos données
<a name="validate-your-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Vérifiez les bases de données source et cible. | Vérifiez les bases de données source et cible pour vous assurer que les données sont correctement répliquées. Vous pouvez effectuer une validation `select count(1)` de base en utilisant les tables source et cible. | DBA | 

## Ressources connexes
<a name="migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical-resources"></a>
+ [Amazon RDS](https://aws.amazon.com/rds/)
+ [Réplication logique pour PostgreSQL sur Amazon RDS (documentation Amazon](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_PostgreSQL.html#PostgreSQL.Concepts.General.FeatureSupport.LogicalReplication) RDS)
+ [pglogical](https://github.com/2ndQuadrant/pglogical) (GitHub dépôt)
+ [Limites de pglogical](https://github.com/2ndQuadrant/pglogical#limitations-and-restrictions) (fichier README GitHub du dépôt)
+ [Migration de PostgreSQL sur site ou d'Amazon vers Amazon RDS EC2 à l'aide de la réplication logique (blog de base de données AWS](https://aws.amazon.com/blogs/database/migrating-postgresql-from-on-premises-or-amazon-ec2-to-amazon-rds-using-logical-replication/))

# Migrer une base de données PostgreSQL locale vers Aurora PostgreSQL
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql"></a>

*Baji Shaik et Jitender Kumar, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-summary"></a>

L'édition compatible avec Amazon Aurora PostgreSQL associe les performances et la disponibilité des bases de données commerciales haut de gamme à la simplicité et à la rentabilité des bases de données open source. Aurora offre ces avantages en étendant le stockage sur trois zones de disponibilité dans la même région AWS et en prenant en charge jusqu'à 15 instances de réplication en lecture pour augmenter les charges de travail de lecture et fournir une haute disponibilité au sein d'une même région. En utilisant une base de données globale Aurora, vous pouvez répliquer des bases de données PostgreSQL dans un maximum de cinq régions pour un accès en lecture à distance et une reprise après sinistre en cas de défaillance d'une région. Ce modèle décrit les étapes de migration d'une base de données source PostgreSQL locale vers une base de données compatible Aurora PostgreSQL. [Le modèle inclut deux options de migration : à l'aide d'AWS Data Migration Service (AWS DMS) ou à l'aide d'outils PostgreSQL natifs ([tels que](https://www.postgresql.org/docs/current/app-pgdump.html) pg\$1dump[,](https://www.postgresql.org/docs/current/app-pgrestore.html) pg\$1restore et psql) ou d'outils tiers.](https://www.postgresql.org/docs/current/app-psql.html) 

Les étapes décrites dans ce modèle s'appliquent également aux bases de données PostgreSQL cibles sur les instances Amazon Relational Database Service (Amazon RDS) et Amazon Elastic Compute Cloud (Amazon). EC2

## Conditions préalables et limitations
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données source PostgreSQL dans un centre de données sur site
+ [Une instance de base de données compatible avec Aurora PostgreSQL ou une instance](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.AuroraPostgreSQL.html) de base de données Amazon RDS [for PostgreSQL](https://aws.amazon.com/getting-started/hands-on/create-connect-postgresql-db/)

**Limites**
+ Les limites de taille des bases de données sont de 64 To pour Amazon RDS pour PostgreSQL et de 128 To pour les bases de données compatibles avec Aurora PostgreSQL.
+ Si vous utilisez l'option de migration AWS DMS, consultez les [limites d'AWS DMS relatives à l'utilisation d'une base de données PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html#CHAP_Source.PostgreSQL.Limitations) comme source.

**Versions du produit**
+ Pour la prise en charge des versions majeures et mineures de PostgreSQL dans Amazon RDS, consultez les mises à jour d'Amazon RDS [for PostgreSQL dans la documentation Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html).
+ Pour la prise en charge de PostgreSQL dans Aurora, consultez les mises à jour d'[Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraPostgreSQLReleaseNotes/AuroraPostgreSQL.Updates.html) dans la documentation Aurora.
+ Si vous utilisez l'option de migration AWS DMS, consultez les [versions de PostgreSQL prises en charge dans la documentation](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html) AWS DMS.

## Architecture
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-architecture"></a>

**Pile technologique source**
+ Base de données PostgreSQL locale

**Pile technologique cible**
+ Instance de base de données compatible avec Aurora PostgreSQL

**Architecture de la source**

![\[Architecture source pour la base de données PostgreSQL locale\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/a8621ad3-781b-45a9-86a8-d0b0ec5c79ea.png)


**Architecture cible**

![\[Architecture cible pour la base de données PostgreSQL sur Amazon Aurora\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/fc2ec0cb-7b9b-4cc0-b70c-40e47c2f4c45.png)


**Architecture de migration des données**

*Utilisation d'AWS DMS*

![\[Migration d'une base de données PostgreSQL locale vers Aurora à l'aide d'AWS DMS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/5336adb4-e9eb-47d0-a5b5-d149261b1638.png)


*Utilisation des outils PostgreSQL natifs*

![\[Migration d'une base de données PostgreSQL locale vers Aurora à l'aide de pg_dump et pg_restore\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/82114165-8102-44a2-8b12-485ac9eb8989/images/3c6fb533-45ff-443e-bfb1-97e60cbdd583.png)


## Outils
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) vous aide à migrer des magasins de données vers le cloud AWS ou entre des combinaisons de configurations cloud et sur site. Ce service prend en charge différentes sources et bases de données cibles. Pour plus d'informations sur la façon de valider les versions et éditions des bases de données source et cible PostgreSQL prises en charge pour une utilisation avec AWS DMS, consultez la section [Utilisation d'une base de données PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html) comme source AWS DMS. Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités.
+ [https://www.postgresql.org/docs/current/app-pgrestore.html](https://www.postgresql.org/docs/current/app-pgrestore.html)

## Épopées
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-epics"></a>

### Analyser la migration
<a name="analyze-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions de base de données source et cible. | Si vous utilisez AWS DMS, assurez-vous que vous utilisez une [version compatible de PostgreSQL](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html).  | DBA | 
| Identifiez le type de stockage et les exigences en matière de capacité. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, administrateur système | 
| Choisissez le type d'instance, la capacité, les fonctionnalités de stockage et les fonctionnalités réseau appropriés. | Déterminez les exigences de calcul de l'instance de base de données cible. Passez en revue les problèmes de performances connus susceptibles de nécessiter une attention supplémentaire. Tenez compte des facteurs suivants pour déterminer le type d'instance approprié :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Pour plus d'informations, consultez les [classes d'instance de base de données Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Concepts.DBInstanceClass.html) dans la documentation Aurora. | DBA, administrateur système | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. | Déterminez les groupes de sécurité appropriés qui permettraient à l'application de communiquer avec la base de données. | DBA, administrateur système | 
| Identifiez la stratégie de migration des applications. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, propriétaire de l'application, administrateur système | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un VPC. | Créez un nouveau cloud privé virtuel (VPC) pour l'instance de base de données cible. | Administrateur de systèmes | 
| Créez des groupes de sécurité. | Créez un groupe de sécurité au sein du VPC (comme indiqué dans l'épopée précédente) pour autoriser les connexions entrantes à l'instance de base de données.  | Administrateur de systèmes | 
| Configurez et démarrez le cluster de base de données Aurora. | Créez l'instance de base de données cible avec le nouveau VPC et le nouveau groupe de sécurité, puis démarrez l'instance. | Administrateur de systèmes | 

### Migrer les données ‒ option 1 (à l'aide d'AWS DMS)
<a name="migrate-data-option-1-using-aws-dms"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Effectuez les étapes préalables à la migration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 
| Terminez les étapes de migration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 
| Validez les données. | Pour vous assurer que vos données ont été migrées correctement de la source vers la cible, suivez les [étapes de validation des données décrites](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html) dans la documentation AWS DMS. | DBA | 

### Migrer les données ‒ option 2 (en utilisant pg\$1dump et pg\$1restore)
<a name="migrate-data-option-2-using-pg_dump-and-pg_restore"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez la base de données source. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Pour plus d'informations, consultez la documentation [pg\$1dump](https://www.postgresql.org/docs/current/app-pgdump.html) et la [procédure pas à pas dans](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html) la documentation AWS DMS. | DBA | 
| Préparez la base de données cible. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html)Pour plus d'informations, consultez la documentation [pg\$1restore](https://www.postgresql.org/docs/current/app-pgrestore.html) et la [procédure pas à pas dans](https://docs.aws.amazon.com/dms/latest/sbs/chap-manageddatabases.postgresql-rds-postgresql-full-load-pd_dump.html) la documentation AWS DMS. | DBA | 
| Validez les données. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de migration des applications. | Mettez en œuvre la stratégie de migration des applications que vous avez créée dans le premier épisode épique. | DBA, propriétaire de l'application, administrateur système | 

### Passez à la base de données cible
<a name="cut-over-to-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Basculez les clients de l'application vers la nouvelle infrastructure. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, propriétaire de l'application, administrateur système | 
| Si vous devez annuler la migration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-postgresql-database-to-aurora-postgresql.html) | DBA, propriétaire de l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources. | Arrêtez les ressources AWS temporaires. | DBA, administrateur système | 
| Validez les documents. | Passez en revue et validez les documents du projet. | DBA, propriétaire de l'application, administrateur système | 
| Collectez des statistiques. | Collectez des indicateurs concernant le délai de migration, le pourcentage d'économies réalisées manuellement par rapport aux coûts liés aux outils, etc. | DBA, propriétaire de l'application, administrateur système | 
| Fermez le projet. | Clôturez le projet et faites part de vos commentaires. | DBA, propriétaire de l'application, administrateur système | 

## Ressources connexes
<a name="migrate-an-on-premises-postgresql-database-to-aurora-postgresql-resources"></a>

**Références**
+ [Service de migration de données AWS](https://aws.amazon.com/dms/)
+ [VPCs et Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.html)
+ [Tarification d’Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Utilisation d'une base de données PostgreSQL comme source AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.PostgreSQL.html)
+ [Comment créer une instance de réplication AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/create-aws-dms-replication-instance/)
+ [Comment créer des points de terminaison source et cible à l'aide d'AWS DMS](https://aws.amazon.com/premiumsupport/knowledge-center/create-source-target-endpoints-aws-dms/)

**Ressources supplémentaires**
+ [Commencer à utiliser AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Tutoriels sur la migration des step-by-step données](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html)
+ [Ressources Amazon Aurora](https://aws.amazon.com/rds/aurora/getting-started/)

# Migrer une base de données Microsoft SQL Server sur site vers Microsoft SQL Server sur Amazon EC2 exécutant Linux
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux"></a>

*Tirumala Dasari, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-summary"></a>

Ce modèle décrit comment migrer d'une base de données Microsoft SQL Server sur site exécutée sous Microsoft Windows vers Microsoft SQL Server sur une instance Linux Amazon Elastic Compute Cloud (Amazon EC2) à l'aide d'utilitaires de sauvegarde et de restauration.

## Conditions préalables et limitations
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ AMI Amazon EC2 Linux (Amazon Machine Image) avec Microsoft SQL Server
+ AWS Direct Connect entre Windows sur site et Microsoft SQL Server sur l'instance Linux EC2 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-architecture"></a>

**Pile technologique source**
+ Base de données Microsoft SQL Server locale

**Pile technologique cible**
+  EC2 Instance Linux avec une base de données Microsoft SQL Server

**Architecture de migration de base de données**

![\[Schéma d'architecture permettant de migrer une base de données SQL Server locale vers une EC2 instance Linux.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f331ad15-2d41-4087-a6d1-60e3443e2acf/images/f50a779a-ce5d-44b1-8d37-dedd6400a12c.png)


## Outils
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-tools"></a>
+ **WinSCP** - Cet outil permet aux utilisateurs de Windows de partager facilement des fichiers avec des utilisateurs de Linux.
+ **Sqlcmd** - Cet utilitaire de ligne de commande vous permet d'envoyer des instructions ou des lots T-SQL à des instances locales et distantes de SQL Server. Cet utilitaire est extrêmement utile pour les tâches de base de données répétitives telles que le traitement par lots ou les tests unitaires.

## Épopées
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-epics"></a>

### Préparation de l'instance EC2 Linux avec SQL Server
<a name="prepare-the-ec2-linux-instance-with-sql-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Sélectionnez une AMI qui fournit le système d'exploitation Linux et inclut Microsoft SQL Server. |  | Administrateur système | 
| Configurez l'AMI pour créer une EC2 instance. |  | Administrateur système | 
| Créez des règles entrantes et sortantes pour les groupes de sécurité. |  | Administrateur système | 
| Configurez l' EC2 instance Linux pour une base de données Microsoft SQL Server. |  | DBA | 
| Créez des utilisateurs et accordez des autorisations comme dans la base de données source. |  | Propriétaire, DBA | 
| Installez les outils SQL Server et l'utilitaire sqlcmd sur l'instance Linux. EC2  |  | DBA | 

### Sauvegardez la base de données et déplacez le fichier de sauvegarde vers une EC2 instance Linux
<a name="back-up-the-database-and-move-backup-file-to-linux-ec2-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Sauvegardez la base de données SQL Server locale. |  | DBA | 
| Installez WinSCP sur Microsoft SQL Server. |  | DBA | 
| Déplacez le fichier de sauvegarde vers l' EC2 instance Linux exécutant Microsoft SQL Server. |  | DBA | 

### Restaurez la base de données sur une EC2 instance Linux exécutant SQL Server
<a name="restore-the-database-on-linux-ec2-instance-running-sql-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Restaurez la base de données à partir du fichier de sauvegarde de la base de données à l'aide de l'utilitaire sqlcmd. |  | DBA | 
| Validez les objets et les données de base de données. |  | Développeur, ingénieur de test | 

### Passer de Windows SQL Server à une EC2 instance Windows SQL Server sur Linux
<a name="cut-over-from-windows-sql-server-to-windows-sql-server-on-linux-ec2-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les objets et les données de base de données. |  | Développeur, ingénieur de test | 
| Passez de la base de données Microsoft SQL Server locale à l' EC2 instance Linux exécutant Microsoft SQL Server. |  | DBA | 

## Ressources connexes
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux-resources"></a>
+ [Comment configurer SQL Server 2017 sur Amazon Linux et Ubuntu AMIs](https://aws.amazon.com/blogs/database/configuring-sql-server-2017-on-amazon-linux-2-and-ubuntu-amis/) 
+ [Installation d'outils SQL sur une instance Linux](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools?view=sql-server-2017#RHEL) 
+ [Backup et restauration depuis une base de données Microsoft SQL Server locale vers Microsoft SQL Server sur une instance Linux EC2 ](https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-migrate-restore-database?view=sql-server-2017#create-a-backup-on-windows) 

# Migrer une base de données Microsoft SQL Server locale vers Amazon RDS for SQL Server à l'aide de serveurs liés
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers"></a>

*Kevin Yung, Viqash Adwani et Vishal Singh, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-summary"></a>

Les serveurs liés permettent à Microsoft SQL Server d'exécuter des instructions SQL sur d'autres instances de serveurs de base de données. Ce modèle décrit comment vous pouvez migrer votre base de données Microsoft SQL Server locale vers Amazon Relational Database Service (Amazon RDS) pour Microsoft SQL Server afin de réduire les coûts et d'augmenter la disponibilité. Actuellement, Amazon RDS pour Microsoft SQL Server ne prend pas en charge les connexions en dehors d'un réseau Amazon Virtual Private Cloud (Amazon VPC). 

Vous pouvez utiliser ce modèle pour atteindre les objectifs suivants :
+ Pour migrer Microsoft SQL Server vers Amazon RDS pour Microsoft SQL Server sans interrompre les fonctionnalités du serveur lié.
+ Prioriser et migrer Microsoft SQL Server lié en différentes vagues.

## Conditions préalables et limitations
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-prerequisites-and-limitations"></a>

**Conditions préalables**
+ Vérifiez si [Microsoft SQL Server sur Amazon RDS prend en charge les](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) fonctionnalités dont vous avez besoin. 
+ Assurez-vous que vous pouvez utiliser [Amazon RDS pour Microsoft SQL Server avec des classements par défaut ou des classements définis par rapport aux niveaux de base de données](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html). 

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-architecture"></a>

**Pile technologique source**
+ Bases de données locales (Microsoft SQL Server)

 **Pile technologique cible**
+ Amazon RDS for SQL Server

**Architecture de l'état source**

![\[Diagram showing data replication between two data centers with primary and secondary SQL servers.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/776b453a-7fa0-43fd-b1ca-fb9e5cc21820.png)


 

 

 

 

 

 

 

 

 

 

 

 

**Architecture de l'état cible**

Dans l'état cible, vous migrez Microsoft SQL Server vers Amazon RDS for Microsoft SQL Server à l'aide de serveurs liés. Cette architecture utilise un Network Load Balancer pour transférer le trafic d'Amazon RDS pour Microsoft SQL Server vers des serveurs sur site exécutant Microsoft SQL Server. Le schéma suivant montre la fonctionnalité de proxy inverse pour le Network Load Balancer.

![\[AWS Cloud architecture with RDS SQL Server instances in two availability zones and on-premises databases.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/95234758-cb8b-46e5-afd2-3d4aaf6ed668/images/6bdbdfbf-b048-4fbd-acef-0aeb826edb50.png)


 

## Outils
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-tools"></a>
+ AWS CloudFormation
+ Network Load Balancer 
+ Amazon RDS pour SQL Server dans plusieurs zones de disponibilité (AZsmulti-zones)
+ Service de migration de base de données AWS (AWS DMS) 

## Épopées
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-epics"></a>

### Création d'une zone d'atterrissage (VPC)
<a name="create-a-landing-zone-vpc"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez l'allocation CIDR. |  | AWS SysAdmin | 
| Créer un cloud privé virtuel (VPC) |  | AWS SysAdmin | 
| Créez les sous-réseaux VPC. |  | AWS SysAdmin | 
| Créez les listes de contrôle d'accès aux sous-réseaux (ACLs). |  | AWS SysAdmin | 
| Créez les tables de routage des sous-réseaux. |  | AWS SysAdmin | 
| Créez une connexion avec AWS Direct Connect ou le réseau privé virtuel (VPN) AWS. |  | AWS SysAdmin | 

### Migrer la base de données vers Amazon RDS
<a name="migrate-the-database-to-amazon-rds"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de base de données Amazon RDS pour Microsoft SQL Server. |  | AWS SysAdmin | 
| Créez une instance de réplication AWS DMS. |  | AWS SysAdmin | 
| Créez les points de terminaison de base de données source et cible dans AWS DMS. |  | AWS SysAdmin | 
| Créez la tâche de migration et définissez la réplication continue sur ON après un chargement complet. |  | AWS SysAdmin | 
| Demandez une modification du pare-feu afin de permettre à Amazon RDS for Microsoft SQL Server d'accéder aux bases de données SQL Server locales. |  | AWS SysAdmin | 
| Créez un Network Load Balancer. |  | AWS SysAdmin | 
| Créez un groupe cible qui cible les serveurs de base de données de votre centre de données | Nous vous recommandons d'utiliser des noms d'hôte dans la configuration cible pour intégrer les événements de basculement du centre de données (DC). | AWS SysAdmin | 
| Exécutez l'instruction SQL pour la configuration du serveur lié. | Exécutez les instructions SQL pour ajouter un serveur lié à l'aide de l'outil de gestion Microsoft SQL sur l'instance de base de données Amazon RDS for Microsoft SQL Server. Dans l'instruction SQL, définissez @datasrc pour qu'il utilise le nom d'hôte Network Load Balancer. Ajoutez des informations de connexion au serveur liées en utilisant l'outil de gestion Microsoft SQL sur l'instance de base de données Amazon RDS for Microsoft SQL Server. | AWS SysAdmin | 
| Testez et validez les fonctions de SQL Server. |  | AWS SysAdmin | 
| Créez un découpage. |  | AWS SysAdmin | 

## Ressources connexes
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers-related-resources"></a>
+ [Tâches de gestion courantes pour Microsoft SQL Server sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General)
+ [Collations et jeux de caractères pour Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Collation.html) 
+ [Documentation sur le Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [Implémenter des serveurs liés avec Amazon RDS pour Microsoft SQL Server (article de blog)](https://aws.amazon.com/blogs/database/implement-linked-servers-with-amazon-rds-for-microsoft-sql-server/)

# Migrer une base de données Microsoft SQL Server locale vers Amazon RDS for SQL Server à l'aide de méthodes de sauvegarde et de restauration natives
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods"></a>

*Tirumala Dasari, David Queiroz et Vishal Singh, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-summary"></a>

Ce modèle décrit comment migrer une base de données Microsoft SQL Server sur site vers une instance de base de données Amazon Relational Database Service (Amazon RDS) pour SQL Server (migration homogène). Le processus de migration est basé sur les méthodes de sauvegarde et de restauration natives de SQL Server. Il utilise SQL Server Management Studio (SSMS) pour créer un fichier de sauvegarde de base de données et un bucket Amazon Simple Storage Service (Amazon S3) pour stocker le fichier de sauvegarde avant de le restaurer dans Amazon RDS for SQL Server.

## Conditions préalables et limitations
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Politiques de rôle AWS Identity and Access Management (IAM) pour accéder au compartiment S3 et à l'instance de base de données Amazon RDS for SQL Server.

**Limites**
+ Le processus décrit dans ce modèle migre uniquement la base de données. Les connexions SQL ou les utilisateurs de base de données, y compris les tâches de l'agent SQL Server, ne sont pas migrés car ils nécessitent des étapes supplémentaires.

**Versions du produit**
+ SQL Server 2012-2017. Pour obtenir la dernière liste des versions et fonctionnalités prises en charge, consultez [Microsoft SQL Server sur Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html#SQLServer.Concepts.General.FeatureSupport) dans la documentation AWS.

## Architecture
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-architecture"></a>

**Pile technologique source**
+ Une base de données Microsoft SQL Server sur site

**Pile technologique cible**
+ Instance de base de données Amazon RDS pour SQL Server

**Architecture** **de migration des données**

![\[Architecture permettant de migrer une base de données SQL Server sur site vers une instance de base de données Amazon RDS for SQL Server.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/c2dcd6ab-deb1-4d5e-b3c5-3bf48c02ca4e/images/29f90473-6dd4-4574-bfbd-5c6a0481c40e.png)


## Outils
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-tools"></a>
+ Microsoft SQL Server Management Studio (SSMS) est un environnement intégré de gestion de l'infrastructure SQL Server. Il fournit une interface utilisateur et un groupe d'outils dotés d'éditeurs de script riches qui interagissent avec SQL Server.

## Épopées
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-epics"></a>

### Création d'une instance de base de données Amazon RDS for SQL Server
<a name="create-an-amazon-rds-for-sql-server-db-instance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Sélectionnez SQL Server comme moteur de base de données dans Amazon RDS for SQL Server. |  | DBA | 
| Choisissez l'édition SQL Server Express. |  | DBA | 
| Spécifiez les informations de base de données. | Pour plus d'informations sur la création d'une instance de base de données, consultez la [documentation Amazon RDS.](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html) | DBA, propriétaire de l'application | 

### Création d'un fichier de sauvegarde à partir de la base de données SQL Server locale
<a name="create-a-backup-file-from-the-on-premises-sql-server-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Connectez-vous à la base de données SQL Server locale via SSMS. |  | DBA | 
| Créez une sauvegarde de la base de données. | Pour obtenir des instructions, consultez la [documentation SSMS](https://learn.microsoft.com/en-us/sql/ssms/sql-server-management-studio-ssms). | DBA, propriétaire de l'application | 

### Chargez le fichier de sauvegarde sur Amazon S3
<a name="upload-the-backup-file-to-amazon-s3"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un compartiment dans Amazon S3. | Pour plus d’informations, consultez la [documentation Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). | DBA | 
| Téléchargez le fichier de sauvegarde dans le compartiment S3. | Pour plus d’informations, consultez la [documentation Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html). | SysOps administrateur | 

### Restaurez la base de données dans Amazon RDS for SQL Server
<a name="restore-the-database-in-amazon-rds-for-sql-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Ajoutez le groupe d'options à Amazon RDS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.html)Pour plus d'informations, consultez la [documentation Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithOptionGroups.html). | SysOps administrateur | 
| Restaurez la base de données. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.html) | DBA | 

### Valider la base de données cible
<a name="validate-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les objets et les données. | Validez les objets et les données entre la base de données source et Amazon RDS for SQL Server.Cette tâche fait uniquement migrer la base de données. Les connexions et les tâches ne seront pas migrées. | Propriétaire de l'application, DBA | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Redirigez le trafic des applications. | Après validation, redirigez le trafic de l'application vers l'instance de base de données Amazon RDS for SQL Server. | Propriétaire de l'application, DBA | 

## Ressources connexes
<a name="migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods-resources"></a>
+ [Documentation Amazon S3](https://docs.aws.amazon.com/s3/) 
+ [Documentation Amazon RDS pour SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_SQLServer.html) 
+ [Options pour le moteur de base de données Microsoft SQL Server](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.Options.html) 

# Migrer une base de données Microsoft SQL Server vers Aurora MySQL à l'aide d'AWS DMS et d'AWS SCT
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct"></a>

*Mark Szalkiewicz et Pavan Pusuluri, Amazon Web Services*

## Résumé
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-summary"></a>

Ce modèle décrit comment migrer une base de données Microsoft SQL Server sur site ou sur une instance Amazon Elastic Compute Cloud (Amazon EC2) vers Amazon Aurora MySQL. Le modèle utilise AWS Database Migration Service (AWS DMS) et AWS Schema Conversion Tool (AWS SCT) pour la migration des données et la conversion de schéma. 

## Conditions préalables et limitations
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-prerequisites-and-limitations"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données source Microsoft SQL Server dans un centre de données local ou sur une instance EC2 
+ Pilotes de connectivité de base de données Java (JDBC) pour les connecteurs AWS SCT, installés sur une machine locale ou une instance sur EC2 laquelle AWS SCT est installé 

 

**Limites**
+ Limite de taille de base de données : 64 To

**Versions du produit**
+ Microsoft SQL Server 2008, 2008R2, 2012, 2014, 2016 et 2017 pour les éditions Enterprise, Standard, Workgroup et Developer. Les éditions Web et Express ne sont pas prises en charge par AWS DMS. Pour obtenir la dernière liste des versions prises en charge, consultez [Utilisation d'une base de données Microsoft SQL Server comme source pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.SQLServer.html). Nous vous recommandons d'utiliser la dernière version d'AWS DMS pour bénéficier du support le plus complet en termes de versions et de fonctionnalités. Pour plus d'informations sur les versions de Microsoft SQL Server prises en charge par AWS SCT, consultez la documentation [AWS SCT.](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ MySQL versions 5.5, 5.6 et 5.7. Pour obtenir la dernière liste des versions prises en charge, consultez [Utilisation d'une base de données compatible MySQL comme cible pour AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html).

## Architecture
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-architecture"></a>

**Pile technologique source**

L’un des éléments suivants : 
+ Une base de données Microsoft SQL Server sur site
+ Une base de données Microsoft SQL Server sur une EC2 instance

**Pile technologique cible**
+ Aurora MySQL

**Architecture de migration des données**
+ À partir d'une base de données Microsoft SQL Server exécutée dans le cloud AWS 

![\[AWS Cloud architecture showing VPC with private subnet containing SQL Server and Aurora MySQL databases.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/c675ada4-e92c-4ddb-b49f-69668f532504.png)

+ À partir d'une base de données Microsoft SQL Server exécutée dans un centre de données local

![\[AWS Cloud architecture diagram showing on-premises to cloud migration using AWS SCT, DMS, and Aurora MySQL.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/e2de4507-82a8-4bd6-b25b-1e830b197b9f/images/b6ce0199-fc56-4bf2-a8cc-67de161e3cf0.png)


## Outils
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-tools"></a>
+ **AWS DMS** - [AWS Data Migration Service](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) (AWS DMS) vous aide à migrer vos données vers et depuis des bases de données commerciales et open source largement utilisées, notamment Oracle, SQL Server, MySQL et PostgreSQL. Vous pouvez utiliser AWS DMS pour migrer vos données dans le cloud AWS, entre plusieurs instances sur site (via une configuration AWS Cloud) ou entre différentes combinaisons de configurations cloud et sur site.
+ **AWS SCT** - [AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html) (AWS SCT) facilite les migrations de bases de données hétérogènes en convertissant automatiquement le schéma de base de données source et la majorité du code personnalisé dans un format compatible avec la base de données cible.

## Épopées
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-epics"></a>

### Préparez-vous à la migration
<a name="prepare-for-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez la version et le moteur de la base de données source et cible. |  | DBA | 
| Créez un groupe de sécurité sortant pour les bases de données source et cible. |  | SysAdmin | 
| Créez et configurez une EC2 instance pour AWS SCT, si nécessaire. |  | DBA | 
| Téléchargez la dernière version d'AWS SCT et des pilotes associés. |  | DBA | 
| Ajoutez et validez les utilisateurs et les autorisations requis dans la base de données source. |  | DBA | 
| Créez un projet AWS SCT pour la charge de travail et connectez-vous à la base de données source. |  | DBA | 
| Générez un rapport d'évaluation et évaluez la faisabilité. |  | DBA | 

### Préparation de la base de données cible
<a name="prepare-the-target-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez une instance de base de données Amazon RDS cible en utilisant Amazon Aurora comme moteur de base de données. |  | DBA | 
| Extrayez la liste des utilisateurs, des rôles et des autorisations à partir de la source. |  | DBA | 
| Mappez les utilisateurs de base de données existants aux nouveaux utilisateurs de base de données. |  | Propriétaire de l'application | 
| Créez des utilisateurs dans la base de données cible. |  | DBA | 
| Appliquez les rôles de l'étape précédente à la base de données cible. |  | DBA | 
| Passez en revue les options de base de données, les paramètres, les fichiers réseau et les liens de base de données dans la base de données source, puis évaluez leur applicabilité à la base de données cible. |  | DBA | 
| Appliquez tous les paramètres pertinents à la cible. |  | DBA | 

### Transférer des objets
<a name="transfer-objects"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez la connectivité AWS SCT à la base de données cible. |  | DBA | 
| Convertissez le schéma à l'aide d'AWS SCT. | AWS SCT convertit automatiquement le schéma de base de données source et la majeure partie du code personnalisé dans un format compatible avec la base de données cible. Tout code que l'outil ne peut pas convertir automatiquement est clairement indiqué afin que vous puissiez le convertir vous-même. | DBA | 
| Passez en revue le rapport SQL généré et enregistrez les erreurs et les avertissements éventuels. |  | DBA | 
| Appliquez des modifications de schéma automatisées à la cible ou enregistrez-les sous forme de fichier .sql. |  | DBA | 
| Vérifiez qu'AWS SCT a créé les objets sur la cible.  |  | DBA | 
| Réécrivez, rejetez ou redessinez manuellement les éléments qui n'ont pas pu être convertis automatiquement. |  | DBA | 
| Appliquez le rôle et les autorisations d'utilisateur générés et passez en revue les exceptions. |  | DBA | 

### Migrer les données
<a name="migrate-the-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Déterminez la méthode de migration. |  | DBA | 
| Créez une instance de réplication depuis la console AWS DMS. | Pour obtenir des informations détaillées sur l'utilisation d'AWS DMS, consultez les liens de la section « Ressources associées ». | DBA | 
| Créez les points de terminaison source et cible. |  | DBA | 
| Créez une tâche de réplication. |  | DBA | 
| Lancez la tâche de réplication et surveillez les journaux. |  | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez AWS SCT pour analyser et convertir les éléments SQL du code de l'application. | Lorsque vous convertissez votre schéma de base de données à partir d'un moteur à un autre, vous devez également mettre à jour le code SQL dans vos applications pour interagir avec le nouveau moteur de base de données au lieu de l'ancien. Vous pouvez afficher, analyser, modifier et enregistrer le code SQL converti. Pour obtenir des informations détaillées sur l'utilisation d'AWS SCT, consultez les liens de la section « Ressources associées ». | Propriétaire de l'application | 
| Créez les nouveaux serveurs d'applications sur AWS. |  | Propriétaire de l'application | 
| Migrez le code de l'application vers les nouveaux serveurs. |  | Propriétaire de l'application | 
| Configurez le serveur d'applications pour la base de données cible et les pilotes. |  | Propriétaire de l'application | 
| Corrigez tout code spécifique au moteur de base de données source de l'application. |  | Propriétaire de l'application | 
| Optimisez le code de l'application pour le moteur cible. |  | Propriétaire de l'application | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Appliquez les nouveaux utilisateurs, les autorisations et les modifications de code à la cible. |  | DBA | 
| Verrouillez l'application pour toute modification. |  | Propriétaire de l'application | 
| Vérifiez que toutes les modifications ont été propagées à la base de données cible. |  | DBA | 
| Pointez le nouveau serveur d'applications vers la base de données cible. |  | Propriétaire de l'application | 
| Revérifiez tout. |  | Propriétaire de l'application | 
| Passez en direct. |  | Propriétaire de l'application | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires (instance de réplication AWS DMS et EC2 instance utilisée pour AWS SCT). |  | DBA, propriétaire de l'application | 
| Mettez à jour les commentaires sur le processus AWS DMS destinés aux équipes internes. |  | DBA, propriétaire de l'application | 
| Révisez le processus AWS DMS et améliorez le modèle si nécessaire. |  | DBA, propriétaire de l'application | 
| Passez en revue et validez les documents du projet. |  | DBA, propriétaire de l'application | 
| Rassemblez des indicateurs concernant le délai de migration, le pourcentage d'économies réalisées manuellement par rapport aux coûts liés aux outils, etc. |  | DBA, propriétaire de l'application | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA, propriétaire de l'application | 

## Ressources connexes
<a name="migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct-related-resources"></a>

**Références**
+ [Guide de l'utilisateur d'AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Guide de l'utilisateur d'AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)  
+ [Tarification d'Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/) 

**Tutoriels et vidéos**
+ [Commencer à utiliser AWS Database Migration Service](https://aws.amazon.com/dms/getting-started/)
+ [Mise en route avec l'outil AWS Schema Conversion Tool](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP_Welcome.html)
+ [Ressources Amazon RDS](https://aws.amazon.com/rds/getting-started/)
+ [Procédures pas à pas d'AWS DMS Step-by-Step](https://docs.aws.amazon.com/dms/latest/sbs/DMS-SBS-Welcome.html) 

# Migrer une base de données MariaDB sur site vers Amazon RDS for MariaDB à l'aide d'outils natifs
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools"></a>

*Shyam Sunder Rakhecha, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-summary"></a>

Ce modèle fournit des conseils pour la migration d'une base de données MariaDB sur site vers Amazon Relational Database Service (Amazon RDS) pour MariaDB à l'aide d'outils natifs. Si des outils MySQL sont installés, vous pouvez utiliser **mysql** et **mysqldump**. **Si des outils MariaDB sont installés, vous pouvez **utiliser** mariadb et mariadb-dump.** Les outils MySQL et MariaDB ont la même origine, mais il existe des différences mineures entre les versions 10.6 et ultérieures de MariaDB.

## Conditions préalables et limitations
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Une base de données source MariaDB dans un centre de données sur site

**Limites**
+ Limite de taille de base de données : 64 To

**Versions du produit**
+ [Versions 10.0-10.6 de MariaDB (pour la dernière liste des versions prises en charge, consultez MariaDB sur Amazon RDS dans la documentation AWS)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MariaDB.html#MariaDB.Concepts.VersionMgmt)

## Architecture
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-architecture"></a>

**Pile technologique source**
+ Base de données MariaDB dans un centre de données sur site

**Pile technologique cible**
+ Instance de base de données Amazon RDS pour MariaDB

**Architecture cible**

![\[Schéma d'architecture avec des instances de base de données RDS principales et de secours dans différentes zones de disponibilité.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/7be644e0-da42-4515-87b7-04da7a054adb/images/eca8eb55-579a-42e2-96ce-9b14b097b4c9.png)


**Architecture de migration des données**

![\[Schéma d'architecture de la migration d'une base de données MariaDB sur site vers Amazon RDS\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/7be644e0-da42-4515-87b7-04da7a054adb/images/daba40e2-a2b1-44f8-8e69-31458206a823.png)


## Outils
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-tools"></a>
+ Outils MySQL natifs : **mysql** et **mysqldump**
+ ****Outils natifs de MariaDB : mariadb et mariadb-dump****

## Épopées
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez les versions et les moteurs des bases de données source et cible. |  | DBA | 
| Identifiez la configuration matérielle requise pour l'instance de serveur cible. |  | DBA, administrateur système | 
| Identifiez les exigences de stockage (type et capacité de stockage). |  | DBA, administrateur système | 
| Choisissez le type d'instance approprié en fonction de la capacité, des fonctionnalités de stockage et des fonctionnalités réseau. |  | DBA, administrateur système | 
| Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. |  | DBA, administrateur système | 
| Identifiez la stratégie de migration des applications. |  | DBA, propriétaire de l'application, administrateur système | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC) |  | Administrateur de systèmes | 
| Créez des groupes de sécurité. |  | Administrateur de systèmes | 
| Configurez et démarrez une instance de base de données Amazon RDS exécutant MariaDB. |  | Administrateur de systèmes | 

### Migration des données
<a name="migrate-data"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez des outils natifs pour migrer les objets et les données de base de données. | Dans la base de données source, utilisez **mysqldump ou **mariadb-dump**** pour créer un fichier de sortie contenant des objets et des données de base de données. Dans la base de données cible, utilisez **mysql** ou **mariadb** pour restaurer les données. | DBA | 
| Validez les données. | Vérifiez les bases de données source et cible pour vous assurer que la migration des données a bien été effectuée. | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie de migration des applications. |  | DBA, propriétaire de l'application, administrateur système | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Basculez les clients de l'application vers la nouvelle infrastructure. |  | DBA, propriétaire de l'application, administrateur système | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources AWS temporaires. |  | Administrateur de systèmes | 
| Passez en revue et validez les documents du projet. |  | DBA, propriétaire de l'application, administrateur système | 
| Collectez des indicateurs concernant le délai de migration, les économies réalisées grâce aux outils, etc. |  | DBA, propriétaire de l'application, administrateur système | 
| Clôturez le projet et faites part de vos commentaires. |  | DBA, propriétaire de l'application, administrateur système | 

## Ressources connexes
<a name="migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools-resources"></a>

**Références Amazon RDS**
+ [Amazon RDS for MariaDB](https://aws.amazon.com/rds/mariadb/)
+ [Amazon Virtual Private Cloud VPCs et Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Déploiements multi-AZ d'Amazon RDS](https://aws.amazon.com/rds/details/multi-az/)
+ [Tarification d'Amazon RDS](https://aws.amazon.com/rds/pricing/)

**Références MySQL et MariaDB**
+ [mariadb-dump/mysqldump](https://mariadb.com/kb/en/mariadb-dumpmysqldump/) 
+ [Client en ligne de commande mysql](https://mariadb.com/kb/en/mysql-command-line-client/) 

**Tutoriels et vidéos**
+ [Getting Started with Amazon RDS](https://aws.amazon.com/rds/getting-started/) (Démarrer avec Amazon RDS)

# Migrer une base de données MySQL sur site vers Aurora MySQL
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql"></a>

*Igor Obradovic, Amazon Web Services*

## Résumé
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-summary"></a>

Ce modèle explique comment migrer une base de données source MySQL sur site vers Amazon Aurora MySQL Compatible Edition. **Il décrit deux options de migration : using AWS Database Migration Service (AWS DMS) ou utiliser des outils MySQL natifs tels que **mysqldbcopy et mysqldump**.** 

## Conditions préalables et limitations
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS
+ Une base de données MySQL source dans un centre de données sur site

**Limites**
+ Limite de taille de base de données : 128 To

**Versions du produit**
+ MySQL version 8.0 (Aurora MySQL version 3) est disponible dans le cadre du support standard. 
+ MySQL version 5.7 (Aurora MySQL version 2) est disponible dans le cadre d'un support étendu, moyennant des frais supplémentaires.

Pour obtenir la dernière liste des versions prises en charge, consultez [les versions d'Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraMySQLReleaseNotes/AuroraMySQL.release-calendars.html) dans la AWS documentation. Si vous utilisez AWS DMS, consultez également [Utiliser une base de données compatible MySQL comme cible pour les versions de AWS DMS MySQL prises](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) en charge par. AWS DMS

## Architecture
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-architecture"></a>

**Pile technologique source**
+ Une base de données MySQL sur site

**Pile technologique cible**
+ Amazon Aurora MySQL-Compatible Edition 

**Architecture cible**

Les données Aurora sont stockées dans un volume de cluster, qui est un volume virtuel unique utilisant des disques SSD (SSDs). Un volume de cluster se compose de copies des données couvrant trois zones de disponibilité d'une même région AWS. Les données étant automatiquement répliquées entre les zones de disponibilité, elles sont extrêmement durables et réduisent les risques de perte de données.

Aurora divise automatiquement le volume de votre base de données en segments de 10 Go répartis sur de nombreux disques. Chaque segment de 10 Go de votre volume de base de données est répliqué de six manières, dans trois zones de disponibilité. Le schéma suivant illustre la relation entre le volume du cluster, l'instance de base de données du rédacteur et les instances de base de données du lecteur dans un cluster de base de données Aurora, et la séparation entre la capacité de calcul et le stockage. Pour plus d'informations sur cette architecture, consultez la [documentation et la [FAQ](https://aws.amazon.com/rds/aurora/faqs/#product-faqs) d'Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.html).

![\[Instances de base de données Aurora MySQL et volume de stockage partagé sur AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/0d7d8ebd-e0f2-4bcf-b296-8bdfb2f12b64.png)


**Architecture de migration des données**

*En utilisant AWS DMS :*

Le schéma suivant illustre la migration d'une base de données MySQL locale vers un cluster compatible Aurora MySQL dans le, en utilisant. AWS Cloud AWS DMS

![\[Migration d'une base de données MySQL sur site vers Aurora MySQL à l'aide d'AWS DMS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/e5d72ebd-d157-45d7-8844-d1011f1646c0.png)


*À l'aide des outils MySQL natifs :*

****Le schéma suivant illustre la migration d'une base de données MySQL locale vers un cluster compatible Aurora MySQL dans le, à l' AWS Cloud aide d'outils MySQL natifs tels que mysqldbcopy et mysqldump.****

![\[Migration d'une base de données MySQL locale vers Aurora MySQL à l'aide de mysqldbcopy et mysqldump.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/22729803-e4ff-45a2-ab5b-8ba2445e5e21/images/26258752-24f6-4241-a49f-59c15e946314.png)


 

## Outils
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-tools"></a>
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) prend en charge plusieurs moteurs de base de données source et cible. Pour plus d'informations sur les bases de données source et cible MySQL prises en charge par AWS DMS, consultez la section [Migration de bases de données compatibles MySQL](https://docs.aws.amazon.com/dms/latest/sbs/CHAP_MySQL.html) vers. AWS Nous vous recommandons d'utiliser la dernière version de AWS DMS pour bénéficier de la prise en charge la plus complète possible des versions et des fonctionnalités.
+ [mysqldbcopy est](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html) un utilitaire MySQL qui copie une base de données MySQL sur un seul serveur ou entre plusieurs serveurs.
+ [mysqldump](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) est un utilitaire MySQL qui crée un fichier dump à partir d'une base de données MySQL à des fins de sauvegarde ou de migration.

## Épopées
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-epics"></a>

### Planifier la migration
<a name="plan-the-migration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Validez la version et le moteur. | Validez la version et le moteur de base de données pour les bases de données source et cible. | DBA | 
| Identifiez les exigences matérielles. | Identifiez la configuration matérielle requise pour l'instance de serveur cible. | DBA, administrateur système | 
| Identifiez les besoins en matière de stockage. | Identifiez les exigences de stockage (type et capacité de stockage). | DBA, administrateur système | 
| Choisissez le type d'instance. | Choisissez le type d'instance approprié en fonction de vos besoins en matière de calcul, de stockage et de réseau. | DBA, administrateur système | 
| Déterminez les exigences de sécurité de l'accès au réseau. | Identifiez les exigences de sécurité d'accès au réseau pour les bases de données source et cible. | DBA, administrateur système | 
| Déterminez la stratégie. | Identifiez la stratégie de migration des applications. | DBA, propriétaire de l'application, administrateur système | 

### Configuration de l'infrastructure
<a name="configure-the-infrastructure"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créer un cloud privé virtuel (VPC) | Pour obtenir des instructions, consultez la section [Créer un VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html) dans la documentation Amazon Virtual Private Cloud (Amazon VPC). | Administrateur de systèmes | 
| Créez des groupes de sécurité. | Pour obtenir des instructions, consultez la section [Créer un groupe de sécurité pour votre VPC](https://docs.aws.amazon.com/vpc/latest/userguide/creating-security-groups.html) dans la documentation Amazon VPC. | Administrateur de systèmes | 
| Configurez et démarrez un cluster de base de données compatible Aurora MySQL dans votre. Compte AWS | Pour obtenir des instructions, consultez [la section Création d'un cluster de base de données Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html) dans la documentation Aurora. | Administrateur de systèmes | 

### Migrer les données - option 1
<a name="migrate-data---option-1"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Utilisez des outils MySQL natifs ou des outils tiers pour migrer des objets et des données de base de données. | [Pour obtenir des instructions, consultez la documentation des outils MySQL tels que [mysqldbcopy et mysqldump](https://manpages.ubuntu.com/manpages/focal/man1/mysqldbcopy.1.html).](https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html) | DBA | 

### Migrer les données - option 2
<a name="migrate-data---option-2"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Migrez les données avec AWS DMS. | Pour obtenir des instructions, consultez les [sections Utilisation d'une base de données compatible MySQL comme source et Utilisation d'](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MySQL.html)[une base de données compatible MySQL comme](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.MySQL.html) cible dans la documentation. AWS DMS  | DBA | 

### Migrer l'application
<a name="migrate-the-application"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez la stratégie. | Suivez la stratégie de migration des applications. | DBA, propriétaire de l'application, administrateur système | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Changez de client d'application. | Changez les clients de l'application pour qu'ils se connectent au nouveau point de terminaison du cluster Aurora. | DBA, propriétaire de l'application, administrateur système | 

### Fermez le projet
<a name="close-the-project"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les ressources. | Arrêtez les AWS ressources temporaires. | DBA, administrateur système | 
| Consultez la documentation. | Passez en revue et validez les documents du projet. | DBA, propriétaire de l'application, administrateur système | 
| Collectez des métriques. | Collectez des indicateurs concernant le délai de migration, le pourcentage d'étapes manuelles par rapport à l'utilisation des outils, les économies de coûts, etc. | DBA, propriétaire de l'application, administrateur système | 
| Projet de migration complet. | Clôturez le projet et faites part de vos commentaires. | Propriétaire de l'application, DBA, administrateur système | 

## Ressources connexes
<a name="migrate-an-on-premises-mysql-database-to-aurora-mysql-resources"></a>

**Références**
+ [Migration des données vers le cluster de base de données Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.html)
+ [AWS DMS website](https://aws.amazon.com/dms/)
+ [AWS DMS documentation](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html)
+ [Tarification d'Amazon Aurora](https://aws.amazon.com/rds/aurora/pricing/)
+ [Création et connexion à un cluster de base de données Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.CreatingConnecting.Aurora.html)
+ [Amazon VPC et Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.html)
+ [Documentation Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)

**Tutoriels et vidéos**
+ [Commencer avec AWS DMS](https://aws.amazon.com/dms/getting-started/)
+ [Commencer à utiliser Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_GettingStartedAurora.html)

# Migrez des bases de données MySQL sur site vers Aurora MySQL à l'aide de Percona, XtraBackup Amazon EFS et Amazon S3
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3"></a>

*Rohan Jamadagni, Udayasimha Theepireddy et Sajith Menon, Amazon Web Services*

## Résumé
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-summary"></a>

Ce modèle décrit comment migrer efficacement de grandes bases de données MySQL locales vers Amazon Aurora MySQL à l'aide de XtraBackup Percona. Percona XtraBackup est un utilitaire de sauvegarde open source non bloquant pour les serveurs basés sur MySQL. Le modèle montre comment utiliser Amazon Elastic File System (Amazon EFS) pour réduire le délai de chargement de la sauvegarde sur Amazon Simple Storage Service (Amazon S3) et pour restaurer la sauvegarde sur Amazon Aurora MySQL. Le modèle fournit également des détails sur la façon de réaliser des sauvegardes incrémentielles de Percona afin de minimiser le nombre de journaux binaires à appliquer à la base de données Aurora MySQL cible.  

## Conditions préalables et limitations
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif
+ Autorisations pour créer des rôles et des politiques AWS Identity and Access Management (IAM)
+ Connectivité réseau entre la base de données MySQL sur site et le cloud privé virtuel (VPC) sur AWS

**Limites**
+ Les serveurs sources doivent être des systèmes basés sur Linux capables d'installer un client NFS (Network File System) (nfs-utils/nfs-common).
+ Le compartiment S3 utilisé pour le téléchargement des fichiers de sauvegarde prend uniquement en charge le chiffrement côté serveur (SSE-S3/SSE-KMS).
+ Amazon S3 limite la taille des fichiers de sauvegarde à 5 To. Si votre fichier de sauvegarde dépasse 5 To, vous pouvez le diviser en plusieurs fichiers plus petits.
+ Le nombre de fichiers source chargés dans le compartiment S3 ne peut pas dépasser un million de fichiers.
+ Le modèle prend uniquement en charge la sauvegarde XtraBackup complète Percona et la sauvegarde incrémentielle. Il ne prend pas en charge les sauvegardes partielles qui utilisent `--tables` `--tables-exclude``--tables-file`,`--databases`,,`--databases-exclude`, ou`--databases-file`.
+ Aurora ne restaure pas les utilisateurs, les fonctions, les procédures stockées ou les informations de fuseau horaire à partir de la base de données MySQL source.

**Versions du produit**
+ La base de données source doit être MySQL version 5.5, 5.6 ou 5.7.
+ Pour MySQL 5.7, vous devez utiliser Percona XtraBackup 2.4.
+ Pour MySQL 5.6 et 5.6, vous devez utiliser Percona XtraBackup 2.3 ou 2.4.

## Architecture
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-architecture"></a>

**Pile technologique source**
+ Système d'exploitation basé sur Linux
+ serveur MySQL
+ Percona XtraBackup

**Pile technologique cible**
+ Amazon Aurora
+ Amazon S3
+ Amazon EFS

**Architecture cible**

![\[Architecture permettant de migrer de grandes bases de données MySQL vers Amazon Aurora MySQL à l'aide de Percona XtraBackup.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/bf327776-bafd-484d-9ae2-a6f5c8af6edd/images/7a410539-1511-4106-90e2-8c0c8e95f92b.png)


## Outils
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-tools"></a>

*Services AWS*
+ [Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.html) est un moteur de base de données relationnelle entièrement géré qui permet de configurer, d'exploiter et de dimensionner les déploiements MySQL de manière simple et rentable. Aurora MySQL est une alternative directe à MySQL.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) vous aide à créer et à configurer des systèmes de fichiers partagés dans le cloud AWS.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) 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.

**Autres outils**
+ [Percona XtraBackup](https://www.percona.com/doc/percona-xtrabackup/2.4/index.html) est un utilitaire open source qui effectue des sauvegardes en streaming, compressées et incrémentielles de bases de données MySQL sans perturber ni bloquer vos bases de données.

## Épopées
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-epics"></a>

### Créer un système de fichiers Amazon EFS
<a name="create-an-amazon-efs-file-system"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un groupe de sécurité à associer aux cibles de montage Amazon EFS. | Créez un groupe de sécurité dans le VPC configuré avec une connexion VPN à la base de données sur site via AWS Transit Gateway. Pour plus d'informations sur les commandes et les étapes décrites dans cet article et dans d'autres, consultez les liens de la section « Ressources connexes » à la fin de ce modèle. |  DevOps/database Administrateur AWS | 
| Modifiez les règles du groupe de sécurité. | Ajoutez une règle entrante en utilisant le type NFS, le port 2049 et la plage d'adresses IP du serveur de base de données local comme source. Par défaut, la règle de sortie autorise le départ de tout le trafic. Si ce n'est pas le cas, ajoutez une règle de sortie pour ouvrir une connexion pour le port NFS. Ajoutez deux autres règles entrantes : port 2049 (source : ID de groupe de sécurité de ce même groupe de sécurité) et port 22 (source : plage d'adresses IP à partir de laquelle vous allez vous connecter à une EC2 instance). |  DevOps/database Administrateur AWS | 
| Créez un système de fichiers. | Dans les cibles de montage, utilisez le VPC et le groupe de sécurité que vous avez créés dans l'article précédent. Choisissez le mode de débit et les performances en fonction des I/O exigences de la base de données locale. Activez éventuellement le chiffrement au repos. |  DevOps/database Administrateur AWS | 

### Monter le système de fichiers
<a name="mount-the-file-system"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un rôle de profil d'instance IAM à associer à une EC2 instance. | Créez un rôle IAM autorisé à télécharger des objets et à y accéder dans Amazon S3. Choisissez le compartiment S3 dans lequel la sauvegarde sera stockée en tant que ressource de politique. | AWS DevOps | 
| Créez une EC2 instance. | Lancez une EC2 instance basée sur Linux et associez le rôle de profil d'instance IAM que vous avez créé à l'étape précédente et le groupe de sécurité que vous avez créé précédemment. | AWS DevOps | 
| Installez le client NFS. | Installez le client NFS sur le serveur de base de données local et sur l' EC2 instance. Pour les instructions d'installation, reportez-vous à la section « Informations supplémentaires ». | DevOps | 
| Montage d’un système de fichiers Amazon EFS | Montez le système de fichiers Amazon EFS sur site et sur l' EC2 instance. Sur chaque serveur, créez un répertoire pour stocker la sauvegarde et montez le système de fichiers en utilisant le point de terminaison cible du montage. Pour un exemple, consultez la section « Informations supplémentaires ». | DevOps | 

### Effectuez une sauvegarde de la base de données source MySQL
<a name="make-a-backup-of-the-mysql-source-database"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez Percona XtraBackup. | Installez Percona XtraBackup 2.3 ou 2.4 (selon la version de votre base de données MySQL) sur le serveur de base de données local. Pour les liens d'installation, consultez la section « Ressources associées ». | Administrateur de base de données | 
| Comptez les schémas et les tables de la base de données source. | Rassemblez et notez le nombre de schémas et d'objets dans la base de données MySQL source. Vous utiliserez ces nombres pour valider la base de données Aurora MySQL après la migration. | Administrateur de base de données | 
| (Facultatif) Notez la dernière séquence de journal binaire de la base de données source. | Effectuez cette étape si vous souhaitez établir une réplication binaire des journaux entre la base de données source et Aurora MySQL afin de minimiser les temps d'arrêt. log-bin doit être activé et server\$1id doit être unique. Notez la séquence de journal binaire actuelle de la base de données source, juste avant de lancer une sauvegarde. Effectuez cette étape juste avant la sauvegarde complète si vous prévoyez de n'utiliser que la sauvegarde complète. Si vous prévoyez d'effectuer des sauvegardes incrémentielles après une sauvegarde complète, effectuez cette étape juste avant la sauvegarde incrémentielle finale que vous allez restaurer sur l'instance de base de données Aurora MySQL. | Administrateur de base de données | 
| Lancez une sauvegarde complète de la base de données MySQL source. | Effectuez une sauvegarde complète de la base de données source MySQL à l'aide de Percona XtraBackup. Pour des exemples de commandes pour les sauvegardes complètes et incrémentielles, consultez la section « Informations supplémentaires ». | Administrateur de base de données | 
| (Facultatif) Effectuez des sauvegardes incrémentielles à l'aide de Percona XtraBackup. | Les sauvegardes incrémentielles peuvent être utilisées pour réduire le nombre de journaux binaires que vous devez appliquer pour synchroniser la base de données source avec Aurora MySQL. Les bases de données volumineuses et gourmandes en transactions peuvent générer un grand nombre de journaux binaires lors des sauvegardes. En effectuant des sauvegardes incrémentielles et en les stockant sur un système de fichiers Amazon EFS partagé, vous pouvez réduire considérablement le temps de sauvegarde et de téléchargement de votre base de données. Pour plus de détails, consultez la section « Informations supplémentaires ». Continuez à effectuer des sauvegardes incrémentielles jusqu'à ce que vous soyez prêt à commencer le processus de migration vers Aurora. | Administrateur de base de données | 
| Préparez des sauvegardes. | Au cours de cette étape, des journaux de transactions sont appliqués à la sauvegarde pour les transactions qui étaient en cours pendant la sauvegarde. Continuez à appliquer des journaux transactionnels (--apply-log-only) à chaque sauvegarde incrémentielle pour fusionner les sauvegardes, à l'exception de la dernière sauvegarde. Pour des exemples, consultez la section « Informations supplémentaires ». <efs\$1mount\$1name>Après cette étape, la sauvegarde complète et fusionnée se trouvera dans \$1/ /fullbackup. | Administrateur de base de données | 
| Compressez et divisez la sauvegarde fusionnée finale. | Après avoir préparé la sauvegarde fusionnée finale, utilisez les commandes tar, zip et split pour créer des fichiers compressés plus petits à partir de la sauvegarde. Pour des exemples, consultez la section « Informations supplémentaires ». | Administrateur de base de données | 

### Restaurez la sauvegarde sur un cluster de base de données Aurora MySQL
<a name="restore-the-backup-to-an-aurora-mysql-db-cluster"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez la sauvegarde sur Amazon S3. | Le système de fichiers Amazon EFS dans lequel les fichiers de sauvegarde sont stockés est monté à la fois sur la base de données locale et sur une EC2 instance, de sorte que les fichiers de sauvegarde sont facilement accessibles à l' EC2 instance. <bucket\$1name>Connectez-vous à l' EC2 instance à l'aide de Secure Shell (SSH) et téléchargez les fichiers de sauvegarde compressés dans un compartiment S3 nouveau ou existant ; par exemple : aws s3 sync \$1/ <efs\$1mount\$1name>/fullbackup s3 :///fullbackup. Pour plus de détails, consultez les liens dans la section « Ressources connexes ». | AWS DevOps | 
| Créez un rôle de service pour qu'Aurora accède à Amazon S3. | Créez un rôle IAM de confiance sur « rds.amazonaws.com » et une politique qui permettra à Aurora d'accéder au compartiment S3 dans lequel les fichiers de sauvegarde sont stockés. Les autorisations requises sont ListBucket GetObject, et GetObjectVersion. | AWS DevOps | 
| Créez la configuration réseau pour Aurora. | Créez un groupe de sous-réseaux de base de données de cluster avec au moins deux zones de disponibilité et une configuration de table de routage de sous-réseau qui autorise la connectivité sortante à la base de données source. Créez un groupe de sécurité qui autorise les connexions sortantes à la base de données locale et permet aux administrateurs de se connecter au cluster de base de données Aurora. Pour plus d'informations, consultez les liens de la section « Ressources connexes ». |  DevOps/database Administrateur AWS | 
| Restaurez la sauvegarde sur un cluster de base de données Aurora MySQL. | Restaurez vos données à partir de la sauvegarde que vous avez téléchargée sur Amazon S3. Spécifiez la version MySQL de votre base de données source, indiquez le nom du compartiment S3 et le préfixe du chemin du dossier dans lequel vous avez chargé le fichier de sauvegarde (par exemple, « fullbackup » pour les exemples de la section « Informations supplémentaires ») et indiquez le rôle IAM que vous avez créé pour autoriser Aurora à accéder à Amazon S3. |  DevOps/database Administrateur AWS | 
| Validez la base de données Aurora MySQL. | Validez le nombre de schémas et d'objets dans le cluster de base de données Aurora restauré par rapport au nombre obtenu à partir de la base de données source. | Administrateur de base de données | 
| Configurez la réplication du journal binaire.  | Utilisez la séquence de journal binaire que vous avez indiquée précédemment, avant d'effectuer la dernière sauvegarde restaurée sur le cluster de base de données Aurora. Créez un utilisateur de réplication sur la base de données source et suivez les instructions de la section « Informations supplémentaires » pour fournir les privilèges appropriés, activer la réplication sur Aurora et vérifier que la réplication est synchronisée. |  DevOps/database Administrateur AWS | 

## Ressources connexes
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-resources"></a>

**Création d'un système de fichiers Amazon EFS**
+ [Création d'un groupe de sécurité](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#CreatingSecurityGroups) (documentation Amazon VPC)
+ [Pièces jointes VPN pour passerelle de transit](https://docs.aws.amazon.com/vpc/latest/tgw/tgw-vpn-attachments.html) (documentation Amazon VPC)
+ [Diminution du débit VPN à l'aide d'AWS Transit Gateway](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) (blog sur la mise en réseau et la diffusion de contenu)
+ [Création d'un système de fichiers Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step1-efs) (documentation Amazon EFS)
+ [Création de cibles de montage](https://docs.aws.amazon.com/efs/latest/ug/accessing-fs.html) (documentation Amazon EFS)
+ [Chiffrement des données au repos](https://docs.aws.amazon.com/efs/latest/ug/encryption-at-rest.html) (documentation Amazon EFS)

**Montage du système de fichiers**
+ [Rôles IAM pour Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) ( EC2 documentation Amazon)
+ [Lancement d'une instance Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance) ( EC2 documentation Amazon)
+ [Installation du client NFS](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs) (documentation Amazon EFS)
+ [Montage du système de fichiers Amazon EFS sur votre client sur site](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect) (documentation Amazon EFS)
+ [Montage de systèmes de fichiers EFS](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html) (documentation Amazon EFS)

**Création d'une sauvegarde de la base de données source MySQL**
+ [Installation de Percona XtraBackup 2.3](https://www.percona.com/doc/percona-xtrabackup/2.3/installation.html) (documentation Percona XtraBackup )
+ [Installation de Percona XtraBackup 2.4](https://www.percona.com/doc/percona-xtrabackup/2.4/installation.html) (documentation Percona XtraBackup ) 
+ [Configuration de la configuration principale de réplication](https://dev.mysql.com/doc/refman/5.7/en/replication-howto-masterbaseconfig.html) (documentation MySQL)
+ [Migration de données d'une base de données MySQL externe vers un cluster de base de données Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html) (documentation Aurora)
+ [Sauvegarde incrémentielle](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html) (documentation Percona XtraBackup )

**Restauration de la sauvegarde sur Amazon Aurora MySQL**
+ [Création d'un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#create-bucket-intro) (documentation Amazon S3)
+ [Connexion à votre instance Linux via SSH](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html) (documentation Amazon Ec2)
+ [Configuration de l'interface de ligne de commande AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) (documentation de l'interface de ligne de commande AWS)
+ [commande de synchronisation](https://docs.aws.amazon.com/cli/latest/reference/s3/sync.html) (référence de commande de l'AWS CLI)
+ [Création d'une politique IAM pour accéder aux ressources Amazon S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Integrating.Authorizing.IAM.S3CreatePolicy.html) (documentation Aurora)
+ [Conditions requises pour le cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.CreateInstance.html#Aurora.CreateInstance.Prerequisites) de bases de données (documentation Aurora)
+ [Utilisation de groupes de sous-réseaux de base](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_VPC.WorkingWithRDSInstanceinaVPC.html#USER_VPC.Subnets) de données (documentation Aurora)
+ [Création d'un groupe de sécurité VPC pour une instance de base de données privée](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/CHAP_Tutorials.WebServerDB.CreateVPC.html#CHAP_Tutorials.WebServerDB.CreateVPC.SecurityGroupDB) (documentation Aurora)
+ [Restauration d'un cluster de base de données Aurora MySQL à partir d'un compartiment S3](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html#AuroraMySQL.Migrating.ExtMySQL.S3.Restore) (documentation Aurora)
+ [Configuration de la réplication avec MySQL ou un autre cluster](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Replication.MySQL.html#AuroraMySQL.Replication.MySQL.SettingUp) de base de données Aurora (documentation Aurora)
+ [procédure mysql.rds\$1set\$1external\$1master](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_set_external_master.html) (référence SQL MySQL sur Amazon RDS)
+ [procédure mysql.rds\$1start\$1replication](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/mysql_rds_start_replication.html) (référence SQL MySQL sur Amazon RDS)

**Références supplémentaires**
+ [Migration de données d'une base de données MySQL externe vers un cluster de base de données Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html) (documentation Aurora)
+ [Téléchargements du serveur MySQL](https://downloads.mysql.com/archives/community/) (site Web d'Oracle)

**Tutoriels et vidéos**
+  [Migration de données MySQL vers un cluster de bases de données Aurora MySQL à l'aide d'Amazon S3](https://aws.amazon.com/premiumsupport/knowledge-center/migrate-mysql-aurora-innobackup/) (AWS Knowledge Center)
+  [Configuration et montage d'Amazon EFS](https://www.youtube.com/watch?v=NR8rVsSn_dY) (vidéo)

## Informations supplémentaires
<a name="migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3-additional"></a>

**Installation d'un client NFS**
+ Si vous utilisez Red Hat ou un système d'exploitation Linux similaire, utilisez la commande suivante :  

```
$ sudo yum -y install nfs-utils
```
+ Si vous utilisez Ubuntu ou un système d'exploitation Linux similaire, utilisez la commande suivante : 

```
$ sudo apt-get -y install nfs-common
```

Pour plus d'informations, consultez la [procédure pas à pas](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step4-install-nfs) dans la documentation Amazon EFS.

**Montage du système de fichiers Amazon EFS**

Utilisez les commandes suivantes :

```
mkdir ~/<efs_mount_name>
$ sudo mount -t nfs -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport mount-target-IP:/ ~/<efs_mount_name>
```

Pour plus d'informations, consultez la [procédure pas à pas](https://docs.aws.amazon.com/efs/latest/ug/efs-onpremises.html#wt5-step3-connect) et le [montage des systèmes de fichiers EFS](https://docs.aws.amazon.com/efs/latest/ug/mounting-fs.html) dans la documentation Amazon EFS.

**Effectuer des sauvegardes de la base de données source MySQL**

*Sauvegardes complètes*

Utilisez une commande comme la suivante, qui prend la sauvegarde, la compresse et la divise en petits morceaux de 1 Go chacun :

```
xtrabackup --backup --user=dbuser --password=<password> --binlog-info=AUTO --stream=tar --target-dir=~/<efs_mount_name>/fullbackup | gzip - | split -d --bytes=1024MB - ~/<efs_mount_name>/fullbackup/backup.tar.gz &
```

Si vous prévoyez d'effectuer des sauvegardes incrémentielles ultérieures après la sauvegarde complète, ne compressez pas et ne divisez pas la sauvegarde. Utilisez plutôt une commande similaire à la suivante :

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/fullbackup/
```

*Sauvegardes incrémentielles*

Utilisez le chemin de sauvegarde complet pour le `--incremental-basedir` paramètre, par exemple :

```
xtrabackup --backup --user=dbuser --password=<password> --target-dir=~/<efs_mount_name>/incremental/backupdate --incremental-basedir=~/<efs_mount_name>/fullbackup
```

où *basedir* est le chemin d'accès à la sauvegarde complète et au fichier xtrabackup\$1checkpoints.

Pour plus d'informations sur la réalisation de sauvegardes, consultez la section [Migration de données d'une base de données MySQL externe vers un cluster de bases de données Amazon Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Migrating.ExtMySQL.html) dans la documentation Aurora.

**Préparation des sauvegardes**

Pour préparer une sauvegarde complète, procédez comme suit :

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup
```

Pour préparer une sauvegarde incrémentielle :

```
xtrabackup --prepare --apply-log-only --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06062020
```

Pour préparer la sauvegarde finale, procédez comme suit :

```
xtrabackup --prepare --target-dir=~/<efs_mount_name>/fullbackup --incremental-dir=~/<efs_mount_name>/incremental/06072020
```

Pour plus d'informations, consultez la section [Sauvegardes incrémentielles](https://www.percona.com/doc/percona-xtrabackup/2.4/backup_scenarios/incremental_backup.html) dans la documentation de Percona XtraBackup .

**Compression et division de la sauvegarde fusionnée**

Pour compresser la sauvegarde fusionnée dans \$1/ <efs\$1mount\$1name>/fullbackup :

```
tar -zcvf <backupfilename.tar.gz> ~/<efs_mount_name>/fullbackup
```

Pour fractionner la sauvegarde, procédez comme suit :

```
split -d -b1024M --verbose  <backupfilename.tar.gz> <backupfilename.tar.gz>
```

**Configuration de la réplication binlog**

Pour créer un utilisateur de réplication sur la base de données source et fournir les privilèges appropriés :

```
CREATE USER 'repl_user'@'' IDENTIFIED BY ''; GRANT REPLICATION CLIENT, REPLICATION SLAVE ON *.* TO 'repl_user'@'';
```

Pour activer la réplication sur Aurora en vous connectant au cluster de base de données Aurora, activez les journaux binaires dans le groupe de paramètres du cluster de base de données. `binlog_format = mixed`Régler (le mode mixte est préférable). Cette modification nécessite que vous redémarriez l'instance pour appliquer la mise à jour.

```
CALL mysql.rds_set_external_master ('sourcedbinstanceIP', sourcedbport, 'repl_user', '', 'binlog_file_name', binlog_file_position, 0); CALL mysql.rds_start_replication;
```

Pour vérifier que la réplication est synchronisée, procédez comme suit :

```
SHOW Slave Status \G;
```

Le champ **Seconds behind master** indique la distance entre Aurora et la base de données locale.

# Migrez des applications Java sur site vers AWS à l'aide d'AWS App2Container
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container"></a>

*Dhananjay Karanjkar, Amazon Web Services*

## Résumé
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-summary"></a>

AWS App2Container (A2C) est un outil de ligne de commande qui permet de transformer des applications existantes exécutées sur des machines virtuelles en conteneurs, sans avoir à modifier le code. A2C découvre les applications exécutées sur un serveur, identifie les dépendances et génère des artefacts pertinents pour un déploiement fluide sur Amazon Elastic Container Service (Amazon ECS) et Amazon Elastic Kubernetes Service (Amazon EKS).

Ce modèle décrit les étapes à suivre pour migrer à distance des applications Java sur site déployées sur un serveur d'applications vers AWS Fargate ou Amazon EKS à l'aide d'App2Container via la machine subordonnée. 

La machine de travail peut être utilisée dans les cas d'utilisation suivants :
+ L'installation de Docker n'est pas autorisée ou n'est pas disponible sur les serveurs d'applications sur lesquels les applications Java sont exécutées.
+ Vous devez gérer la migration de plusieurs applications déployées sur différents serveurs physiques ou virtuels.

Ce modèle utilise AWS CodeCommit AWS CodePipeline, et AWS CodeBuild.

## Conditions préalables et limitations
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-prereqs"></a>

**Conditions préalables**
+ Un serveur d'applications avec une application Java exécutée sur un serveur Linux
+ Une machine de travail dotée d'un système d'exploitation Linux
+ Un ordinateur subordonné disposant d'au moins 20 Go d'espace disque disponible

**Limites**
+ Toutes les applications ne sont pas prises en charge. Pour plus d'informations, consultez la section [Applications prises en charge pour Linux](https://docs.aws.amazon.com/app2container/latest/UserGuide/supported-applications.html).

## Architecture
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-architecture"></a>

**Pile technologique source**
+ Applications Java exécutées sur un serveur Linux

**Pile technologique cible**
+ AWS CodeBuild
+ AWS CodeCommit
+ AWS CodeDeploy
+ AWS CodePipeline
+ Amazon Elastic Container Registry
+ AWS Fargate

**Architecture cible**

![\[Architecture pour les applications Java sur site sur AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/61ed65a0-fab2-4fc8-8531-18bfd56a25b3/images/602cde7b-ab0c-46a5-8c37-afe304adf061.png)


 

## Outils
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-tools"></a>

**Outils**
+ [AWS App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html) — AWS App2Container (A2C) est un outil en ligne de commande qui vous permet de transférer et de déplacer des applications exécutées dans vos centres de données sur site ou sur des machines virtuelles, afin qu'elles s'exécutent dans des conteneurs gérés par Amazon ECS ou Amazon EKS.
+ [AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/welcome.html) — AWS CodeBuild est un service de création entièrement géré dans le cloud. CodeBuild compile votre code source, exécute des tests unitaires et produit des artefacts prêts à être déployés.
+ [AWS CodeCommit](https://docs.aws.amazon.com/codecommit/latest/userguide/welcome.html) — AWS CodeCommit est un service de contrôle de version hébergé par Amazon Web Services que vous pouvez utiliser pour stocker et gérer des actifs privés (tels que des documents, du code source et des fichiers binaires) dans le cloud.
+ [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/welcome.html) — AWS CodePipeline est un service de livraison continue que vous pouvez utiliser pour modéliser, visualiser et automatiser les étapes nécessaires à la publication de votre logiciel.
+ [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) — Amazon Elastic Container Service (Amazon ECS) est un service de gestion de conteneurs rapide et hautement évolutif qui permet d'exécuter, d'arrêter et de gérer des conteneurs sur un cluster.
+ [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) — Amazon Elastic Container Registry (Amazon ECR) est un service de registre d'images de conteneurs géré par AWS qui est sécurisé, évolutif et fiable.
+ [Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) — Amazon Elastic Kubernetes Service (Amazon EKS) est un service géré que vous pouvez utiliser pour exécuter Kubernetes sur AWS sans avoir à installer, exploiter et gérer votre propre plan de contrôle ou vos propres nœuds Kubernetes.
+ [AWS Fargate](https://docs.aws.amazon.com/AmazonECS/latest/userguide/what-is-fargate.html) — AWS Fargate est une technologie que vous pouvez utiliser avec Amazon ECS pour exécuter des conteneurs sans avoir à gérer des serveurs ou des clusters d'instances Amazon Elastic Compute Cloud (Amazon). EC2 Avec Fargate, vous n'avez plus besoin d'allouer, de configurer ou de mettre à l'échelle des clusters de machines virtuelles pour exécuter des conteneurs.

## Épopées
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-epics"></a>

### Configurer les informations d'identification
<a name="set-up-credentials"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Créez un secret pour accéder au serveur d'applications. | Pour accéder au serveur d'applications à distance depuis l'ordinateur subordonné, créez un secret dans AWS Secrets Manager. Pour votre secret, vous pouvez utiliser soit la clé privée SSH, soit le certificat et la clé privée SSH. Pour plus d'informations, consultez [Gérer les secrets pour AWS App2Container](https://docs.aws.amazon.com/app2container/latest/UserGuide/manage-secrets.html). | DevOps, Développeur | 

### Configurer la machine de travail
<a name="set-up-the-worker-machine"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez le fichier tar. | Exécutez `sudo yum install -y tar`. | DevOps, Développeur | 
| Installez l'AWS CLI. | Pour installer l'interface de ligne de commande Amazon (AWS CLI), `curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"` exécutez. Décompressez `awscliv2.zip`.Exécutez `sudo ./aws/install`. | DevOps, Développeur | 
| Installez App2Container. | Exécutez les commandes suivantes :`curl -o AWSApp2Container-installer-linux.tar.gz https://app2container-release-us-east-1.s3.us-east-1.amazonaws.com/latest/linux/AWSApp2Container-installer-linux.tar.gz``sudo tar xvf AWSApp2Container-installer-linux.tar.gz``sudo ./install.sh` | DevOps, Développeur | 
| Configurez les profils. | Pour configurer le profil par défaut AWS, exécutez`sudo aws configure`.Pour configurer le profil par défaut AWS nommé, exécutez`sudo aws configure --profile <profile name>`. | DevOps, Développeur | 
| Installez Docker. | Exécutez les commandes suivantes.`sudo yum install -y docker``sudo systemctl enable docker & sudo systemctl restart docker` |  | 
| Initialisez App2Container. | Pour initialiser App2Container, vous avez besoin des informations suivantes :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-on-premises-java-applications-to-aws-using-aws-app2container.html)Exécutez `sudo app2container init`. | DevOps, Développeur | 

### Configuration de la machine subordonnée
<a name="configure-the-worker-machine"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez l'ordinateur subordonné pour qu'il se connecte à distance et exécute les commandes App2Container sur le serveur d'applications. | Pour configurer la machine subordonnée, les informations suivantes sont requises :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-on-premises-java-applications-to-aws-using-aws-app2container.html)Exécutez `sudo app2container remote configure`. | DevOps, Développeur | 

### Découvrez, analysez et extrayez des applications sur la machine de travail
<a name="discover-analyze-and-extract-applications-on-the-worker-machine"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Découvrez les applications Java locales. | Pour découvrir à distance toutes les applications exécutées sur le serveur d'applications, exécutez la commande suivante.`sudo app2container remote inventory --target <FQDN/IP of App server>`Cette commande génère une liste des applications déployées dans`inventory.json`. | Développeur, DevOps | 
| Analysez les applications découvertes. | Pour analyser à distance chaque application à l'aide de l'identifiant d'application obtenu lors de la phase d'inventaire, exécutez la commande suivante.`sudo app2container remote analyze --application-id <java-app-id> --target <FQDN/IP of App Server>`Cela génère un `analysis.json` fichier dans l'emplacement de l'espace de travail. Une fois ce fichier généré, vous pouvez modifier les paramètres de conteneurisation en fonction de vos besoins. | Développeur, DevOps | 
| Extrayez les applications analysées. | Pour générer une archive d'application pour l'application analysée, exécutez à distance la commande suivante, qui générera le bundle tar dans l'emplacement de l'espace de travail.`sudo app2container remote extract --application-id <application id> --target <FQDN/IP of App Server>`Les artefacts extraits peuvent être générés sur la machine de travail locale. | Développeur, DevOps | 

### Conteneurisez les artefacts extraits sur la machine de travail
<a name="containerize-the-extracted-artifacts-on-the-worker-machine"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Conteneurisez les artefacts extraits. | Conteneurisez les artefacts extraits à l'étape précédente en exécutant la commande suivante.`sudo app2container containerize --input-archive <tar bundle location on worker machine>` | Développeur, DevOps | 
| Finalisez la cible. | Pour finaliser la cible, ouvrez`deployment.json`, qui est créée lors de l'exécution de la `containerize` commande. Pour spécifier AWS Fargate comme cible, définissez sur. `createEcsArtifacts` `true` Pour définir Amazon EKS comme cible, définissez ce paramètre `createEksArtifacts` sur true. | Développeur, DevOps | 

### Génération et approvisionnement d'artefacts AWS
<a name="generate-and-provision-aws-artifacts"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Générez des artefacts de déploiement AWS sur la machine subordonnée. | Pour générer des artefacts de déploiement, exécutez la commande suivante.`sudo app2container generate app-deployment --application-id <application id>`Cela génère le CloudFormation modèle `ecs-master.yml` AWS dans l'espace de travail. | DevOps | 
| Fournissez les artefacts. | Pour continuer à approvisionner les artefacts générés, déployez le CloudFormation modèle AWS en exécutant la commande suivante.`aws cloudformation deploy --template-file <path to ecs-master.yml> --capabilities CAPABILITY_NAMED_IAM --stack-name <application id>–ECS` | DevOps | 
| Générez le pipeline. | `pipeline.json`Modifie, qui a été créé dans l'article précédent, en fonction de vos besoins. Exécutez ensuite la `generate pipeline` commande pour générer les artefacts de déploiement du pipeline. | DevOps | 

## Ressources connexes
<a name="migrate-on-premises-java-applications-to-aws-using-aws-app2container-resources"></a>
+ [Qu'est-ce qu'App2Container ?](https://docs.aws.amazon.com/app2container/latest/UserGuide/what-is-a2c.html)
+ [Article de blog AWS App2Container](https://aws.amazon.com/blogs/aws/aws-app2container-a-new-containerizing-tool-for-java-and-asp-net-applications/)
+ [Principes de base de configuration de l'AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html)
+ [Principes de base de Docker pour Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html)
+ [Commandes Docker](https://docs.docker.com/engine/reference/commandline/cli/)

# Migrer des systèmes de fichiers partagés dans le cadre d'une migration AWS de grande envergure
<a name="migrate-shared-file-systems-in-an-aws-large-migration"></a>

*Amit Rudraraju, Sam Apa, Bheemeswararao Balla, Wally Lu et Sanjeev Prakasam, Amazon Web Services*

## Résumé
<a name="migrate-shared-file-systems-in-an-aws-large-migration-summary"></a>

La migration de 300 serveurs ou plus est considérée comme une *migration de grande envergure*. L'objectif d'une migration de grande envergure est de faire migrer les charges de travail de leurs centres de données locaux existants vers le AWS Cloud, et ces projets se concentrent généralement sur les charges de travail des applications et des bases de données. Cependant, les systèmes de fichiers partagés nécessitent une attention particulière et un plan de migration distinct. Ce modèle décrit le processus de migration des systèmes de fichiers partagés et fournit les meilleures pratiques pour réussir leur migration dans le cadre d'un projet de migration de grande envergure.

Un *système de fichiers partagé* (SFS), également appelé *réseau* ou système de fichiers *en cluster*, est un partage de fichiers monté sur plusieurs serveurs. Les systèmes de fichiers partagés sont accessibles via des protocoles tels que NFS (Network File System), CIFS (Common Internet File System) ou SMB (Server Message Block).

Ces systèmes ne sont pas migrés à l'aide d'outils de migration standard, par exemple AWS Application Migration Service parce qu'ils ne sont ni dédiés à l'hôte à migrer ni représentés sous forme de périphérique en mode bloc. Bien que la plupart des dépendances de l'hôte soient migrées de manière transparente, la coordination et la gestion des systèmes de fichiers dépendants doivent être gérées séparément.

Vous migrez des systèmes de fichiers partagés selon les phases suivantes : découverte, planification, préparation, découpe et validation. À l'aide de ce modèle et des classeurs joints, vous migrez votre système de fichiers partagé vers un service de AWS stockage, tel qu'Amazon Elastic File System (Amazon EFS), Amazon FSx for NetApp ONTAP ou Amazon FSx for Windows File Server. Pour transférer le système de fichiers, vous pouvez utiliser AWS DataSync un outil tiers, tel que NetApp SnapMirror.

**Note**  
Ce modèle fait partie d'une série de directives AWS prescriptives sur les [grandes migrations vers le](https://aws.amazon.com/prescriptive-guidance/large-migrations/). AWS Cloud Ce modèle inclut les meilleures pratiques et les instructions à SFSs intégrer dans vos plans de vague pour les serveurs. Si vous migrez un ou plusieurs systèmes de fichiers partagés en dehors d'un projet de migration de grande envergure, consultez les instructions de transfert de données figurant dans la AWS documentation d'[Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/trnsfr-data-using-datasync.html), d'[Amazon FSx pour Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-to-fsx.html) et d'[Amazon FSx pour NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html).

## Conditions préalables et limitations
<a name="migrate-shared-file-systems-in-an-aws-large-migration-prereqs"></a>

**Conditions préalables**

Les prérequis peuvent varier en fonction de vos systèmes de fichiers partagés source et cible et de votre cas d'utilisation. Les plus courants sont les suivants :
+ Un actif Compte AWS.
+ Vous avez terminé la découverte du portefeuille d'applications pour votre projet de migration de grande envergure et vous avez commencé à élaborer des plans de vague. Pour plus d'informations, consultez le [manuel Portfolio pour les migrations de AWS grande envergure](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-portfolio-playbook/welcome.html).
+ Clouds privés virtuels (VPCs) et groupes de sécurité qui autorisent le trafic entrant et sortant entre le centre de données sur site et votre environnement. AWS [Pour plus d'informations, consultez les [options de connectivité entre le réseau et Amazon VPC](https://docs.aws.amazon.com/whitepapers/latest/aws-vpc-connectivity-options/network-to-amazon-vpc-connectivity-options.html) et les exigences du réseau.AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/datasync-network.html)
+ Autorisations pour créer des AWS CloudFormation piles ou autorisations pour créer des FSx ressources Amazon EFS ou Amazon. Pour plus d'informations, consultez la [CloudFormation documentation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html), la [documentation Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/security-iam.html) ou [ FSx la documentation Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/security-iam.html).
+ Si vous utilisez AWS DataSync pour effectuer la migration, vous avez besoin des autorisations suivantes :
  + Autorisations permettant AWS DataSync d'envoyer des journaux à un groupe de CloudWatch journaux Amazon Logs. Pour plus d'informations, consultez [Autoriser DataSync le téléchargement de journaux vers des groupes de CloudWatch journaux](https://docs.aws.amazon.com/datasync/latest/userguide/monitor-datasync.html#cloudwatchlogs).
  + Autorisations d'accès au groupe de CloudWatch journaux Logs. Pour plus d'informations, consultez la section [Présentation de la gestion des autorisations d'accès à vos ressources CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-access-control-overview-cwl.html).
  + Autorisations permettant de créer des agents et des tâches dans DataSync. Pour plus d'informations, consultez la section [Autorisations IAM requises pour l'utilisation AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/permissions-requirements.html).

**Limites**
+ Ce modèle est conçu pour effectuer une migration dans SFSs le cadre d'un projet de migration de grande envergure. Il inclut les meilleures pratiques et les instructions à SFSs intégrer dans vos plans de migration d'applications. Si vous migrez un ou plusieurs systèmes de fichiers partagés en dehors d'un projet de migration de grande envergure, consultez les instructions de transfert de données figurant dans la AWS documentation d'[Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/trnsfr-data-using-datasync.html), d'[Amazon FSx pour Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-to-fsx.html) et d'[Amazon FSx pour NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap.html).
+ Ce modèle est basé sur les architectures, les services et les modèles de migration couramment utilisés. Cependant, les grands projets et stratégies de migration peuvent varier d'une organisation à l'autre. Vous devrez peut-être personnaliser cette solution ou les classeurs fournis en fonction de vos besoins.

## Architecture
<a name="migrate-shared-file-systems-in-an-aws-large-migration-architecture"></a>

**Pile technologique source**

Un ou plusieurs des éléments suivants :
+ serveur de fichiers Linux (NFS)
+ Serveur de fichiers Windows (SMB)
+ NetApp baie de stockage
+ Unité multidisque de stockage Dell EMC Isilon

**Pile technologique cible**

Un ou plusieurs des éléments suivants :
+ Amazon Elastic File System
+ Amazon FSx pour NetApp ONTAP
+ Serveur FSx de fichiers Amazon pour Windows

**Architecture cible**

![\[Schéma d'architecture de l'utilisation d'AWS DataSync pour migrer des systèmes de fichiers partagés sur site vers AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/a30cf791-7a8a-4f71-8927-bc61f3b332f2/images/13232433-7d33-44c8-8998-b720f33f67b3.png)


Le schéma montre le processus suivant :

1. Vous établissez une connexion entre le centre de données sur site et le AWS Cloud en utilisant un Service AWS tel que AWS Direct Connect ou AWS Site-to-Site VPN.

1. Vous installez l' DataSync agent dans le centre de données sur site.

1. Selon votre plan de vague, vous pouvez DataSync répliquer les données du système de fichiers partagé source vers le partage de AWS fichiers cible.

**Phases de migration**

L'image suivante montre les phases et les étapes de haut niveau de la migration d'un SFS dans le cadre d'un projet de migration de grande envergure.

![\[Découvrez, planifiez, préparez, supprimez et validez les phases de migration des systèmes de fichiers partagés vers AWS.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/a30cf791-7a8a-4f71-8927-bc61f3b332f2/images/f1e0c94d-0eea-46a8-bdec-3297b34c1d43.png)


La section [Epics](#migrate-shared-file-systems-in-an-aws-large-migration-epics) de ce modèle contient des instructions détaillées sur la façon de terminer la migration et d'utiliser les classeurs joints. Voici un aperçu général des étapes de cette approche progressive.


| 
| 
| Phase | Étapes | 
| --- |--- |
| Découvrez | 1. À l'aide d'un outil de découverte, vous collectez des données sur le système de fichiers partagé, notamment les serveurs, les points de montage et les adresses IP.2. À l'aide d'une base de données de gestion de configuration (CMDB) ou de votre outil de migration, vous collectez des informations sur le serveur, notamment des informations sur la vague de migration, l'environnement, le propriétaire de l'application, le nom du service de gestion des services informatiques (ITSM), l'unité organisationnelle et l'ID de l'application. | 
| Plan | 3. À l'aide des informations collectées sur les serveurs SFSs et les serveurs, créez le plan de vague SFS.4. À l'aide des informations contenues dans la feuille de travail de génération, pour chaque SFS, choisissez une cible Service AWS et un outil de migration. | 
| Préparation | 5. Configurez l'infrastructure cible dans Amazon EFS, Amazon FSx for NetApp ONTAP ou Amazon FSx pour Windows File Server.6. Configurez le service de transfert de données, par exemple DataSync, puis lancez la synchronisation initiale des données. Lorsque la synchronisation initiale est terminée, vous pouvez configurer des synchronisations récurrentes pour qu'elles s'exécutent selon un calendrier,7. Mettez à jour le plan de vague SFS avec des informations sur le partage de fichiers cible, telles que l'adresse IP ou le chemin. | 
| Découper | 8. Arrêtez les applications qui accèdent activement au SFS source.9. Dans le service de transfert de données, effectuez une synchronisation finale des données.10. Lorsque la synchronisation est terminée, vérifiez qu'elle s'est parfaitement déroulée en consultant les données du journal dans CloudWatch Logs. | 
| Valider | 11. Sur les serveurs, remplacez le point de montage par le nouveau chemin SFS.12. Redémarrez et validez les applications. | 

## Outils
<a name="migrate-shared-file-systems-in-an-aws-large-migration-tools"></a>

**Services AWS**
+ [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) vous aide à centraliser les journaux de tous vos systèmes et applications, Services AWS afin que vous puissiez les surveiller et les archiver en toute sécurité.
+ [AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html)est un service de transfert et de découverte de données en ligne qui vous permet de déplacer des fichiers ou des données d'objets vers, depuis et entre les services AWS de stockage.
+ [Amazon Elastic File System (Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html) vous aide à créer et à configurer des systèmes de fichiers partagés dans le AWS Cloud.
+ [Amazon FSx](https://docs.aws.amazon.com/fsx/?id=docs_gateway) fournit des systèmes de fichiers qui prennent en charge les protocoles de connectivité standard du secteur et offrent une disponibilité et une réplication élevées sur l'ensemble Régions AWS de ces protocoles.

**Autres outils**
+ [SnapMirror](https://library.netapp.com/ecmdocs/ECMP1196991/html/GUID-BA1081BE-B2BB-4C6E-8A82-FB0F87AC514E.html)est un outil de réplication de NetApp données qui réplique les données provenant de volumes sources ou de [qtrees spécifiés vers des](https://library.netapp.com/ecmdocs/ECMP1154894/html/GUID-8F084F85-2AB8-4622-B4F3-2D9E68559292.html) volumes cibles ou des qtrees, respectivement. Vous pouvez utiliser cet outil pour migrer un système de fichiers NetApp source vers Amazon FSx pour NetApp ONTAP.
+ [Robocopy](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy), abréviation de *Robust File Copy*, est un répertoire de ligne de commande et une commande pour Windows. Vous pouvez utiliser cet outil pour migrer un système de fichiers source Windows vers Amazon FSx pour Windows File Server.

## Bonnes pratiques
<a name="migrate-shared-file-systems-in-an-aws-large-migration-best-practices"></a>

**Approches de planification des vagues**

Lorsque vous planifiez des vagues pour votre projet de migration de grande envergure, tenez compte de la latence et des performances des applications. Lorsque le SFS et les applications dépendantes fonctionnent dans différents emplacements, tels que l'un dans le cloud et l'autre dans le centre de données sur site, cela peut augmenter la latence et affecter les performances des applications. Les options disponibles lors de la création de plans de vagues sont les suivantes :

1. **Migrez le SFS et tous les serveurs dépendants au sein de la même vague** : cette approche permet d'éviter les problèmes de performances et de minimiser les retouches, telles que la reconfiguration des points de montage à plusieurs reprises. Il est recommandé lorsqu'une très faible latence est requise entre l'application et le SFS. Cependant, la planification des vagues est complexe et l'objectif est généralement de supprimer des variables des groupements de dépendances, et non d'en ajouter. De plus, cette approche n'est pas recommandée si de nombreux serveurs accèdent au même SFS, car cela rend la vague trop importante.

1. **Migrer le SFS après la migration du dernier serveur dépendant : par exemple, si plusieurs serveurs accèdent à un SFS et que la migration de ces serveurs est planifiée au cours des vagues 4, 6 et 7, planifiez le SFS pour qu'**il migre au cours de la vague 7.

   Cette approche est souvent la plus logique pour les grandes migrations et elle est recommandée pour les applications sensibles à la latence. Il réduit les coûts associés au transfert de données. Cela minimise également la période de latence entre le SFS et les applications de niveau supérieur (telles que la production), car les applications de niveau supérieur sont généralement programmées pour migrer en dernier, après les applications de développement et d'assurance qualité.

   Cependant, cette approche nécessite toujours de la découverte, de la planification et de l'agilité. Il se peut que vous deviez migrer le SFS lors d'une vague précédente. Vérifiez que les applications peuvent supporter la latence supplémentaire pendant la période comprise entre la première vague dépendante et la vague contenant le SFS. Organisez une session de découverte avec les propriétaires de l'application et faites migrer l'application la plus sensible à la latence en même temps. Si des problèmes de performances sont découverts après la migration d'une application dépendante, préparez-vous à effectuer une transition rapide pour migrer le SFS le plus rapidement possible.

1. **Migrer le SFS à la fin d'un projet de migration de grande envergure** : cette approche est recommandée si la latence n'est pas un facteur, par exemple lorsque les données du SFS sont rarement consultées ou qu'elles ne sont pas essentielles aux performances de l'application. Cette approche rationalise la migration et simplifie les tâches de transfert.

Vous pouvez combiner ces approches en fonction de la sensibilité à la latence de l'application. Par exemple, vous pouvez effectuer une migration sensible à la latence SFSs en utilisant les approches 1 ou 2, puis migrer le reste SFSs en utilisant l'approche 3.

**Choix d'un service AWS de système de fichiers**

AWS propose plusieurs services cloud pour le stockage de fichiers. Chacune offre des avantages et des limites différents en termes de performances, d'évolutivité, d'accessibilité, d'intégration, de conformité et d'optimisation des coûts. Il existe des options par défaut logiques. Par exemple, si votre système de fichiers sur site actuel fonctionne sous Windows Server, Amazon FSx pour Windows File Server est le choix par défaut. Ou si le système de fichiers sur site utilise NetApp ONTAP, Amazon FSx pour NetApp ONTAP est le choix par défaut. Toutefois, vous pouvez choisir un service cible en fonction des exigences de votre application ou pour bénéficier d'autres avantages liés à l'exploitation du cloud. Pour plus d'informations, voir [Choisir le service de stockage de AWS fichiers adapté à votre déploiement](https://d1.awsstatic.com/events/Summits/awsnycsummit/Choosing_the_right_AWS_file_storage_service_for_your_deployment_STG302.pdf) (présentation AWS du sommet).

**Choisir un outil de migration**

Amazon EFS et Amazon FSx prennent en charge l'utilisation de AWS DataSync pour migrer des systèmes de fichiers partagés vers le AWS Cloud. Pour plus d'informations sur les systèmes et services de stockage pris en charge, les avantages et les cas d'utilisation, reportez-vous à la section [Qu'est-ce que c'est AWS DataSync](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html). Pour un aperçu du processus d'utilisation DataSync pour transférer vos fichiers, consultez [Comment fonctionnent AWS DataSync les transferts](https://docs.aws.amazon.com/datasync/latest/userguide/how-datasync-transfer-works.html).

Plusieurs outils tiers sont également disponibles, notamment les suivants :
+ Si vous choisissez Amazon FSx pour NetApp ONTAP, vous pouvez l'utiliser NetApp SnapMirror pour migrer les fichiers du centre de données sur site vers le cloud. SnapMirror utilise la réplication au niveau des blocs, qui peut être plus rapide que le processus de transfert de données DataSync et en réduire la durée. Pour plus d'informations, consultez la section [Migration vers ONTAP à l'aide FSx d'ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/migrating-fsx-ontap-snapmirror.html). NetApp SnapMirror
+ Si vous choisissez Amazon FSx pour Windows File Server, vous pouvez utiliser Robocopy pour migrer des fichiers vers le cloud. Pour plus d'informations, voir [Migration de fichiers existants vers un serveur de fichiers Windows FSx à l'aide de Robocopy](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/migrate-files-to-fsx.html).

## Épopées
<a name="migrate-shared-file-systems-in-an-aws-large-migration-epics"></a>

### Découvrez
<a name="discover"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez le classeur de découverte SFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingénieur en migration, responsable de la migration | 
| Collectez des informations sur le SFS source. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingénieur en migration, responsable de la migration | 
| Collectez des informations sur les serveurs. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingénieur en migration, responsable de la migration | 

### Plan
<a name="plan"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Élaborez le plan de vague SFS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Responsable du développement, Responsable du transfert, Ingénieur de migration, Responsable de la migration | 
| Choisissez la cible Service AWS et l'outil de migration. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingénieur en migration, responsable de la migration | 

### Préparation
<a name="prepare"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Configurez le système de fichiers cible. | En fonction des détails enregistrés dans votre plan de vague, configurez les systèmes de fichiers cibles dans la cible Compte AWS, le VPC et les sous-réseaux. Pour obtenir des instructions, consultez la AWS documentation suivante :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingénieur en migration, responsable de la migration, administrateur AWS | 
| Configurez l'outil de migration et transférez les données. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Administrateur AWS, administrateur cloud, ingénieur de migration, responsable de la migration | 
| Mettez à jour le plan des vagues. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingénieur en migration, responsable de la migration | 

### Découper
<a name="cut-over"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Arrêtez les applications. | Si des applications ou des clients effectuent activement des opérations de lecture et d'écriture dans le SFS source, arrêtez-les avant de procéder à la synchronisation finale des données. Pour obtenir des instructions, consultez la documentation de l'application ou vos processus internes pour arrêter les activités de lecture et d'écriture. Par exemple, consultez [Démarrer ou arrêter le serveur Web (IIS 8)](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/jj635851(v=ws.11)) (documentation Microsoft) ou [Gestion des services système avec systemctl](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/managing-systemd_configuring-basic-system-settings#managing-system-services-with-systemctl_managing-systemd) (documentation Red Hat). | Propriétaire de l'application, développeur de l'application | 
| Effectuez le transfert de données final. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Ingénieur en migration, responsable de la migration | 
| Validez le transfert de données. | Si vous utilisez AWS DataSync, procédez comme suit pour valider le transfert de données final effectué avec succès :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html)Si vous utilisez un outil tiers, consultez les instructions de validation du transfert de données dans la documentation de l'outil de migration sélectionné. | Ingénieur en migration, responsable de la migration | 

### Valider
<a name="validate"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Remontez le système de fichiers et validez le fonctionnement et les performances de l'application. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-shared-file-systems-in-an-aws-large-migration.html) | Administrateur système AWS, propriétaire de l'application | 

## Résolution des problèmes
<a name="migrate-shared-file-systems-in-an-aws-large-migration-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| Les valeurs des cellules dans Microsoft Excel ne sont pas mises à jour. | Copiez les formules dans les lignes d'exemple en faisant glisser la poignée de remplissage. Pour plus d'informations, consultez les instructions pour [Windows](https://support.microsoft.com/en-us/office/fill-a-formula-down-into-adjacent-cells-041edfe2-05bc-40e6-b933-ef48c3f308c6) ou pour [Mac](https://support.microsoft.com/en-au/office/copy-a-formula-by-dragging-the-fill-handle-in-excel-for-mac-dd928259-622b-473f-9a33-83aa1a63e218) (site Web du Support Microsoft). | 

## Ressources connexes
<a name="migrate-shared-file-systems-in-an-aws-large-migration-resources"></a>

**AWS documentation**
+ [AWS DataSync documentation](https://docs.aws.amazon.com/datasync/latest/userguide/what-is-datasync.html)
+ [Documentation Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html)
+ [ FSx Documentation Amazon](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/index.html)
+ [Importantes migrations vers AWS Cloud](https://aws.amazon.com/prescriptive-guidance/large-migrations/)
  + [Guide pour les AWS grandes migrations](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-guide/welcome.html)
  + [Guide de portefeuille pour les AWS grandes migrations](https://docs.aws.amazon.com/prescriptive-guidance/latest/large-migration-portfolio-playbook/welcome.html)

**Résolution des problèmes**
+ [AWS DataSync Problèmes de résolution des problèmes](https://docs.aws.amazon.com/datasync/latest/userguide/troubleshooting-datasync.html)
+ [Résolution des problèmes liés à Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/troubleshooting.html)
+ [Résolution des problèmes liés au serveur de fichiers Amazon FSx pour Windows](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/troubleshooting.html)
+ [Résolution des problèmes liés à Amazon FSx pour NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/troubleshooting.html)

## Pièces jointes
<a name="attachments-a30cf791-7a8a-4f71-8927-bc61f3b332f2"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/a30cf791-7a8a-4f71-8927-bc61f3b332f2/attachments/attachment.zip)

# Migrer une base de données Oracle vers Amazon RDS for Oracle à l'aide d'adaptateurs de GoldenGate fichiers plats Oracle
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters"></a>

*Dhairya Jindani et Baji Shaik, Amazon Web Services*

## Résumé
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-summary"></a>

Oracle GoldenGate est un service de capture et de réplication de données en temps réel pour les bases de données et les environnements informatiques hétérogènes. Toutefois, ce service ne prend actuellement pas en charge Amazon Relational Database Service (Amazon RDS) pour Oracle. Pour obtenir la liste des bases de données prises en charge, consultez [Oracle GoldenGate pour les bases de données hétérogènes](https://docs.oracle.com/goldengate/c1230/gg-winux/GGHDB/12.3-what-is-oracle-goldengate-heterogeneous-databases.htm#GGHDB-GUID-08EAC588-F76C-4E37-BEBA-0DC57B98CA46) (documentation Oracle). Ce modèle décrit comment utiliser les adaptateurs de fichiers GoldenGate plats Oracle GoldenGate et Oracle pour générer des fichiers plats à partir de la base de données Oracle source, qui peut se trouver sur site ou sur une instance Amazon Elastic Compute Cloud (Amazon EC2). Vous pouvez ensuite importer ces fichiers plats dans une instance de base de données Amazon RDS for Oracle.

Dans ce modèle, vous utilisez Oracle GoldenGate pour extraire les fichiers de suivi de votre base de données Oracle source. La pompe de données copie les fichiers de suivi sur un serveur d'intégration, qui est une EC2 instance Amazon. Sur le serveur d'intégration, Oracle GoldenGate utilise l'adaptateur de fichiers plats pour générer une série de fichiers plats séquentiels basés sur la capture des données transationnelles des fichiers de suivi. Oracle met en GoldenGate forme les données sous forme de valeurs séparées par des délimiteurs ou de valeurs délimitées par des longueurs. Vous utilisez ensuite Oracle SQL\$1Loader pour importer les fichiers plats dans l'instance de base de données Amazon RDS for Oracle cible.

**Public visé**

Ce modèle est destiné à ceux qui ont de l'expérience et des connaissances sur les éléments GoldenGate de base d'un Oracle. Pour plus d'informations, voir [Présentation de l' GoldenGate architecture Oracle](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD115) (documentation Oracle).

## Conditions préalables et limitations
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-prereqs"></a>

**Conditions préalables**
+ Un actif Compte AWS.
+ Une GoldenGate licence Oracle.
+ Une licence distincte pour un GoldenGate adaptateur Oracle.
+ Une base de données Oracle source, exécutée sur site ou sur une EC2 instance Amazon.
+ Une instance Amazon EC2 Linux utilisée comme serveur d'intégration. Pour plus d'informations, consultez [Commencer avec les instances Amazon EC2 Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html) ( EC2 documentation Amazon).
+ Une instance de base de données Amazon RDS for Oracle cible. Pour plus d'informations, consultez [Création d'une instance de base de données Oracle](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.Oracle.html) (documentation Amazon RDS).

**Versions du produit**
+ Oracle Database Enterprise Edition version 10g, 11g, 12c ou ultérieure
+ Oracle GoldenGate version 12.2.0.1.1 ou ultérieure

## Architecture
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-architecture"></a>

**Pile technologique source**

Une base de données Oracle (sur site ou sur une EC2 instance Amazon)

**Pile technologique cible**

Amazon RDS for Oracle

**Architecture source et cible**

![\[Migration d'une base de données Oracle vers Amazon RDS for Oracle à l'aide d'un GoldenGate adaptateur Oracle.\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/f34961f7-aa9a-41cb-b1ea-522e36ef2f67/images/21ef5177-e669-4591-aced-28d2f22decf2.png)


1. Oracle GoldenGate extrait les traces des journaux de la base de données source.

1. La pompe de données extrait les traces et les fait migrer vers un serveur d'intégration.

1. L'adaptateur de fichier GoldenGate plat Oracle lit les traces, les définitions de source et les paramètres d'extraction.

1. Vous quittez l'extraction, qui génère un fichier de contrôle et des fichiers de données plats.

1. Vous migrez les fichiers de données plats vers une instance de base de données Amazon RDS for Oracle dans le AWS Cloud.

## Outils
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-tools"></a>

**Services AWS**
+ [Amazon Elastic Compute Cloud (Amazon EC2)](https://docs.aws.amazon.com/ec2/) fournit une capacité de calcul évolutive dans le AWS Cloud. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.
+ [Amazon Relational Database Service (Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)) pour Oracle vous aide à configurer, exploiter et dimensionner une base de données relationnelle Oracle dans le. AWS Cloud

**Autres services**
+ [Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GWUAD/wu_about_gg.htm#GWUAD110) est un service qui vous aide à répliquer, filtrer et transformer les données d'une base de données vers une autre base de données hétérogène ou vers une autre topologie cible, telle que des fichiers plats.
+ [Les adaptateurs GoldenGate d'application Oracle](https://docs.oracle.com/goldengate/gg121211/gg-adapter/GADAD/flatfile_config.htm#GADAD424) permettent GoldenGate à Oracle de produire une série de fichiers plats séquentiels et de fichiers de contrôle à partir des données transactionnelles capturées dans les fichiers de suivi d'une base de données source. Ces adaptateurs sont largement utilisés pour les opérations d'extraction, de transformation et de chargement (ETL) dans les applications d'entrepôt de données et les applications propriétaires ou existantes. Oracle GoldenGate effectue cette capture et l'applique en temps quasi réel sur des bases de données, des plateformes et des systèmes d'exploitation hétérogènes. Les adaptateurs prennent en charge différents formats pour les fichiers de sortie, tels que CSV ou Apache Parquet. Vous pouvez charger ces fichiers générés afin de charger les données dans différentes bases de données hétérogènes.

## Épopées
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-epics"></a>

### Configuration d'Oracle GoldenGate sur le serveur de base de données source
<a name="set-up-oracle-goldengate-on-the-source-database-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez Oracle GoldenGate. | Sur le serveur de base de données source, téléchargez Oracle GoldenGate version 12.2.0.1.1 ou ultérieure. Pour obtenir des instructions, voir [Téléchargement d'](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164)Oracle GoldenGate (documentation Oracle). | DBA | 
| Installez Oracle GoldenGate. | Pour obtenir des instructions, voir [Installation d'](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162)Oracle GoldenGate (documentation Oracle). | DBA | 
| Configurez Oracle GoldenGate. | Pour obtenir des instructions, voir [Préparation de la base de données pour Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357) (documentation Oracle). | DBA | 

### Configuration d'Oracle GoldenGate sur le serveur d'intégration
<a name="set-up-oracle-goldengate-on-the-integration-server"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Téléchargez Oracle GoldenGate. | Sur le serveur d'intégration, téléchargez la GoldenGate version 12.2.0.1.1 ou ultérieure d'Oracle. Pour obtenir des instructions, voir [Téléchargement d'](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA164)Oracle GoldenGate (documentation Oracle). | DBA | 
| Installez Oracle GoldenGate. | Créez des répertoires, configurez le processus de gestion et créez le `defgen` fichier pour un environnement hétérogène. Pour obtenir des instructions, voir [Installation d'](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162)Oracle GoldenGate (documentation Oracle). | DBA | 

### Modifier la configuration de capture GoldenGate de données Oracle
<a name="change-the-oracle-goldengate-data-capture-configuration"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Préparez les GoldenGate adaptateurs Oracle. | Sur le serveur d'intégration, configurez le logiciel de l' GoldenGate adaptateur Oracle. Procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.html) | DBA | 
| Configurez la pompe de données. | Sur le serveur source, configurez la pompe de données pour transférer le fichier de suivi du serveur source vers le serveur d'intégration. Créez le fichier de paramètres de la pompe de données et le répertoire des fichiers de suivi. Pour obtenir des instructions, voir [Configuration de l'adaptateur de fichiers plats](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424) (documentation Oracle). | DBA | 

### Génération et migration des fichiers plats
<a name="generate-and-migrate-the-flat-files"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Générez les fichiers plats. | Créez le fichier d'extrait et le fichier de contrôle, puis lancez le processus d'extraction sur le serveur d'intégration. Cela extrait les modifications de base de données et écrit la base de données source dans les fichiers plats. Pour obtenir des instructions, voir [Utilisation de l'adaptateur de fichiers plats](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD432) (documentation Oracle). | DBA | 
| Chargez les fichiers plats dans la base de données cible. | Chargez les fichiers plats dans l'instance de base de données Amazon RDS for Oracle cible. Pour plus d'informations, consultez [Importation à l'aide d'Oracle SQL\$1Loader (documentation](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Oracle.Procedural.Importing.SQLLoader.html) Amazon RDS). | DBA | 

## Résolution des problèmes
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-troubleshooting"></a>


| Problème | Solution | 
| --- | --- | 
| L'adaptateur de fichiers GoldenGate plats Oracle génère une erreur. | Pour une description des erreurs de l'adaptateur, voir [Localisation des messages d'erreur](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-D30CC70D-B90F-4209-BEB5-9BA53EA869EF.htm#GADAD437) (documentation Oracle). Pour obtenir des instructions de dépannage, voir [Résolution des problèmes liés à l'adaptateur de fichiers plats](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-CB3D9B2C-49CC-408A-8C00-06E0C7923DD6.htm#GADAD552) (documentation Oracle). | 

## Ressources connexes
<a name="migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters-resources"></a>
+ [Installation d'Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/install.htm#GIORA162) (documentation Oracle)
+ [Configuration d'Oracle GoldenGate](https://docs.oracle.com/goldengate/1212/gg-winux/GIORA/setup.htm#GIORA357) (documentation Oracle)
+ [Comprendre les GoldenGate adaptateurs Oracle](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-F9105B02-9836-4F98-99F8-6E9C46D42764.htm#GADAD101) (documentation Oracle)
+ [Configuration de l'adaptateur de fichiers plats](https://docs.oracle.com/goldengate/gg12201/gg-adapter/GADAD/GUID-DF13488D-E0E9-497C-8AFF-70B839DE4843.htm#GADAD424) (documentation Oracle)

# Modifier les applications Python et Perl pour prendre en charge la migration de bases de données de Microsoft SQL Server vers Amazon Aurora PostgreSQL Compatible Edition
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition"></a>

*Dwarika Patra et Deepesh Jayaprakash, Amazon Web Services*

## Résumé
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-summary"></a>

Ce modèle décrit les modifications apportées aux référentiels d'applications qui peuvent être nécessaires lorsque vous migrez des bases de données de Microsoft SQL Server vers Amazon Aurora PostgreSQL Compatible Edition. Le modèle suppose que ces applications sont basées sur Python ou Perl, et fournit des instructions distinctes pour ces langages de script.

La migration de bases de données SQL Server vers une version compatible avec Aurora PostgreSQL implique la conversion de schémas, la conversion d'objets de base de données, la migration de données et le chargement de données. En raison des différences entre PostgreSQL et SQL Server (relatives aux types de données, aux objets de connexion, à la syntaxe et à la logique), la tâche de migration la plus difficile consiste à apporter les modifications nécessaires à la base de code afin qu'elle fonctionne correctement avec PostgreSQL.

Pour une application basée sur Python, les objets et les classes de connexion sont dispersés dans tout le système. En outre, la base de code Python peut utiliser plusieurs bibliothèques pour se connecter à la base de données. Si l'interface de connexion à la base de données change, les objets qui exécutent les requêtes en ligne de l'application doivent également être modifiés.

Pour une application basée sur Perl, les modifications concernent les objets de connexion, les pilotes de connexion à la base de données, les instructions SQL en ligne statiques et dynamiques, ainsi que la façon dont l'application gère les requêtes DML dynamiques complexes et les ensembles de résultats.

Lorsque vous migrez votre application, vous pouvez également envisager d'apporter des améliorations à AWS, telles que le remplacement du serveur FTP par un accès Amazon Simple Storage Service (Amazon S3).

Le processus de migration des applications comporte les défis suivants :
+ Objets de connexion. Si les objets de connexion sont dispersés dans le code avec plusieurs bibliothèques et appels de fonctions, vous devrez peut-être trouver un moyen généralisé de les modifier pour qu'ils soient compatibles avec PostgreSQL.
+ Gestion des erreurs ou des exceptions lors de la récupération ou des mises à jour des enregistrements. Si vous effectuez des opérations conditionnelles de création, de lecture, de mise à jour et de suppression (CRUD) sur la base de données qui renvoient des variables, des ensembles de résultats ou des blocs de données, toute erreur ou exception peut entraîner des erreurs d'application avec des effets en cascade. Celles-ci doivent être traitées avec soin, avec des validations appropriées et des points de sauvegarde. L'un de ces points de sauvegarde consiste à appeler de grandes requêtes SQL en ligne ou des objets de base de données à l'intérieur de `BEGIN...EXCEPTION...END` blocs.
+ Contrôle des transactions et de leur validation. Cela inclut les validations et annulations manuels et automatiques. Le pilote PostgreSQL pour Perl vous oblige à toujours définir explicitement l'attribut de validation automatique.
+ Gestion des requêtes SQL dynamiques. Cela nécessite une solide compréhension de la logique des requêtes et des tests itératifs pour garantir que les requêtes fonctionnent comme prévu.
+ Rendement. Vous devez vous assurer que les modifications du code n'entraînent pas de dégradation des performances des applications.

Ce modèle explique le processus de conversion en détail.

## Conditions préalables et limitations
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-prereqs"></a>

**Conditions préalables**
+ Connaissance pratique de la syntaxe Python et Perl.
+ Compétences de base en SQL Server et PostgreSQL.
+ Compréhension de l'architecture de votre application existante.
+ Accès au code de votre application, à la base de données SQL Server et à la base de données PostgreSQL.
+ Accès à l'environnement de développement Windows ou Linux (ou autre Unix) avec des informations d'identification pour développer, tester et valider les modifications apportées aux applications.
+ Pour une application basée sur Python, les bibliothèques Python standard dont votre application peut avoir besoin, telles que **Pandas** pour gérer les trames de données et **psycopg2** ou pour les connexions aux bases de données. **SQLAlchemy**
+ Pour une application basée sur Perl, des packages Perl avec des bibliothèques ou des modules dépendants sont nécessaires. Le module Comprehensive Perl Archive Network (CPAN) peut répondre à la plupart des exigences des applications.
+ Toutes les bibliothèques ou modules personnalisés dépendants requis. 
+ Informations d'identification de base de données pour l'accès en lecture à SQL Server et read/write l'accès à Aurora.
+ PostgreSQL pour valider et déboguer les modifications apportées aux applications avec les services et les utilisateurs.
+ Accès aux outils de développement lors de la migration d'applications tels que Visual Studio Code, Sublime Text ou **pgAdmin.**

**Limites**
+ Certaines versions, modules, bibliothèques et packages de Python ou Perl ne sont pas compatibles avec l'environnement cloud.
+ Certaines bibliothèques et frameworks tiers utilisés pour SQL Server ne peuvent pas être remplacés pour prendre en charge la migration vers PostgreSQL. 
+ Les variations de performances peuvent nécessiter des modifications de votre application, des requêtes Transact-SQL (T-SQL) en ligne, des fonctions de base de données et des procédures stockées.
+ PostgreSQL prend en charge les noms en minuscules pour les noms de tables, de colonnes et d'autres objets de base de données. 
+ Certains types de données, tels que les colonnes UUID, sont stockés en minuscules uniquement. Les applications Python et Perl doivent gérer de telles différences de cas. 
+ Les différences de codage de caractères doivent être gérées avec le type de données approprié pour les colonnes de texte correspondantes dans la base de données PostgreSQL.                                

**Versions du produit**
+ Python 3.6 ou version ultérieure (utilisez la version compatible avec votre système d'exploitation)
+ Perl 5.8.3 ou version ultérieure (utilisez la version compatible avec votre système d'exploitation)
+ [Aurora PostgreSQL Compatible Edition 4.2 ou version ultérieure (voir les détails)](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Updates.20180305.html#AuroraPostgreSQL.Updates.20180305.42)

## Architecture
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-architecture"></a>

**Pile technologique source**
+ Langage de script (programmation d'applications) : Python 2.7 ou version ultérieure, ou Perl 5.8 
+ Base de données : Microsoft SQL Server version 13
+ Système d'exploitation : Red Hat Enterprise Linux (RHEL) 7 

**Pile technologique cible**
+ Langage de script (programmation d'applications) : Python 3.6 ou version ultérieure, ou Perl 5.8 ou version ultérieure 
+ Base de données : Aurora PostgreSQL 4.2 compatible
+ Système d'exploitation : RHEL 7 

**Architecture de migration**

![\[Migration d'une application Perl ou Python avec SQL Server vers une application compatible avec Aurora PostgreSQL\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/images/pattern-img/b64de64a-bd55-4db7-ba7b-0a2557862af1/images/b8fab3e2-ded5-4f58-86bf-3f645252e9fc.png)


## Outils
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-tools"></a>

**Services et outils AWS**
+ [Aurora PostgreSQL—Compatible Edition](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html) est un moteur de base de données relationnelle entièrement géré, compatible avec PostgreSQL et ACID qui associe la vitesse et la fiabilité des bases de données commerciales haut de gamme à la rentabilité des bases de données open source. Aurora PostgreSQL remplace directement PostgreSQL et permet de configurer, d'exploiter et de dimensionner vos déploiements PostgreSQL nouveaux et existants de manière plus simple et plus rentable.
+ [L'interface de ligne de commande AWS (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) est un outil open source qui vous permet d'interagir avec les services AWS en utilisant des commandes dans votre shell de ligne de commande.

**Autres outils**
+ [bibliothèques de connexion aux bases de données [Python](https://www.python.org/) et PostgressQL telles que psycopg2 et [SQLAlchemy](https://www.sqlalchemy.org/)](https://pypi.org/project/psycopg2/)
+ [Perl](https://www.perl.org/) et ses modules [DBI](https://metacpan.org/pod/DBD::Pg)
+ Terminal [interactif PostgreSQL (psql](https://www.postgresql.org/docs/13/app-psql.html))

## Épopées
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-epics"></a>

### Migrez votre référentiel d'applications vers PostgreSQL : étapes de haut niveau
<a name="migrate-your-application-repository-to-postgresql-ndash-high-level-steps"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Suivez ces étapes de conversion de code pour migrer votre application vers PostgreSQL. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html)Les epics suivants fournissent des instructions détaillées pour certaines de ces tâches de conversion pour les applications Python et Perl. | Développeur d’applications | 
| Utilisez une liste de contrôle pour chaque étape de la migration. | Ajoutez les éléments suivants à votre liste de contrôle pour chaque étape de la migration des applications, y compris la dernière étape :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Développeur d’applications | 

### Analyser et mettre à jour votre application — Base de code Python
<a name="analyze-and-update-your-application-ndash-python-code-base"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Analysez votre base de code Python existante.  | Votre analyse doit inclure les éléments suivants pour faciliter le processus de migration des applications :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Développeur d’applications | 
| Convertissez vos connexions de base de données pour qu'elles soient compatibles avec PostgreSQL.  | La plupart des applications Python utilisent la bibliothèque **pyodbc** pour se connecter aux bases de données SQL Server comme suit.<pre>import pyodbc<br />....<br />try:<br />    conn_string = "Driver=ODBC Driver 17 for SQL<br />    Server;UID={};PWD={};Server={};Database={}".format (conn_user, conn_password,<br />    conn_server, conn_database)<br />    conn = pyodbc.connect(conn_string)<br />    cur = conn.cursor()<br />    result = cur.execute(query_string)<br />    for row in result:<br />    print (row)<br />except Exception as e:<br />    print(str(e))</pre>Convertissez la connexion à la base de données pour qu'elle prenne en charge PostgreSQL comme suit.<pre>import pyodbc<br />import psycopg2<br />....<br />try:<br />    conn_string = ‘postgresql+psycopg2://’+<br />    conn_user+’:’+conn_password+’@’+conn_server+’/’+conn_database<br />    conn = pyodbc.connect(conn_string, connect_args={‘options’:’-csearch_path=dbo’})<br />    cur = conn.cursor()<br />    result = cur.execute(query_string)<br />    for row in result:<br />    print (row)<br />except Exception as e:<br />    print(str(e))</pre> | Développeur d’applications | 
| Remplacez les requêtes SQL en ligne par PostgreSQL. | Convertissez vos requêtes SQL en ligne dans un format compatible avec PostgreSQL. Par exemple, la requête SQL Server suivante extrait une chaîne d'une table.<pre>dtype = "type1"<br />stm = ‘"SELECT TOP 1 searchcode FROM TypesTable (NOLOCK)<br />WHERE code="’ + "’" + str(dtype) + "’"<br /># For Microsoft SQL Server Database Connection<br />engine = create_engine(‘mssql+pyodbc:///?odbc_connect=%s’ % urllib.parse.quote_plus(conn_string), connect_args={‘connect_timeout’:login_timeout})<br />conn = engine_connect()<br />rs = conn.execute(stm)<br />for row in rs:<br />    print(row)</pre>Après la conversion, la requête SQL en ligne compatible avec PostgreSQL se présente comme suit.<pre>dtype = "type1"<br />stm = ‘"SELECT searchcode FROM TypesTable<br />WHERE code="’ + "’" + str(dtype) + "’ LIMIT 1"<br /># For PostgreSQL Database Connection<br />engine = create_engine(‘postgres+psycopg2://%s’ %conn_string, connect_args={‘connect_timeout’:login_timeout})<br />conn = engine.connect()<br />rs = conn.execute(stm)<br />for row in rs:<br />    print(row)</pre> | Développeur d’applications | 
| Gérez les requêtes SQL dynamiques. | Le SQL dynamique peut être présent dans un script ou dans plusieurs scripts Python. Les exemples précédents montraient comment utiliser la fonction de remplacement de chaîne de Python pour insérer des variables afin de créer des requêtes SQL dynamiques. Une autre approche consiste à ajouter des variables à la chaîne de requête, le cas échéant. Dans l'exemple suivant, la chaîne de requête est construite à la volée en fonction des valeurs renvoyées par une fonction.<pre>query = ‘"SELECT id from equity e join issues i on e.permId=i.permId where e.id’"<br />query += get_id_filter(ids) + " e.id is NOT NULL</pre>Ces types de requêtes dynamiques sont très courants lors de la migration d'applications. Pour gérer les requêtes dynamiques, procédez comme suit :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Développeur d’applications | 
| Gérez les ensembles de résultats, les variables et les blocs de données. | Pour Microsoft SQL Server, vous utilisez des méthodes Python telles que `fetchone()` ou `fetchall()` pour récupérer le jeu de résultats de la base de données. Vous pouvez également utiliser `fetchmany(size)` et spécifier le nombre d'enregistrements à renvoyer à partir de l'ensemble de résultats. Pour ce faire, vous pouvez utiliser l'objet de connexion **pyodbc** comme indiqué dans l'exemple suivant.**pyodbc (Microsoft SQL Server)**<pre>import pyodbc <br />server = 'tcp:myserver.database.windows.net' <br />database = 'exampledb' <br />username = 'exampleusername' <br />password = 'examplepassword' <br />conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)<br />cursor = conn.cursor()<br />cursor.execute("SELECT * FROM ITEMS") <br />row = cursor.fetchone() <br />while row: <br />    print(row[0])<br />    row = cursor.fetchone()</pre>**Dans Aurora, pour effectuer des tâches similaires telles que la connexion à PostgreSQL et l'extraction de jeux de résultats, vous pouvez utiliser psycopg2 ou. **SQLAlchemy**** Ces bibliothèques Python fournissent le module de connexion et l'objet curseur permettant de parcourir les enregistrements de la base de données PostgreSQL, comme illustré dans l'exemple suivant.**psycopg2 (compatible avec Aurora PostgreSQL)**<pre>import psycopg2<br />query = "SELECT * FROM ITEMS;"<br />//Initialize variables<br />host=dbname=user=password=port=sslmode=connect_timeout=""<br />connstring = "host='{host}' dbname='{dbname}' user='{user}' \<br />password='{password}'port='{port}'".format(host=host,dbname=dbname,\<br />user=user,password=password,port=port) <br />conn = psycopg2.connect(connstring)<br />cursor = conn.cursor()<br />cursor.execute(query)<br />column_names = [column[0] for column in cursor.description]<br />print("Column Names: ", column_names)<br />print("Column values: "<br />for row in cursor:<br />    print("itemid :", row[0])<br />    print("itemdescrption :", row[1])<br />    print("itemprice :", row[3]))</pre>**SQLAlchemy (Compatible avec Aurora PostgreSQL)**<pre>from sqlalchemy import create_engine<br />from pandas import DataFrame<br />conn_string = 'postgresql://core:database@localhost:5432/exampledatabase'<br />engine = create_engine(conn_string)<br />conn = engine.connect()<br />dataid = 1001<br />result = conn.execute("SELECT * FROM ITEMS")<br />df = DataFrame(result.fetchall())<br />df.columns = result.keys()<br />df = pd.DataFrame()<br />engine.connect()<br />df = pd.read_sql_query(sql_query, engine, coerce_float=False)<br />print("df=", df)</pre> | Développeur d’applications | 
| Testez votre application pendant et après la migration. | Le test de l'application Python migrée est un processus continu. Étant donné que la migration inclut des modifications d'objets de connexion (**psycopg2** ou **SQLAlchemy**), la gestion des erreurs, de nouvelles fonctionnalités (blocs de données), des modifications du code SQL intégré, des fonctionnalités de copie en bloc (`bcp`au lieu de`COPY`) et des modifications similaires, elle doit être testée avec soin pendant et après la migration de l'application. Vérifiez :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Développeur d’applications | 

### Analyser et mettre à jour votre application — Base de code Perl
<a name="analyze-and-update-your-application-ndash-perl-code-base"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Analysez votre base de code Perl existante. | Votre analyse doit inclure les éléments suivants pour faciliter le processus de migration des applications. Vous devez identifier :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Développeur d’applications | 
| Convertissez les connexions de l'application Perl et du module DBI pour qu'elles soient compatibles avec PostgreSQL. | Les applications basées sur Perl utilisent généralement le module Perl DBI, qui est un module d'accès aux bases de données standard pour le langage de programmation Perl. Vous pouvez utiliser le même module DBI avec différents pilotes pour SQL Server et PostgreSQL.Pour plus d'informations sur les modules Perl requis, les installations et les autres instructions, consultez la documentation [DBD : :Pg](https://metacpan.org/pod/DBD::Pg). L'exemple suivant se connecte à Aurora PostgreSQL compatible à l'adresse. `exampletest-aurorapg-database.cluster-sampleclusture.us-east.-rds.amazonaws.com`<pre>#!/usr/bin/perl<br />use DBI;<br />use strict;<br />my $driver = "Pg";<br />my $hostname = "exampletest-aurorapg-database-sampleclusture.us-east.rds.amazonaws.com"<br />my $dsn = "DBI:$driver: dbname = $hostname;host = 127.0.0.1;port = 5432";<br />my $username = "postgres";<br />my $password = "pass123";<br />$dbh = DBI->connect("dbi:Pg:dbname=$hostname;host=$host;port=$port;options=$options",<br />      $username,<br />      $password,<br />      {AutoCommit => 0, RaiseError => 1, PrintError => 0}<br />      );</pre> | Développeur d’applications | 
| Remplacez les requêtes SQL en ligne par PostgreSQL. | Votre application peut comporter des requêtes SQL en ligne avec`SELECT`, `DELETE``UPDATE`, et des instructions similaires qui incluent des clauses de requête non prises en charge par PostgreSQL. Par exemple, les mots clés de requête tels que `TOP` et `NOLOCK` ne sont pas pris en charge dans PostgreSQL. Les exemples suivants montrent comment gérer les variables booléennes et `TOP``NOLOCK`,.Dans SQL Server :<pre>$sqlStr = $sqlStr<br />. "WHERE a.student_id in (SELECT TOP $numofRecords c_student_id   \<br />FROM active_student_record b WITH (NOLOCK) \<br />INNER JOIN student_contributor c WITH (NOLOCK) on c.contributor_id = b.c_st)</pre>Pour PostgreSQL, convertissez en :<pre>$sqlStr = $sqlStr<br />. "WHERE a.student_id in (SELECT TOP $numofRecords c_student_id  \<br />FROM active_student_record b INNER JOIN student_contributor c  \<br />on c.contributor_id = b.c_student_contr_id WHERE b_current_1 is true \<br />LIMIT $numofRecords)"</pre> | Développeur d’applications | 
| Gérez les requêtes SQL dynamiques et les variables Perl. | Les requêtes SQL dynamiques sont des instructions SQL créées lors de l'exécution de l'application. Ces requêtes sont construites dynamiquement lorsque l'application est en cours d'exécution, en fonction de certaines conditions, de sorte que le texte complet de la requête n'est pas connu avant l'exécution. Par exemple, une application d'analyse financière qui analyse les 10 meilleures actions sur une base quotidienne, et ces actions changent tous les jours. Les tables SQL sont créées en fonction des meilleures performances, et les valeurs ne sont connues qu'au moment de l'exécution.Supposons que les requêtes SQL en ligne de cet exemple soient transmises à une fonction wrapper pour obtenir les résultats définis dans une variable, puis qu'une variable utilise une condition pour déterminer si la table existe :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html)Voici un exemple de gestion des variables, suivi des requêtes SQL Server et PostgreSQL pour ce cas d'utilisation.<pre>my $tableexists = db_read( arg 1, $sql_qry, undef, 'writer');<br />my $table_already_exists = $tableexists->[0]{table_exists};<br />if ($table_already_exists){<br /># do some thing<br />}<br />else {<br /># do something else<br />}</pre>Serveur SQL :<pre>my $sql_qry = "SELECT OBJECT_ID('$backendTable', 'U') table_exists", undef, 'writer')";</pre>PostgreSQL :<pre>my $sql_qry = "SELECT TO_REGCLASS('$backendTable', 'U') table_exists", undef, 'writer')";</pre>L'exemple suivant utilise une variable**** Perl dans le SQL en ligne, qui exécute une `SELECT` instruction avec un `JOIN` pour récupérer la clé primaire de la table et la position de la colonne clé.Serveur SQL :<pre>my $sql_qry = "SELECT column_name', character_maxi mum_length \<br />FROM INFORMATION_SCHEMA.COLUMNS \<br />WHERE TABLE_SCHEMA='$example_schemaInfo' \<br />AND TABLE_NAME='$example_table' \<br />AND DATA_TYPE IN ('varchar','nvarchar');";</pre>PostgreSQL :<pre>my $sql_qry = "SELECT c1.column_name, c1.ordinal_position \<br />FROM information_schema.key_column_usage AS c LEFT \<br />JOIN information_schema.table_constraints AS t1 \<br />ON t1.constraint_name = c1.constraint_name \<br />WHERE t1.table_name = $example_schemaInfo'.'$example_table’ \<br />AND t1.constraint_type = 'PRIMARY KEY' ;";</pre> | Développeur d’applications | 

### Apportez des modifications supplémentaires à votre application basée sur Perl ou Python pour prendre en charge PostgreSQL
<a name="make-additional-changes-to-your-perl-based-or-python-based-application-to-support-postgresql"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Convertissez des constructions SQL Server supplémentaires en PostgreSQL. | Les modifications suivantes s'appliquent à toutes les applications, quel que soit le langage de programmation.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.html) | Développeur d’applications | 

### Améliorez les performances
<a name="improve-performance"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Tirez parti des services AWS pour améliorer les performances. | Lorsque vous migrez vers le cloud AWS, vous pouvez affiner la conception de votre application et de votre base de données afin de tirer parti des services AWS. Par exemple, si les requêtes de votre application Python, connectée à un serveur de base de données compatible Aurora PostgreSQL, prennent plus de temps que vos requêtes Microsoft SQL Server d'origine, vous pouvez envisager de créer un flux de données historiques directement vers un bucket Amazon Simple Storage Service (Amazon S3) depuis le serveur Aurora, et d'utiliser des requêtes SQL basées sur Amazon Athena pour générer des rapports et des requêtes de données analytiques pour votre tableaux de bord utilisateur. | Développeur d'applications, architecte cloud | 

## Ressources connexes
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-resources"></a>
+ [Perl](https://www.perl.org/)
+ [Module DBI Perl](https://metacpan.org/pod/DBI)
+ [Python](https://www.python.org/)
+ [psycopg2](https://pypi.org/project/psycopg2/)
+ [SQLAlchemy](https://www.sqlalchemy.org/)
+ [Copie en bloc - PostgreSQL](https://www.postgresql.org/docs/9.2/sql-copy.html)
+ [Copie en bloc - Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15)
+ [PostgreSQL](https://www.postgresql.org/)
+ [Utilisation d'Amazon Aurora PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraPostgreSQL.html)

## Informations supplémentaires
<a name="change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition-additional"></a>

La compatibilité avec Microsoft SQL Server et Aurora PostgreSQL est conforme à la norme ANSI SQL. Cependant, vous devez toujours être conscient des incompatibilités liées à la syntaxe, aux types de données de colonne, aux fonctions natives spécifiques à la base de données, aux insertions groupées et à la distinction majuscules/minuscules lorsque vous migrez votre application Python ou Perl de SQL Server vers PostgreSQL.

Les sections suivantes fournissent plus d'informations sur les incohérences possibles.

**Comparaison des types de données**

Les changements de type de données entre SQL Server et PostgreSQL peuvent entraîner des différences significatives dans les données obtenues sur lesquelles les applications fonctionnent. Pour une comparaison des types de données, consultez le tableau sur le [site Web de Sqlines](https://www.sqlines.com/sql-server-to-postgresql).

**Fonctions SQL natives ou intégrées**

Le comportement de certaines fonctions diffère entre les bases de données SQL Server et PostgreSQL. Le tableau suivant fournit une comparaison.


| 
| 
| Microsoft SQL Server | Description | PostgreSQL | 
| --- |--- |--- |
| `CAST`  | Convertit une valeur d'un type de données en un autre. | PostgreSQL `type :: operator` | 
| `GETDATE()` | Renvoie la date et l'heure actuelles du système de base de données, dans un `YYYY-MM-DD hh:mm:ss.mmm` format. | `CLOCK_TIMESTAMP` | 
| `DATEADD` | Ajoute un time/date intervalle à une date. | `INTERVAL`expression | 
| `CONVERT` | Convertit une valeur dans un format de données spécifique. | `TO_CHAR` | 
| `DATEDIFF` | Renvoie la différence entre deux dates. | `DATE_PART` | 
| `TOP` | Limite le nombre de lignes d'un ensemble `SELECT` de résultats. | `LIMIT/FETCH` | 

**Blocs anonymes**

Une requête SQL structurée est organisée en sections telles que la déclaration, les exécutables et la gestion des exceptions. Le tableau suivant compare les versions Microsoft SQL Server et PostgreSQL d'un bloc anonyme simple. Pour les blocs anonymes complexes, nous vous recommandons d'appeler une fonction de base de données personnalisée au sein de votre application.


| 
| 
| Microsoft SQL Server | PostgreSQL | 
| --- |--- |
| <pre>my $sql_qry1=<br />my $sql_qry2 =<br />my $sqlqry = "BEGIN TRAN<br />$sql_qry1 $sql_qry2<br />if @\@error !=0 ROLLBACK<br />TRAN<br />else COMIT TRAN";</pre> | <pre>my $sql_qry1=<br />my $sql_qry2 =<br />my $sql_qry = " DO \$\$<br />BEGIN<br />$header_sql $content_sql<br />END<br />\$\$";</pre> | 

 

**Autres différences**
+ **Insertions groupées de lignes :** [l'équivalent dans PostgreSQL de l'utilitaire [bcp de Microsoft SQL Server](https://docs.microsoft.com/en-us/sql/tools/bcp-utility?view=sql-server-ver15) est COPY.](https://www.postgresql.org/docs/9.2/sql-copy.html)
+ **Sensibilité majuscules/minuscules :** les noms de colonnes distinguent les majuscules et minuscules dans PostgreSQL. Vous devez donc convertir les noms de colonne de SQL Server en minuscules ou en majuscules. Cela devient un facteur lorsque vous extrayez ou comparez des données, ou lorsque vous placez des noms de colonnes dans des ensembles de résultats ou des variables. L'exemple suivant identifie les colonnes dans lesquelles les valeurs peuvent être stockées en majuscules ou en minuscules.

```
my $sql_qry = "SELECT $record_id FROM $exampleTable WHERE LOWER($record_name) = \'failed transaction\'"; 
```
+ **Concaténation :** SQL Server l'utilise `+` comme opérateur pour la concaténation de chaînes, alors que PostgreSQL l'utilise. `||`
+ **Validation :** vous devez tester et valider les requêtes et les fonctions SQL en ligne avant de les utiliser dans le code d'application pour PostgreSQL.
+ Inclusion de **la bibliothèque ORM : vous pouvez également rechercher l'inclusion** ou le remplacement d'une bibliothèque de connexion à une base de données existante par des bibliothèques ORM Python telles que [SQLAlchemy](https://www.sqlalchemy.org/)[PynomODB](https://pynamodb.readthedocs.io/en/latest/quickstart.html). Cela permettra d'interroger et de manipuler facilement les données d'une base de données en utilisant un paradigme orienté objet.

# Schémas de migration par charge de travail
<a name="migration-migration-patterns-by-workload-pattern-list"></a>

**Topics**
+ [IBM](migration-migration-patterns-by-workload-ibm-pattern-list.md)
+ [Microsoft](migration-migration-patterns-by-workload-microsoft-pattern-list.md)
+ [N/A](migration-migration-patterns-by-workload-notapplicable-pattern-list.md)
+ [Open source](migration-migration-patterns-by-workload-open-source-pattern-list.md)
+ [Oracle](migration-migration-patterns-by-workload-oracle-pattern-list.md)
+ [SAP](migration-migration-patterns-by-workload-sap-pattern-list.md)

# IBM
<a name="migration-migration-patterns-by-workload-ibm-pattern-list"></a>

**Topics**
+ [Migrer une base de données DB2 d'Amazon EC2 vers Aurora compatible avec MySQL à l'aide d'AWS DMS](migrate-a-db2-database-from-amazon-ec2-to-aurora-mysql-compatible-by-using-aws-dms.md)
+ [Migrez Db2 for LUW vers Amazon EC2 en utilisant l'expédition des journaux pour réduire les temps d'arrêt](migrate-db2-for-luw-to-amazon-ec2-by-using-log-shipping-to-reduce-outage-time.md)
+ [Migrez Db2 for LUW vers Amazon EC2 avec une reprise après sinistre à haute disponibilité](migrate-db2-for-luw-to-amazon-ec2-with-high-availability-disaster-recovery.md)
+ [Migrez d'IBM Db2 sur Amazon vers une version compatible avec Aurora PostgreSQL EC2 à l'aide d'AWS DMS et d'AWS SCT](migrate-from-ibm-db2-on-amazon-ec2-to-aurora-postgresql-compatible-using-aws-dms-and-aws-sct.md)
+ [Migrer d'un serveur WebSphere d'applications IBM vers Apache Tomcat sur Amazon EC2](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2.md)

# Microsoft
<a name="migration-migration-patterns-by-workload-microsoft-pattern-list"></a>

**Topics**
+ [Accélérez la découverte et la migration des charges de travail Microsoft vers AWS](accelerate-the-discovery-and-migration-of-microsoft-workloads-to-aws.md)
+ [Modifier les applications Python et Perl pour prendre en charge la migration de bases de données de Microsoft SQL Server vers Amazon Aurora PostgreSQL Compatible Edition](change-python-and-perl-applications-to-support-database-migration-from-microsoft-sql-server-to-amazon-aurora-postgresql-compatible-edition.md)
+ [Création de CloudFormation modèles AWS pour les tâches AWS DMS à l'aide de Microsoft Excel et Python](create-aws-cloudformation-templates-for-aws-dms-tasks-using-microsoft-excel-and-python.md)
+ [Exporter une base de données Microsoft SQL Server vers Amazon S3 à l'aide d'AWS DMS](export-a-microsoft-sql-server-database-to-amazon-s3-by-using-aws-dms.md)
+ [SHA1 Implémenter le hachage des données personnelles lors de la migration de SQL Server vers PostgreSQL](implement-sha1-hashing-for-pii-data-when-migrating-from-sql-server-to-postgresql.md)
+ [Ingérez et migrez des instances EC2 Windows vers un compte AWS Managed Services](ingest-and-migrate-ec2-windows-instances-into-an-aws-managed-services-account.md)
+ [Migrer une file d'attente de messagerie de Microsoft Azure Service Bus vers Amazon SQS](migrate-a-messaging-queue-from-microsoft-azure-service-bus-to-amazon-sqs.md)
+ [Migrer une base de données Microsoft SQL Server d'Amazon EC2 vers Amazon DocumentDB à l'aide d'AWS DMS](migrate-a-microsoft-sql-server-database-from-amazon-ec2-to-amazon-documentdb-by-using-aws-dms.md)
+ [Migrer une base de données Microsoft SQL Server vers Aurora MySQL à l'aide d'AWS DMS et d'AWS SCT](migrate-a-microsoft-sql-server-database-to-aurora-mysql-by-using-aws-dms-and-aws-sct.md)
+ [Migrer une application .NET de Microsoft Azure App Service vers AWS Elastic Beanstalk](migrate-a-net-application-from-microsoft-azure-app-service-to-aws-elastic-beanstalk.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Amazon EC2](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-ec2.md)
+ [Migrer une base de données Microsoft SQL Server locale vers Amazon RDS for SQL Server](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server.md)
+ [Migrer une base de données Microsoft SQL Server locale vers Amazon RDS for SQL Server à l'aide de serveurs liés](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-linked-servers.md)
+ [Migrer une base de données Microsoft SQL Server locale vers Amazon RDS for SQL Server à l'aide de méthodes de sauvegarde et de restauration natives](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-rds-for-sql-server-using-native-backup-and-restore-methods.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Amazon Redshift à l'aide d'AWS DMS](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-dms.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Amazon Redshift à l'aide des agents d'extraction de données AWS SCT](migrate-an-on-premises-microsoft-sql-server-database-to-amazon-redshift-using-aws-sct-data-extraction-agents.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Microsoft SQL Server sur Amazon EC2 exécutant Linux](migrate-an-on-premises-microsoft-sql-server-database-to-microsoft-sql-server-on-amazon-ec2-running-linux.md)
+ [Migrez les données de Microsoft Azure Blob vers Amazon S3 à l'aide de Rclone](migrate-data-from-microsoft-azure-blob-to-amazon-s3-by-using-rclone.md)
+ [Migrez les applications hébergées EC2 par IIS vers Amazon à l'aide de appcmd.exe](migrate-iis-hosted-applications-to-amazon-ec2-by-using-appcmd.md)
+ [Migrer une base de données Microsoft SQL Server sur site vers Amazon à EC2 l'aide du service de migration d'applications](migrate-microsoft-sql-server-to-amazon-ec2-using-aws-mgn.md)
+ [Migrer les certificats SSL Windows vers un Application Load Balancer à l'aide d'ACM](migrate-windows-ssl-certificates-to-an-application-load-balancer-using-acm.md)
+ [Réhébergez les charges de travail sur site dans le cloud AWS : liste de contrôle pour la migration](rehost-on-premises-workloads-in-the-aws-cloud-migration-checklist.md)
+ [Résoudre les erreurs de connexion après la migration de Microsoft SQL Server vers le cloud AWS](resolve-connection-errors-after-migrating-microsoft-sql-server-to-the-aws-cloud.md)
+ [Configurez une infrastructure multi-AZ pour un SQL Server Always On FCI à l'aide d'Amazon FSx](set-up-multi-az-infrastructure-for-a-sql-server-always-on-fci-by-using-amazon-fsx.md)

# N/A
<a name="migration-migration-patterns-by-workload-notapplicable-pattern-list"></a>

**Topics**
+ [Créez un processus d'approbation pour les demandes de pare-feu lors d'une migration de réhébergement vers AWS](create-an-approval-process-for-firewall-requests-during-a-rehost-migration-to-aws.md)

# Open source
<a name="migration-migration-patterns-by-workload-open-source-pattern-list"></a>

**Topics**
+ [Création d'utilisateurs et de rôles d'application dans Aurora PostgreSQL compatible](create-application-users-and-roles-in-aurora-postgresql-compatible.md)
+ [Migrer Amazon RDS for Oracle vers Amazon RDS for PostgreSQL avec et en utilisant et AWS SCT AWS DMS AWS CLI CloudFormation](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-with-aws-sct-and-aws-dms-using-aws-cli-and-aws-cloudformation.md)
+ [Migrer une base de données MariaDB sur site vers Amazon RDS for MariaDB à l'aide d'outils natifs](migrate-an-on-premises-mariadb-database-to-amazon-rds-for-mariadb-using-native-tools.md)
+ [Migrer une base de données MySQL sur site vers Amazon RDS for MySQL](migrate-an-on-premises-mysql-database-to-amazon-rds-for-mysql.md)
+ [Migrer une base de données MySQL sur site vers Aurora MySQL](migrate-an-on-premises-mysql-database-to-aurora-mysql.md)
+ [Migrer une base de données PostgreSQL locale vers Aurora PostgreSQL](migrate-an-on-premises-postgresql-database-to-aurora-postgresql.md)
+ [Migrer une base de données Couchbase Server vers Amazon EC2](migrate-couchbase-server-ec2.md)
+ [Migrez d'IBM WebSphere Application Server vers Apache Tomcat sur Amazon EC2 avec Auto Scaling](migrate-from-ibm-websphere-application-server-to-apache-tomcat-on-amazon-ec2-with-auto-scaling.md)
+ [Migrez de PostgreSQL sur EC2 Amazon vers Amazon RDS pour PostgreSQL à l'aide de pglogical](migrate-from-postgresql-on-amazon-ec2-to-amazon-rds-for-postgresql-using-pglogical.md)
+ [Migrez des applications Java sur site vers AWS à l'aide d'AWS App2Container](migrate-on-premises-java-applications-to-aws-using-aws-app2container.md)
+ [Migrez des bases de données MySQL sur site vers Aurora MySQL à l'aide de Percona, XtraBackup Amazon EFS et Amazon S3](migrate-on-premises-mysql-databases-to-aurora-mysql-using-percona-xtrabackup-amazon-efs-and-amazon-s3.md)
+ [Migrer des tables externes Oracle vers des tables compatibles avec Amazon Aurora PostgreSQL](migrate-oracle-external-tables-to-amazon-aurora-postgresql-compatible.md)
+ [Redémarrez automatiquement l'agent de réplication AWS sans le désactiver SELinux après le redémarrage d'un serveur source RHEL](restart-the-aws-replication-agent-automatically-without-disabling-selinux-after-rebooting-a-rhel-source-server.md)
+ [Transportez des bases de données PostgreSQL entre deux instances de base de données Amazon RDS à l'aide de pg\$1transport](transport-postgresql-databases-between-two-amazon-rds-db-instances-using-pg-transport.md)

# Oracle
<a name="migration-migration-patterns-by-workload-oracle-pattern-list"></a>

**Topics**
+ [Convertir VARCHAR2 (1) type de données pour Oracle en type de données booléen pour Amazon Aurora PostgreSQL](convert-varchar2-1-data-type-for-oracle-to-boolean-data-type-for-amazon-aurora-postgresql.md)
+ [Émulez Oracle DR à l'aide d'une base de données globale Aurora compatible avec PostgreSQL](emulate-oracle-dr-by-using-a-postgresql-compatible-aurora-global-database.md)
+ [Migrez progressivement d'Amazon RDS for Oracle vers Amazon RDS for PostgreSQL à l'aide d'Oracle SQL Developer et d'AWS SCT](incrementally-migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-using-oracle-sql-developer-and-aws-sct.md)
+ [Chargez des fichiers BLOB dans TEXT en utilisant le codage de fichiers compatible avec Aurora PostgreSQL](load-blob-files-into-text-by-using-file-encoding-in-aurora-postgresql-compatible.md)
+ [Migrez Amazon RDS for Oracle vers Amazon RDS for PostgreSQL en mode SSL à l'aide d'AWS DMS](migrate-amazon-rds-for-oracle-to-amazon-rds-for-postgresql-in-ssl-mode-by-using-aws-dms.md)
+ [Migrer une base de données Amazon RDS for Oracle vers Compte AWS une autre Région AWS et AWS DMS l'utiliser pour une réplication continue](migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.md)
+ [Migrer une base de données Oracle sur site vers Amazon à l'aide EC2 d'Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-ec2-by-using-oracle-data-pump.md)
+ [Migrer une base de données Oracle sur site vers Amazon OpenSearch Service à l'aide de Logstash](migrate-an-on-premises-oracle-database-to-amazon-opensearch-service-using-logstash.md)
+ [Migrer une base de données Oracle sur site vers Amazon RDS for MySQL à l'aide d'AWS DMS et d'AWS SCT](migrate-an-on-premises-oracle-database-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migrer une base de données Oracle sur site vers Amazon RDS for Oracle](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle.md)
+ [Migrer une base de données Oracle sur site vers Amazon RDS for Oracle à l'aide d'Oracle Data Pump](migrate-an-on-premises-oracle-database-to-amazon-rds-for-oracle-using-oracle-data-pump.md)
+ [Migrer une base de données Oracle sur site vers Amazon RDS for PostgreSQL à l'aide d'un assistant Oracle et d'AWS DMS](migrate-an-on-premises-oracle-database-to-amazon-rds-for-postgresql-by-using-an-oracle-bystander-and-aws-dms.md)
+ [Migrer une base de données Oracle sur site vers Oracle sur Amazon EC2](migrate-an-on-premises-oracle-database-to-oracle-on-amazon-ec2.md)
+ [Migrer une base de données Oracle d'Amazon EC2 vers Amazon RDS for MariaDB à l'aide d'AWS DMS et d'AWS SCT](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-mariadb-using-aws-dms-and-aws-sct.md)
+ [Migrer une base de données Oracle d'Amazon EC2 vers Amazon RDS for Oracle à l'aide d'AWS DMS](migrate-an-oracle-database-from-amazon-ec2-to-amazon-rds-for-oracle-using-aws-dms.md)
+ [Migrer une base de données Oracle vers Amazon RDS for Oracle à l'aide d'adaptateurs de GoldenGate fichiers plats Oracle](migrate-an-oracle-database-to-amazon-rds-for-oracle-by-using-oracle-goldengate-flat-file-adapters.md)
+ [Migrer une base de données Oracle vers Amazon Redshift à l'aide d'AWS DMS et d'AWS SCT](migrate-an-oracle-database-to-amazon-redshift-using-aws-dms-and-aws-sct.md)
+ [Migrer une base de données Oracle vers Aurora PostgreSQL à l'aide d'AWS DMS et d'AWS SCT](migrate-an-oracle-database-to-aurora-postgresql-using-aws-dms-and-aws-sct.md)
+ [Migrer une EnterpriseOne base de données Oracle JD Edwards vers AWS à l'aide d'Oracle Data Pump et d'AWS DMS](migrate-an-oracle-jd-edwards-enterpriseone-database-to-aws-by-using-oracle-data-pump-and-aws-dms.md)
+ [Migrer une table partitionnée Oracle vers PostgreSQL à l'aide d'AWS DMS](migrate-an-oracle-partitioned-table-to-postgresql-by-using-aws-dms.md)
+ [Migrer une PeopleSoft base de données Oracle vers AWS à l'aide d'AWS DMS](migrate-an-oracle-peoplesoft-database-to-aws-by-using-aws-dms.md)
+ [Migrer les données d'une base de données Oracle sur site vers Aurora PostgreSQL](migrate-data-from-an-on-premises-oracle-database-to-aurora-postgresql.md)
+ [Migrer d'Amazon RDS for Oracle vers Amazon RDS for MySQL](migrate-from-amazon-rds-for-oracle-to-amazon-rds-for-mysql.md)
+ [Migrez d'Oracle 8i ou 9i vers Amazon RDS for PostgreSQL à l'aide de vues matérialisées et d'AWS DMS](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-materialized-views-and-aws-dms.md)
+ [Migrez d'Oracle 8i ou 9i vers Amazon RDS for PostgreSQL à l'aide d'AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-postgresql-using-shareplex-and-aws-dms.md)
+ [Migrer d'une base de données Oracle vers Amazon RDS for PostgreSQL à l'aide d'Oracle GoldenGate](migrate-from-oracle-database-to-amazon-rds-for-postgresql-by-using-oracle-goldengate.md)
+ [Migrez d'Oracle sur Amazon EC2 vers Amazon RDS for MySQL à l'aide d'AWS DMS et d'AWS SCT](migrate-from-oracle-on-amazon-ec2-to-amazon-rds-for-mysql-using-aws-dms-and-aws-sct.md)
+ [Migrer d'Oracle WebLogic vers Apache Tomcat (ToMee) sur Amazon ECS](migrate-from-oracle-weblogic-to-apache-tomcat-tomee-on-amazon-ecs.md)
+ [Migrer les index basés sur les fonctions d'Oracle vers PostgreSQL](migrate-function-based-indexes-from-oracle-to-postgresql.md)
+ [Migrer les applications existantes d'Oracle Pro\$1C vers ECPG](migrate-legacy-applications-from-oracle-pro-c-to-ecpg.md)
+ [Migrer les valeurs Oracle CLOB vers des lignes individuelles dans PostgreSQL sur AWS](migrate-oracle-clob-values-to-individual-rows-in-postgresql-on-aws.md)
+ [Migrer les codes d'erreur de la base de données Oracle vers une base de données compatible avec Amazon Aurora PostgreSQL](migrate-oracle-database-error-codes-to-an-amazon-aurora-postgresql-compatible-database.md)
+ [Migrer les fonctions natives d'Oracle vers PostgreSQL à l'aide d'extensions](migrate-oracle-native-functions-to-postgresql-using-extensions.md)
+ [Migrer Oracle PeopleSoft vers Amazon RDS Custom](migrate-oracle-peoplesoft-to-amazon-rds-custom.md)
+ [Migrer la fonctionnalité Oracle ROWID vers PostgreSQL sur AWS](migrate-oracle-rowid-functionality-to-postgresql-on-aws.md)
+ [Migrer les packages pragma Oracle SERIALLY\$1REUSERABLE vers PostgreSQL](migrate-oracle-serially-reusable-pragma-packages-into-postgresql.md)
+ [Migrer les colonnes générées virtuellement d'Oracle vers PostgreSQL](migrate-virtual-generated-columns-from-oracle-to-postgresql.md)
+ [Configuration de la fonctionnalité Oracle UTL\$1FILE sur Aurora compatible avec PostgreSQL](set-up-oracle-utl_file-functionality-on-aurora-postgresql-compatible.md)
+ [Valider les objets de base de données après la migration d'Oracle vers Amazon Aurora PostgreSQL](validate-database-objects-after-migrating-from-oracle-to-amazon-aurora-postgresql.md)

# SAP
<a name="migration-migration-patterns-by-workload-sap-pattern-list"></a>

**Topics**
+ [Migrez de SAP ASE vers Amazon RDS for SQL Server à l'aide d'AWS DMS](migrate-from-sap-ase-to-amazon-rds-for-sql-server-using-aws-dms.md)
+ [Migrez SAP ASE sur Amazon EC2 vers une version compatible avec Amazon Aurora PostgreSQL à l'aide d'AWS SCT et d'AWS DMS](migrate-sap-ase-on-amazon-ec2-to-amazon-aurora-postgresql-compatible-using-aws-sct-and-aws-dms.md)

# Plus de modèles
<a name="migration-more-patterns-pattern-list"></a>

**Topics**
+ [Accès Services AWS depuis IBM z/OS en installant le AWS CLI](access-aws-services-from-ibm-z-os-by-installing-aws-cli.md)
+ [Évaluez les performances des requêtes pour la migration des bases de données SQL Server vers MongoDB Atlas sur AWS](assess-query-performance-for-migrating-sql-server-databases-to-mongodb-atlas-on-aws.md)
+ [Automatisez le basculement et le retour en arrière entre régions à l'aide de DR Orchestrator Framework](automate-cross-region-failover-and-failback-by-using-dr-orchestrator-framework.md)
+ [Automatisez les tâches de base de données dans SQL Server Express sur Amazon EC2 à l'aide d'un planificateur AWS Lambda de tâches](automate-database-tasks-in-sql-server-express-edition-running-on-amazon-ec2.md)
+ [Créez un visualiseur de fichiers mainframe avancé dans le cloud AWS](build-an-advanced-mainframe-file-viewer-in-the-aws-cloud.md)
+ [Connectez-vous aux données et aux plans de contrôle du service de migration des applications via un réseau privé](connect-to-application-migration-service-data-and-control-planes-over-a-private-network.md)
+ [Conteneurisez les charges de travail du mainframe qui ont été modernisées par Blu Age](containerize-mainframe-workloads-that-have-been-modernized-by-blu-age.md)
+ [Convertir les requêtes Oracle JSON en base de données PostgreSQL SQL SQL SQL](convert-json-oracle-queries-into-postgresql-database-sql.md)
+ [Convertir la fonctionnalité temporelle Teradata NORMALIZE en Amazon Redshift SQL](convert-the-teradata-normalize-temporal-feature-to-amazon-redshift-sql.md)
+ [Convertir la fonctionnalité Teradata RESET WHEN en Amazon Redshift SQL](convert-the-teradata-reset-when-feature-to-amazon-redshift-sql.md)
+ [Copiez les tables Amazon DynamoDB entre les comptes à l'aide de AWS Backup](copy-amazon-dynamodb-tables-across-accounts-using-aws-backup.md)
+ [Déployez un cluster Cassandra sur Amazon EC2 avec une statique privée IPs pour éviter le rééquilibrage](deploy-a-cassandra-cluster-on-amazon-ec2-with-private-static-ips-to-avoid-rebalancing.md)
+ [Déployez des applications à piles multiples à l'aide d'AWS CDK avec TypeScript](deploy-multiple-stack-applications-using-aws-cdk-with-typescript.md)
+ [Déployez des instances de cluster de basculement SQL Server sur Amazon EC2 et Amazon à l'aide FSx de Terraform](deploy-sql-server-failover-cluster-instances-on-amazon-ec2-and-amazon-fsx.md)
+ [Émulez des baies PL/SQL associatives Oracle dans Amazon Aurora PostgreSQL et Amazon RDS for PostgreSQL](emulate-oracle-plsql-associative-arrays-in-aurora-and-rds-postgresql.md)
+ [Estimez la taille du moteur Amazon RDS pour une base de données Oracle à l'aide des rapports AWR](estimate-the-amazon-rds-engine-size-for-an-oracle-database-by-using-awr-reports.md)
+ [Générez des informations sur les données AWS Mainframe Modernization en utilisant Amazon Q dans Quick Sight](generate-data-insights-by-using-aws-mainframe-modernization-and-amazon-q-in-quicksight.md)
+ [Gérer les blocs anonymes dans les instructions Dynamic SQL dans Aurora PostgreSQL](handle-anonymous-blocks-in-dynamic-sql-statements-in-aurora-postgresql.md)
+ [Identifiez automatiquement les images de conteneur dupliquées lors de la migration vers un référentiel Amazon ECR](identify-duplicate-container-images-automatically-when-migrating-to-ecr-repository.md)
+ [Configurer un cluster de basculement Microsoft SQL Server sur Amazon EC2 à FSx l'aide de for Windows File Server](microsoft-sql-failover-cluster-on-amazon-ec2.md)
+ [Migrez les charges de travail Apache Cassandra vers Amazon Keyspaces à l'aide d'AWS Glue](migrate-apache-cassandra-workloads-to-amazon-keyspaces-by-using-aws-glue.md)
+ [Migrez vos charges de travail de conteneurs d'Azure Red Hat OpenShift (ARO) vers Red Hat OpenShift Service on AWS (ROSA)](migrate-container-workloads-from-aro-to-rosa.md)
+ [Migrez d'Oracle 8i ou 9i vers Amazon RDS for Oracle à l'aide d'AWS DMS SharePlex](migrate-from-oracle-8i-or-9i-to-amazon-rds-for-oracle-using-shareplex-and-aws-dms.md)
+ [Migrez le groupe de disponibilité Microsoft SQL Server Always On à l'aide de AWS Application Migration Service](migrate-microsoft-sql-server-always-on-group-using-mgn.md)
+ [Migrer les fonctions et procédures Oracle comportant plus de 100 arguments vers PostgreSQL](migrate-oracle-functions-and-procedures-that-have-more-than-100-arguments-to-postgresql.md)
+ [Migrez SAP HANA vers AWS à l'aide de SAP HSR avec le même nom d'hôte](migrate-sap-hana-to-aws-using-sap-hsr-with-the-same-hostname.md)
+ [Migrer SQL Server vers AWS à l'aide de groupes de disponibilité distribués](migrate-sql-server-to-aws-using-distributed-availability-groups.md)
+ [Modernisez et déployez des applications mainframe à l'aide de AWS Transform Terraform](modernize-mainframe-app-transform-terraform.md)
+ [Modernisez les charges de travail d'impression en ligne du mainframe sur AWS à l'aide de Micro Focus Enterprise Server et de LRS VPSX/MFI](modernize-mainframe-online-printing-workloads-on-aws-by-using-micro-focus-enterprise-server-and-lrs-vpsx-mfi.md)
+ [Modernisez la gestion des sorties du mainframe AWS en utilisant Rocket Enterprise Server et PageCenter LRS X](modernize-mainframe-output-management-on-aws-by-using-rocket-enterprise-server-and-lrs-pagecenterx.md)
+ [Modifiez les en-têtes HTTP lors de la migration de F5 vers un Application Load Balancer sur AWS](modify-http-headers-when-you-migrate-from-f5-to-an-application-load-balancer-on-aws.md)
+ [Gérez le basculement multi-AZ pour les clusters EMR à l'aide d'Application Recovery Controller](multi-az-failover-spark-emr-clusters-arc.md)
+ [Analyser les dépendances des objets pour les migrations partielles de bases de données d'Oracle vers PostgreSQL](multilevel-object-analysis-for-database-migration-from-oracle-to-postgresql.md)
+ [Configurer un CI/CD pipeline pour la migration de base de données à l'aide de Terraform](set-up-ci-cd-pipeline-for-db-migration-with-terraform.md)
+ [Configurer la reprise après sinistre pour Oracle JD Edwards EnterpriseOne avec AWS Elastic Disaster Recovery](set-up-disaster-recovery-for-oracle-jd-edwards-enterpriseone-with-aws-elastic-disaster-recovery.md)
+ [Simplifiez la gestion des certificats privés en utilisant AWS Private CA et AWS RAM](simplify-private-certificate-management-by-using-aws-private-ca-and-aws-ram.md)
+ [Transférez des z/OS données Db2 à grande échelle vers Amazon S3 dans des fichiers CSV](transfer-large-scale-db2-z-os-data-to-amazon-s3-in-csv-files.md)
+ [Transformez Easytrieve en langues modernes en utilisant des outils personnalisés AWS Transform](transform-easytrieve-modern-languages.md)