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 usar Amazon Simple Storage Service (Amazon S3) como almacenamiento de catálogos para los registros de archivos que genera IBM Db2, sin usar 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 parámetro logarchmeth1 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 una sola 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 todas. Regiones de AWS Para obtener información sobre la disponibilidad en regiones, consulte AWS Services by Region. Para ver los puntos de conexión específicos, consulte Service endpoints and quotas y elija el enlace del 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

  • 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

En el siguiente diagrama se muestran 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 de 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 alta disponibilidad al ejecutar la carga de trabajo LUW de Db2 (Linux, Unix, Windows) en un centro de datos aislado dentro de la 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 de 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 conexión 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 administrado 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, paneles y respuestas automatizadas a problemas de rendimiento o disponibilidad.

Automatización y escala

  • 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.

Tools (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 lo 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 kit 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 brinde 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 de seguridad de AWS 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 a fin de 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

Autorice el usuario de IAM.

Para autorizar el 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 archivo db2bucket.json. El resultado de JSON muestra el nombre de recurso de Amazon (ARN) para 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

Cree una 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 brinde 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 de seguridad de AWS 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 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 el alias de acceso al almacenamiento, use 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 de la base de datos LOGARCHMETH1 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 anteriormente LOGARCHMETH1 estaba configurado en cualquier ubicación del sistema de archivos, no es necesario reiniciarlo.

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 de archivos en Amazon S3.

Administrador AWS, administrador de sistemas AWS

Compruebe la configuración del registro de archivos en db2diag.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