Abilita l'archiviazione dei DB2 log direttamente su Amazon S3 in un database IBM Db2 - Prontuario AWS

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Abilita l'archiviazione dei DB2 log direttamente su Amazon S3 in un database IBM Db2

Ambarish Satarkar, Amazon Web Services

Riepilogo

Questo modello descrive come utilizzare Amazon Simple Storage Service (Amazon S3) come storage del catalogo per i log di archivio generati da IBM Db2, senza utilizzare un'area di staging.

Puoi specificare lo storage DB2REMOTO di Amazon S3 per i parametri di configurazione dei metodi di archiviazione dei log logarchmeth1 e logarchmeth2. È possibile utilizzare il logarchmeth1 parametro per specificare la destinazione principale per i log archiviati dal percorso di registro corrente. Con questa funzionalità, puoi archiviare e recuperare i log delle transazioni da e verso Amazon S3 direttamente, senza utilizzare un'area di staging.

Amazon S3 archivia i dati caricati su di esso su almeno tre dispositivi in un unico dispositivo. Regione AWS Milioni di clienti di tutte le dimensioni e settori utilizzano Amazon S3 per archiviare i backup aziendali grazie all'elevata disponibilità, alle opzioni di storage flessibili, alle politiche del ciclo di vita e alla sicurezza.

Prerequisiti e limitazioni

Prerequisiti

Limitazioni

  • Solo Db2 11.5.7 o versione successiva consente l'archiviazione dei log direttamente nello storage Amazon S3.

  • Alcuni Servizi AWS non sono disponibili in tutti. Regioni AWS Per la disponibilità regionale, vedi AWS Servizi per regione. Per endpoint specifici, consulta Endpoints and quotas del servizio e scegli il link relativo al servizio.

  • In tutte le configurazioni, esistono le seguenti limitazioni per Amazon S3:

    • AWS Key Management Service (AWS KMS) non è supportato.

    • AWS le credenziali basate su ruoli AWS Identity and Access Management ((IAM)) o basate su token (AWS Security Token Service (AWS STS)) non sono supportate.

Versioni del prodotto

  • AWS CLI versione 2 o successiva

  • IBM Db2 11.5.7 o versione successiva

  • Linux SUSE Linux Enterprise Server (SLES) 11 o versione successiva

  • Red Hat Enterprise Linux (RHEL) 6 o versione successiva

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

Architettura

Il diagramma seguente mostra i componenti e il flusso di lavoro di questo modello.

Flusso di lavoro per utilizzare Amazon S3 per lo storage del catalogo per i log di archivio generati da Db2.

L'architettura del Cloud AWS include quanto segue:

  • Cloud privato virtuale (VPC): una sezione logicamente isolata in Cloud AWS cui vengono lanciate le risorse.

  • Zona di disponibilità: fornisce un'elevata disponibilità eseguendo il carico di lavoro Db2 LUW (Linux, Unix, Windows) in un data center isolato all'interno di. Regione AWS

  • Subnet pubblica: fornisce l'accesso RDP (Remote Desktop Protocol) per gli amministratori e la connettività Internet tramite un gateway NAT.

  • Sottorete privata: ospita il database Db2 LUW. L'istanza Db2 LUW è configurata con il parametro. LOGARCHMETH1 Il parametro scrive i file di archivio dei log del database direttamente su un percorso Amazon S3 attraverso l'endpoint del gateway.

Quanto segue Servizi AWS fornisce supporto:

  • Amazon S3: funge da posizione di archiviazione durevole e scalabile per i file di archivio di log Db2.

  • Amazon Elastic File System (Amazon EFS): fornisce un file system condiviso e completamente gestito che Db2 può utilizzare per i backup e lo staging del database. Db2 può anche utilizzare Amazon EFS come punto di montaggio per i file di log prima che vengano archiviati in Amazon S3.

  • Amazon CloudWatch: raccoglie e monitora metriche, log ed eventi da Db2 e dalle istanze sottostanti. EC2 Puoi utilizzarlo CloudWatch per creare allarmi, dashboard e risposte automatiche a problemi di prestazioni o disponibilità.

