Aktivieren DB2 Sie die Protokollarchivierung direkt in Amazon S3 in einer IBM Db2-Datenbank - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Aktivieren DB2 Sie die Protokollarchivierung direkt in Amazon S3 in einer IBM Db2-Datenbank

Ambarish Satarkar, Amazon Web Services

Übersicht

Dieses Muster beschreibt, wie Amazon Simple Storage Service (Amazon S3) als Katalogspeicher für Archivprotokolle verwendet wird, die von IBM Db2 generiert werden, ohne einen Staging-Bereich zu verwenden.

Sie können DB2REMOTE Amazon S3 S3-Speicher für die Konfigurationsparameter der Protokollarchivierungsmethoden logarchmeth1 und logarchmeth2 angeben. Sie können den logarchmeth1 Parameter verwenden, um das primäre Ziel für Protokolle anzugeben, die über den aktuellen Protokollpfad archiviert werden. Mit dieser Funktion können Sie Transaktionsprotokolle direkt zu und von Amazon S3 archivieren und abrufen, ohne einen Staging-Bereich zu verwenden.

Amazon S3 speichert die Daten, die auf mindestens drei Geräte hochgeladen wurden, auf einem einzigen AWS-Region. Millionen von Kunden aller Größen und Branchen verwenden Amazon S3 aufgrund seiner hohen Verfügbarkeit, flexiblen Speicheroptionen, Lebenszyklusrichtlinien und Sicherheit zum Speichern von Unternehmens-Backups.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktiver AWS-Konto.

  • IBM Db2-Datenbank, die auf einer Amazon Elastic Compute Cloud (Amazon EC2) -Instance läuft.

  • AWS Command Line Interface (AWS CLI) installiert

  • libcurl und libxml2 sind auf der Db2-Instanz installiert. EC2

Einschränkungen

  • Nur Db2 11.5.7 oder höher ermöglicht die Archivierung von Protokollen direkt im Amazon S3 S3-Speicher.

  • Einige AWS-Services sind nicht in allen verfügbar. AWS-Regionen Informationen zur Verfügbarkeit in den einzelnen Regionen finden Sie unter AWS Dienste nach Regionen. Informationen zu bestimmten Endpunkten finden Sie unter Dienstendpunkte und Kontingente. Wählen Sie dort den Link für den Dienst aus.

  • In allen Konfigurationen gelten die folgenden Einschränkungen für Amazon S3:

    • AWS Key Management Service (AWS KMS) wird nicht unterstützt.

    • AWS Rollenbasierte (AWS Identity and Access Management (IAM)) oder tokenbasierte (AWS Security Token Service ()AWS STS) Anmeldeinformationen werden nicht unterstützt.

Produktversionen

  • AWS CLI Version 2 oder höher

  • IBM Db2 11.5.7 oder höher

  • Linux SUSE Linux Enterprise Server (SLES) 11 oder höher

  • Red Hat Enterprise Linux (RHEL) 6 oder höher

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

Architektur

Das folgende Diagramm zeigt die Komponenten und den Arbeitsablauf für dieses Muster.

Workflow zur Verwendung von Amazon S3 für die Katalogspeicherung von Archivprotokollen, die von Db2 generiert wurden.

Die Architektur auf der AWS Cloud umfasst Folgendes:

  • Virtual Private Cloud (VPC) — Ein logisch isolierter Bereich, AWS Cloud in dem Sie Ressourcen starten.

  • Availability Zone — Bietet hohe Verfügbarkeit, indem der Db2-LUW-Workload (Linux, Unix, Windows) in einem isolierten Rechenzentrum innerhalb von ausgeführt wird. AWS-Region

  • Öffentliches Subnetz — Bietet RDP-Zugriff (Remote Desktop Protocol) für Administratoren und Internetkonnektivität über ein NAT-Gateway.

  • Privates Subnetz — hostet die Db2-LUW-Datenbank. Die Db2-LUW-Instanz ist mit dem Parameter konfiguriert. LOGARCHMETH1 Der Parameter schreibt Datenbank-Log-Archivdateien über den Gateway-Endpunkt direkt in einen Amazon S3 S3-Pfad.

Folgendes AWS-Services bietet Unterstützung:

  • Amazon S3 — Dient als dauerhafter, skalierbarer Speicherort für Db2-Protokollarchivdateien.

  • Amazon Elastic File System (Amazon EFS) — Stellt ein gemeinsam genutztes, vollständig verwaltetes Dateisystem bereit, das Db2 für Datenbank-Backups und Staging verwenden kann. Db2 kann Amazon EFS auch als Bereitstellungspunkt für Protokolldateien verwenden, bevor sie in Amazon S3 archiviert werden.

  • Amazon CloudWatch — Sammelt und überwacht Metriken, Protokolle und Ereignisse von Db2 und den zugrunde liegenden EC2 Instances. Sie können CloudWatch damit Alarme, Dashboards und automatisierte Antworten auf Leistungs- oder Verfügbarkeitsprobleme erstellen.

