Habilite el archivado de DB2 registros directamente en Amazon S3 en una base de datos IBM Db2 - Recomendaciones de AWS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Habilite el archivado de DB2 registros directamente en Amazon S3 en una base de datos IBM Db2

Ambarish Satarkar, Amazon Web Services

Resumen

Este patrón describe cómo utilizar Amazon Simple Storage Service (Amazon S3) como almacenamiento de catálogos para los registros de archivos generados por IBM Db2, sin utilizar un área de almacenamiento provisional.

Puede especificar el almacenamiento DB2REMOTO en Amazon S3 para los parámetros de configuración de los métodos de archivado de registros logarchmeth1 y logarchmeth2. Puede usar el logarchmeth1 parámetro para especificar el destino principal de los registros que se archivan desde la ruta de registro actual. Con esta capacidad, puede archivar y recuperar registros de transacciones desde y hacia Amazon S3 directamente, sin necesidad de utilizar un área de almacenamiento provisional.

Amazon S3 almacena los datos que se cargan en él en al menos tres dispositivos en uno solo Región de AWS. Millones de clientes de todos los tamaños y sectores utilizan Amazon S3 para almacenar copias de seguridad empresariales debido a su alta disponibilidad, opciones de almacenamiento flexibles, políticas de ciclo de vida y seguridad.

Requisitos previos y limitaciones

Requisitos previos 

Limitaciones

  • Solo Db2 11.5.7 o posterior permite archivar registros directamente en el almacenamiento de Amazon S3.

  • Algunas Servicios de AWS no están disponibles en todos. Regiones de AWS Para ver la disponibilidad regional, consulta AWS Servicios por región. Para conocer puntos de enlace específicos, consulte Puntos de enlace y cuotas del servicio y elija el enlace para el servicio.

  • En todas las configuraciones, existen las siguientes limitaciones para Amazon S3:

    • AWS Key Management Service (AWS KMS) no es compatible.

    • AWS No se admiten las credenciales basadas en roles AWS Identity and Access Management ((IAM) o basadas en tokens (AWS Security Token Service (AWS STS)).

Versiones de producto

  • AWS CLI versión 2 o posterior

  • IBM Db2 11.5.7 o posterior

  • Linux SUSE Linux Enterprise Server (SLES) 11 o posterior

  • Red Hat Enterprise Linux (RHEL) 6 o posterior

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

Arquitectura

El siguiente diagrama muestra los componentes y el flujo de trabajo de este patrón.

Flujo de trabajo para usar Amazon S3 para el almacenamiento de catálogos de registros de archivos generados por Db2.

La arquitectura del Nube de AWS incluye lo siguiente:

  • Nube privada virtual (VPC): una sección aislada lógicamente de la que Nube de AWS se lanzan los recursos.

  • Zona de disponibilidad: proporciona una alta disponibilidad al ejecutar la carga de trabajo LUW de Db2 (Linux, Unix, Windows) en un centro de datos aislado dentro del. Región de AWS

  • Subred pública: proporciona acceso RDP (protocolo de escritorio remoto) para los administradores y conectividad a Internet a través de una puerta de enlace NAT.

  • Subred privada: aloja la base de datos LUW de Db2. La instancia LUW de Db2 se configura con el parámetro. LOGARCHMETH1 El parámetro escribe los archivos de registro de la base de datos directamente en una ruta de Amazon S3 a través del punto de enlace de la puerta de enlace.

Lo siguiente Servicios de AWS proporciona soporte:

  • Amazon S3: sirve como ubicación de almacenamiento escalable y duradera para los archivos de registro de DB2.

  • Amazon Elastic File System (Amazon EFS): proporciona un sistema de archivos compartido y totalmente gestionado que Db2 puede utilizar para copias de seguridad y almacenamiento provisional de bases de datos. Db2 también puede utilizar Amazon EFS como punto de montaje para los archivos de registro antes de archivarlos en Amazon S3.

  • Amazon CloudWatch: recopila y monitorea métricas, registros y eventos de Db2 y las EC2 instancias subyacentes. Puede utilizarlos CloudWatch para crear alarmas, cuadros de mando y respuestas automatizadas a problemas de rendimiento o disponibilidad.

Automatizar y escalar

  • Este patrón proporciona una solución totalmente automatizada para almacenar las copias de seguridad de los archivos de registro de Db2.

  • Puede usar el mismo bucket de Amazon S3 para habilitar el archivado de registros de varias bases de datos de Db2.

Herramientas

Servicios de AWS

  • Amazon le CloudWatch ayuda a supervisar las métricas de sus AWS recursos y las aplicaciones en las que se ejecuta AWS en tiempo real.

  • AWS Command Line Interface (AWS CLI) es una herramienta de código abierto que le ayuda a interactuar Servicios de AWS mediante comandos en su shell de línea de comandos.

  • Amazon Elastic Compute Cloud (Amazon EC2) proporciona una capacidad informática escalable en el Nube de AWS. Puede lanzar tantos servidores virtuales como necesite y escalarlos o reducirlos con rapidez.

  • Amazon Elastic File System (Amazon EFS) lo ayuda a crear y configurar sistemas de archivos compartidos en la Nube de AWS.

  • AWS IAM Identity Centerle ayuda a gestionar de forma centralizada el acceso mediante inicio de sesión único (SSO) a todas sus aplicaciones Cuentas de AWS y a las de la nube.

  • Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento de objetos basado en la nube que le ayuda a almacenar, proteger y recuperar cualquier cantidad de datos.

  • Amazon Virtual Private Cloud (Amazon VPC) le ayuda a lanzar AWS recursos en una red virtual que haya definido. Esa red virtual es similar a la red tradicional que utiliza en su propio centro de datos, con los beneficios de usar la infraestructura escalable de AWS.

Otras herramientas

  • libcurl es una biblioteca gratuita de transferencia de URL del lado del cliente.

  • libxml2 es un conjunto de herramientas y analizador XML C gratuito.

Prácticas recomendadas

Epics

TareaDescripciónHabilidades requeridas

Configure el AWS CLI.

Para descargar e instalar el AWS CLI, utilice los siguientes comandos:

i) curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" ii) unzip awscliv2.zip iii) sudo ./aws/install
Administrador de sistemas de AWS; administrador de AWS

