Activez l'archivage des DB2 journaux directement sur Amazon S3 dans une base de données IBM Db2 - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Activez l'archivage des DB2 journaux directement sur Amazon S3 dans une base de données IBM Db2

Ambarish Satarkar, Amazon Web Services

Récapitulatif

Ce modèle décrit comment utiliser Amazon Simple Storage Service (Amazon S3) comme stockage de catalogue pour les journaux d'archives générés par IBM Db2, sans utiliser de zone intermédiaire.

Vous pouvez spécifier le stockage DB2REMOTE Amazon S3 pour les paramètres de configuration des méthodes d'archivage des journaux logarchmeth1 et logarchmeth2. Vous pouvez utiliser le logarchmeth1 paramètre pour spécifier la destination principale des journaux archivés à partir du chemin de journal actuel. Grâce à cette fonctionnalité, vous pouvez archiver et récupérer les journaux de transactions depuis et vers Amazon S3 directement, sans utiliser de zone intermédiaire.

Amazon S3 stocke les données qui y sont téléchargées sur au moins trois appareils en un seul Région AWS. Des millions de clients de toutes tailles et de tous secteurs utilisent Amazon S3 pour stocker des sauvegardes d'entreprise en raison de sa haute disponibilité, de ses options de stockage flexibles, de ses politiques de cycle de vie et de sa sécurité.

Conditions préalables et limitations

Prérequis

Limites

  • Seul Db2 11.5.7 ou version ultérieure permet l'archivage des journaux directement dans le stockage Amazon S3.

  • 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. Pour des points de terminaison spécifiques, consultez Points de terminaison de service et quotas, puis choisissez le lien correspondant au service.

  • Dans toutes les configurations, les limites suivantes s'appliquent à Amazon S3 :

    • AWS Key Management Service (AWS KMS) n'est pas pris en charge.

    • AWS les informations d'identification basées sur les rôles AWS Identity and Access Management ((IAM)) ou les jetons (AWS Security Token Service ()AWS STS) ne sont pas prises en charge.

Versions du produit

  • AWS CLI version 2 ou ultérieure

  • IBM Db2 11.5.7 ou version ultérieure

  • Linux SUSE Linux Enterprise Server (SLES) 11 ou version ultérieure

  • Red Hat Enterprise Linux (RHEL) 6 ou version ultérieure

  • Windows Server 2008 R2, 2012 (R2), 2016 ou 2019

Architecture

Le schéma suivant montre les composants et le flux de travail de ce modèle.

Flux de travail permettant d'utiliser Amazon S3 pour le stockage de catalogues pour les journaux d'archives générés par Db2.

L'architecture du AWS Cloud inclut les éléments suivants :

  • Cloud privé virtuel (VPC) : section isolée logiquement de l' AWS Cloud endroit où vous lancez les ressources.

  • Zone de disponibilité — Fournit une haute disponibilité en exécutant la charge de travail DB2 LUW (Linux, Unix, Windows) dans un centre de données isolé au sein du. Région AWS

  • Sous-réseau public : fournit un accès RDP (Remote Desktop Protocol) aux administrateurs et une connectivité Internet via une passerelle NAT.

  • Sous-réseau privé : héberge la base de données DB2 LUW. L'instance DB2 LUW est configurée avec le LOGARCHMETH1 paramètre. Le paramètre écrit les fichiers d'archive du journal de base de données directement sur un chemin Amazon S3 via le point de terminaison de la passerelle.

Les Services AWS services suivants fournissent une assistance :

  • Amazon S3 — Sert d'emplacement de stockage durable et évolutif pour les fichiers d'archives de journaux DB2.

  • Amazon Elastic File System (Amazon EFS) : fournit un système de fichiers partagé et entièrement géré que Db2 peut utiliser pour les sauvegardes et le transfert de bases de données. Db2 peut également utiliser Amazon EFS comme point de montage pour les fichiers journaux avant qu'ils ne soient archivés dans Amazon S3.

  • Amazon CloudWatch — Collecte et surveille les métriques, les journaux et les événements provenant de DB2 et des EC2 instances sous-jacentes. Vous pouvez l'utiliser CloudWatch pour créer des alarmes, des tableaux de bord et des réponses automatisées aux problèmes de performance ou de disponibilité.

Automatisation et mise à l'échelle

  • Ce modèle fournit une solution entièrement automatisée pour stocker la sauvegarde des archives du journal DB2.

  • Vous pouvez utiliser le même compartiment Amazon S3 pour activer l'archivage des journaux de plusieurs bases de données DB2.

Outils