Automatisierung und Skalierung

  • Dieses Muster bietet eine vollautomatische Lösung zum Speichern von Backups des Db2-Protokollarchivs.

  • Sie können denselben Amazon S3 S3-Bucket verwenden, um die Protokollarchivierung mehrerer Db2-Datenbanken zu aktivieren.

Tools

AWS-Services

  • Amazon CloudWatch hilft Ihnen dabei, die Kennzahlen Ihrer AWS Ressourcen und der Anwendungen, auf denen Sie laufen, AWS in Echtzeit zu überwachen.

  • AWS Command Line Interface (AWS CLI) ist ein Open-Source-Tool, mit dem Sie AWS-Services über Befehle in Ihrer Befehlszeilen-Shell interagieren können.

  • Amazon Elastic Compute Cloud (Amazon EC2) bietet skalierbare Rechenkapazität in der AWS Cloud. Sie können so viele virtuelle Server wie nötig nutzen und sie schnell nach oben oder unten skalieren.

  • Amazon Elastic File System (Amazon EFS) hilft Ihnen bei der Erstellung und Konfiguration gemeinsam genutzter Dateisysteme in der AWS Cloud.

  • AWS IAM Identity Centerhilft Ihnen dabei, den Single Sign-On (SSO) -Zugriff auf all Ihre Anwendungen AWS-Konten und Cloud-Anwendungen zentral zu verwalten.

  • Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

  • Amazon Virtual Private Cloud (Amazon VPC) hilft Ihnen dabei, AWS Ressourcen in einem von Ihnen definierten virtuellen Netzwerk bereitzustellen. Dieses virtuelle Netzwerk entspricht einem herkömmlichen Netzwerk, wie Sie es in Ihrem Rechenzentrum betreiben würden, mit den Vorteilen der Verwendung der skalierbaren Infrastruktur von AWS.

Andere Tools

  • libcurl ist eine kostenlose clientseitige URL-Übertragungsbibliothek.

  • libxml2 ist ein kostenloser XML-C-Parser und Toolkit.

Bewährte Methoden

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Richten Sie das ein AWS CLI.

Verwenden Sie die folgenden Befehle AWS CLI, um das herunterzuladen und zu installieren:

i) curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" ii) unzip awscliv2.zip iii) sudo ./aws/install
AWS-Systemadministrator, AWS-Administrator

Konfigurieren Sie AWS CLI.

Verwenden Sie die folgenden Befehle AWS CLI, um das zu konfigurieren:

$ aws configure AWS Access Key ID [None]:******************************* AWS Secret Access Key [None]: *************************** Default region name [None]: < aws region > Default output format [None]: text
AWS-Systemadministrator, AWS-Administrator

IAM-Benutzer erstellen.

Verwenden Sie den folgenden Befehl, um einen IAM-Benutzer zu erstellen, der später für die Db2-Datenbankverbindung mit Amazon S3 verwendet werden soll:

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

Es folgt ein Beispiel für den Befehl:

aws iam create-user --user-name db_backup_user

Warnung

Für dieses Szenario sind IAM-Benutzer mit programmatischem Zugriff und langfristigen Anmeldeinformationen erforderlich, was ein Sicherheitsrisiko darstellt. Um dieses Risiko zu minimieren, empfehlen wir, diesen Benutzern nur die Berechtigungen zu gewähren, die sie für die Ausführung der Aufgabe benötigen, und diese Benutzer zu entfernen, wenn sie nicht mehr benötigt werden. Die Zugriffsschlüssel können bei Bedarf aktualisiert werden. Weitere Informationen finden Sie in der IAM-Dokumentation unter AWS Sicherheitsanmeldedaten und Zugriffsschlüssel für IAM-Benutzer verwalten.

AWS-Systemadministrator

Erstellen Sie einen Amazon S3 S3-Bucket.

Verwenden Sie den folgenden Befehl, um einen Amazon S3 S3-Bucket zum Speichern der Datenbanksicherung zu erstellen:

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

Es folgt ein Beispielbefehl:

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

AWS-Systemadministrator

Autorisieren Sie den IAM-Benutzer.