Configure la AWS CLI.

Para configurar el AWS CLI, utilice los siguientes comandos:

$ aws configure AWS Access Key ID [None]:******************************* AWS Secret Access Key [None]: *************************** Default region name [None]: < aws region > Default output format [None]: text
Administrador de sistemas de AWS; administrador de AWS

Cree un usuario de IAM.

Para crear un usuario de IAM para usarlo más adelante en la conexión de base de datos de Db2 con Amazon S3, utilice el siguiente comando:

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

A continuación se muestra un ejemplo del comando:

aws iam create-user --user-name db_backup_user

aviso

En este escenario, se requieren usuarios de IAM con acceso programático y credenciales de larga duración, lo que supone un riesgo de seguridad. Para mitigar este riesgo, le recomendamos que proporcione a estos usuarios únicamente los permisos que necesitan para realizar la tarea y que los elimine cuando ya no los necesiten. Las claves de acceso se pueden actualizar si es necesario. Para obtener más información, consulte las credenciales AWS de seguridad y la sección Administrar las claves de acceso para los usuarios de IAM en la documentación de IAM.

Administrador de sistemas de AWS

Cree un bucket de Amazon S3.

Para crear un bucket de Amazon S3 para almacenar la copia de seguridad de la base de datos, utilice el siguiente comando:

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

A continuación, se muestra un comando de ejemplo:

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

Administrador de sistemas de AWS

Autoriza al usuario de IAM.

Para autorizar al usuario de IAM recién creado a tener permisos de Amazon S3, siga estos pasos:

  1. Para generar un nuevo archivo de políticas de IAM db2bucket.json para el bucket de Amazon S3, utilice el siguiente 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. Cree una política de IAM basada en el db2bucket.json archivo. La salida JSON muestra el nombre de recurso de Amazon (ARN) de la política:. "Arn": "arn:aws:iam::111122223333:policy/db2s3policy"

    aws iam create-policy \ --policy-name db2s3policy \ --policy-document file://db2bucket.json
  3. Adjunte la política de IAM al usuario de IAM con el ARN de la política.

    aws iam attach-user-policy --user-name db_backup_user --policy-arn "arn:aws:iam::111122223333:policy/db2s3policy"