Services AWS

  • Amazon vous CloudWatch aide à surveiller les indicateurs de vos AWS ressources et des applications que vous utilisez AWS en temps réel.

  • AWS Command Line Interface (AWS CLI) est un outil open source qui vous permet d'interagir Services AWS par le biais de commandes dans votre interface de ligne de commande.

  • Amazon Elastic Compute Cloud (Amazon 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 Elastic File System (Amazon EFS) vous aide à créer et à configurer des systèmes de fichiers partagés dans le AWS Cloud.

  • AWS IAM Identity Centervous permet de gérer de manière centralisée l'accès par authentification unique (SSO) à toutes vos applications Comptes AWS et à celles du cloud.

  • Amazon Simple Storage Service (Amazon S3) est un service de stockage d'objets basé sur le cloud qui vous permet de stocker, de protéger et de récupérer n'importe quel volume de données.

  • Amazon Virtual Private Cloud (Amazon VPC) 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.

Autres outils

  • libcurl est une bibliothèque gratuite de transfert d'URL côté client.

  • libxml2 est un analyseur XML C et une boîte à outils gratuits.

Bonnes pratiques

Épopées

TâcheDescriptionCompétences requises

Configurez le AWS CLI.

Pour télécharger et installer le AWS CLI, utilisez les commandes suivantes :

i) curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" ii) unzip awscliv2.zip iii) sudo ./aws/install
Administrateur système AWS, administrateur AWS

Configurez le AWS CLI.

Pour configurer le AWS CLI, utilisez les commandes suivantes :

$ aws configure AWS Access Key ID [None]:******************************* AWS Secret Access Key [None]: *************************** Default region name [None]: < aws region > Default output format [None]: text
Administrateur système AWS, administrateur AWS

Créez un utilisateur IAM.

Pour créer un utilisateur IAM à utiliser ultérieurement pour la connexion à la base de données DB2 avec Amazon S3, utilisez la commande suivante :

aws iam create-user --user-name <unique username>

Voici un exemple de commande :

aws iam create-user --user-name db_backup_user

Avertissement

Ce scénario nécessite que les utilisateurs IAM disposent d'un accès programmatique et d'informations d'identification à long terme, ce qui présente un risque de sécurité. Pour atténuer ce risque, nous vous recommandons de n'octroyer à ces utilisateurs que les autorisations dont ils ont besoin pour effectuer la tâche et de supprimer ces utilisateurs lorsqu'ils ne sont plus nécessaires. Les clés d'accès peuvent être mises à jour si nécessaire. Pour plus d'informations, consultez les informations d'identification AWS de sécurité et Gérer les clés d'accès pour les utilisateurs IAM dans la documentation IAM.

Administrateur système AWS

Créez un compartiment Amazon S3.

Pour créer un compartiment Amazon S3 afin de stocker la sauvegarde de la base de données, utilisez la commande suivante :

aws s3api create-bucket --bucket <unique bucket name> --region <aws region>

Voici un exemple de commande :

aws s3api create-bucket --bucket myfirstbucket --region af-south-1

Administrateur système AWS

Autorisez l'utilisateur IAM.

Pour autoriser le nouvel utilisateur IAM à disposer des autorisations Amazon S3, procédez comme suit :

  1. Pour générer un nouveau fichier de politique IAM db2bucket.json pour le compartiment Amazon S3, utilisez la commande suivante :

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ListObjectsInBucket", "Effect": "Allow", "Action": "s3:ListBucket", "Resource": [ "arn:aws:s3:::myfirstbucket" ] }, { "Sid": "AllObjectActions", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::myfirstbucket/*" ] } ] }
  2. Créez une politique IAM basée sur le db2bucket.json fichier. La sortie JSON indique le nom de ressource Amazon (ARN) pour la politique :"Arn": "arn:aws:iam::111122223333:policy/db2s3policy".

    aws iam create-policy \ --policy-name db2s3policy \ --policy-document file://db2bucket.json
  3. Attachez la stratégie IAM à l'utilisateur IAM à l'aide de l'ARN de la stratégie.

    aws iam attach-user-policy --user-name db_backup_user --policy-arn "arn:aws:iam::111122223333:policy/db2s3policy"
Administrateur système AWS, administrateur AWS

Créez une clé d'accès.

Pour générer une clé d'accès permettant d'accéder par programmation à Amazon S3 depuis l' DB2 instance, utilisez la commande suivante :

aws iam create-access-key --user-name <username>

Voici un exemple de commande :

aws iam create-access-key --user-name db_backup_user

Avertissement