Gehen Sie wie folgt vor, um den neu erstellten IAM-Benutzer für Amazon S3 S3-Berechtigungen zu autorisieren:

  1. Verwenden Sie den folgenden Befehl, um eine neue IAM-Richtliniendatei db2bucket.json für den Amazon S3 S3-Bucket zu generieren:

    { "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. Erstellen Sie eine IAM-Richtlinie auf der Grundlage der db2bucket.json Datei. Die JSON-Ausgabe zeigt den Amazon-Ressourcennamen (ARN) für die Richtlinie:"Arn": "arn:aws:iam::111122223333:policy/db2s3policy".

    aws iam create-policy \ --policy-name db2s3policy \ --policy-document file://db2bucket.json
  3. Hängen Sie die IAM-Richtlinie mit dem Richtlinien-ARN an den IAM-Benutzer an.

    aws iam attach-user-policy --user-name db_backup_user --policy-arn "arn:aws:iam::111122223333:policy/db2s3policy"
AWS-Systemadministrator, AWS-Administrator

Zugriffsschlüssel erstellen.

Verwenden Sie den folgenden Befehl, um einen Zugriffsschlüssel für den programmgesteuerten Zugriff auf Amazon S3 von der DB2 Instance aus zu generieren:

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

Es folgt ein Beispiel für den Befehl:

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

Warnung

Für dieses Szenario sind IAM-Benutzer mit programmatischem Zugriff und langfristigen Anmeldeinformationen erforderlich, was ein Sicherheitsrisiko darstellt. Um dieses Risiko zu minimieren, empfehlen wir, diesen Benutzern nur die Berechtigungen zu gewähren, die sie für die Ausführung der Aufgabe benötigen, und diese Benutzer zu entfernen, wenn sie nicht mehr benötigt werden. Die Zugriffsschlüssel können bei Bedarf aktualisiert werden. Weitere Informationen finden Sie in der IAM-Dokumentation unter AWS Sicherheitsanmeldedaten und Zugriffsschlüssel für IAM-Benutzer verwalten.

AWS-Systemadministrator

Erstellen Sie einen PKCS-Keystore.

Verwenden Sie den folgenden Befehl, um einen PKCS-Keystore zum Speichern des Schlüssels und einen geheimen Zugriffsschlüssel für die Übertragung der Daten an Amazon S3 zu erstellen:

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

Konfigurieren Sie DB2 die Konfiguration für die Verwendung des Keystores.

Verwenden Sie die DB2 folgenden Befehle, um die Verwendung des Keystores mit den keystore_type Parametern keystore_location und zu konfigurieren:

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

Erstellen Sie einen Alias DB2 für den Speicherzugriff.

Ein Alias für den Speicherzugriff gibt den zu verwendenden Amazon S3 S3-Bucket an. Es stellt auch die Verbindungsdetails wie den Benutzernamen und das Passwort bereit, die im lokalen Keystore in einem verschlüsselten Format gespeichert sind. Weitere Informationen finden Sie unter dem Befehl CATALOG STORAGE ACCESS in der IBM Db2-Dokumentation.

Verwenden Sie die folgende Syntax, um einen Alias für den Speicherzugriff zu erstellen:

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

Es folgt ein Beispiel:

db2 "catalog storage access alias DB2BKPS3 vendor S3 server s3.us-west-2.amazonaws.com user '*******************' password '*********************' container 'myfirstbucket'"
AWS-Systemadministrator
AufgabeBeschreibungErforderliche Fähigkeiten

Aktualisieren Sie den LOGARCHMETH1 Standort.

Um den Speicherzugriffsalias zu verwenden, den Sie zuvor definiert haben, aktualisieren Sie die LOGARCHMETH1 Datenbankparameter mit dem folgenden Befehl:

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

Um die Protokolle von anderen Dateien zu trennen, geben Sie ein Unterverzeichnis (d. h. das Amazon S3 S3-Bucket-Präfix) an, TESTDB_LOGS in dem die Protokolle innerhalb des S3-Buckets gespeichert werden sollen.

Es folgt ein Beispiel:

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

Sie sollten die folgende Meldung sehen: DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.

AWS-Systemadministrator

Starten Sie neu DB2.

Starten Sie die DB2 Instanz neu, nachdem Sie sie für die Protokollarchivierung neu konfiguriert haben.

Wenn jedoch zuvor LOGARCHMETH1 ein beliebiger Speicherort im Dateisystem festgelegt wurde, ist kein Neustart erforderlich.

AWS-Administrator, AWS-Systemadministrator
AufgabeBeschreibungErforderliche Fähigkeiten

Überprüfen Sie das Archivprotokoll in Amazon S3.

Zu diesem Zeitpunkt ist Ihre Datenbank vollständig so konfiguriert, dass die Transaktionsprotokolle direkt im Amazon S3 S3-Speicher archiviert werden. Um die Konfiguration zu bestätigen, beginnen Sie mit der Ausführung von Transaktionsaktivitäten in der Datenbank, um den Protokollspeicher zu verbrauchen (und zu archivieren). Überprüfen Sie dann die Archivprotokolle in Amazon S3.

AWS-Administrator, AWS-Systemadministrator

Überprüfen Sie die Konfiguration des Archivprotokolls unterdb2diag.log.

Nachdem Sie das Archivprotokoll in Amazon S3 überprüft haben, suchen Sie im DB2 Diagnoseprotokoll nach der folgenden Meldungdb2diag.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/.

Diese Nachricht bestätigt, dass die geschlossenen DB2 Transaktionsprotokolldateien im (Remote-) Amazon S3 S3-Speicher archiviert werden.

AWS-Systemadministrator

Zugehörige Ressourcen

AWS Servicedokumentation

IBM-Ressourcen