

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.

# 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\_64

**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)<br />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)<br />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><br />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><br />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.<br />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><br />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. <br />Parce que vous avez attribué un rôle IAM à l'instance EC2 `USER` et que vous n'`PASSWORD`êtes pas obligé de :<br />`db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> container '<bucket_name>'"`<br />Par exemple, votre script peut ressembler à ce qui suit : <br />`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 :<br />`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`<br />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 :<br />`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.<br />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><br /> 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><br />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><br />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><br />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`<br />`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).<br />`db2-server1`Activé, exécutez le code suivant :<br />`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.`<br />`db2-server2`Activé, exécutez le code suivant :<br />`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.<br />`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><br />`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><br />`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><br />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.<br />`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><br />`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><br />`db2-ec2`Activé, exécutez les commandes suivantes :<pre>db2 start hadr on db sample as standby<br />SQL1766W  The command completed successfully</pre><br />`db2-server1`Activé, exécutez les commandes suivantes :<pre>db2 start hadr on db sample as primary<br />SQL1766W  The command completed successfully</pre><br />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><br />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 :<br />`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\_syncmode - 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)