Automazione e scalabilità

  • Questo modello fornisce una soluzione completamente automatizzata per archiviare il backup degli archivi di log Db2.

  • Puoi utilizzare lo stesso bucket Amazon S3 per abilitare l'archiviazione dei log di più database Db2.

Strumenti

Servizi AWS

  • Amazon ti CloudWatch aiuta a monitorare i parametri delle tue AWS risorse e delle applicazioni su cui esegui AWS in tempo reale.

  • AWS Command Line Interface (AWS CLI) è uno strumento open source che ti aiuta a interagire Servizi AWS tramite comandi nella shell della riga di comando.

  • Amazon Elastic Compute Cloud (Amazon EC2) fornisce capacità di elaborazione scalabile in. Cloud AWS Puoi avviare tutti i server virtuali di cui hai bisogno e dimensionarli rapidamente.

  • Amazon Elastic File System (Amazon EFS) ti aiuta a creare e configurare file system condivisi nel Cloud AWS.

  • AWS IAM Identity Centerti aiuta a gestire centralmente l'accesso Single Sign-On (SSO) a tutte le tue applicazioni e al cloud. Account AWS

  • Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.

  • Amazon Virtual Private Cloud (Amazon VPC) ti aiuta a lanciare AWS risorse in una rete virtuale che hai definito. Questa rete virtuale è simile a una comune rete da gestire all'interno del proprio data center, ma con i vantaggi dell'infrastruttura scalabile di AWS.

Altri strumenti

  • libcurl è una libreria gratuita per il trasferimento di URL lato client.

  • libxml2 è un parser e un toolkit XML C gratuiti.

Best practice

Epiche

AttivitàDescrizioneCompetenze richieste

Configura il AWS CLI.

Per scaricare e installare AWS CLI, utilizzare i seguenti comandi:

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

Configurare AWS CLI.

Per configurare AWS CLI, usa i seguenti comandi:

$ aws configure AWS Access Key ID [None]:******************************* AWS Secret Access Key [None]: *************************** Default region name [None]: < aws region > Default output format [None]: text
Amministratore di sistema AWS, amministratore AWS

Crea utente IAM.

Per creare un utente IAM da utilizzare in seguito per la connessione al database Db2 con Amazon S3, usa il seguente comando:

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

Di seguito è riportato un esempio del comando:

aws iam create-user --user-name db_backup_user

avvertimento

Questo scenario richiede agli utenti IAM accesso programmatico e credenziali a lungo termine, il che presenta un rischio per la sicurezza. Per mitigare questo rischio, ti consigliamo di fornire a questi utenti solo le autorizzazioni necessarie per eseguire l'attività e di rimuoverli quando non sono più necessari. Le chiavi di accesso possono essere aggiornate se necessario. Per ulteriori informazioni, consulta le credenziali AWS di sicurezza e la gestione delle chiavi di accesso per gli utenti IAM nella documentazione IAM.

Amministratore di sistema AWS

Crea un bucket Amazon S3.

Per creare un bucket Amazon S3 per l'archiviazione del backup del database, usa il seguente comando:

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

Di seguito è riportato un comando di esempio:

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

Amministratore di sistema AWS

Autorizza l'utente IAM.