Ce scénario nécessite que les utilisateurs IAM disposent d'un accès programmatique et d'informations d'identification à long terme, ce qui présente un risque de sécurité. Pour atténuer ce risque, nous vous recommandons de n'octroyer à ces utilisateurs que les autorisations dont ils ont besoin pour effectuer la tâche et de supprimer ces utilisateurs lorsqu'ils ne sont plus nécessaires. Les clés d'accès peuvent être mises à jour si nécessaire. Pour plus d'informations, consultez les informations d'identification AWS de sécurité et Gérer les clés d'accès pour les utilisateurs IAM dans la documentation IAM.

Administrateur système AWS

Créez un keystore PKCS.

Pour créer un keystore PKCS pour stocker la clé et créer une clé d'accès secrète pour transférer les données vers Amazon S3, utilisez la commande suivante :

gsk8capicmd_64 -keydb -create -db "/db2/db2<sid>/.keystore/db6-s3.p12" -pw "<password>" -type pkcs12 -stash
Administrateur système AWS

Configurez DB2 pour utiliser le keystore.

DB2 Pour configurer l'utilisation du keystore avec les keystore_type paramètres keystore_location et, utilisez les commandes suivantes :

db2 "update dbm cfg using keystore_location /db2/db2<sid>/.keystore/db6-s3.p12 keystore_type pkcs12"
Administrateur système AWS

Créez un alias d'accès au DB2 stockage.

Un alias d'accès au stockage indique le compartiment Amazon S3 à utiliser. Il fournit également les détails de connexion tels que le nom d'utilisateur et le mot de passe qui sont stockés dans le keystore local dans un format crypté. Pour plus d'informations, consultez la commande CATALOG STORAGE ACCESS dans la documentation IBM Db2.

Pour créer un alias d'accès au stockage, utilisez la syntaxe suivante :

db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> user '<access_key>' password '<secret_access_key>' container '<bucket_name>'"

Voici un exemple :

db2 "catalog storage access alias DB2BKPS3 vendor S3 server s3.us-west-2.amazonaws.com user '*******************' password '*********************' container 'myfirstbucket'"
Administrateur système AWS
TâcheDescriptionCompétences requises

Mettez à jour l'LOGARCHMETH1emplacement.

Pour utiliser l'alias d'accès au stockage que vous avez défini précédemment, mettez à jour les paramètres LOGARCHMETH1 de base de données à l'aide de la commande suivante :

db2 update db cfg for <DBNAME> using LOGARCHMETH1 'DB2REMOTE://<storage_alias_name>//<sub folder>'

Pour séparer les journaux des autres fichiers, spécifiez un sous-répertoire (c'est-à-dire le préfixe du compartiment Amazon S3) TESTDB_LOGS dans lequel enregistrer les journaux dans le compartiment S3.

Voici un exemple :

db2 update db cfg for ABC using LOGARCHMETH1 'DB2REMOTE://DB2BKPS3//TESTDB_LOGS/'

Le message suivant devrait s'afficher : DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.

Administrateur système AWS

Redémarrer DB2.

Redémarrez l' DB2 instance après l'avoir reconfigurée pour l'archivage des journaux.

Toutefois, s'il LOGARCHMETH1 a été précédemment défini sur un emplacement quelconque du système de fichiers, le redémarrage n'est pas nécessaire.

Administrateur AWS, administrateur système AWS
TâcheDescriptionCompétences requises

Consultez le journal d'archivage dans Amazon S3.

À ce stade, votre base de données est entièrement configurée pour archiver les journaux de transactions directement dans le stockage Amazon S3. Pour confirmer la configuration, commencez à exécuter des activités transactionnelles sur la base de données pour commencer à consommer (et à archiver) l'espace journal. Vérifiez ensuite les journaux d'archivage dans Amazon S3.

Administrateur AWS, administrateur système AWS

Vérifiez la configuration du journal d'archivage dansdb2diag.log.

Après avoir vérifié le journal d'archivage dans Amazon S3, recherchez le message suivant dans le journal DB2 de diagnostic db2diag.log :

MESSAGE : ADM1846I  Completed archive for log file "S0000079.LOG" to Completed archive for log file S0000080.LOG to DB2REMOTE://<AWS S3 Bucket Name>/<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/. MESSAGE : ADM1846I  Completed archive for log file "S0000080.LOG" to Completed archive for log file S0000081.LOG to DB2REMOTE://<AWS S3 Bucket Name> /<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/.

Ce message confirme que les fichiers journaux de DB2 transactions fermés sont archivés sur le stockage (distant) Amazon S3.

Administrateur système AWS

Ressources connexes

AWS documentation de service

Ressources IBM