Administrador de sistemas de AWS; administrador de AWS

Crear clave de acceso.

Para generar una clave de acceso para acceder mediante programación a Amazon S3 desde la DB2 instancia, utilice el siguiente comando:

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

A continuación, se muestra un ejemplo del comando:

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

aviso

En este escenario, se requieren usuarios de IAM con acceso programático y credenciales de larga duración, lo que supone un riesgo de seguridad. Para mitigar este riesgo, le recomendamos que proporcione a estos usuarios únicamente los permisos que necesitan para realizar la tarea y que los elimine cuando ya no los necesiten. Las claves de acceso se pueden actualizar si es necesario. Para obtener más información, consulte las credenciales AWS de seguridad y la sección Administrar las claves de acceso para los usuarios de IAM en la documentación de IAM.

Administrador de sistemas de AWS

Cree un almacén de claves PKCS.

Para crear un almacén de claves PKCS para almacenar la clave y crear una clave de acceso secreta para transferir los datos a Amazon S3, utilice el siguiente comando:

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

Configure DB2 para usar el almacén de claves.

DB2 Para configurar el uso del almacén de claves con los keystore_type parámetros keystore_location y, utilice los siguientes comandos:

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

Cree un alias DB2 de acceso al almacenamiento.

Un alias de acceso al almacenamiento especifica el bucket de Amazon S3 que se va a utilizar. También proporciona los detalles de la conexión, como el nombre de usuario y la contraseña, que se almacenan en el almacén de claves local en un formato cifrado. Para obtener más información, consulte el comando CATALOG STORAGE ACCESS en la documentación de IBM Db2.

Para crear un alias de acceso al almacenamiento, utilice la siguiente sintaxis:

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

A continuación se muestra un ejemplo:

db2 "catalog storage access alias DB2BKPS3 vendor S3 server s3.us-west-2.amazonaws.com user '*******************' password '*********************' container 'myfirstbucket'"
Administrador de sistemas de AWS
TareaDescripciónHabilidades requeridas

Actualice la ubicación. LOGARCHMETH1

Para usar el alias de acceso al almacenamiento que definió anteriormente, actualice los parámetros LOGARCHMETH1 de la base de datos y utilice el siguiente comando:

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

Para separar los registros de otros archivos, especifique un subdirectorio (es decir, el prefijo del bucket de Amazon S3) TESTDB_LOGS en el que guardar los registros del bucket de S3.

A continuación se muestra un ejemplo:

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

Debería ver el siguiente mensaje: DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.

Administrador de sistemas de AWS

Reiniciar DB2.

Reinicie la DB2 instancia después de volver a configurarla para el archivado de registros.

Sin embargo, si LOGARCHMETH1 se configuró previamente en cualquier ubicación del sistema de archivos, no es necesario reiniciarla.

Administrador AWS, administrador de sistemas AWS
TareaDescripciónHabilidades requeridas

Compruebe el registro de archivos en Amazon S3.

En este punto, la base de datos está completamente configurada para archivar los registros de transacciones directamente en el almacenamiento de Amazon S3. Para confirmar la configuración, comience a ejecutar actividades transaccionales en la base de datos para empezar a consumir (y archivar) el espacio de registro. A continuación, compruebe los registros del archivo en Amazon S3.

Administrador AWS, administrador de sistemas AWS

Compruebe la configuración del registro de archivos endb2diag.log.

Tras comprobar el registro de archivos en Amazon S3, busque el siguiente mensaje en el registro DB2 de diagnósticodb2diag.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/.

Este mensaje confirma que los archivos del registro de DB2 transacciones cerradas se están archivando en el almacenamiento (remoto) de Amazon S3.

Administrador de sistemas de AWS

Recursos relacionados

AWS documentación de servicio

Recursos de IBM