Per autorizzare l'utente IAM appena creato a disporre delle autorizzazioni Amazon S3, utilizza i seguenti passaggi:

  1. Per generare un nuovo file di policy IAM db2bucket.json per il bucket Amazon S3, usa il seguente comando:

    { "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. Crea una policy IAM basata sul db2bucket.json file. L'output JSON mostra l'Amazon Resource Name (ARN) per la policy:. "Arn": "arn:aws:iam::111122223333:policy/db2s3policy"

    aws iam create-policy \ --policy-name db2s3policy \ --policy-document file://db2bucket.json
  3. Collega la policy IAM all'utente IAM con la policy ARN.

    aws iam attach-user-policy --user-name db_backup_user --policy-arn "arn:aws:iam::111122223333:policy/db2s3policy"
Amministratore di sistema AWS, amministratore AWS

Crea una chiave di accesso.

Per generare una chiave di accesso per accedere programmaticamente ad Amazon S3 dall'istanza, usa DB2 il seguente comando:

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

Di seguito è riportato un esempio del comando:

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

avvertimento

Questo scenario richiede agli utenti IAM accesso programmatico e credenziali a lungo termine, il che presenta un rischio per la sicurezza. Per mitigare questo rischio, ti consigliamo di fornire a questi utenti solo le autorizzazioni necessarie per eseguire l'attività e di rimuoverli quando non sono più necessari. Le chiavi di accesso possono essere aggiornate se necessario. Per ulteriori informazioni, consulta le credenziali AWS di sicurezza e la gestione delle chiavi di accesso per gli utenti IAM nella documentazione IAM.

Amministratore di sistema AWS

Crea un keystore PKCS.

Per creare un keystore PKCS per archiviare la chiave e creare una chiave di accesso segreta per trasferire i dati su Amazon S3, usa il seguente comando:

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

Configura DB2 per utilizzare il keystore.

DB2 Per configurare l'utilizzo del keystore con i keystore_type parametri keystore_location and, utilizzate i seguenti comandi:

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

Crea un alias DB2 di accesso allo storage.

Un alias di accesso allo storage specifica il bucket Amazon S3 da utilizzare. Fornisce inoltre i dettagli di connessione, come nome utente e password, archiviati nel keystore locale in un formato crittografato. Per ulteriori informazioni, consulta il comando CATALOG STORAGE ACCESS nella documentazione IBM Db2.

Per creare un alias di accesso allo storage, utilizza la seguente sintassi:

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

Di seguito è riportato un esempio:

db2 "catalog storage access alias DB2BKPS3 vendor S3 server s3.us-west-2.amazonaws.com user '*******************' password '*********************' container 'myfirstbucket'"
Amministratore di sistema AWS
AttivitàDescrizioneCompetenze richieste

Aggiorna la LOGARCHMETH1 posizione.

Per utilizzare l'alias di accesso allo storage definito in precedenza, aggiornare i parametri del LOGARCHMETH1 database, utilizzare il seguente comando:

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

Per separare i log dagli altri file, specifica una sottodirectory (ovvero il prefisso del bucket Amazon S3TESTDB_LOGS) in cui salvare i log all'interno del bucket S3.

Di seguito è riportato un esempio:

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

Dovresti vedere il seguente messaggio: DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.

Amministratore di sistema AWS

Riavvia DB2.

Riavvia l' DB2 istanza dopo averla riconfigurata per l'archiviazione dei log.

Tuttavia, se in precedenza LOGARCHMETH1 era impostato su una posizione del file system, il riavvio non è necessario.

Amministratore AWS, amministratore di sistema AWS
AttivitàDescrizioneCompetenze richieste

Controlla il log di archivio in Amazon S3.

A questo punto, il database è completamente configurato per archiviare i log delle transazioni direttamente nello storage Amazon S3. Per confermare la configurazione, inizia a eseguire attività transazionali sul database per iniziare a consumare (e archiviare) lo spazio dei log. Quindi, controlla i log di archivio in Amazon S3.

Amministratore AWS, amministratore di sistema AWS

Controlla la configurazione dei log di archivio indb2diag.log.

Dopo aver controllato il registro di archivio in Amazon S3, cerca il seguente messaggio nel registro di DB2 diagnostica: 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/.

Questo messaggio conferma che i file di log DB2 delle transazioni chiuse vengono archiviati nello storage Amazon S3 (remoto).

Amministratore di sistema AWS

Risorse correlate

AWS documentazione del servizio

Risorse IBM