

# Supervisión de eventos, registros y flujos en una instancia de base de datos de Amazon RDS
<a name="CHAP_Monitor_Logs_Events"></a>

Cuando supervisa sus bases de datos de Amazon RDS y sus otras soluciones de AWS, su objetivo es mantener lo siguiente:
+ Fiabilidad
+ Disponibilidad
+ Rendimiento
+ Seguridad

[Supervisión de métricas en una instancia de Amazon RDS](CHAP_Monitoring.md) explica cómo supervisar su instancia mediante las métricas. Una solución completa también debe supervisar los eventos, los archivos de registro y los flujos de actividad de la base de datos. AWS le proporciona las siguientes herramientas de supervisión:
+ *Amazon EventBridge* es un bus de eventos sin servidor que facilita la conexión de sus aplicaciones con datos de varios orígenes. EventBridge proporciona un flujo de datos en tiempo real desde sus propias aplicaciones, aplicaciones de software como servicio (SaaS) y servicios de AWS. EventBridge dirige esos datos a los objetivos, como AWS Lambda. De esta forma, puede supervisar los eventos que ocurren en los servicios y crear arquitecturas basadas en eventos. Para más información, consulte la [Guía del usuario de Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/).
+ *Registros de Amazon CloudWatch* le permite supervisar, almacenar y acceder a los archivos de registro desde instancias de Amazon RDS, AWS CloudTrail y otros orígenes. registros de Amazon Cloudwatch puede supervisar información en los archivos de registro y enviar una notificación cuando se llega a determinados umbrales. También se pueden archivar los datos del registro en un almacenamiento de larga duración. Para obtener más información, consulte la [Guía del usuario de Registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/).
+ *AWS CloudTrail* captura las llamadas a la API y los eventos relacionados realizados por su cuenta de o en su nombre Cuenta de AWS. CloudTrail entrega los archivos de registros a un bucket de Amazon S3 que especifique. También puede identificar qué usuarios y cuentas llamaron a AWS, la dirección IP de origen de las llamadas y el momento en que se hicieron. Para obtener más información, consulte la [Guía del usuario de AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).
+ Los *flujos de actividad de la base de datos* son una característica de Amazon RDS que proporciona un flujo casi en tiempo real de la actividad en su clúster de base de datos. Amazon RDS envía actividades a un flujo de datos de Amazon Kinesis. El flujo de Kinesis se crea automáticamente. Desde Kinesis, puede configurar servicios de AWS como Amazon Data Firehose y AWS Lambda para utilizar el flujo y almacenar los datos.

**Topics**
+ [Visualización de los registros, los eventos y los flujos en la consola de Amazon RDS](logs-events-streams-console.md)
+ [Supervisión de eventos de Amazon RDS](working-with-events.md)
+ [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md)
+ [Supervisión de llamadas a la API de Amazon RDS en AWS CloudTrail](logging-using-cloudtrail.md)
+ [Supervisión de Amazon RDS con flujos de actividad de la base de datos](DBActivityStreams.md)
+ [Supervisión de amenazas con Amazon GuardDuty RDS Protection](guard-duty-rds-protection.md)

# Visualización de los registros, los eventos y los flujos en la consola de Amazon RDS
<a name="logs-events-streams-console"></a>

Amazon RDS se integra con Servicios de AWS para mostrar información sobre registros, eventos y flujos de actividad de bases de datos en la consola de RDS.

La pestaña **Registros y eventos** para su instancia de base de datos de RDS muestra la siguiente información:
+ **Amazon CloudWatch alarms** (Alarmas de Amazon CloudWatch): muestra las alarmas de métricas que ha configurado para la instancia de base de datos. Si no ha configurado las alarmas, puede crearlas en la consola de RDS. Para obtener más información, consulte [Supervisión de métricas de Amazon RDS con Amazon CloudWatch](monitoring-cloudwatch.md).
+ **Recent events** (Eventos recientes): muestra un resumen de los eventos (cambios de entorno) para la instancia de base de datos o Aurora. Para obtener más información, consulte [Consulta de eventos de Amazon RDS](USER_ListEvents.md).
+ **Logs** (Registros): muestra los archivos de registro de base de datos generados por una instancia de base de datos. Para obtener más información, consulte [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md).

La pestaña **Configuration** (Configuración) muestra información sobre flujos de actividad de la base de datos.

**Para ver los registros, eventos y flujos de su instancia de base de datos de en la consola de RDS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases** (Bases de datos).

1. Elija el nombre de su clúster de bases de datos de que desea supervisar.

   Aparece la página de la base de datos. En el siguiente ejemplo, se muestra una base de datos Oracle denominada `orclb`.  
![\[En la página Database (Base de datos) se muestra la pestaña Monitoring (Supervisión)\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-with-monitoring-tab.png)

1. Seleccione **Logs & events (Registros y eventos)**.

   Aparece la sección Logs & events (Registros y eventos).  
![\[En la página de base de datos se muestra la pestaña Logs & events (Registros y eventos)\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-logs-and-events-subpage.png)

1. Elija **Configuración**.

   En el siguiente ejemplo, se muestra el estado de los flujos de actividad de la base de datos para la instancia de base de datos.  
![\[Enhanced Monitoring (Monitorización mejorada)\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-das.png)

# Supervisión de eventos de Amazon RDS
<a name="working-with-events"></a>

Un *evento* indica un cambio en el entorno. Puede ser un entorno de AWS, un servicio o aplicación de socios SaaS o una aplicación o servicio personalizados. Para obtener descripciones de los eventos de RDS, consulte [Categorías y mensajes de eventos de Amazon RDS ](USER_Events.Messages.md).

**Topics**
+ [Información general de los eventos para Amazon RDS](#rds-cloudwatch-events.sample)
+ [Consulta de eventos de Amazon RDS](USER_ListEvents.md)
+ [Uso de notificaciones de eventos de Amazon RDS](USER_Events.md)
+ [Creación de una regla que se desencadena en función de un evento Amazon RDS](rds-cloud-watch-events.md)
+ [Categorías y mensajes de eventos de Amazon RDS](USER_Events.Messages.md)

## Información general de los eventos para Amazon RDS
<a name="rds-cloudwatch-events.sample"></a>

Un *evento de RDS* indica un cambio en el entorno de Amazon RDS. Por ejemplo, Amazon RDS genera un evento cuando el estado de una instancia de base de datos cambia de pendiente a en ejecución. Amazon RDS envía eventos a EventBridge casi en tiempo real.

**nota**  
Amazon RDS emite eventos de la mejor forma posible. Recomendamos que evite escribir programas que dependan del orden o de la existencia de eventos de notificación, ya que pueden faltar o no estar ordenados.

Amazon RDS registra eventos relacionados con los siguientes recursos:
+ Instancias de base de datos

  Para obtener una lista de los eventos de instancia de base de datos, consulte [Eventos de instancia de base de datos](USER_Events.Messages.md#USER_Events.Messages.instance).
+ Grupos de parámetros de base de datos

  Para obtener una lista de eventos de grupos de parámetros de base de datos, consulte [Eventos de grupo de parámetros de base de datos](USER_Events.Messages.md#USER_Events.Messages.parameter-group).
+ Grupos de seguridad de base de datos

  Para obtener una lista de eventos de grupo de seguridad de base de datos, consulte [Eventos de grupo de seguridad de base de datos](USER_Events.Messages.md#USER_Events.Messages.security-group).
+ Instantáneas de base de datos

  Para obtener una lista de los eventos de instantánea de base de datos, consulte [Eventos de instantánea de base de datos](USER_Events.Messages.md#USER_Events.Messages.snapshot).
+ Eventos de RDS Proxy

  Para obtener una lista de los eventos de RDS Proxy, consulte [Eventos de RDS Proxy](USER_Events.Messages.md#USER_Events.Messages.rds-proxy).
+ Eventos de implementación azul/verde

  Para obtener una lista de los eventos de implementación azul/verde, consulte [Eventos de implementación azul/verde](USER_Events.Messages.md#USER_Events.Messages.BlueGreenDeployments).

La información incluye lo siguiente: 
+ La fecha y la hora del evento
+ El nombre de origen y el tipo de origen del evento
+ Un mensaje asociado al evento
+ Las notificaciones de eventos incluyen etiquetas de cuando se envió el mensaje y es posible que no reflejen las etiquetas del momento en que se produjo el evento.

# Consulta de eventos de Amazon RDS
<a name="USER_ListEvents"></a>

Puede recuperar la siguiente información del evento para sus recursos de Amazon RDS:
+ Nombre del recurso
+ Tipo de recurso
+ Hora del evento
+ Resumen del mensaje del evento

Puede acceder a los eventos en las siguientes partes de la:Consola de administración de AWS
+ La pestaña **Eventos**, que muestra los eventos de las últimas 24 horas.
+ La tabla **Eventos recientes** de la sección **Registros y eventos** de la pestaña **Bases de datos**, que puede mostrar los eventos de las últimas 2 semanas.

También puede recuperar eventos utilizando el comando [describe-events](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-events.html) de la AWS CLI o la operación [DescribeEvents](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEvents.html) de la API de RDS. Si utiliza la AWS CLI o la API de RDS para ver eventos, puede recuperar eventos de los últimos 14 días como máximo. 

**nota**  
Si necesita almacenar eventos durante periodos de tiempo más largos, puede enviar eventos de Amazon RDS a EventBridge. Para obtener más información, consulte [Creación de una regla que se desencadena en función de un evento Amazon RDS](rds-cloud-watch-events.md).

Para obtener descripciones de los eventos de Amazon RDS, consulte [Categorías y mensajes de eventos de Amazon RDS ](USER_Events.Messages.md).

Para acceder a información detallada sobre los eventos mediante AWS CloudTrail, incluidos los parámetros de la solicitud, consulte [Eventos de CloudTrail](logging-using-cloudtrail.md#service-name-info-in-cloudtrail.events).

## Consola
<a name="USER_ListEvents.CON"></a>

**Para ver todos los eventos de Amazon RDS de las últimas 24 horas**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Events**. 

   Los eventos disponibles aparecen en una lista.

1. (Opcional) Ingrese una palabra de búsqueda para filtrar los resultados. 

   En el siguiente ejemplo se muestra una lista de eventos filtrados por los caracteres **stopped**.  
![\[Lista de eventos de instancia de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/ListEvents.png)

## AWS CLI
<a name="USER_ListEvents.CLI"></a>

Para ver todos los eventos generados en la última hora, llame a [describe-events](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-events.html) sin parámetros.

```
aws rds describe-events
```

El siguiente ejemplo muestra que se ha detenido una instancia de base de datos.

```
{
    "Events": [
        {
            "EventCategories": [
                "notification"
            ], 
            "SourceType": "db-instance", 
            "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:testinst", 
            "Date": "2022-04-22T21:31:00.681Z", 
            "Message": "DB instance stopped", 
            "SourceIdentifier": "testinst"
        }
    ]
}
```

Para ver todos los eventos de Amazon RDS de los últimos 10 080 minutos (7 días), llame al comando [describe-events](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-events.html) de la AWS CLI y establezca el parámetro `--duration` en `10080`.

```
1. aws rds describe-events --duration 10080
```

El siguiente ejemplo muestra los eventos del intervalo de tiempo especificado para la instancia de base de datos *test-instance*.

```
aws rds describe-events \
    --source-identifier test-instance \
    --source-type db-instance \
    --start-time 2022-03-13T22:00Z \
    --end-time 2022-03-13T23:59Z
```

El siguiente ejemplo muestra el estado de una copia de seguridad.

```
{
    "Events": [
        {
            "SourceType": "db-instance",
            "SourceIdentifier": "test-instance",
            "EventCategories": [
                "backup"
            ],
            "Message": "Backing up DB instance",
            "Date": "2022-03-13T23:09:23.983Z",
            "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance"
        },
        {
            "SourceType": "db-instance",
            "SourceIdentifier": "test-instance",
            "EventCategories": [
                "backup"
            ],
            "Message": "Finished DB Instance backup",
            "Date": "2022-03-13T23:15:13.049Z",
            "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance"
        }
    ]
}
```

## API
<a name="USER_ListEvents.API"></a>

Puede ver todos los eventos de las instancias de Amazon RDS de los últimos 14 días llamando a la operación [DescribeEvents](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEvents.html) de la API de RDS y estableciendo el parámetro `Duration` en `20160`.

# Uso de notificaciones de eventos de Amazon RDS
<a name="USER_Events"></a>

Amazon RDS utiliza Amazon Simple Notification Service (Amazon SNS) para proporcionar una notificación cuando se produce un evento de Amazon RDS. Estas notificaciones pueden realizarse con cualquier método que admita Amazon SNS para una región de AWS, como un email, un mensaje de texto o una llamada a un punto de enlace HTTP. 

**Topics**
+ [Información general de las notificaciones de eventos de Amazon RDS](USER_Events.overview.md)
+ [Concesión de permisos para publicar notificaciones en un tema de Amazon SNS](USER_Events.GrantingPermissions.md)
+ [Suscripción a notificaciones de eventos de Amazon RDS](USER_Events.Subscribing.md)
+ [Atributos y etiquetas de notificación de eventos de Amazon RDS](USER_Events.TagsAttributesForFiltering.md)
+ [Descripción de suscripciones a notificaciones de eventos de Amazon RDS](USER_Events.ListSubscription.md)
+ [Modificación de una suscripción a notificaciones de eventos de Amazon RDS](USER_Events.Modifying.md)
+ [Agregar un identificador de origen a una suscripción de notificación de eventos de Amazon RDS](USER_Events.AddingSource.md)
+ [Quitar un identificador de origen de una suscripción de notificación de eventos de Amazon RDS](USER_Events.RemovingSource.md)
+ [Descripción de la lista de categorías de notificaciones de eventos de Amazon RDS](USER_Events.ListingCategories.md)
+ [Eliminar una suscripción de notificación de eventos de Amazon RDS](USER_Events.Deleting.md)

# Información general de las notificaciones de eventos de Amazon RDS
<a name="USER_Events.overview"></a>

Amazon RDS agrupa los eventos en categorías a las que puede suscribirse para recibir una notificación cada vez que se produzca un evento en esa categoría.

**Topics**
+ [Recursos de RDS aptos para la suscripción a eventos](#USER_Events.overview.resources)
+ [Proceso básico para suscribirse a las notificaciones de eventos de Amazon RDS](#USER_Events.overview.process)
+ [Entrega de notificaciones de eventos de RDS](#USER_Events.overview.subscriptions)
+ [Facturación de notificaciones de eventos de Amazon RDS](#USER_Events.overview.billing)
+ [Ejemplos de eventos de Amazon RDS con Amazon EventBridge](#events-examples)

## Recursos de RDS aptos para la suscripción a eventos
<a name="USER_Events.overview.resources"></a>

Puede suscribirse a una categoría de evento para los recursos siguientes:
+ Instancia de base de datos
+ Instantánea de base de datos
+ Grupo de parámetros de base de datos
+ Grupo de seguridad de base de datos
+ Proxy RDS
+ Versión del motor personalizada

Por ejemplo, si se suscribe a la categoría de copia de seguridad de una instancia de base de datos determinada, recibirá una notificación cada vez que se produzca un evento relacionado con las copias de seguridad que afecte a la instancia de base de datos. Si se suscribe a una categoría de cambio de configuración para una instancia de base de datos, recibirá una notificación cuando la instancia de base de datos se modifique. También recibirá una notificación cuando cambie una suscripción de notificación de eventos.

Es posible que desee crear varias suscripciones diferentes. Por ejemplo, puede crear una suscripción que reciba todas las notificaciones de eventos de todas las instancias de base de datos y otra que incluya solo los eventos fundamentales de un subconjunto de instancias de base de datos. Para la segunda suscripción, especifique una o más instancias de base de datos en el filtro.

## Proceso básico para suscribirse a las notificaciones de eventos de Amazon RDS
<a name="USER_Events.overview.process"></a>

El proceso para suscribirse a las notificaciones de eventos de Amazon RDS es el siguiente:

1. Cree una suscripción de notificación de eventos de Amazon RDS mediante la consola de Amazon RDS, la AWS CLI o la API.

   Amazon RDS utiliza el ARN de un tema de Amazon SNS para identificar cada suscripción. La consola de Amazon RDS crea el ARN automáticamente cuando se crea la suscripción. Cree el ARN a través de la consola de Amazon SNS, la AWS CLI o la API de Amazon SNS.

1. Amazon RDS envía un mensaje de correo electrónico o SMS de aprobación a las direcciones que envió con la suscripción.

1. Para confirmar la suscripción, elija el enlace de la notificación que ha recibido.

1. La consola de Amazon RDS actualiza la sección **My Event Subscriptions (Mis suscripciones a eventos)** con el estado de la suscripción.

1. Amazon RDS empieza a enviar notificaciones a las direcciones que se proporcionan al crear la suscripción.

Para obtener información acerca de Identity and access management cuando se utilice Amazon SNS, consulte [Identity and access management en Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-authentication-and-access-control.html) en la *Guía para desarrolladores de Amazon Simple Notification Service*.

Puede utilizar AWS Lambda para procesar notificaciones de eventos desde una instancia de base de datos. Para obtener más información, consulte [Uso de AWS Lambda con Amazon RDS](https://docs.aws.amazon.com/lambda/latest/dg/services-rds.html) en la *Guía para desarrolladores de AWS Lambda*.

## Entrega de notificaciones de eventos de RDS
<a name="USER_Events.overview.subscriptions"></a>

Amazon RDS envía notificaciones a las direcciones que se proporcionan al crear la suscripción. La notificación puede incluir atributos de mensaje que proporcionan metadatos estructurados sobre el mensaje. Para obtener más información acerca de los atributos de los mensajes, consulte [Categorías y mensajes de eventos de Amazon RDS ](USER_Events.Messages.md).

Las notificaciones de eventos pueden tardar hasta cinco minutos en entregarse.

**importante**  
Amazon RDS no garantiza el orden de los eventos enviados en una secuencia de eventos. El orden de los eventos está sujeto a cambio.

Cuando Amazon SNS envía una notificación a un punto de enlace HTTP o HTTPS suscrito, el cuerpo del mensaje POST enviado al punto de enlace contiene un documento JSON. Para obtener más información, consulte [Formatos de mensaje y JSON de Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-message-and-json-formats.html) en la *Guía para desarrolladores de Amazon Simple Notification Service*.

Puede configurar SNS para que le notifique con mensajes de texto. Para obtener más información, consulte [Mensajería de texto móvil (SMS)](https://docs.aws.amazon.com/sns/latest/dg/sns-mobile-phone-number-as-subscriber.html) en la *Guía para desarrolladores de Simple Notification Service*.

Para desactivar las notificaciones sin eliminar una suscripción, elija **No** en **Enabled (Habilitado)** en la consola de Amazon RDS. O bien, puede establecer el parámetro `Enabled` en `false` mediante la AWS CLI o la API de Amazon RDS.

## Facturación de notificaciones de eventos de Amazon RDS
<a name="USER_Events.overview.billing"></a>

La facturación de notificaciones de eventos de Amazon RDS se efectúa a través de Amazon SNS. Se aplican las tarifas de Amazon SNS cuando se utiliza la notificación de eventos. Para obtener más información sobre la facturación de Amazon SNS, consulte [Precios de Amazon Simple Notification Service](https://aws.amazon.com/sns/#pricing).

## Ejemplos de eventos de Amazon RDS con Amazon EventBridge
<a name="events-examples"></a>

Los siguientes ejemplos muestran los diferentes tipos de eventos de Amazon RDS en formato JSON. Para ver un tutorial que muestra cómo capturar y ver eventos en formato JSON, consulte [Tutorial: Registrar el estado de una instancia de base de datos con Amazon EventBridge](rds-cloud-watch-events.md#log-rds-instance-state).

**Topics**
+ [Ejemplo de evento de instancia de base de datos](#rds-cloudwatch-events.db-instances)
+ [Ejemplo de evento de grupo de parámetros de base de datos](#rds-cloudwatch-events.db-parameter-groups)
+ [Ejemplo de evento de instantánea de base de datos](#rds-cloudwatch-events.db-snapshots)

### Ejemplo de evento de instancia de base de datos
<a name="rds-cloudwatch-events.db-instances"></a>

A continuación, se muestra un ejemplo de un evento de instancia de base de datos en formato JSON. El evento muestra que RDS realizó una conmutación por error Multi-AZ para la instancia denominada `my-db-instance`. El ID de evento es RDS-EVENT-0049.

```
{
  "version": "0",
  "id": "68f6e973-1a0c-d37b-f2f2-94a7f62ffd4e",
  "detail-type": "RDS DB Instance Event",
  "source": "aws.rds",
  "account": "123456789012",
  "time": "2018-09-27T22:36:43Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:rds:us-east-1:123456789012:db:my-db-instance"
  ],
  "detail": {
    "EventCategories": [
      "failover"
    ],
    "SourceType": "DB_INSTANCE",
    "SourceArn": "arn:aws:rds:us-east-1:123456789012:db:my-db-instance",
    "Date": "2018-09-27T22:36:43.292Z",
    "Message": "A Multi-AZ failover has completed.",
    "SourceIdentifier": "my-db-instance",
    "EventID": "RDS-EVENT-0049"
  }
}
```

### Ejemplo de evento de grupo de parámetros de base de datos
<a name="rds-cloudwatch-events.db-parameter-groups"></a>

A continuación, se muestra un ejemplo de un evento de grupo de parámetros de base de datos en formato JSON. El evento muestra que el parámetro `time_zone` se actualizó en el grupo de parámetros `my-db-param-group`. El ID de evento es RDS-EVENT-0037.

```
{
  "version": "0",
  "id": "844e2571-85d4-695f-b930-0153b71dcb42",
  "detail-type": "RDS DB Parameter Group Event",
  "source": "aws.rds",
  "account": "123456789012",
  "time": "2018-10-06T12:26:13Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group"
  ],
  "detail": {
    "EventCategories": [
      "configuration change"
    ],
    "SourceType": "DB_PARAM",
    "SourceArn": "arn:aws:rds:us-east-1:123456789012:pg:my-db-param-group",
    "Date": "2018-10-06T12:26:13.882Z",
    "Message": "Updated parameter time_zone to UTC with apply method immediate",
    "SourceIdentifier": "my-db-param-group",
    "EventID": "RDS-EVENT-0037"
  }
}
```

### Ejemplo de evento de instantánea de base de datos
<a name="rds-cloudwatch-events.db-snapshots"></a>

A continuación, se muestra un ejemplo de un evento de instantánea de base de datos en formato JSON. El evento muestra la eliminación de la instantánea denominada `my-db-snapshot`. El ID de evento es RDS-EVENT-0041.

```
{
  "version": "0",
  "id": "844e2571-85d4-695f-b930-0153b71dcb42",
  "detail-type": "RDS DB Snapshot Event",
  "source": "aws.rds",
  "account": "123456789012",
  "time": "2018-10-06T12:26:13Z",
  "region": "us-east-1",
  "resources": [
    "arn:aws:rds:us-east-1:123456789012:snapshot:rds:my-db-snapshot"
  ],
  "detail": {
    "EventCategories": [
      "deletion"
    ],
    "SourceType": "SNAPSHOT",
    "SourceArn": "arn:aws:rds:us-east-1:123456789012:snapshot:rds:my-db-snapshot",
    "Date": "2018-10-06T12:26:13.882Z",
    "Message": "Deleted manual snapshot",
    "SourceIdentifier": "my-db-snapshot",
    "EventID": "RDS-EVENT-0041"
  }
}
```

# Concesión de permisos para publicar notificaciones en un tema de Amazon SNS
<a name="USER_Events.GrantingPermissions"></a>

Para conceder a Amazon RDS permisos para publicar notificaciones en un tema de Amazon Simple Notification Service (Amazon SNS), adjunte una política de AWS Identity and Access Management (IAM) al tema de destino. Para obtener más información sobre los permisos, consulte [Ejemplos de casos de control de acceso con Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-access-policy-use-cases.html) en la *Guía para desarrolladores de Amazon Simple Notification Service*.

De forma predeterminada, un tema de Amazon SNS tiene una política que permite a todos los recursos de Amazon RDS de la misma cuenta publicar notificaciones en él. Puede adjuntar una política personalizada para permitir las notificaciones entre cuentas o para restringir el acceso a determinados recursos.

A continuación se muestra un ejemplo de una política de IAM que se asocia al tema de Amazon SNS de destino. Restringe el tema a instancias de base de datos con nombres que coinciden con el prefijo especificado. Para utilizar esta política, especifique los siguientes valores:
+ `Resource`: el nombre de recurso de Amazon (ARN) para el tema de Amazon SNS
+ `SourceARN`: su ARN de recursos de RDS
+ `SourceAccount`: su ID de Cuenta de AWS

Para ver una lista de tipos de recursos y sus ARN, consulte [Tipos de recurso definidos por Amazon RDS](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonrds.html#amazonrds-resources-for-iam-policies) en la *Referencia de autorizaciones de servicio*.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "events.rds.amazonaws.com"
      },
      "Action": [
        "sns:Publish"
      ],
      "Resource": "arn:aws:sns:us-east-1:123456789012:topic_name",
      "Condition": {
        "ArnLike": {
          "aws:SourceArn": "arn:aws:rds:us-east-1:123456789012:db:prefix-*"
        },
        "StringEquals": {
          "aws:SourceAccount": "123456789012"
        }
      }
    }
  ]
}
```

------

# Suscripción a notificaciones de eventos de Amazon RDS
<a name="USER_Events.Subscribing"></a>

La forma más sencilla de crear una suscripción es con la consola de RDS. Si decide crear las suscripciones de notificaciones de eventos a través de la CLI o la API, debe crear un tema de Amazon Simple Notification Service y suscribirse a dicho tema con la consola de Amazon SNS o la API de Amazon SNS. También deberá conservar el Nombre de recurso de Amazon (ARN) del tema, ya que este se utiliza al enviar los comandos de la CLI o las operaciones de la API. Para obtener información acerca de cómo crear un tema de SNS y suscribirse a él, consulte [Introducción a Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/GettingStarted.html) en la *Guía del desarrollador de Amazon Simple Notification Service*.

Puede especificar el tipo de origen sobre el que desea recibir notificaciones y el origen de Amazon RDS que inicia el evento:

**Source type (Tipo de origen)**  
Tipo de origen. Por ejemplo, **Source Type (Tipo de origen)** podría ser **Instances (Instancias)**. Debe elegir un tipo de origen.

***Resources* to include (Recursos a incluir)**  
Los recursos de Amazon RDS que están generando los eventos. Por ejemplo, es posible que tenga que elegir **Select specific instances (Seleccionar instancias específicas) ** y luego **myDBInstance1**. 

En la siguiente tabla se explica lo que ocurre si se especifica o no ***Resources* to include (Recursos a incluir)**.


|  Recursos a incluir  |  Descripción  |  Ejemplo  | 
| --- | --- | --- | 
|  Especificado  |  RDS le notifica todos los eventos relacionados únicamente con el recurso especificado.  | Si Source type (Tipo de origen) es Instances (Instancias) y tu recurso es myDBInstance1, RDS le notifica sobre todos los eventos de MyDBInstance1 únicamente. | 
|  No especificada  |  RDS le notifica los eventos del tipo de origen especificado para todos los recursos de Amazon RDS.   |  Si **Source type (Tipo de origen)** es **Instances (Instancias)**, RDS le notifica sobre todos los eventos relacionados con las instancias en su cuenta.  | 

Un suscriptor de temas de Amazon SNS recibe de forma predeterminada todos los mensajes publicados en el tema. Para recibir solo un subconjunto de los mensajes, el suscriptor debe asignar una política de filtrado a la suscripción del tema. Para obtener más información sobre el filtrado de mensajes SNS, consulte [Filtrado de mensajes en Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) en la *Guía para desarrolladores de Amazon Simple Notification Service*.

## Consola
<a name="USER_Events.Subscribing.Console"></a>

**Para suscribirse a las notificaciones de eventos de RDS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación seleccione **Event Subscriptions (Suscripciones de eventos)**. 

1. En la página **Event Subscriptions (Suscripciones de eventos)** seleccione **Create Event Subscription (Crear suscripción de eventos)**. 

1. Introduzca los detalles de su suscripción de la siguiente manera:

   1. En **Name (Nombre)** escriba un nombre para la suscripción de notificación de evento.

   1. En **Send notification to (Enviar notificaciones a)**, realice una de las siguientes acciones:
      + Elija **New email topic (Nuevo tema de correo electrónico)**. Introduzca un nombre para su tema de correo electrónico y una lista de destinatarios. Le recomendamos que configure las suscripciones a los eventos con la misma dirección de correo electrónico que tiene el contacto principal de su cuenta. Las recomendaciones, los eventos de servicio y los mensajes sanitarios personales se envían a través de diferentes canales. Las suscripciones a la misma dirección de correo electrónico garantizan que todos los mensajes se consoliden en una sola ubicación.
      + Elija **Amazon Resource Name (ARN) [Nombre de recurso de Amazon (ARN)]**. A continuación, seleccione el ARN de Amazon SNS existente para un tema de Amazon SNS.

        Si desea utilizar un tema que se haya habilitado para el cifrado del servidor (SSE), conceda a Amazon RDS los permisos necesarios para acceder a la AWS KMS key. Para obtener más información, consulte [Habilitar la compatibilidad entre los orígenes de eventos de los servicios de AWS y los temas cifrados](https://docs.aws.amazon.com/sns/latest/dg/sns-key-management.html#compatibility-with-aws-services) en la *Guía para desarrolladores de Amazon Simple Notification Service*.

   1. En **Source type (Tipo de origen)** elija un tipo de origen. Por ejemplo, elija **Instances (Instancias)** o **Parameter groups(Grupos de parámetros)**.

   1. Elija las categorías y recursos del evento de las que desea recibir notificaciones.

      En el ejemplo siguiente se configuran las notificaciones de eventos de la instancia de base de datos denominada `testinst`.  
![\[Ingresar el tipo de origen\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/event-source.png)

   1. Seleccione **Crear**.

La consola de Amazon RDS indica que se está creando la suscripción.

![\[Lista de suscripciones a notificaciones de eventos de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/EventNotification-Create2.png)


## AWS CLI
<a name="USER_Events.Subscribing.CLI"></a>

Para suscribirse a notificaciones de eventos de RDS, utilice el comando [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/rds/create-event-subscription.html) de la `create-event-subscription`. Incluya los siguientes parámetros obligatorios:
+ `--subscription-name`
+ `--sns-topic-arn`

**Example**  
Para Linux, macOS o:Unix  

```
aws rds create-event-subscription \
    --subscription-name myeventsubscription \
    --sns-topic-arn arn:aws:sns:us-east-1:123456789012:myawsuser-RDS \
    --enabled
```
En:Windows  

```
aws rds create-event-subscription ^
    --subscription-name myeventsubscription ^
    --sns-topic-arn arn:aws:sns:us-east-1:123456789012:myawsuser-RDS ^
    --enabled
```

## API
<a name="USER_Events.Subscribing.API"></a>

Para suscribirse a notificaciones de eventos de Amazon RDS, llame a la función [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateEventSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateEventSubscription.html) de la API de Amazon RDS. Incluya los siguientes parámetros obligatorios: 
+ `SubscriptionName`
+ `SnsTopicArn`

# Atributos y etiquetas de notificación de eventos de Amazon RDS
<a name="USER_Events.TagsAttributesForFiltering"></a>

Cuando Amazon RDS envía una notificación de evento a Amazon Simple Notification Service (SNS) o Amazon EventBridge, esa notificación contiene los atributos del mensaje y las etiquetas del evento. RDS envía los atributos del mensaje por separado junto con el mensaje, mientras que las etiquetas de eventos se encuentran en el cuerpo del mensaje. Utilice los atributos de los mensajes y las etiquetas de Amazon RDS para añadir metadatos a sus recursos. Puede modificar estas etiquetas con sus propias anotaciones sobre las instancias de base de datos. Para obtener más información acerca del etiquetado de recursos de Amazon RDS, consulte [Etiquetado de los recursos de Amazon RDS](USER_Tagging.md). 

De forma predeterminada, Amazon SNS y Amazon EventBridge reciben todos los mensajes que se les envían. SNS y EventBridge pueden filtrar el mensaje y enviar las notificaciones a través del método de comunicación que se prefiera, como un correo electrónico, un mensaje de texto o una llamada a un punto de conexión HTTP.

**nota**  
La notificación que se envía por correo electrónico o en mensaje de texto no tiene etiquetas de evento.

En la tabla siguiente, se muestran los atributos de mensaje para los eventos de RDS que se han enviado al suscriptor de temas.


| Atributo de evento de Amazon RDS |  Descripción  | 
| --- | --- | 
| EventID |  Identificador de mensajes de eventos de RDS, por ejemplo, RDS-EVENT-0006.  | 
| Recurso |  Identificador ARN del recurso que emite el evento como, por ejemplo, `arn:aws:rds:ap-southeast-2:123456789012:db:database-1`.  | 

Las etiquetas RDS proporcionan datos sobre el recurso afectado por el evento de servicio. RDS añade el estado actual de las etiquetas en el cuerpo del mensaje cuando la notificación se envía a SNS o EventBridge.

Para obtener más información sobre el filtrado de atributos de mensajes SNS, consulte [Filtrado de mensajes en Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-message-filtering.html) en la *Guía para desarrolladores de Amazon Simple Notification Service*.

Para obtener más información sobre etiquetas de eventos de EventBridge, consulte [Operadores de comparación para su uso en patrones de eventos en Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns-content-based-filtering.html) en la *Guía del usuario de Amazon EventBridge*.

Para obtener más información sobre el filtrado etiquetas basadas en cargas útiles para SNS, consulte [Introducing payload-based message filtering for Amazon SNS](https://aws.amazon.com/blogs/compute/introducing-payload-based-message-filtering-for-amazon-sns/).

# Descripción de suscripciones a notificaciones de eventos de Amazon RDS
<a name="USER_Events.ListSubscription"></a>

Puede mostrar las suscripciones actuales de notificación de eventos de Amazon RDS.

## Consola
<a name="USER_Events.ListSubscription.Console"></a>

**Pasos mostrar las sus suscripciones actuales de notificación de eventos de Amazon RDS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  En el panel de navegación seleccione **Event Subscriptions (Suscripciones de eventos)**. El panel **Event subscriptions (Suscripciones de eventos)** muestra todas sus suscripciones a notificaciones de eventos.  
![\[Lista de suscripciones a notificaciones de eventos de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/EventNotification-ListSubs.png)

   

## AWS CLI
<a name="USER_Events.ListSubscription.CLI"></a>

Para obtener una lista de sus suscripciones a notificaciones de eventos de Amazon RDS, utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-event-subscriptions.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-event-subscriptions.html) de la AWS CLI. 

**Example**  
En el siguiente ejemplo se obtienen todas las suscripciones a eventos.  

```
aws rds describe-event-subscriptions
```
En el siguiente ejemplo se obtiene la descripción de `myfirsteventsubscription`.  

```
aws rds describe-event-subscriptions --subscription-name myfirsteventsubscription
```

## API
<a name="USER_Events.ListSubscription.API"></a>

Para obtener una lista de sus suscripciones actuales a notificaciones de eventos de Amazon RDS, llame a la acción [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventSubscriptions.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventSubscriptions.html) de la API de Amazon RDS.

# Modificación de una suscripción a notificaciones de eventos de Amazon RDS
<a name="USER_Events.Modifying"></a>

Después de crear una suscripción, puede cambiar el nombre de la suscripción, el identificador del origen, las categorías o el ARN del tema.

## Consola
<a name="USER_Events.Modifying.Console"></a>

**Para modificar una suscripción de notificación de eventos de Amazon RDS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  En el panel de navegación seleccione **Event Subscriptions (Suscripciones de eventos)**. 

1.  En el panel **Event subscriptions (Suscripciones de eventos)**, elija la suscripción que desea modificar y elija **Edit (Editar)**. 

1.  Realice los cambios que desee en la suscripción en las secciones **Target (Objetivo)** o **Source (Fuente)**.

1. Elija **Edit (Editar)**. La consola de Amazon RDS indica que se está modificando la suscripción.  
![\[Lista de suscripciones a notificaciones de eventos de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/EventNotification-Modify2.png)

   

## AWS CLI
<a name="USER_Events.Modifying.CLI"></a>

Para modificar una suscripción a notificaciones de eventos de Amazon RDS, utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-event-subscription.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-event-subscription.html) de la AWS CLI. Incluya el siguiente parámetro obligatorio:
+ `--subscription-name`

**Example**  
El siguiente código activa `myeventsubscription`.  
Para Linux, macOS o:Unix  

```
aws rds modify-event-subscription \
    --subscription-name myeventsubscription \
    --enabled
```
En:Windows  

```
aws rds modify-event-subscription ^
    --subscription-name myeventsubscription ^
    --enabled
```

## API
<a name="USER_Events.Modifying.API"></a>

Para modificar un evento de Amazon RDS, llame a la operación de la API de Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyEventSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyEventSubscription.html). Incluya el siguiente parámetro obligatorio:
+ `SubscriptionName`

# Agregar un identificador de origen a una suscripción de notificación de eventos de Amazon RDS
<a name="USER_Events.AddingSource"></a>

Puede añadir un identificador de origen (el origen de Amazon RDS que genera el evento) a una suscripción existente.

## Consola
<a name="USER_Events.AddingSource.Console"></a>

Puede añadir o eliminar fácilmente identificadores de origen mediante la consola de Amazon RDS activándolos o desactivándolos al modificar una suscripción. Para obtener más información, consulte [Modificación de una suscripción a notificaciones de eventos de Amazon RDS](USER_Events.Modifying.md).

## AWS CLI
<a name="USER_Events.AddingSource.CLI"></a>

Para agregar un identificador de origen a una suscripción a notificaciones de eventos de Amazon RDS, utilice el comando [https://docs.aws.amazon.com/](https://docs.aws.amazon.com/) de la AWS CLI. Incluya los siguientes parámetros obligatorios:
+ `--subscription-name`
+ `--source-identifier`

**Example**  
En el siguiente ejemplo se añade el identificador de origen `mysqldb` a la suscripción `myrdseventsubscription`  
Para Linux, macOS o Unix:  

```
aws rds add-source-identifier-to-subscription \
    --subscription-name myrdseventsubscription \
    --source-identifier mysqldb
```
Para Windows:  

```
aws rds add-source-identifier-to-subscription ^
    --subscription-name myrdseventsubscription ^
    --source-identifier mysqldb
```

## API
<a name="USER_Events.AddingSource.API"></a>

Para añadir un identificador de origen a una suscripción a notificaciones de eventos de Amazon RDS, llame a la acción de la API de Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddSourceIdentifierToSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_AddSourceIdentifierToSubscription.html). Incluya los siguientes parámetros obligatorios:
+ `SubscriptionName`
+ `SourceIdentifier`

# Quitar un identificador de origen de una suscripción de notificación de eventos de Amazon RDS
<a name="USER_Events.RemovingSource"></a>

Puede eliminar un identificador de origen (el origen de Amazon RDS que genera el evento) de una suscripción si ya no desea recibir notificaciones de los eventos de ese origen. 

## Consola
<a name="USER_Events.RemovingSource.Console"></a>

Puede añadir o eliminar fácilmente identificadores de origen mediante la consola de Amazon RDS activándolos o desactivándolos al modificar una suscripción. Para obtener más información, consulte [Modificación de una suscripción a notificaciones de eventos de Amazon RDS](USER_Events.Modifying.md).

## AWS CLI
<a name="USER_Events.RemovingSource.CLI"></a>

Para eliminar un identificador de origen de una suscripción a notificaciones de eventos de Amazon RDS, utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/remove-source-identifier-from-subscription.html](https://docs.aws.amazon.com/cli/latest/reference/rds/remove-source-identifier-from-subscription.html) de la AWS CLI. Incluya los siguientes parámetros obligatorios:
+ `--subscription-name`
+ `--source-identifier`

**Example**  
En el siguiente ejemplo, se elimina el identificador de origen `mysqldb` de la suscripción `myrdseventsubscription`.  
Para Linux, macOS o Unix:  

```
aws rds remove-source-identifier-from-subscription \
    --subscription-name myrdseventsubscription \
    --source-identifier mysqldb
```
Para Windows:  

```
aws rds remove-source-identifier-from-subscription ^
    --subscription-name myrdseventsubscription ^
    --source-identifier mysqldb
```

## API
<a name="USER_Events.RemovingSource.API"></a>

Para eliminar un identificador de origen de una suscripción a notificaciones de eventos de Amazon RDS, utilice el comando [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RemoveSourceIdentifierFromSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RemoveSourceIdentifierFromSubscription.html) de la API de Amazon RDS. Incluya los siguientes parámetros obligatorios:
+ `SubscriptionName`
+ `SourceIdentifier`

# Descripción de la lista de categorías de notificaciones de eventos de Amazon RDS
<a name="USER_Events.ListingCategories"></a>

Todos los eventos de un tipo de recurso se agrupan en categorías. Para ver la lista de categorías disponibles, utilice los siguientes procedimientos.

## Consola
<a name="USER_Events.ListingCategories.Console"></a>

Cuando se crea o modifica una suscripción a notificaciones de eventos, las categorías de eventos se muestran en la consola de Amazon RDS. Para obtener más información, consulte [Modificación de una suscripción a notificaciones de eventos de Amazon RDS](USER_Events.Modifying.md). 

![\[Lista de categorías de notificaciones de eventos de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/EventNotification-Categories.png)




## AWS CLI
<a name="USER_Events.ListingCategories.CLI"></a>

Para obtener la lista de categorías de notificaciones de eventos de Amazon RDS, utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-event-categories.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-event-categories.html) de la AWS CLI. Este comando no tiene parámetros obligatorios.

**Example**  

```
aws rds describe-event-categories
```

## API
<a name="USER_Events.ListingCategories.API"></a>

Para obtener la lista de categorías de notificaciones de eventos de Amazon RDS, utilice el comando [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventCategories.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeEventCategories.html) de la API de Amazon RDS. Este comando no tiene parámetros obligatorios.

# Eliminar una suscripción de notificación de eventos de Amazon RDS
<a name="USER_Events.Deleting"></a>

Puede eliminar una suscripción cuando ya no la necesite. Los suscriptores del tema dejarán de recibir notificaciones de los eventos especificados en la suscripción.

## Consola
<a name="USER_Events.Deleting.Console"></a>

**Para eliminar una suscripción de notificación de eventos de Amazon RDS**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1.  En el panel de navegación seleccione **DB Event Subscriptions (Suscripciones a eventos de base de datos)**. 

1.  En el panel **My DB Event Subscriptions (Mis suscripciones a eventos de base de datos)**, elija la suscripción que desea eliminar. 

1. Elija **Eliminar**.

1. La consola de Amazon RDS indica que se está eliminando la suscripción.  
![\[Eliminación de una suscripción a notificaciones de eventos\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/EventNotification-Delete.png)

   

## AWS CLI
<a name="USER_Events.Deleting.CLI"></a>

Para eliminar una suscripción a notificaciones de eventos de Amazon RDS, utilice el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/delete-event-subscription.html](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-event-subscription.html) de la AWS CLI. Incluya el siguiente parámetro obligatorio:
+ `--subscription-name`

**Example**  
En el siguiente ejemplo se elimina la suscripción `myrdssubscription`.  

```
aws rds delete-event-subscription --subscription-name myrdssubscription
```

## API
<a name="USER_Events.Deleting.API"></a>

Para eliminar una suscripción a notificaciones de eventos de Amazon RDS, utilice el comando [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteEventSubscription.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DeleteEventSubscription.html) de la API de RDS. Incluya el siguiente parámetro obligatorio:
+ `SubscriptionName`

# Creación de una regla que se desencadena en función de un evento Amazon RDS
<a name="rds-cloud-watch-events"></a>

Al utilizar Amazon EventBridge, puede automatizar los servicios de AWS y responder a eventos del sistema, como problemas de disponibilidad de aplicaciones o cambios de recursos. 

**Topics**
+ [Creación de reglas para enviar eventos de Amazon RDS a Amazon EventBridge](#rds-cloudwatch-events.sending-to-cloudwatch-events)
+ [Tutorial: Registrar el estado de una instancia de base de datos con Amazon EventBridge](#log-rds-instance-state)

## Creación de reglas para enviar eventos de Amazon RDS a Amazon EventBridge
<a name="rds-cloudwatch-events.sending-to-cloudwatch-events"></a>

Puede escribir reglas sencillas para indicar qué eventos de Amazon RDS le resultan de interés, así como qué acciones automatizadas se van a llevar a cabo cuando un evento cumple una de las reglas. Puede configurar varios destinos, como una función de AWS Lambda o un tema de Amazon SNS, que reciban eventos en formato JSON. Por ejemplo, puede configurar Amazon RDS para enviar eventos a Amazon EventBridge cada vez que se cree o elimine una instancia de base de datos. Para obtener más información, consulte la [guía del usuario de Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/) y la [guía del usuario de Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/).

**Para crear una regla que se active en función de un evento RDS:**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, en **Events (Eventos)**, elija **Rules (Reglas)**.

1. Elija **Create rule**.

1. En **Event Source**, haga lo siguiente:

   1. Seleccione **Event Pattern**.

   1. En **Service Name (Nombre de servicio)**, elija **Relational Database Service (RDS)**.

   1. En **Event Type (Tipo de evento)**, elija el tipo de recurso de Amazon RDS que desencadena el evento. Por ejemplo, si una instancia de base de datos desencadena el evento, elija **RDS DB Instance Event (Evento de instancia de base de datos de RDS)**.

1. En **Targets (Destinos)**, seleccione **Add Target (Agregar destino)** y elija el servicio de AWS que va a actuar cuando se detecte un evento del tipo seleccionado. 

1. En el resto de los campos de esta sección, especifique los datos concretos de este tipo de destino, si es necesario. 

1. Si hay muchos tipos de destinos, EventBridge necesita permisos para enviar eventos al destino. En estos casos, EventBridge puede crear el rol de IAM necesario para que se ejecute el evento: 
   + Para crear un rol de IAM automáticamente, elija **Creación de un nuevo rol para este recurso específico**.
   + Para utilizar una función de IAM que haya creado antes, elija **Use existing role (Usar función existente)**.

1. Si lo desea, puede repetir los pasos 5 a 7 para agregar otro destino en esta regla.

1. Seleccione **Configure details**. En **Rule definition**, escriba un nombre y la descripción de la regla.

   El nombre de la regla debe ser exclusivo dentro de esta región.

1. Elija **Create rule**.

Para obtener más información, consulte [Creating an EventBridge Rule That Triggers on an Event](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-Rule.html) en la *Guía del usuario de Amazon CloudWatch*.

## Tutorial: Registrar el estado de una instancia de base de datos con Amazon EventBridge
<a name="log-rds-instance-state"></a>

En este tutorial puede crear una función de AWS Lambda que registre los cambios de estado de una instancia de Amazon RDS. A continuación, puede crea una regla que ejecute la función cuando se produzca un cambio de estado de una instancia de base de datos de RDS existente. En el tutorial se asume que tiene una pequeña instancia de prueba en ejecución que puede apagar temporalmente.

**importante**  
No realice este tutorial en una instancia de base de datos de producción en ejecución.

**Topics**
+ [Paso 1: Crear una función de AWS Lambda](#rds-create-lambda-function)
+ [Paso 2: Crear una regla](#rds-create-rule)
+ [Paso 3: Probar la regla](#rds-test-rule)

### Paso 1: Crear una función de AWS Lambda
<a name="rds-create-lambda-function"></a>

Cree una función Lambda para registrar los eventos de cambio de estado. Especifique esta función cuando cree la regla.

**Para crear una función Lambda**

1. Abra la consola de AWS Lambda en [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Si es la primera vez que utiliza Lambda, aparecerá una página de bienvenida. Seleccione **Get Started Now**. De lo contrario, seleccione **Create function (Crear función)**.

1. Elija **Author from scratch**.

1. En la página **Create function (Crear función)**, proceda del modo siguiente:

   1. Introduzca un nombre y la descripción de la función Lambda. Por ejemplo, asigne un nombre a la función **RDSInstanceStateChange**. 

   1. En **Runtime (Tiempo de ejecución)**, seleccione **Node.js 14x**. 

   1. En **Architecture (Arquitectura)**, elija **x86\$164**.

   1. En **Execution role (Rol de ejecución)**, haga una de estas dos operaciones:
      + Elija **Create a new role with basic Lambda permissions (Crear un nuevo rol con permisos básicos de Lambda)**.
      + En **Existing role (Rol existente)**, elija **Use an existing role (Usar un rol existente)**. Elija el rol que desee usar. 

   1. Elija **Create function (Crear función)**.

1. En la página **RDSInstanceStateChange**, haga lo siguiente:

   1. En **Code source (Fuente del código)**, seleccione **index.js**. 

   1. En el panel de**index.js**, elimine el código existente.

   1. Escriba el código siguiente:

      ```
      console.log('Loading function');
      
      exports.handler = async (event, context) => {
          console.log('Received event:', JSON.stringify(event));
      };
      ```

   1. Elija **Deploy (Implementar)**.

### Paso 2: Crear una regla
<a name="rds-create-rule"></a>

Cree una regla para ejecutar su función Lambda siempre que lance una instancia Amazon RDS.

**Para crear la regla de EventBridge**

1. Abra la consola de Amazon EventBridge en [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. En el panel de navegación, seleccione **Reglas**.

1. Elija **Creación de regla**.

1. Escriba un nombre y una descripción de la regla. Por ejemplo, escriba **RDSInstanceStateChangeRule**.

1. Elija **Rule with an event pattern (Regla con un patrón de evento)** y, a continuación, elija **Next (Siguiente)**.

1. En **Origen del evento**, elija **Eventos de AWS o eventos de socios de EventBridge**.

1. Desplácese hacia abajo en la sección **Event pattern (Patrón de eventos)**.

1. En **Origen del evento**, elija **Servicios de AWS**.

1. En **AWS service (Servicio de )**, elija **Relational Database Service (RDS)**.

1. Para **Event type (Tipo de evento)**, elija **RDS DB Instance Event (Evento de instancia de base de datos RDS)**.

1. Deje el patrón de eventos predeterminado. A continuación, elija **Siguiente**.

1. En **Target types (Tipos de destino),** elija **AWS service (Servicio de AWS)**.

1. En **Seleccione destino**, elija **Función de Lambda**.

1. En **Function (Función)**, seleccione la función Lambda que ha creado. A continuación, elija **Siguiente**.

1. En **Configure tags (Configurar etiquetas)**, elija **Next (Siguiente)**.

1. Revise los pasos de la regla. A continuación, elija **Create rule (Crear regla)**.

### Paso 3: Probar la regla
<a name="rds-test-rule"></a>

Para probar su regla, cierre una instancia de base de datos de RDS. Después de esperar unos minutos a que la instancia se detenga, compruebe que se haya invocado la función Lambda.

**Para probar la regla mediante la detención de una instancia de base de datos**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Detenga una instancia de base de datos de RDS.

1. Abra la consola de Amazon EventBridge en [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. En el panel de navegación, elija **Rules (Reglas)** y elija el nombre de la regla que ha creado.

1. En **Detalles de la regla**, seleccione **Monitoreo**.

   Se lo redirigirá a la consola de Amazon CloudWatch. Si no se le redirige, haga clic en **Ver métricas en CloudWatch**.

1. En **All metrics (Todas las métricas)**, elija el nombre de la regla que creó.

   El gráfico debe indicar que se ha invocado la regla.

1. En el panel de navegación, seleccione **Log groups (Grupos de registro)**.

1. Seleccione el nombre del grupo de registro de su función de Lambda (**/aws/lambda/*function-name***).

1. Elija el nombre del flujo de registro para ver los datos proporcionados por la función para la instancia que ha lanzado. Debería recibir un resultado similar al siguiente:

   ```
   {
       "version": "0",
       "id": "12a345b6-78c9-01d2-34e5-123f4ghi5j6k",
       "detail-type": "RDS DB Instance Event",
       "source": "aws.rds",
       "account": "111111111111",
       "time": "2021-03-19T19:34:09Z",
       "region": "us-east-1",
       "resources": [
           "arn:aws:rds:us-east-1:111111111111:db:testdb"
       ],
       "detail": {
           "EventCategories": [
               "notification"
           ],
           "SourceType": "DB_INSTANCE",
           "SourceArn": "arn:aws:rds:us-east-1:111111111111:db:testdb",
           "Date": "2021-03-19T19:34:09.293Z",
           "Message": "DB instance stopped",
           "SourceIdentifier": "testdb",
           "EventID": "RDS-EVENT-0087"
       }
   }
   ```

   Para ver más ejemplos de eventos de RDS en formato JSON, consulte [Información general de los eventos para Amazon RDS](working-with-events.md#rds-cloudwatch-events.sample).

1. (Opcional) Cuando haya terminado, puede abrir la consola de Amazon RDS y comenzar la instancia que ha lanzado.

# Categorías y mensajes de eventos de Amazon RDS
<a name="USER_Events.Messages"></a>

Amazon RDS genera un número significativo de eventos en categorías a las que puede suscribirse a través de la consola de Amazon RDS, la AWS CLI o la API.

**Topics**
+ [Eventos de clúster de bases de datos](#USER_Events.Messages.cluster)
+ [Eventos de instantánea de clúster de bases de datos](#USER_Events.Messages.cluster-snapshot)
+ [Eventos de instancia de base de datos](#USER_Events.Messages.instance)
+ [Eventos de grupo de parámetros de base de datos](#USER_Events.Messages.parameter-group)
+ [Eventos de grupo de seguridad de base de datos](#USER_Events.Messages.security-group)
+ [Eventos de instantánea de base de datos](#USER_Events.Messages.snapshot)
+ [Eventos de RDS Proxy](#USER_Events.Messages.rds-proxy)
+ [Eventos de implementación azul/verde](#USER_Events.Messages.BlueGreenDeployments)
+ [Eventos de versiones del motor personalizadas](#USER_Events.Messages.CEV)

## Eventos de clúster de bases de datos
<a name="USER_Events.Messages.cluster"></a>

En la siguiente tabla se muestran las categorías de eventos y una lista de los eventos que pueden producirse cuando el tipo de origen es un clúster de base de datos.

Para obtener más información sobre implementaciones de clústeres de base de datos Multi-AZ, consulte [Implementaciones de clústeres de base de datos multi-AZ para Amazon RDS](multi-az-db-clusters-concepts.md).


|  Categoría  | ID de evento de RDS |  Mensaje  |  Notas  | 
| --- | --- | --- | --- | 
|  cambio de configuración  | RDS-EVENT-0016 |  Restablecer las credenciales maestras.  | Ninguno | 
| creación | RDS-EVENT-0170 |  Se ha creado un clúster de bases de datos.  |  Ninguno  | 
|  conmutación por error  | RDS-EVENT-0069 |  Ha fallado la conmutación por error del clúster. Compruebe el estado de las instancias del clúster e inténtelo de nuevo.  |  Ninguno  | 
|  conmutación por error  | RDS-EVENT-0070 |  Volver a promocionar el principal anterior: *nombre*.  |  Ninguno  | 
|  conmutación por error  | RDS-EVENT-0071 |  Se ha completado la conmutación por error en la instancia de base de datos: *nombre*.  |  Ninguno  | 
|  conmutación por error  | RDS-EVENT-0072 |  Se ha iniciado la misma conmutación por error de AZ en la instancia de base de datos: *nombre*.  |  Ninguno  | 
|  conmutación por error  | RDS-EVENT-0073 |  Se ha iniciado la conmutación por error entre AZ en la instancia de base de datos: *nombre*.  |  Ninguno  | 
| error | RDS-EVENT-0354 |  No puede crear el clúster de base de datos porque los recursos son incompatibles. *mensaje*.  |  El *message* incluye detalles sobre el error.  | 
| error | RDS-EVENT-0240 |  El clúster de base de datos no se puede crear porque los límites de recursos son insuficientes. *mensaje*.  |  El *message* incluye detalles sobre el error.  | 
|  mantenimiento  | RDS-EVENT-0156 |  El clúster de bases de datos tiene disponible una actualización de versiones secundarias de motor de base de datos.  |  Ninguno  | 
|  mantenimiento  | RDS-EVENT-0173 |  Se ha actualizado la versión del motor de clústeres de bases de datos.  | Se ha llevado a cabo la aplicación de parches al clúster de bases de datos. | 
|  mantenimiento  | RDS-EVENT-0174 |  El clúster de base de datos tiene un estado que no se puede actualizar.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0176 |  Se ha actualizado la versión principal del motor de clústeres de bases de datos.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0177 |  La actualización del clúster de base de datos está en curso.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0286 |  Se ha iniciado la actualización de la versión del motor de clústeres de bases de datos *número\$1versión*. El clúster permanece en línea.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0287 |  Se ha detectado el requisito de actualización del sistema operativo.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0288 |  Se ha iniciado la actualización del sistema operativo del clúster.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0289 |  Se ha completado la actualización del sistema operativo del clúster.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0290 |  Se ha aplicado un parche al clúster de base de datos: versión de origen *número\$1versión* => *nuevo\$1número\$1versión*.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0410 |  Se ha iniciado la comprobación previa para la actualización de la versión del motor de clústeres de base de datos.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0412 |  Se ha producido un error o se ha agotado el tiempo de espera de la comprobación previa para la actualización de la versión del motor del clúster de bases de datos.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0413 |  Las tareas previas a la actualización del clúster de bases de datos están en curso.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0414 |  Las tareas posteriores a la actualización del clúster de bases de datos están en curso.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0417 |  Se ha iniciado la actualización de la versión del motor de clústeres de bases de datos.  | Ninguno | 
|  notificación  | RDS-EVENT-0172 |  Se ha cambiado el nombre del clúster de *nombre* a *nombre*.  |  Ninguno  | 
|  réplica de lectura  | RDS-EVENT-0411 |  Ha finalizado la comprobación previa para la actualización de la versión del motor del clúster de base de datos.  | Ninguno | 

## Eventos de instantánea de clúster de bases de datos
<a name="USER_Events.Messages.cluster-snapshot"></a>

En la siguiente tabla se muestra la categoría de eventos y una lista de los eventos que pueden producirse cuando el tipo de origen es una instantánea de clúster de base de datos.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/USER_Events.Messages.html)

## Eventos de instancia de base de datos
<a name="USER_Events.Messages.instance"></a>

En la siguiente tabla se muestran las categorías de eventos y una lista de los eventos que pueden producirse cuando el tipo de origen es una instancia de base de datos.


|  Categoría  | ID de evento de RDS |  Mensaje  |  Notas  | 
| --- | --- | --- | --- | 
|  disponibilidad  | RDS-EVENT-0004 |  Instancia de base de datos cerrada.  | Ninguno | 
|  disponibilidad  | RDS-EVENT-0006 |  Se ha reiniciado la instancia de base de datos.  | Ninguno | 
|  disponibilidad  | RDS-EVENT-0022 |  Error al reiniciar mysql: *mensaje*.  | Se ha producido un error al reiniciar MySQL. | 
|  disponibilidad  | RDS-EVENT-0221 |  La instancia de base de datos ha alcanzado el umbral de almacenamiento completo y se ha cerrado la base de datos. Puede aumentar el almacenamiento asignado para solucionar este problema.  | Ninguno | 
|  disponibilidad  | RDS-EVENT-0222 |  La capacidad de almacenamiento libre de la instancia de base de datos *nombre* es baja en un *porcentaje* del almacenamiento asignado [Almacenamiento asignado: *cantidad*, Almacenamiento gratuito: *cantidad*]. La base de datos se cerrará para evitar daños si el almacenamiento gratuito es inferior a *cantidad*. Puede aumentar el almacenamiento asignado para solucionar este problema.  | Solo se aplica a RDS para MySQL cuando una instancia de base de datos consume más del 90 % del almacenamiento asignado. Supervise el espacio de almacenamiento de una instancia de base de datos con la métrica Espacio de almacenamiento gratuito. Para obtener más información, consulte [Almacenamiento de instancias de base de datos de Amazon RDS](CHAP_Storage.md). | 
|  disponibilidad  | RDS-EVENT-0330 |  La capacidad de almacenamiento libre del volumen de registro de transacciones específico es demasiado baja para la instancia de base de datos *nombre*. El almacenamiento libre del volumen de registro es un *porcentaje* del almacenamiento asignado. [Almacenamiento asignado: *cantidad*, almacenamiento libre: *cantidad*] La base de datos se cerrará para evitar daños si el almacenamiento libre es inferior a *cantidad*. Puede deshabilitar el volumen de registro de transacciones específico para resolver este problema.  |  Para obtener más información, consulte [Volumen de registro específico (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  disponibilidad  | RDS-EVENT-0331 |  La capacidad de almacenamiento libre del volumen de registro de transacciones específico es demasiado baja para la instancia de base de datos *nombre*. El almacenamiento libre del volumen de registro es un *porcentaje* del almacenamiento aprovisionado. [Almacenamiento aprovisionado: *cantidad*, almacenamiento libre: *cantidad*] Puede deshabilitar el volumen de registro de transacciones específico para resolver este problema.  |  Para obtener más información, consulte [Volumen de registro específico (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  disponibilidad  | RDS-EVENT-0396 |  Amazon RDS ha programado el reinicio de esta réplica de lectura en el siguiente periodo de mantenimiento de la instancia tras la rotación de la contraseña del usuario interno.  |  Ninguno  | 
| disponibilidad | RDS-EVENT-0419 | Amazon RDS no ha podido acceder a la clave de cifrado de KMS para el *nombre* de la instancia de la base de datos. Esta base de datos pasará a un estado inaccesible. Consulte la sección de solución de problemas de la documentación de Amazon RDS para obtener más información. | Ninguno | 
|  copia de seguridad  | RDS-EVENT-0001 |  Se está realizando una copia de seguridad de la instancia de base de datos.  | Ninguno | 
|  copia de seguridad  | RDS-EVENT-0002 |  Ha finalizado la copia de seguridad de la instancia de base de datos.  | Ninguno | 
|  copia de seguridad  | RDS-EVENT-0086 |  No hemos podido asociar el grupo de opciones *nombre* con la instancia de base de datos *nombre*. Confirme que el grupo de opciones *nombre* sea compatible con la clase de instancia de base de datos y la configuración. Si es así, compruebe todos los ajustes del grupo de opciones y vuelva a intentarlo.  |  Para obtener más información, consulte [Trabajo con grupos de opciones](USER_WorkingWithOptionGroups.md). | 
|  cambio de configuración  | RDS-EVENT-0011 |  Actualizado para usar el DBParameterGroup *name*.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0012 |  Se está aplicando la modificación a la clase de instancia de base de datos.   | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0014 |  Ha finalizado la aplicación de la modificación a la clase de instancia de base de datos.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0016 |  Restablecer las credenciales maestras.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0017 |  Ha finalizado la aplicación de la modificación al almacenamiento asignado.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0018 |  Aplicación de la modificación al almacenamiento asignado.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0024 |  Aplicación de la modificación para convertirla en una instancia de base de datos multi-AZ.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0025 |  Ha finalizado la aplicación de la modificación para convertirla en una instancia de base de datos multi-AZ.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0028 |  Se han deshabilitado las copias de seguridad automatizadas.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0029 |  Ha finalizado la aplicación de la modificación para convertirla en una instancia de base de datos (single-AZ) estándar.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0030 |  Aplicación de la modificación para convertirla en una instancia de base de datos (single-AZ) estándar.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0032 |  Se han habilitado las copias de seguridad automatizadas.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0033 |  Hay *número* usuarios que coinciden con el nombre de usuario maestro; solo se restablece el que no esté vinculado a un host específico.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0067 |  No se ha podido restablecer la contraseña. Información de error: *mensaje*.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0078 |  El intervalo de monitorización ha cambiado a *número*.  |  Se ha cambiado la configuración de monitorización mejorada. | 
|  cambio de configuración  | RDS-EVENT-0092 |  Se ha terminado de actualizar el grupo de parámetros de base de datos.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0217 |  Aplicación de la modificación iniciada por el escalado automático al almacenamiento asignado.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0218 |  Se ha terminado de aplicar la modificación iniciada por el escalado automático al almacenamiento asignado.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0295 |  Se inició la actualización de la configuración del almacenamiento.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0296 |  Se completó la actualización de la configuración del almacenamiento.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0332 |  El volumen de registro específico está deshabilitado.  |  Para obtener más información, consulte [Volumen de registro específico (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  cambio de configuración  | RDS-EVENT-0333 |  Se ha iniciado la deshabilitación del volumen de registro específico.  |  Para obtener más información, consulte [Volumen de registro específico (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  cambio de configuración  | RDS-EVENT-0334 |  Se ha iniciado la habilitación del volumen de registro específico.  |  Para obtener más información, consulte [Volumen de registro específico (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  cambio de configuración  | RDS-EVENT-0335 |  El volumen de registro específico está habilitado.  |  Para obtener más información, consulte [Volumen de registro específico (DLV)](CHAP_Storage.md#CHAP_Storage.dlv).  | 
|  cambio de configuración  | RDS-EVENT-0383 |  La *versión del motor* no es compatible con el complemento memcached. RDS seguirá actualizando su instancia de base de datos y eliminará este complemento.  |  A partir de MySQL 8.3.0, el complemento memcached no es compatible. Para obtener más información, consulte [Changes in MySQL 8.3.0 (2024-01-16, Innovation Release)](https://dev.mysql.com/doc/relnotes/mysql/8.3/en/news-8-3-0.html).  | 
|  creation  | RDS-EVENT-0005 |  Instancia de base de datos creada.  | Ninguno | 
|  eliminación  | RDS-EVENT-0003 |  Se ha eliminado la instancia de base de datos.  | Ninguno | 
|  conmutación por error  | RDS-EVENT-0013 |  Se ha iniciado la conmutación por error de la instancia multi-AZ.  | Se ha iniciado una conmutación por error multi-AZ que ha dado como resultado la promoción de una instancia de base de datos en espera. | 
|  conmutación por error  | RDS-EVENT-0015 |  Se ha completado la conmutación por error multi-AZ al modo de espera: la propagación del DNS puede tardar unos minutos.  | Ha finalizado una conmutación por error multi-AZ que ha dado como resultado la promoción de una instancia de base de datos en espera. El DNS puede tardar varios minutos en realizar la transferencia a la nueva instancia de base de datos principal. | 
|  failover  | RDS-EVENT-0034 |  Abandonar la conmutación por error solicitada por el usuario debido a que recientemente se ha producido una conmutación por error en la instancia de base de datos.  | Amazon RDS no está intentando realizar la conmutación por error solicitada porque recientemente se ha producido una conmutación por error en la instancia de base de datos. | 
|  conmutación por error  | RDS-EVENT-0049 | Se ha completado la conmutación por error de instancias multi-AZ. | Ninguno | 
|  conmutación por error  | RDS-EVENT-0050 |  Se ha iniciado la activación de instancias multi-AZ.  | Se ha iniciado una activación multi-AZ después de una recuperación correcta de la instancia de base de datos. Este evento se produce si Amazon RDS promociona la instancia de base de datos principal a la misma AZ que la instancia de base de datos principal anterior. | 
|  conmutación por error  | RDS-EVENT-0051 |  Se ha completado la activación de instancias multi-AZ.  | Ha finalizado una activación multi-AZ. La base de datos ya debería estar accesible.  | 
|  conmutación por error  | RDS-EVENT-0065 |  Se ha recuperado de una conmutación por error parcial.  | Ninguno | 
|  error  | RDS-EVENT-0031 |  Instancia de base de datos que pasa al estado *nombre*. RDS recomienda iniciar una restauración a un momento dado.  | Se ha producido un error en la instancia de base de datos debido a una configuración incompatible o a un problema de almacenamiento subyacente. Comience una restauración a un momento dado para la instancia de base de datos. | 
|  error  | RDS-EVENT-0035 |  Instancia de base de datos que pasa a *estado*. *mensaje*.  | La instancia de base de datos tiene parámetros no válidos. Por ejemplo, no se ha podido iniciar la instancia de base de datos porque un parámetro relacionado con la memoria tiene un valor demasiado alto para esta clase de instancia, por lo que debería modificar el parámetro de memoria y reiniciar la instancia de base de datos. | 
|  error  | RDS-EVENT-0036 |  Instancia de base de datos *estado*. *mensaje*.  | La instancia de base de datos está en una red incompatible. Algunos de los ID de subred especificados no son válidos o no existen. | 
|  error  | RDS-EVENT-0058 |  Ha fallado la instalación de Statspack. *mensaje*.  | Error al crear la cuenta de usuario de Oracle Statspack `PERFSTAT`. Elimine la cuenta antes de agregar la opción `STATSPACK`. | 
|  error  | RDS-EVENT-0079 |  Amazon RDS no ha podido crear credenciales para mejorar la monitorización y se ha deshabilitado la característica. Es probable que esto se deba a que rds-monitoring-role no está presente pero está configurado correctamente en su cuenta. Consulte la sección de solución de problemas de la documentación de Amazon RDS para obtener más información.  |  La monitorización mejorada no se puede activar sin el rol de IAM de monitorización mejorada. Para obtener información acerca de la creación del rol de IAM, consulte [Para crear un rol de IAM para el monitoreo mejorado de Amazon RDS](USER_Monitoring.OS.Enabling.md#USER_Monitoring.OS.IAMRole).  | 
|  error  | RDS-EVENT-0080 |  Amazon RDS no ha podido configurar la monitorización mejorada en su instancia: *nombre* y se ha deshabilitado esta característica. Es probable que esto se deba a que rds-monitoring-role no está presente pero está configurado correctamente en su cuenta. Consulte la sección de solución de problemas de la documentación de Amazon RDS para obtener más información.  |  La monitorización mejorada se ha desactivado porque ha surgido un error al realizar el cambio de configuración. Es probable que el rol de IAM de monitorización mejorada se haya configurado incorrectamente. Para obtener información acerca de la creación del rol de IAM de monitorización mejorada, consulte [Para crear un rol de IAM para el monitoreo mejorado de Amazon RDS](USER_Monitoring.OS.Enabling.md#USER_Monitoring.OS.IAMRole).  | 
|  error  | RDS-EVENT-0081 |  Amazon RDS no ha podido crear credenciales para la opción *nombre*. Esto se debe a que el rol de IAM *nombre* no está configurado correctamente en su cuenta. Consulte la sección de solución de problemas de la documentación de Amazon RDS para obtener más información.  |  El rol de IAM que se utiliza para obtener acceso al bucket de Amazon S3 para las operaciones nativas de copia de seguridad y restauración de SQL Server se ha configurado incorrectamente. Para obtener más información, consulte [Configuración de la copia de seguridad y la restauración nativas](SQLServer.Procedural.Importing.Native.Enabling.md).  | 
|  error  | RDS-EVENT-0165 |  La instancia de base de datos de RDS Custom se encuentra fuera del perímetro de soporte.  |  Es su responsabilidad corregir los problemas de configuración que colocan la instancia de base de datos de RDS Custom en el estado `unsupported-configuration`. Si el problema está relacionado con la infraestructura de AWS, puede utilizar la consola o la AWS CLI para solucionarlo. Si el problema está relacionado con el sistema operativo o la configuración de la base de datos, puede iniciar sesión en el host para solucionarlo.Para obtener más información, consulte [Perímetro de soporte de RDS Custom](custom-concept.md#custom-troubleshooting.support-perimeter). | 
|  error  | RDS-EVENT-0188 |  La instancia de base de datos tiene un estado que no se puede actualizar. *mensaje*  |  Amazon RDS no ha podido actualizar una instancia de base de datos MySQL debido a incompatibilidades relacionadas con el diccionario de datos. La instancia de base de datos se ha revertido a la versión 5.7 de MySQL porque ha fallado un intento de actualización a la versión 8.0, o se ha revertido a la versión 8.0 de MySQL porque ha fallado un intento de actualización a la versión 8.4. Para obtener más información, consulte [Reversión tras un fallo en la actualización](USER_UpgradeDBInstance.MySQL.Major.md#USER_UpgradeDBInstance.MySQL.Major.RollbackAfterFailure).  | 
|  error  | RDS-EVENT-0219 |  La instancia de base de datos tiene un estado no válido. No es necesaria ninguna acción. El escalado automático se volverá a intentar más tarde.  | Ninguno | 
|  error  | RDS-EVENT-0220 |  La instancia de base de datos se encuentra en el periodo de reflexión de una operación de escala de almacenamiento anterior. Estamos optimizando su instancia de base de datos. Puede tardar unas seis horas. No es necesaria ninguna acción. El escalado automático se volverá a intentar después del periodo de reflexión.  | Ninguno | 
|  error  | RDS-EVENT-0223 |  El escalado automático del almacenamiento no puede escalar el almacenamiento por el siguiente motivo: *motivo*.  | Ninguno | 
|  error  | RDS-EVENT-0224 |  El escalado automático del almacenamiento ha desencadenado una tarea de escala de almacenamiento pendiente que alcanzará o superará el umbral máximo de almacenamiento. Aumente el umbral máximo de almacenamiento.  | Ninguno | 
|  error  | RDS-EVENT-0237 |  La instancia de base de datos tiene un tipo de almacenamiento que no está disponible actualmente en la zona de disponibilidad. El escalado automático se volverá a intentar más tarde.  | Ninguno | 
| error | RDS-EVENT-0254 |  La cuota de almacenamiento subyacente de esta cuenta de cliente ha superado el límite. Aumente la cuota de almacenamiento permitida para admitir el escalado en la instancia.  | Ninguno | 
|  error  |  RDS-EVENT-0278  |  No se ha podido crear la instancia de base de datos. *message*  |  El *message* incluye detalles sobre el error.  | 
|  error  |  RDS-EVENT-0279  |  Ha fallado la promoción de la réplica de lectura de RDS Custom. *message*  |  El *message* incluye detalles sobre el error.  | 
|  error  |  RDS-EVENT-0280  |  RDS Custom no ha podido actualizar la instancia de base de datos porque se ha producido un error en la comprobación previa. *message*  |  El *message* incluye detalles sobre el error.  | 
|  error  |  RDS-EVENT-0281  |  RDS Custom no ha podido modificar la instancia de base de datos porque se ha producido un error en la comprobación previa. *message*  |  El *message* incluye detalles sobre el error.  | 
|  error  |  RDS-EVENT-0282  |  RDS Custom no ha podido modificar la instancia de base de datos porque los permisos de IP elásticas no son correctos. Confirme que la dirección IP elástica esté etiquetada con `AWSRDSCustom`.  |  Ninguno  | 
|  error  |  RDS-EVENT-0283  |  RDS Custom no ha podido modificar la instancia de base de datos porque se ha alcanzado el límite de IP elástica de su cuenta. Libere las IP elásticas no utilizadas o solicite un aumento de cuota para su límite de direcciones IP elásticas.  |  Ninguno  | 
|  error  |  RDS-EVENT-0284  |  RDS Custom no ha podido modificar la instancia a alta disponibilidad porque se ha producido un error en la comprobación previa. *message*  |  El *message* incluye detalles sobre el error.  | 
|  error  |  RDS-EVENT-0285  |  RDS Custom no ha podido crear una instantánea final para la instancia de base de datos debido a *message*.  |  El *message* incluye detalles sobre el error.  | 
|  error  |  RDS-EVENT-0421  |  RDS Custom no pudo convertir la instancia de base de datos en una implementación multi-AZ: *mensaje*. La instancia seguirá siendo una implementación Single-AZ. Consulte la Guía del usuario de RDS para obtener información sobre las implementaciones multi-AZ de RDS Custom para Oracle.  |  El *message* incluye detalles sobre el error.  | 
|  error  | RDS-EVENT-0306 |  Error en la actualización de la configuración del almacenamiento. Intente actualizar de nuevo.  | Ninguno | 
|  error  | RDS-EVENT-0315 |  No se puede mover la base de datos de red incompatible, *nombre*, al estado disponible: *mensaje*  |  La configuración de red de la base de datos no es válida. No se pudo mover la base de datos de red incompatible a disponible.  | 
| error | RDS-EVENT-0328 |  No se pudo unir un host a un dominio. El estado de pertenencia al dominio (por ejemplo, *instancename*) se ha establecido en Con error.  | Ninguno | 
| error | RDS-EVENT-0329 |  No se pudo unir un host a su dominio. Durante el proceso de unión al dominio, Microsoft Windows devolvió el *mensaje* de código de error. Compruebe las configuraciones de red y permisos y emita una solicitud `modify-db-instance` para volver a intentar unirse al dominio.  | Al usar un Active Directory autoadministrado, consulte [Solución de problemas de Active Directory autoadministrado](USER_SQLServer_SelfManagedActiveDirectory.TroubleshootingSelfManagedActiveDirectory.md). | 
| error | RDS-EVENT-0240 |  La instancia de base de datos no se puede crear porque los límites de recursos son insuficientes. *mensaje*.  |  El *message* incluye detalles sobre el error.  | 
| error | RDS-EVENT-0356 |  RDS no ha podido configurar el punto de conexión Kerberos en su dominio. Esto podría impedir la autenticación de Kerberos en su instancia de base de datos. Compruebe la configuración de red entre la instancia de base de datos y los controladores de dominio.  | Ninguno | 
| error | RDS-EVENT-0418 | Amazon RDS no puede acceder a la clave de cifrado de KMS del *nombre* de la instancia de base de datos. Es probable que esto se deba a que la clave está desactivada o a que Amazon RDS no puede acceder a ella. Si esto continúa, la base de datos pasará a un estado inaccesible. Consulte la sección de solución de problemas de la documentación de Amazon RDS para obtener más información. | Ninguno | 
| error | RDS-EVENT-0420 | Amazon RDS ahora puede acceder correctamente a la clave de cifrado de KMS del *nombre* de la instancia de base de datos. | Ninguno | 
|  bajo almacenamiento  | RDS-EVENT-0007 |  Se ha agotado el almacenamiento asignado. Asigne almacenamiento adicional para resolver el problema.  |  Se ha agotado el almacenamiento asignado a la instancia de base de datos. Para solucionar este problema, asigne almacenamiento adicional a la instancia de base de datos. Para obtener más información, consulte las [Preguntas frecuentes de RDS](https://aws.amazon.com/rds/faqs). El espacio de almacenamiento de una instancia de base de datos se puede monitorizar con la métrica **Free Storage Space**.  | 
|  low storage  | RDS-EVENT-0089 |  La capacidad de almacenamiento libre de la instancia de base de datos: *nombre* es baja un *porcentaje* del almacenamiento aprovisionado [Almacenamiento aprovisionado: *tamaño*, Almacenamiento gratuito: *tamaño*]. Puede que desee aumentar el almacenamiento aprovisionado para solucionar este problema.  |  La instancia de base de datos ha consumido más del 90 % del almacenamiento asignado. El espacio de almacenamiento de una instancia de base de datos se puede monitorizar con la métrica **Free Storage Space**.  | 
|  bajo almacenamiento  | RDS-EVENT-0227 |  El almacenamiento de su clúster de Aurora es peligrosamente bajo y solo quedan *cantidad* terabytes. Tome medidas para reducir la carga de almacenamiento en el clúster.  |  El subsistema de almacenamiento de Aurora se está quedando sin espacio.  | 
|  mantenimiento  | RDS-EVENT-0026 |  Se aplican parches fuera de línea a la instancia de base de datos.  |  Se está realizando el mantenimiento sin conexión de la instancia de base de datos. La instancia de base de datos no está disponible en este momento.  | 
|  maintenance  | RDS-EVENT-0027 |  Ha finalizado la aplicación de parches fuera de línea a la instancia de base de datos.  |  Ha finalizado el mantenimiento sin conexión de la instancia de base de datos. La instancia de base de datos ya está disponible.  | 
|  maintenance  | RDS-EVENT-0047 |  Se han aplicado parches a la instancia de base de datos.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0155 |  La instancia de base de datos tiene disponible una actualización de versiones secundarias de motor de base de datos.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0178 |  La actualización de la instancia de base de datos está en curso.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0264 |  Se inició la comprobación previa para la actualización de la versión del motor de base de datos.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0265 |  Finalizó la comprobación previa para la actualización de la versión del motor de base de datos.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0266 |  Comenzó el tiempo de inactividad de la instancia de base de datos.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0267 |  Se inició la actualización de la versión del motor.  | Ninguno | 
|  mantenimiento  | RDS-EVENT-0268 |  La actualización de la versión del motor ha finalizado. | Ninguno | 
|  mantenimiento  | RDS-EVENT-0269 |  Las tareas posteriores a la actualización están en curso. | Ninguno | 
|  mantenimiento  | RDS-EVENT-0270 |  Falló la actualización de la versión del motor de base de datos. La reversión de la actualización de la versión del motor se realizó correctamente. | Ninguno | 
|  mantenimiento  | RDS-EVENT-0398 |  Esperando a que finalice la actualización de la versión del motor de base de datos en la instancia de base de datos principal. | Se emite en una réplica de lectura durante una actualización de la versión principal del motor. | 
|  mantenimiento  | RDS-EVENT-0399 |  Esperando a que finalice la actualización de la versión del motor de base de datos en las réplicas de lectura. | Se emite en el motor de base de datos de origen durante una actualización de la versión principal del motor. | 
|  mantenimiento  | RDS-EVENT-0422 |  RDS reemplazará el host del *nombre* de la instancia de base de datos debido a una acción de mantenimiento pendiente. | Ninguno | 
|  mantenimiento, error  | RDS-EVENT-0195 |  *message*  |  Error al actualizar el archivo de zona horaria de Oracle. Para obtener más información, consulte [Actualización automática del archivo de zona horaria de Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  mantenimiento, notificación  | RDS-EVENT-0191 |  Hay disponible una nueva versión del archivo de zona horaria para su actualización.  |  Si actualiza el motor de base de datos de RDS para Oracle, Amazon RDS genera este evento si no ha elegido una actualización de archivo de zona horaria y la base de datos no utiliza el archivo de zona horaria DST más reciente disponible en la instancia. Para obtener más información, consulte [Actualización automática del archivo de zona horaria de Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  mantenimiento, notificación  | RDS-EVENT-0192 |  Ha comenzado la actualización del archivo de zona horaria.  |  Ha comenzado la actualización del archivo de zona horaria de Oracle. Para obtener más información, consulte [Actualización automática del archivo de zona horaria de Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  mantenimiento, notificación  | RDS-EVENT-0193 |  No hay disponible ninguna actualización para la versión del archivo de zona horaria actual.  |  La instancia de base de datos de Oracle utiliza la última versión del archivo de zona horaria y se cumple cualquiera de las siguientes instrucciones: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/USER_Events.Messages.html) Para obtener más información, consulte [Actualización automática del archivo de zona horaria de Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  mantenimiento, notificación  | RDS-EVENT-0194 |  Ha finalizado la actualización del archivo de zona horaria.  |  Se ha completado la actualización del archivo de zona horaria de Oracle. Para obtener más información, consulte [Actualización automática del archivo de zona horaria de Oracle](Appendix.Oracle.Options.Timezone-file-autoupgrade.md).  | 
|  notification  | RDS-EVENT-0044 |  *message*  | Se trata de una notificación emitida por el operador. Para obtener más información, consulte el mensaje del evento. | 
|  notification  | RDS-EVENT-0048 |  Se debe retrasar la actualización del motor de base de datos, ya que esta instancia tiene réplicas de lectura que deben actualizarse primero.  | Se ha retrasado la aplicación de parches a la instancia de base de datos. | 
|  notification  | RDS-EVENT-0054 |  *message*  | El motor de almacenamiento de MySQL que está utilizando no es InnoDB, que es el motor de almacenamiento de MySQL recomendado para Amazon RDS. Para obtener más información sobre los motores de almacenamiento de MySQL, consulte [Motores de almacenamiento admitidos por RDS for MySQL](MySQL.Concepts.FeatureSupport.md#MySQL.Concepts.Storage). | 
|  notificación  | RDS-EVENT-0055 |  *message*  |  La instancia de base de datos tiene un número de tablas que supera las prácticas recomendadas para Amazon RDS. Reduzca el número de tablas de la instancia de base de datos. Para obtener más información acerca de las prácticas recomendadas, consulte [Directrices operativas básicas de Amazon RDS](CHAP_BestPractices.md#CHAP_BestPractices.DiskPerformance).  | 
|  notificación  | RDS-EVENT-0056 |  *message*  |  La instancia de base de datos tiene un número de bases de datos que supera las prácticas recomendadas para Amazon RDS. Reduzca el número de bases de datos de la instancia de base de datos. Para obtener más información acerca de las prácticas recomendadas, consulte [Directrices operativas básicas de Amazon RDS](CHAP_BestPractices.md#CHAP_BestPractices.DiskPerformance).  | 
|  notification  | RDS-EVENT-0064 |  La clave de cifrado TDE ha rotado correctamente.  | Para obtener más información acerca de las prácticas recomendadas, consulte [Directrices operativas básicas de Amazon RDS](CHAP_BestPractices.md#CHAP_BestPractices.DiskPerformance).  | 
|  notification  | RDS-EVENT-0084 |  La instancia de base de datos no se puede convertir en multi-AZ: *mensaje*.  |  Ha intentado convertir una instancia de base de datos en Multi-AZ, pero contiene grupos de archivos en memoria que no son compatibles con Multi-AZ. Para obtener más información, consulte [Implementaciones Multi-AZ para Amazon RDS for Microsoft SQL Server](USER_SQLServerMultiAZ.md).   | 
|  notification  | RDS-EVENT-0087 |  Se ha detenido la instancia de base de datos.   | Ninguno | 
|  notificación  | RDS-EVENT-0088 |  Se ha iniciado la instancia de base de datos.  | Ninguno | 
|  notificación  | RDS-EVENT-0154 |  La instancia de base de datos se está iniciando debido a que se supera el tiempo máximo permitido para estar detenida.  | Ninguno | 
|  notificación  | RDS-EVENT-0157 |  No se puede modificar la clase de instancia de base de datos. *mensaje*.  |  RDS no puede modificar la clase de instancia de base de datos porque la clase de instancia de destino no puede admitir el número de bases de datos que hay en la instancia de base de datos de origen. El mensaje de error aparece como: "The instance has *N* databases, but after conversion it would only support *N*" (La instancia dispone de N bases de datos, pero después de la conversión solo admitirá N). Para obtener más información, consulte [Limitaciones para instancias de base de datos de Microsoft SQL Server](CHAP_SQLServer.md#SQLServer.Concepts.General.FeatureSupport.Limits).  | 
|  notificación  | RDS-EVENT-0158 |  La instancia de base de datos tiene un estado que no se puede actualizar: *mensaje*.  | Ninguno | 
|  notificación  | RDS-EVENT-0167 |  *message*  |  Cambió la configuración del perímetro de soporte de RDS Custom.  | 
|  notificación  | RDS-EVENT-0189 |  Se agotan los créditos de saldo de ráfaga gp2 para la instancia de base de datos de RDS. Para resolver este problema, reduzca el uso de IOPS o modifique la configuración de almacenamiento para permitir un mayor rendimiento.  |  Se agotan los créditos de saldo de ráfaga gp2 para la instancia de base de datos de RDS. Para resolver este problema, reduzca el uso de IOPS o modifique la configuración de almacenamiento para permitir un mayor rendimiento. Para obtener más información, consulte [Créditos de E/S y rendimiento por ráfagas](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html#EBSVolumeTypes_gp2) en la *guía del usuario de Amazon Elastic Compute Cloud*.  | 
|  notificación  | RDS-EVENT-0225 |  El *tamaño* (GB) de almacenamiento designado se acerca a la *cantidad* (GB) máxima de almacenamiento. Aumente el umbral máximo de almacenamiento.  |  Este evento se invoca cuando el almacenamiento designado alcanza el 80 % del umbral máximo de almacenamiento. Para evitar el evento, aumente el umbral máximo de almacenamiento.  | 
|  notificación  | RDS-EVENT-0231 |  La modificación del almacenamiento de la instancia de base de datos ha detectado un error interno. La solicitud de modificación está pendiente y se volverá a intentar más tarde.  |  Se ha producido un error en el proceso de replicación de una réplica de lectura. Para obtener más información, consulte el mensaje del evento. Además, consulte la sección de solución de problemas para obtener réplicas de lectura para su motor de base de datos. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/USER_Events.Messages.html)  | 
|  notificación  | RDS-EVENT-0253 |  La base de datos utiliza el búfer de doble escritura. *mensaje*. Para obtener más información, consulte la documentación de *nombre* sobre Escrituras optimizadas para RDS.  | RDS Optimized Writes no es compatible con la configuración de almacenamiento de instancias. Para obtener más información, consulte [Mejora del rendimiento de escritura con escrituras optimizadas para RDS para MySQL](rds-optimized-writes.md) y [Mejora del rendimiento de escritura con Escrituras optimizadas para Amazon RDS para MariaDB](rds-optimized-writes-mariadb.md). Puede actualizar la configuración del almacenamiento para habilitar las escrituras optimizadas mediante la [creación de una implementación azul/verde](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/blue-green-deployments-creating.html). | 
|  notificación  | RDS-EVENT-0297 |  La configuración de almacenamiento para el *nombre* de la instancia de base de datos admite un tamaño máximo de 16 384 GiB. Actualice la configuración de almacenamiento para admitir tamaños de almacenamiento superiores a 16 384 GiB.  | No puede aumentar el tamaño de almacenamiento asignado a la instancia de base de datos por encima de 16 384 GiB. Para superar esta limitación, actualice la configuración de almacenamiento. Para obtener más información, consulte [Actualización del sistema de archivos de almacenamiento para una instancia de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.UpgradeFileSystem).  | 
|  notificación  | RDS-EVENT-0298 |  La configuración de almacenamiento para el *nombre* de la instancia de base de datos admite un tamaño máximo de 2048 GiB. Actualice la configuración de almacenamiento para admitir tamaños de tabla superiores a 2048 GiB.  | Las instancias de RDS MySQL y MariaDB con esta limitación no pueden tener un tamaño de tabla superior a 2048 GiB. Para superar esta limitación, actualice la configuración de almacenamiento. Para obtener más información, consulte [Actualización del sistema de archivos de almacenamiento para una instancia de base de datos](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PIOPS.StorageTypes.html#USER_PIOPS.UpgradeFileSystem).  | 
|  notificación  | RDS-EVENT-0327 |  Amazon RDS no pudo encontrar el *mensaje* *SECRET ARN* secreto.  | Ninguno | 
|  notificación  | RDS-EVENT-0365 |  Se han actualizado los archivos de zonas horarias. Reinicie la instancia de RDS para que los cambios surtan efecto.  | Ninguno | 
|  notificación  | RDS-EVENT-0385 |  Se ha actualizado la topología del clúster.  |  Hay cambios de DNS en el clúster de base de datos para la instancia de base de datos. Esto incluye cuando se añaden o eliminan nuevas instancias de base de datos, o cuando se produce una conmutación por error.  | 
|  notificación  | RDS-EVENT-0403 |  Una carga de trabajo de la base de datos está provocando que el sistema se ejecute con una cantidad de memoria críticamente baja. Para ayudar a mitigar el problema, RDS establece automáticamente el valor de innodb\$1buffer\$1pool\$1size en *cantidad*.  |  Se aplica solo a instancias de RDS para MySQL y RDS para MariaDB.  | 
|  notificación  | RDS-EVENT-0404 |  Una carga de trabajo de la base de datos está provocando que el sistema se ejecute con una cantidad de memoria críticamente baja. Para ayudar a mitigar el problema, RDS establece automáticamente el valor de shared\$1buffers en *cantidad*.  |  Se aplica únicamente a instancias de bases de datos de RDS para PostgreSQL.  | 
|  read replica  | RDS-EVENT-0045 |  Se ha detenido la replicación.  |  Este mensaje aparece cuando hay un error durante la replicación. Para determinar el tipo de error, consulte [Solución de problemas de una réplica de lectura de MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ReadRepl.Troubleshooting.html).  | 
|  réplica de lectura  | RDS-EVENT-0046 |  Se ha reanudado la replicación de la réplica de lectura.  | Este mensaje aparece cuando se crea por primera vez una réplica de lectura o como mensaje de monitoreo que confirma que la replicación funciona correctamente. Si este mensaje es posterior a una notificación `RDS-EVENT-0045`, significa que la replicación se ha reanudado después de detenerla o tras producirse un error. | 
|  réplica de lectura  | RDS-EVENT-0057 |  Se ha interrumpido la transmisión de la replicación.  | Ninguno | 
|  réplica de lectura  | RDS-EVENT-0062 |  La replicación de la réplica de lectura se ha detenido manualmente.  | Ninguno | 
|  réplica de lectura  | RDS-EVENT-0063 |  Se ha restablecido la replicación desde una instancia que no es de RDS.  | Ninguno | 
|  réplica de lectura  | RDS-EVENT-0202 |  Error al crear réplica de lectura.  | Ninguno | 
|  réplica de lectura  | RDS-EVENT-0233 |  La transición a la réplica de lectura ha comenzado.  | Ninguno | 
|  réplica de lectura  | RDS-EVENT-0240 |  Se inició el canal de replicación *nombre*.  | Para obtener información acerca de los canales de replicación, consulte [Configuración de la replicación de varios orígenes de Amazon RDS para MySQL](mysql-multi-source-replication.md). | 
|  réplica de lectura  | RDS-EVENT-0240 |  Se detuvo el canal de replicación *nombre*.  | Para obtener información acerca de los canales de replicación, consulte [Configuración de la replicación de varios orígenes de Amazon RDS para MySQL](mysql-multi-source-replication.md). | 
|  réplica de lectura  | RDS-EVENT-0240 |  Se detuvo manualmente el canal de replicación *nombre*.  | Para obtener información acerca de los canales de replicación, consulte [Configuración de la replicación de varios orígenes de Amazon RDS para MySQL](mysql-multi-source-replication.md). | 
|  réplica de lectura  | RDS-EVENT-0240 |  Se restableció el canal de replicación *nombre*.  | Para obtener información acerca de los canales de replicación, consulte [Configuración de la replicación de varios orígenes de Amazon RDS para MySQL](mysql-multi-source-replication.md). | 
|  réplica de lectura  | RDS-EVENT-0415 |  El proceso de actualización ha reanudado la replicación en la réplica de lectura.  | Ninguno | 
|  réplica de lectura  | RDS-EVENT-0416 |  El proceso de actualización ha detenido la replicación en la réplica de lectura.  | Ninguno | 
|  recuperación  | RDS-EVENT-0020 |  Se ha iniciado la recuperación de la instancia de base de datos. El tiempo de recuperación dependerá de la cantidad de datos que deban recuperarse.  | Ninguno | 
|  recuperación  | RDS-EVENT-0021 |  Ha finalizado la recuperación de la instancia de base de datos.  | Ninguno | 
|  recuperación  | RDS-EVENT-0023 |  Solicitud de instantánea emergente: *mensaje*.  |  Se ha solicitado una copia de seguridad manual, pero Amazon RDS está creando una instantánea de base de datos. Envíe de nuevo la solicitud cuando Amazon RDS haya terminado la instantánea de base de datos.  | 
|  recovery  | RDS-EVENT-0052 |  Se ha iniciado la recuperación de instancias multi-AZ.  | El tiempo de recuperación dependerá de la cantidad de datos que deban recuperarse. | 
|  recovery  | RDS-EVENT-0053 |  Se ha completado la recuperación de instancias de multi-AZ. Conmutación por error o activación pendientes.  | Este mensaje indica que Amazon RDS ha preparado la instancia de base de datos para iniciar una conmutación por error a la instancia secundaria si es necesario. | 
|  recuperación  | RDS-EVENT-0066 |  La instancia se degradará mientras se restablezca la duplicación: *mensaje*.  |  La instancia de base de datos de SQL Server está restableciendo su imagen reflejada. El desempeño se degradará hasta que se restablezca la imagen reflejada. Se ha encontrado una base de datos con un modelo de recuperación no completa (non-FULL). El modelo de recuperación se ha cambiado de nuevo a FULL y se ha iniciado la recuperación de la imagen reflejada. (<dbname>: <recovery model found>[,…])”  | 
|  recuperación  | RDS-EVENT-0166 |  *message*  |  La instancia de base de datos de RDS Custom se encuentra dentro del perímetro de soporte.  | 
|  recuperación  | RDS-EVENT-0361 |  Se ha iniciado la recuperación de la instancia de base de datos en espera.  |  La instancia de base de datos en espera se reconstruye durante el proceso de recuperación. El rendimiento de la base de datos se ve afectado durante el proceso de recuperación.  | 
|  recuperación  | RDS-EVENT-0362 |  Se ha completado la recuperación de la instancia de base de datos en espera.  |  La instancia de base de datos en espera se reconstruye durante el proceso de recuperación. El rendimiento de la base de datos se ve afectado durante el proceso de recuperación.  | 
|  restauración  | RDS-EVENT-0019 |  Se ha restaurado de la instancia de base de datos *nombre* a *nombre*.  |  La instancia de base de datos se ha restaurado a partir de una copia de seguridad de un momento dado.  | 
|  security  | RDS-EVENT-0068 |  Descifrar la contraseña de la partición hsm para actualizar la instancia.  |  RDS está descifrando la contraseña de partición AWS CloudHSM para realizar actualizaciones en la instancia de base de datos. Para obtener más información, consulte [Transparent Data Encryption (TDE) de la base de datos de Oracle con AWS CloudHSM](https://docs.aws.amazon.com/cloudhsm/latest/userguide/oracle-tde.html) en la *Guía del usuario de AWS CloudHSM*.  | 
|  Creación de parches de seguridad  | RDS-EVENT-0230 |  Hay disponible una actualización del sistema operativo para su instancia de base de datos. Para obtener información acerca de la aplicación de actualizaciones, consulte «Mantenimiento de una instancia de base de datos» en la Guía del usuario de RDS.  |  Hay disponible una nueva actualización del sistema operativo. Hay disponible una nueva versión secundaria de actualización del sistema operativo para su instancia de base de datos. Para obtener más información acerca de cómo se aplican las actualizaciones, consulte [Actualizaciones del sistema operativo de instancias de base de datos de RDS](USER_UpgradeDBInstance.Maintenance.md#OS_Updates).  | 
|  mantenimiento  | RDS-EVENT-0425 |  Amazon RDS no puede realizar la actualización del sistema operativo porque no hay direcciones IP disponibles en las subredes especificadas. Elija subredes con direcciones IP disponibles e inténtelo de nuevo.  |  Ninguno  | 
|  mantenimiento  | RDS-EVENT-0429 |  Amazon RDS no puede realizar la actualización del sistema operativo debido a la capacidad insuficiente disponible para el tipo de instancia *tipo* en la zona de disponibilidad *zona*  |  Ninguno  | 
|  mantenimiento  | RDS-EVENT-0501 |  El certificado de servidor de la instancia de base de datos de Amazon RDS requiere la rotación a través de una acción de mantenimiento pendiente.  |  El certificado de servidor de la instancia de base de datos requiere la rotación a través de una acción de mantenimiento pendiente. Amazon RDS reinicia la base de datos durante este mantenimiento para completar la rotación de certificados. Para programar este mantenimiento, vaya a la pestaña **Mantenimiento y copias de seguridad** y elija **Solicitar ahora** o **Programar para el siguiente periodo de mantenimiento**. Si el cambio no está programado, Amazon RDS lo aplica automáticamente en el periodo de mantenimiento en la fecha de aplicación automática que se muestra en la acción de mantenimiento.  | 
|  mantenimiento  | RDS-EVENT-0502 |  Amazon RDS ha programado una rotación de certificados del servidor para la instancia de base de datos durante la siguiente ventana de mantenimiento. Este mantenimiento requerirá el reinicio de una base de datos.  |  Ninguno  | 

## Eventos de grupo de parámetros de base de datos
<a name="USER_Events.Messages.parameter-group"></a>

En la siguiente tabla se muestra la categoría de eventos y una lista de los eventos que pueden producirse cuando el tipo de origen es un grupo de parámetros de base de datos.


|  Categoría  | ID de evento de RDS |  Mensaje  |  Notas  | 
| --- | --- | --- | --- | 
|  cambio de configuración  | RDS-EVENT-0037 |  Se actualizó el parámetro *nombre* por *valor* con el método de aplicación *método*.   |  Ninguno  | 

## Eventos de grupo de seguridad de base de datos
<a name="USER_Events.Messages.security-group"></a>

En la siguiente tabla se muestran las categorías de eventos y una lista de los eventos que pueden producirse cuando el tipo de origen es un grupo de seguridad de base de datos.

**nota**  
Los grupos de seguridad de base de datos son recursos de EC2-Classic. EC2-Classic se retirará el 15 de agosto de 2022. Si todavía no ha migrado de EC2-Classic a una VPC, le recomendamos que migre lo antes posible. Para obtener más información, consulte el tema [Migrar de EC2-Classic a una VPC](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) en la *guía del usuario de Amazon EC2* y la publicación del blog [EC2-Classic Networking is Retiring – Here’s How to Prepare](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/).


|  Categoría  | ID de evento de RDS |  Mensaje  |  Notas  | 
| --- | --- | --- | --- | 
|  cambio de configuración  | RDS-EVENT-0038 |  Se ha aplicado el cambio al grupo de seguridad.  |  Ninguno  | 
|  error  | RDS-EVENT-0039 |  Revocar la autorización como *usuario*.  |  El grupo de seguridad propiedad de *usuario* no existe. Se ha revocado la autorización para el grupo de seguridad porque no es válida.  | 

## Eventos de instantánea de base de datos
<a name="USER_Events.Messages.snapshot"></a>

En la siguiente tabla se muestran las categorías de eventos y una lista de los eventos que pueden producirse cuando el tipo de origen es una instantánea de base de datos.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/USER_Events.Messages.html)

## Eventos de RDS Proxy
<a name="USER_Events.Messages.rds-proxy"></a>

En la siguiente tabla se muestran las categorías de eventos y una lista de los eventos que pueden producirse cuando el tipo de origen es una instancia de RDS Proxy.


|  Categoría  | ID de evento de RDS |  Mensaje  |  Notas  | 
| --- | --- | --- | --- | 
| cambio de configuración | RDS-EVENT-0204 |  RDS ha modificado el proxy de la base de datos *nombre*.  | Ninguno | 
| cambio de configuración | RDS-EVENT-0207 |  RDS ha modificado el punto de conexión del proxy de la base de datos *nombre*.  | Ninguno | 
| cambio de configuración | RDS-EVENT-0213 |  RDS ha detectado la adición de la instancia de base de datos y la ha agregado automáticamente al grupo de destino del proxy de la base de datos *nombre*.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0214 |  RDS ha detectado la eliminación de la instancia de base de datos *nombre* y la ha borrado automáticamente del grupo de destino *nombre* del proxy de la base de datos *nombre*.  | Ninguno | 
|  cambio de configuración  | RDS-EVENT-0215 |  RDS ha detectado la eliminación del clúster de base de datos *nombre* y la ha borrado automáticamente del grupo de destino *nombre* del proxy de la base de datos *nombre*.  | Ninguno | 
|  creación  | RDS-EVENT-0203 |  RDS ha creado el proxy de la base de datos *nombre*.  | Ninguno | 
|  creación  | RDS-EVENT-0206 |  RDS ha creado el punto de conexión *nombre* del para el proxy de la base de datos *nombre*.  | Ninguno | 
| eliminación | RDS-EVENT-0205 |  RDS ha eliminado el proxy de la base de datos *nombre*.  | Ninguno | 
|  eliminación  | RDS-EVENT-0208 |  RDS ha eliminado el punto de conexión *nombre* del proxy de la base de datos *nombre*.  | Ninguno | 
|  error  | RDS-EVENT-0243 |  RDS no ha podido aprovisionar capacidad para el proxy *nombre* porque no hay suficientes direcciones IP disponibles en las subredes: *nombre*. Para resolver el problema, asegúrese de que sus subredes tengan el número mínimo de direcciones IP sin usar, tal como se recomienda en la documentación de RDS Proxy.  |  Para determinar el número recomendado para la clase de instancia, consulte [Planificación de la capacidad de direcciones IP](rds-proxy-network-prereqs.md#rds-proxy-network-prereqs.plan-ip-address).  | 
|  error | RDS-EVENT-0275 |  RDS ha limitado algunas conexiones al proxy de base de datos *nombre*. El número de solicitudes de conexión simultáneas del cliente al proxy ha superado el límite.  | Ninguno | 

## Eventos de implementación azul/verde
<a name="USER_Events.Messages.BlueGreenDeployments"></a>

En la siguiente tabla, se muestra la categoría de eventos y una lista de eventos cuando el tipo de origen es una implementación azul/verde.

Para obtener más información acerca de las implementaciones azul/verde, consulte [Uso de las implementaciones azul/verde de Amazon RDS para actualizar las bases de datos](blue-green-deployments.md).


|  Categoría  | ID de evento de Amazon RDS |  Mensaje  |  Notas  | 
| --- | --- | --- | --- | 
|  creación  | RDS-EVENT-0244 |  Se han completado las tareas de implementación azul/verde. Puede realizar más modificaciones en las bases de datos del entorno verde o cambiar la implementación.  | Ninguno | 
|  error  | RDS-EVENT-0245 |  Se ha producido un error al crear la implementación azul/verde por *motivo*.  | Ninguno | 
|  eliminación  | RDS-EVENT-0246 |  Se ha eliminado la implementación azul/verde.  | Ninguno | 
|  notificación  | RDS-EVENT-0247 |  Se ha iniciado la transición de *azul* a *verde*.  | Ninguno | 
|  notificación  | RDS-EVENT-0248 |  Se ha completado el cambio en la implementación azul/verde.  | Ninguno | 
|  error  | RDS-EVENT-0249 |  Se ha cancelado el cambio en la implementación azul/verde.  | Ninguno | 
|  notificación  | RDS-EVENT-0250  |  La transición de la réplica de lectura principal de *azul* a *verde* ha comenzado.  | Ninguno | 
|  notificación  | RDS-EVENT-0251  |  La transición de la réplica de lectura principal de *azul* a *verde* ha finalizado. Se ha cambiado el nombre *azul* por *azul-antiguo* y *verde* por *azul*.  | Ninguno | 
|  error  | RDS-EVENT-0252  |  La transición de la réplica de lectura principal *azul* a *verde* se ha cancelado por *motivo*.  | Ninguno | 
|  notificación  | RDS-EVENT-0307  |  La sincronización de la secuencia para la transición del *azul* a *verde* ha comenzado. La transición al usar secuencias puede provocar un tiempo de inactividad prolongado.  | Ninguno | 
|  notificación  | RDS-EVENT-0308  |  La sincronización de la secuencia para la transición del *azul* a *verde* ha finalizado.  | Ninguno | 
|  error  | RDS-EVENT-0310  |  La sincronización de la secuencia para la transición del *azul* a *verde* se ha cancelado porque las secuencias no se han sincronizado.  | Ninguno | 
| notificación | RDS-EVENT-0405 |  Se están inicializando sus volúmenes de almacenamiento.  |  Ninguno  | 
| notificación | RDS-EVENT-0406 |  Se han inicializado sus volúmenes de almacenamiento.  |  Ninguno  | 
|  notificación  | RDS-EVENT-0409  |  *message*  | Ninguno | 

## Eventos de versiones del motor personalizadas
<a name="USER_Events.Messages.CEV"></a>

En la siguiente tabla se muestra la categoría de eventos y una lista de eventos cuando el tipo de origen es una versión de motor personalizada.


|  Categoría  | ID de evento de Amazon RDS |  Mensaje  |  Notas  | 
| --- | --- | --- | --- | 
|  creación  | RDS-EVENT-0316 |  Preparación para crear un *nombre* de versión de motor personalizado. Todo el proceso de creación puede tardar hasta cuatro horas en completarse.  | Ninguno | 
|  creación  | RDS-EVENT-0317 |  Creación de un *nombre* de versión de motor personalizado.  | Ninguno | 
|  creación  | RDS-EVENT-0318 |  Validación de un *nombre* de versión de motor personalizado.  | Ninguno | 
|  creación  | RDS-EVENT-0319 |  El *nombre* de la versión de motor personalizado se ha creado correctamente.  | Ninguno | 
|  creación  | RDS-EVENT-0320 |  RDS no puede crear un *nombre* de versión de motor personalizado debido a un problema interno. Estamos resolviendo el problema y nos pondremos en contacto con usted si es necesario. Para obtener más ayuda, póngase en contacto con [AWS Premium Support/](https://console.aws.amazon.com/support/).  | Ninguno | 
|  error  | RDS-EVENT-0198 |  Error al crear la versión de motor personalizada *nombre*. *mensaje*.  | El *message* incluye detalles sobre el error, como los archivos que faltan. | 
|  error  | RDS-EVENT-0277 |  Se ha producido un error al eliminar el *name* de la versión personalizada del motor. *message*  | El *message* incluye detalles sobre el error. | 
|  restauración  | RDS-EVENT-0240 |  El número máximo de bases de datos que se admite para la restauración en un momento dado ha cambiado.  | El *message* incluye detalles sobre el evento. | 

# Supervisión de archivos de registro de Amazon RDS
<a name="USER_LogAccess"></a>

Cada motor de base de datos de RDS genera registros a los que puede acceder para realizar auditorías y solucionar problemas. El tipo de registros depende del motor de base de datos.

Puede acceder a los registros de base de datos de instancias de base de datos mediante la Consola de administración de AWS, la AWS Command Line Interface (AWS CLI) o la API de Amazon RDS. No puede visualizar, ver ni descargar registros de transacciones.

**Topics**
+ [Visualización y descripción de archivos de registro de base de datos](USER_LogAccess.Procedural.Viewing.md)
+ [Descarga de un archivo de registro de base de datos](USER_LogAccess.Procedural.Downloading.md)
+ [Ver un archivo de registro de base de datos](USER_LogAccess.Procedural.Watching.md)
+ [Publicación de registros de base de datos en registros de Amazon Cloudwatch](USER_LogAccess.Procedural.UploadtoCloudWatch.md)
+ [Lectura del contenido del archivo de registro mediante REST](DownloadCompleteDBLogFile.md)
+ [Archivos de registro de base de datos de Amazon RDS para Db2](USER_LogAccess.Concepts.Db2.md)
+ [Archivos de registro de base de datos de MariaDB](USER_LogAccess.Concepts.MariaDB.md)
+ [Archivos de registro de base de datos de Amazon RDS para Microsoft SQL Server](USER_LogAccess.Concepts.SQLServer.md)
+ [Archivos de registro de base de datos de MySQL](USER_LogAccess.Concepts.MySQL.md)
+ [Archivos de registro de base de datos de Amazon RDS para Oracle](USER_LogAccess.Concepts.Oracle.md)
+ [Archivos de registro de base de datos de RDS para PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.md)

# Visualización y descripción de archivos de registro de base de datos
<a name="USER_LogAccess.Procedural.Viewing"></a>

Puede ver los archivos de registro de base de datos de su motor de base de datos de Amazon RDS con la Consola de administración de AWS. Puede ver los archivos de registro que están disponibles para descargar o monitorear mediante la AWS CLI o la API de Amazon RDS. 

**nota**  
Si no puede ver la lista de archivos de registro de una instancia de base de datos de RDS para Oracle, reinicie la instancia para ver la lista. 

## Consola
<a name="USER_LogAccess.CON"></a>

**Para ver un archivo de registro de base de datos**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

1. Seleccione el nombre de la instancia de base de datos que tiene el archivo de registro que desea visualizar.

1. Seleccione la pestaña **Logs & events (Registros y eventos)**.

1. Desplácese hacia abajo hasta la sección **Logs (Registros)**.

1. (Opcional) Ingrese un término de búsqueda para filtrar los resultados.

1. Elija el registro que quiera visualizar y, a continuación, elija **View (Ver)**.

## AWS CLI
<a name="USER_LogAccess.CLI"></a>

Para ver los archivos de registro de base de datos disponibles para una instancia de base de datos, use el comando [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-log-files.html) de la `describe-db-log-files`.

El siguiente ejemplo devuelve una lista de los archivos de registro de una instancia de base de datos denominada `my-db-instance`.

**Example**  

```
1. aws rds describe-db-log-files --db-instance-identifier my-db-instance
```

## API de RDS
<a name="USER_LogAccess.API"></a>

Para ver los archivos de registro de base de datos de una instancia de base de datos, use la acción [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html) de la API de Amazon RDS.

# Descarga de un archivo de registro de base de datos
<a name="USER_LogAccess.Procedural.Downloading"></a>

Puede usar la Consola de administración de AWS, la AWS CLI o la API para descargar un archivo de registro de base de datos. 

## Consola
<a name="USER_LogAccess.Procedural.Downloading.CON"></a>

**Para descargar un archivo de registro de base de datos**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

1. Seleccione el nombre de la instancia de base de datos que tiene el archivo de registro que desea visualizar.

1. Seleccione la pestaña **Logs & events (Registros y eventos)**.

1. Desplácese hacia abajo hasta la sección **Logs (Registros)**. 

1. En la sección **Logs (Registros)**, elija el botón junto al registro que desee descargar y, a continuación, elija **Download (Descargar)**.

1. Abra el menú contextual (haga clic con el botón derecho) del enlace que se proporciona y elija **Save Link As (Guardar enlace como)**. Escriba la ubicación en la que desee guardar el archivo de registro y elija **Save (Guardar)**.  
![\[visualización de archivo de registro\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/log_download2.png)

## AWS CLI
<a name="USER_LogAccess.Procedural.Downloading.CLI"></a>

Para descargar un archivo de registro de base de datos, use el comando [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/rds/download-db-log-file-portion.html) de la `download-db-log-file-portion`. De forma predeterminada, este comando solo descarga la última porción de un archivo de registro. Sin embargo, puede descargar un archivo entero especificando el parámetro `--starting-token 0`.

En el siguiente ejemplo se muestra cómo descargar todo el contenido de un archivo de registro llamado *log/ERROR.4* y almacenarlo en un archivo local denominado *errorlog.txt*.

**Example**  
Para Linux, macOS o:Unix  

```
1. aws rds download-db-log-file-portion \
2.     --db-instance-identifier myexampledb \
3.     --starting-token 0 --output text \
4.     --log-file-name log/ERROR.4 > errorlog.txt
```
En:Windows  

```
1. aws rds download-db-log-file-portion ^
2.     --db-instance-identifier myexampledb ^
3.     --starting-token 0 --output text ^
4.     --log-file-name log/ERROR.4 > errorlog.txt
```

## API de RDS
<a name="USER_LogAccess.Procedural.Downloading.API"></a>

Para descargar un archivo de registro de base de datos, use la acción [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DownloadDBLogFilePortion.html) de la API de Amazon RDS.

# Ver un archivo de registro de base de datos
<a name="USER_LogAccess.Procedural.Watching"></a>

Ver un archivo de registro de base de datos equivale a detallar el archivo en un sistema UNIX o Linux. Puede ver un archivo de registro usando la Consola de administración de AWS. RDS actualiza el detalle del registro cada 5 segundos.

**Para monitorizar un archivo de registro de base de datos**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

1. Seleccione el nombre de la instancia de base de datos que tiene el archivo de registro que desea visualizar.

1. Seleccione la pestaña **Logs & events (Registros y eventos)**.  
![\[Seleccione la pestaña Logs & events (Registros y eventos).\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/Monitoring_logsEvents.png)

1. En la sección **Logs (Registros)**, elija un archivo de registro y, a continuación, elija **Watch (Ver)**.  
![\[Elija un registro.\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/Monitoring_LogsEvents_watch.png)

   RDS muestra el detalle del registro, como en el siguiente ejemplo de MySQL.  
![\[Detalle de un archivo de registro\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/Monitoring_LogsEvents_watch_content.png)

# Publicación de registros de base de datos en registros de Amazon Cloudwatch
<a name="USER_LogAccess.Procedural.UploadtoCloudWatch"></a>

En una base de datos en las instalaciones, los registros de la base de datos residen en el sistema de archivos. Amazon RDS no proporciona acceso de host a los registros de base de datos del sistema de archivos de la instancia de base de datos. Por este motivo, Amazon RDS le permite exportar registros de base de datos a [registros de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html). Con CloudWatch Logs, puede realizar análisis en tiempo real de los datos de registro. También puede guardarlos en un almacenamiento de larga duración y gestionarlos con el agente de CloudWatch Logs. 

**Topics**
+ [Descripción general de la integración de RDS con CloudWatch Logs](#rds-integration-cw-logs)
+ [Decisión sobre los registros que desea publicar en CloudWatch Logs](#engine-specific-logs)
+ [Especificación de registros que desea publicar en CloudWatch Logs](#integrating_cloudwatchlogs.configure)
+ [Búsqueda y filtrado de los registros en CloudWatch Logs](#accessing-logs-in-cloudwatch)

## Descripción general de la integración de RDS con CloudWatch Logs
<a name="rds-integration-cw-logs"></a>

En CloudWatch Logs, un *flujo de registro* es una secuencia de eventos de registro que comparten el mismo origen. Cada fuente independiente de registros en Registros de CloudWatch constituye un flujo de registros independiente. Un *grupo de registro* es un grupo de flujos de registro que comparten la misma configuración de retención, monitorización y control de acceso.

Amazon RDS transmite continuamente sus registros de instancia de base de datos en un grupo de registro. Por ejemplo, hay un grupo de registros `/aws/rds/instance/instance_name/log_type` para cada tipo de registro que se publica. Este grupo de registros se encuentra en la misma región de AWS que la instancia de base de datos que genera el registro.

AWS conserva los datos de registro publicados en CloudWatch Logs durante un periodo de tiempo indefinido a menos que se especifique un periodo de retención. Para obtener más información, consulte [Cambiar la retención de datos de registro en CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#SettingLogRetention). 

## Decisión sobre los registros que desea publicar en CloudWatch Logs
<a name="engine-specific-logs"></a>

Cada motor de base de datos RDS admite su propio conjunto de registros. Para obtener más información sobre las opciones del motor de base de datos, revise los siguientes temas:
+ [Publicación de registros de Db2 en Registros de Amazon CloudWatch](USER_LogAccess.Concepts.Db2.md#USER_LogAccess.Db2.PublishtoCloudWatchLogs)
+ [Publicación de registros de MariaDB en Amazon CloudWatch Logs](USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.md)
+ [Publicación de registros de MySQL en Amazon CloudWatch Logs](USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs.md)
+ [Publicación de registros de Oracle en Amazon CloudWatch Logs](USER_LogAccess.Concepts.Oracle.md#USER_LogAccess.Oracle.PublishtoCloudWatchLogs)
+ [Publicación de registros de PostgreSQL en Amazon CloudWatch Logs](USER_LogAccess.Concepts.PostgreSQL.md#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs)
+ [Publicación de registros de SQL Server en Amazon CloudWatch Logs](USER_LogAccess.Concepts.SQLServer.md#USER_LogAccess.SQLServer.PublishtoCloudWatchLogs)

## Especificación de registros que desea publicar en CloudWatch Logs
<a name="integrating_cloudwatchlogs.configure"></a>

Puede especificar qué registros se van a publicar en la consola. Asegúrese de que tiene un rol vinculado a un servicio en AWS Identity and Access Management (IAM). Para obtener más información acerca de los roles vinculados a servicios, consulte [Uso de roles vinculados a servicios de Amazon RDS](UsingWithRDS.IAM.ServiceLinkedRoles.md).

**Para especificar los registros que se van a publicar**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases** (Bases de datos).

1. Haga una de estas dos operaciones:
   + Elija **Creación de base de datos**.
   + Elija una base de datos de la lista y luego seleccione **Modify (Modificar)**.

1. En **Logs exports (Exportaciones de registros)**, elija los registros que desea publicar.

   En el siguiente ejemplo se especifican el registro de auditoría, los registros de errores, el registro general y el registro de consultas lentas para una instancia de bases de datos de RDS para MySQL.  
![\[Elección de los registros que desea publicar en CloudWatch Logs\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/AddCWLogs.png)

## Búsqueda y filtrado de los registros en CloudWatch Logs
<a name="accessing-logs-in-cloudwatch"></a>

Puede buscar las entradas de registro que cumplan los criterios especificados mediante la consola de CloudWatch Logs. Puede acceder a los registros a través de la consola de RDS, que lo lleva a la consola de CloudWatch Logs, o directamente desde la consola de CloudWatch Logs.

**Para buscar los registros de RDS mediante la consola de RDS**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases** (Bases de datos).

1. Elija un instancia de base de datos.

1. Elija **Configuración**.

1. En **Published logs (Registros publicados)**, elija el registro de base de datos que desea ver.

**Para buscar registros de RDS mediante la consola de CloudWatch Logs**

1. Abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. En el panel de navegación, seleccione **Grupos de registro**.

1. En el cuadro de filtro, escriba **/aws/rds**.

1. En **Log Groups (Grupos de registro)**, elija el nombre del grupo de registro que contiene el flujo de registros que desea buscar.

1. En **Log Streams (Flujos de registros)**, elija el nombre del flujo de registros que desea buscar.

1. En **Log events (Eventos de registros)**, escriba la sintaxis del filtro que se va a utilizar.

Para obtener más información, consulte el temas sobre cómo [buscar y filtrar datos de registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html) en la *guía del usuario de Amazon CloudWatch*. Para ver un tutorial en el blog que explique cómo monitorear los registros de RDS, consulte la publicación del blog sobre cómo [crear un monitoreo proactivo de bases de datos para Amazon RDS con registros de Amazon Cloudwatch, AWS Lambda y Amazon SNS](https://aws.amazon.com/blogs/database/build-proactive-database-monitoring-for-amazon-rds-with-amazon-cloudwatch-logs-aws-lambda-and-amazon-sns/).

# Lectura del contenido del archivo de registro mediante REST
<a name="DownloadCompleteDBLogFile"></a>

Amazon RDS proporciona un punto de enlace REST que permite el acceso a los archivos de registro de instancia de base de datos. Esto resulta útil si necesita escribir una aplicación para transmitir el contenido del archivo de registro de Amazon RDS.

La sintaxis es la siguiente:

```
GET /v13/downloadCompleteLogFile/DBInstanceIdentifier/LogFileName HTTP/1.1
Content-type: application/json
host: rds.region.amazonaws.com
```

Se requieren los siguientes parámetros:
+ `DBInstanceIdentifier`: el nombre asignado de la instancia de base de datos que contiene el archivo de registro que se desea descargar.
+ `LogFileName`: el nombre del archivo de registro que se va a descargar.

La respuesta incluye el contenido del archivo de registro solicitado como una secuencia.

En el siguiente ejemplo se descarga el archivo de registro denominado *log/ERROR.6* para la instancia de base de datos denominada *sample-sql* en la región *us-west-2*.

```
GET /v13/downloadCompleteLogFile/sample-sql/log/ERROR.6 HTTP/1.1
host: rds.us-west-2.amazonaws.com
X-Amz-Security-Token: AQoDYXdzEIH//////////wEa0AIXLhngC5zp9CyB1R6abwKrXHVR5efnAVN3XvR7IwqKYalFSn6UyJuEFTft9nObglx4QJ+GXV9cpACkETq=
X-Amz-Date: 20140903T233749Z
X-Amz-Algorithm: AWS4-HMAC-SHA256
X-Amz-Credential: AKIADQKE4SARGYLE/20140903/us-west-2/rds/aws4_request
X-Amz-SignedHeaders: host
X-Amz-Content-SHA256: e3b0c44298fc1c229afbf4c8996fb92427ae41e4649b934de495991b7852b855
X-Amz-Expires: 86400
X-Amz-Signature: 353a4f14b3f250142d9afc34f9f9948154d46ce7d4ec091d0cdabbcf8b40c558
```

Si especifica una instancia de base de datos no existente, la respuesta consta del error siguiente:
+ `DBInstanceNotFound`: `DBInstanceIdentifier` no hace referencia a una instancia de base de datos existente. (Código de estado HTTP: 404)

# Archivos de registro de base de datos de Amazon RDS para Db2
<a name="USER_LogAccess.Concepts.Db2"></a>

Puede acceder a los registros de diagnóstico y notificación de RDS para Db2 desde la consola de Amazon RDS, la AWS CLI o la API de RDS. Para obtener más información acerca de la visualización, descarga y vigilancia de los registros de bases de datos basados en archivos, consulte [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md).

**Topics**
+ [Calendario de retención](#USER_LogAccess.Concepts.Db2.Retention)
+ [Publicación de registros de Db2 en Registros de Amazon CloudWatch](#USER_LogAccess.Db2.PublishtoCloudWatchLogs)

## Calendario de retención
<a name="USER_LogAccess.Concepts.Db2.Retention"></a>

Los archivos de registro rotan cada día y cuando se reinicia la instancia de base de datos. A continuación, se muestra el calendario de retención para los registros de RDS para Db2 en Amazon RDS. 


****  

| Tipo de registro | Calendario de retención | 
| --- | --- | 
|  Registros de diagnóstico  |  Db2 elimina los registros de la configuración de retención de la instancia. Amazon RDS establece el parámetro `diagsize` en 1000.  | 
|  Registros de notificación  |  Db2 elimina los registros de la configuración de retención de la instancia. Amazon RDS establece el parámetro `diagsize` en 1000.  | 

## Publicación de registros de Db2 en Registros de Amazon CloudWatch
<a name="USER_LogAccess.Db2.PublishtoCloudWatchLogs"></a>

Con RDS para Db2, puede publicar eventos de registro de diagnóstico y notificación directamente en Registros de Amazon CloudWatch. Analice los datos de registro con CloudWatch Logs y utilice CloudWatch para crear alarmas y ver métricas.

En CloudWatch Logs, tiene las siguientes opciones:
+ Almacenar registros en un espacio de almacenamiento de larga duración con un periodo de retención que defina.
+ Buscar y filtrar los datos de registro.
+ Compartir datos de registro entre cuentas.
+ Exportar registros a Amazon S3.
+ Transmitir datos por streaming a Amazon OpenSearch Service.
+ Procesar los datos de registros en tiempo real con Amazon Kinesis Data Streams. Para obtener más información, consulte [Uso de Registros de Amazon CloudWatch](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html) en la *Guía para desarrolladores de aplicaciones SQL de Amazon Managed Service para Apache Flink*.

 Amazon RDS publica cada registro de base de datos de RDS para Db2 como un flujo de base de datos independiente en el grupo de registros. Por ejemplo, si publica registros de diagnóstico y notificación, se almacenan datos de diagnóstico en un flujo de registro de diagnóstico en el grupo de registro `/aws/rds/instance/my_instance/diagnostic` y los datos de registro de notificación se almacenan en el grupo de registro `/aws/rds/instance/my_instance/notify`.

**nota**  
La publicación de registros de RDS para Db2 en los Registros de CloudWatch no está habilitada de manera predeterminada. No se admite la publicación de registros estadísticos del optimizador y del administrador de memoria autoajustable (STMM). La publicación de registros de RDS para Db2 en Registros de CloudWatch es compatible en todas las regiones, excepto en Asia Pacífico (Hong Kong).

### Consola
<a name="USER_LogAccess.Db2.PublishtoCloudWatchLogs.console"></a>

**Publicación de registros de base de datos de RDS para Db2 en Registros de CloudWatch desde Consola de administración de AWS**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases (Bases de datos)** y, a continuación, seleccione la instancia de base de datos que desee modificar.

1. Elija **Modify**.

1. En la sección **Exportaciones de registros**, elija los registros que desea comenzar a publicar en Registros de CloudWatch.

   Puede elegir **diag.log**, **notify.log** o ambos.

1. Elija **Continuar**, seguido de **Modificar la instancia de base de datos** en la página de resumen.

### AWS CLI
<a name="USER_LogAccess.Db2.PublishtoCloudWatchLogs.CLI"></a>

Para publicar registros de RDS para Db2, puede utilizar el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con los siguientes parámetros: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**nota**  
Los cambios en la opción `--cloudwatch-logs-export-configuration` siempre se aplican a la instancia de base de datos inmediatamente. Por lo tanto, las opciones `--apply-immediately` y `--no-apply-immediately` no tienen ningún efecto.

También puede publicar registros de RDS para Db2 utilizando los siguientes comandos: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

**Example**  
En el siguiente ejemplo se crea una instancia de base de datos de RDS para Db2 con la publicación de Registros de CloudWatch habilitada. El valor `--enable-cloudwatch-logs-exports` es una matriz de cadenas JSON que puede incluir `diag.log`, `notify.log` o ambos.  
Para Linux, macOS o Unix:  

```
aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --enable-cloudwatch-logs-exports '["diag.log","notify.log"]' \
    --db-instance-class db.m4.large \
    --engine db2-se
```
Para Windows:  

```
aws rds create-db-instance ^
    --db-instance-identifier mydbinstance ^
    --enable-cloudwatch-logs-exports "[\"diag.log\",\"notify.log\"]" ^
    --db-instance-class db.m4.large ^
    --engine db2-se
```
Al utilizar el símbolo del sistema de Windows, debe aplicar escape con comillas dobles (") en código JSON al ponerlas como prefijo con una barra invertida (\$1).

**Example**  
En el siguiente ejemplo se modifica una instancia de base de datos de RDS para Db2 existente para publicar archivos de registro en Registros de CloudWatch. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `EnableLogTypes` y su valor es una matriz de cadenas que puede incluir `diag.log`, `notify.log` o ambos.  
Para Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["diag.log","notify.log"]}'
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration "{\"EnableLogTypes\":[\"diag.log\",\"notify.log\"]}"
```
Al utilizar el símbolo del sistema de Windows, debe aplicar escape con comillas dobles (") en código JSON al ponerlas como prefijo con una barra invertida (\$1).

**Example**  
En el siguiente ejemplo se modifica una instancia de base de datos de RDS para Db2 existente para deshabilitar la publicación de archivos de registro de diagnóstico en Registros de CloudWatch. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `DisableLogTypes` y su valor es una matriz de cadenas que puede incluir `diag.log`, `notify.log` o ambos.  
Para Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"DisableLogTypes":["diag.log"]}'
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration "{\"DisableLogTypes\":[\"diag.log\"]}"
```
Al utilizar el símbolo del sistema de Windows, debe aplicar escape con comillas dobles (") en código JSON al ponerlas como prefijo con una barra invertida (\$1).

# Archivos de registro de base de datos de MariaDB
<a name="USER_LogAccess.Concepts.MariaDB"></a>

Puede supervisar el registro de errores de MariaDB, el registro de consultas lentas, el registro de errores de autenticación de base de datos de IAM y el registro general. El registro de error de MariaDB se genera de forma predeterminada. Para generar la consulta lenta y los registros generales, establezca parámetros en su grupo de parámetros de base de datos. Amazon RDS rota todos los archivos de registro de MariaDB; los intervalos para cada tipo se indican a continuación. 

Puede monitorear los registros de MariaDB directamente desde la consola de Amazon RDS, la API de Amazon RDS, la CLI de Amazon RDS o los SDK de AWS. También puede obtener acceso a los registros de MariaDB dirigiéndolos a una tabla de la base de datos principal y consultando esa tabla. Puede usar la utilidad mysqlbinlog para descargar un registro binario. 

Para obtener más información acerca de la visualización, descarga y vigilancia de los registros de bases de datos basados en archivos, consulte [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md).

**Topics**
+ [Acceso a los registros de errores de MariaDB](USER_LogAccess.MariaDB.Errorlog.md)
+ [Acceso al registro de consultas lentas y al registro general de MariaDB](USER_LogAccess.MariaDB.Generallog.md)
+ [Publicación de registros de MariaDB en Amazon CloudWatch Logs](USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.md)
+ [Rotación y retención de registros para MariaDB](USER_LogAccess.MariaDB.LogFileSize.md)
+ [Administración de registros de MariaDB basados en tablas](Appendix.MariaDB.CommonDBATasks.Logs.md)
+ [Configuración de registros binarios de MariaDB](USER_LogAccess.MariaDB.BinaryFormat.md)
+ [Acceso a los registros binarios de MariaDB](USER_LogAccess.MariaDB.Binarylog.md)
+ [Habilitación de la anotación de registros binarios de MariaDB](USER_LogAccess.MariaDB.BinarylogAnnotation.md)

# Acceso a los registros de errores de MariaDB
<a name="USER_LogAccess.MariaDB.Errorlog"></a>

El registro de errores de MariaDB se escribe en el archivo `<host-name>.err`. Puede ver este archivo mediante la consola de Amazon RDS, También puede recuperar el registro mediante la API de Amazon RDS, la CLI de Amazon RDS o los SDK de AWS. El archivo `<host-name>.err` se vacía cada 5 minutos y su contenido se agrega a `mysql-error-running.log`. El archivo `mysql-error-running.log` rota cada hora, y se conservan los archivos generados cada hora durante las últimas 24 horas. Cada archivo de registro tiene la hora a la que se generó (en UTC) agregada a su nombre. Los archivos de registro también tienen una marca temporal que ayuda a determinar cuándo se escribieron las entradas del registro.

MariaDB solo escribe en el registro de errores durante el inicio, el cierre y cuando encuentra errores. Una instancia de base de datos puede pasar horas o días sin que se escriban nuevas entradas en el registro de errores. Si no hay entradas recientes, se debe a que el servidor no ha encontrado ningún error que haya generado una entrada en el registro.

# Acceso al registro de consultas lentas y al registro general de MariaDB
<a name="USER_LogAccess.MariaDB.Generallog"></a>

Puede escribir el registro de consultas lentas y el registro general de MariaDB en un archivo o en una tabla de la base de datos configurando parámetros en su grupo de parámetros de la base de datos. Para obtener información acerca de cómo crear y modificar un grupo de parámetros de base de datos, consulte [Grupos de parámetros para Amazon RDS](USER_WorkingWithParamGroups.md). Debe definir estos parámetros para poder ver el registro de consultas lentas o el registro general en la consola de Amazon RDS o a través de la API de Amazon RDS, la AWS CLI o los SDK de AWS.

Puede controlar lo que registra MariaDB con los parámetros de esta lista:
+ `slow_query_log` o `log_slow_query`: para crear el registro de consultas lentas, use el valor 1. El valor predeterminado es 0.
+ `general_log`: para crear el registro general, use el valor 1. El valor predeterminado es 0.
+ `long_query_time` o `log_slow_query_time`: para evitar que se registren consultas rápidas en el registro de consultas lentas, especifique el valor del tiempo de ejecución mínimo de una consulta, en segundos, para que se registre. El valor predeterminado es 10 segundos y el mínimo es 0. Si log\$1output = FILE, puede especificar un valor de punto flotante que llega a una resolución de microsegundos. Si log\$1output = TABLE, debe especificar un valor entero con resolución de segundos. Solo se registran las consultas cuyo tiempo de ejecución supere el valor de `long_query_time` o `log_slow_query_time`. Por ejemplo, si configura `long_query_time` o `log_slow_query_time` como 0,1, evitará que se registren las consultas que tarden menos de 100 milisegundos en ejecutarse.
+ `log_queries_not_using_indexes`: para incluir en el registro de consultas lentas todas las consultas que no usen un índice, defina este parámetro como 1. El valor predeterminado es 0. Las consultas que no usen un índice se registran incluso si su tiempo de ejecución es inferior al valor del parámetro `long_query_time`.
+ `log_output option`: puede especificar una de las opciones siguientes para el parámetro `log_output`:
  + **TABLE** (predeterminada): las consultas generales se escriben en la tabla `mysql.general_log` y las consultas lentas en la tabla `mysql.slow_log`. 
  + **FILE**: tanto los registros de las consultas generales como los de las consultas lentas se escriben en el sistema de archivos. Los archivos de registro se rotan cada hora. 
  + **NONE**: deshabilitar registro.

Cuando el registro está habilitado, Amazon RDS rota los registros de las tablas o elimina los archivos de registro a intervalos regulares. Esta medida es una precaución para reducir el riesgo de que un archivo de registro grande bloquee el uso de la base de datos o afecte al rendimiento. El registro con las opciones `FILE` y `TABLE` emplea la rotación y eliminación del modo siguiente:
+ Cuando está activado el registro `FILE`, los archivos de registro se examinan cada hora, y los que tienen una antigüedad superior a 24 horas se eliminan. En algunos casos, el tamaño restante del archivo de registro combinado después de la eliminación puede superar el umbral del 2 por ciento del espacio asignado a una instancia de base de datos. En estos casos, los archivos de registro más grandes se eliminan hasta que el tamaño del archivo de registro no sobrepase el umbral. 
+ Cuando el registro de tipo `TABLE` está habilitado, en algunos casos, las tablas de registro se rotan cada 24 horas. Esta rotación de produce cuando el espacio ocupado por los registros de tabla es superior al 20% del espacio de almacenamiento asignado. También ocurre si el tamaño de todos los registros combinados es superior a 10 GB. Si la cantidad de espacio utilizada para una instancia de base de datos es superior al 90% del espacio de almacenamiento asignado a la instancia de base de datos, se reducen los umbrales de la rotación de registros. Las tablas de registro se rotan si el espacio ocupado por los registros de tabla es superior al 10 % del espacio de almacenamiento asignado. También rotan si el tamaño de todos los registros combinados es superior a 5 GB.

  Cuando se rotan las tablas de registro, la tabla de registro actual se copia en una tabla de registro de copia de seguridad y las entradas de la tabla de registro actual se eliminan. Si la tabla de registro de copia de seguridad ya existe, se elimina antes de copiar la tabla del registro actual en la copia de seguridad. Puede consultar la tabla de registro de copia de seguridad si es necesaria. La tabla de registro de copia de seguridad para la tabla `mysql.general_log` se llama `mysql.general_log_backup`. La tabla de registro de copia de seguridad para la tabla `mysql.slow_log` se llama `mysql.slow_log_backup`.

  Para rotar la tabla `mysql.general_log` puede ejecutar el procedimiento `mysql.rds_rotate_general_log`. Para rotar la tabla `mysql.slow_log` puede ejecutar el procedimiento `mysql.rds_rotate_slow_log`.

  Los registros de tabla se rotan durante una actualización de la versión de la base de datos.

Amazon RDS registra la rotación de registros de `TABLE` y de `FILE` en un evento de Amazon RDS y envía una notificación.

Para trabajar con los registros desde la consola de Amazon RDS, la API de Amazon RDS, la CLI de Amazon RDS o los SDK de AWS, configure el parámetro `log_output` en FILE. Al igual que el registro de errores de MariaDB, estos archivos de registro rotan cada hora. Se conservan los archivos de registro que se generaron durante las 24 horas anteriores.

Para obtener más información acerca de los registros de consultas lentas y general, vaya a los siguientes temas de la documentación de MariaDB:
+ [Registro de consultas lentas](http://mariadb.com/kb/en/mariadb/slow-query-log/)
+ [Registro de consultas generales](http://mariadb.com/kb/en/mariadb/general-query-log/)

# Publicación de registros de MariaDB en Amazon CloudWatch Logs
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs"></a>

Se puede configurar una instancia de base de datos MariaDB para publicar datos de registro en un grupo de registros en Amazon CloudWatch Logs. Con CloudWatch Logs, puede realizar análisis en tiempo real de los datos de registro y utilizar CloudWatch para crear alarmas y ver métricas. Puede utilizar CloudWatch Logs para almacenar los registros de registros en almacenamiento de larga duración. 

Amazon RDS publica cada registro de base de datos de MariaDB como un flujo de base de datos independiente en el grupo de registros. Por ejemplo, supongamos que configura la función de exportación para que incluya el registro de consulta lento. Los datos de las consultas lentas se almacenan en el flujo de registro en el grupo de registro de `/aws/rds/instance/my_instance/slowquery`.

El registro de errores están habilitados de forma predeterminada. La tabla siguiente resume los requisitos para los otros registros de MariaDB.


| Registro | Requisito | 
| --- | --- | 
|  Registro de auditoría  |  La instancia de base de datos debe usar un grupo de opciones personalizado con la opción `MARIADB_AUDIT_PLUGIN`.  | 
|  Registro general  |  La instancia de base de datos debe usar un grupo de parámetros personalizado con la configuración del parámetro `general_log = 1` para habilitar el registro general.  | 
|  Registro de consultas lentas  |  La instancia de base de datos debe usar un grupo de parámetros personalizado con la configuración del parámetro `slow_query_log = 1` o `log_slow_query = 1` para habilitar el registro de consultas lentas.  | 
|  Registro de errores de autenticación de base de datos de IAM  |  Debe habilitar el tipo de registro `iam-db-auth-error` para una instancia de base de datos mediante la creación o modificación de una instancia de base de datos.  | 
|  Resultado de registro  |  La instancia de base de datos debe usar un grupo de parámetros personalizado con la configuración del parámetro `log_output = FILE` para escribir registros en el sistema de archivos y publicarlos en CloudWatch Logs.  | 

## Consola
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.CON"></a>

**Para publicar registros de MariaDB en CloudWatch Logs desde la consola**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases (Bases de datos)** y, a continuación, seleccione la instancia de base de datos que desee modificar.

1. Elija **Modify**.

1. En la sección **Logs exports (Exportaciones de registros)**, elija los registros que desea comenzar a publicar en CloudWatch Logs.

1. Elija **Continue**, seguido de **Modify DB Instance** en la página de resumen.

## AWS CLI
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.CLI"></a>

Puede publicar registros de base de datos MariaDB con la AWS CLI. Puede llamar al comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con los parámetros siguientes: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**nota**  
Los cambios en la opción `--cloudwatch-logs-export-configuration` siempre se aplican a la instancia de base de datos inmediatamente. Por lo tanto, las opciones `--apply-immediately` y `--no-apply-immediately` no tienen ningún efecto.

También puede publicar registros de MariaDB si llama a los siguientes comandos de la AWS CLI: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Ejecute uno de estos comandos de la AWS CLI con las siguientes opciones: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Podrían ser necesarias otras opciones en función del comando de la AWS CLI que ejecute.

**Example**  
En el siguiente ejemplo se modifica una instancia de base de datos MariaDB existente para publicar archivos de registro en CloudWatch Logs. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `EnableLogTypes` y su valor es una matriz de cadenas con cualquier combinación de `audit`, `error`, `general` y `slowquery`.  
Para Linux, macOS o Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```
Para Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```

**Example**  
El siguiente comando crea una instancia de base de datos MariaDB y publica archivos de registro en CloudWatch Logs. El valor `--enable-cloudwatch-logs-exports` es una matriz de cadenas JSON. Las cadenas pueden ser cualquier combinación de `audit`, `error`, `general` y `slowquery`.  
Para Linux, macOS o Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \
4.     --db-instance-class db.m4.large \
5.     --engine mariadb
```
Para Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine mariadb
```

## API de RDS
<a name="USER_LogAccess.MariaDB.PublishtoCloudWatchLogs.API"></a>

Puede publicar registros de MariaDB con la API de RDS. Puede realizar una llamada a la operación [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con los parámetros siguientes: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**nota**  
Los cambios en el parámetro `CloudwatchLogsExportConfiguration` siempre se aplican a la instancia de base de datos inmediatamente. Por tanto, el parámetro `ApplyImmediately` no tiene efecto.

También puede publicar registros de MariaDB llamando a las siguientes operaciones de la API de RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Ejecute una de estas operaciones de la API de RDS con los siguientes parámetros: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Podrían ser necesarios otros parámetros en función del comando de la AWS CLI que ejecute.

# Rotación y retención de registros para MariaDB
<a name="USER_LogAccess.MariaDB.LogFileSize"></a>

Cuando el registro está habilitado, Amazon RDS rota los registros de las tablas o elimina los archivos de registro a intervalos regulares. Esta medida es una precaución para reducir el riesgo de que un archivo de registro grande bloquee el uso de la base de datos o afecte al desempeño.

El tamaño de los archivos de registro de consultas lentas, registro de errores y registro general de MariaDB está limitado al 2 por ciento del espacio de almacenamiento asignado a una instancia de base de datos. Para mantener este umbral, los registros se rotan automáticamente cada hora y los que tienen una antigüedad superior a 24 horas se eliminan. Si el tamaño combinado de los archivos de registro sobrepasa el umbral después de eliminar los archivos de registro antiguos, los archivos de registro más grandes se eliminan hasta que el tamaño del archivo de registro deje de sobrepasar el umbral.

Amazon RDS rota los archivos de registro de errores de autenticación de la base de datos de IAM de más de 10 MB. Amazon RDS elimina los archivos de registro de errores de autenticación de la base de datos de IAM que tengan más de cinco días o más de 100 MB.

# Administración de registros de MariaDB basados en tablas
<a name="Appendix.MariaDB.CommonDBATasks.Logs"></a>

Puede dirigir los registros de las consultas lentas a tablas de la instancia de base de datos. Para ello, cree un grupo de parámetros de base de datos y defina el parámetro del servidor `log_output` en `TABLE`. Las consultas generales se registrarán entonces en la tabla `mysql.general_log` y las consultas lentas en la tabla `mysql.slow_log`. Puede consultar las tablas para obtener acceso a la información del registro. Al habilitar este registro, se incrementa la cantidad de datos que se escribe en la base de datos, lo que puede degradar el desempeño.

Tanto el registro general como los registros de consultas lentas están deshabilitados de manera predeterminada. Para habilitar el registro en tablas, también debe establecer los siguientes parámetros del servidor en `1`:
+ `general_log`
+ `slow_query_log` o `log_slow_query`

Las tablas de registro seguirán creciendo hasta que las actividades de registro respectivas se desactiven cambiando el valor del parámetro a `0`. A menudo, se acumula una gran cantidad de datos, lo que puede consumir un porcentaje elevado del espacio de almacenamiento asignado. Amazon RDS no le permite truncar las tablas de registro, pero sí mover su contenido. Al rotar una tabla, su contenido se guarda en una tabla de copia de seguridad y se crea una nueva tabla de registro vacía. Puede aplicar manualmente la rotación de las tablas de registro con los procedimientos de línea de comandos siguientes, en los que el símbolo del sistema se representa por:`PROMPT>` 

```
PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;
```

 Para eliminar por completo los datos antiguos y recuperar el espacio del disco, llame al procedimiento correspondiente dos veces consecutivas. 

# Configuración de registros binarios de MariaDB
<a name="USER_LogAccess.MariaDB.BinaryFormat"></a>

El *registro binario* es un conjunto de archivos de registro que contienen información acerca de las modificaciones de datos hechas en una instancia de servidor de MariaDB. El registro binario contiene información como la siguiente:
+ Eventos que describen cambios en la base de datos, como la creación de tablas o las modificaciones de filas.
+ Información sobre la duración de cada instrucción que actualizó los datos.
+ Eventos para instrucciones que podrían haber actualizado datos, pero que no lo hicieron.

El registro binario registra las instrucciones que se envían durante la replicación. También es necesario para algunas operaciones de recuperación. Para obtener más información, consulte [Binary Log](https://mariadb.com/kb/en/binary-log/) en la documentación de MariaDB.

La característica de copias de seguridad automatizadas determina si el registro binario se activa o desactiva para MariaDB. Dispone de las opciones siguientes:

Activar el registro binario.  
Establecer el periodo de retención de copia de seguridad en un valor positivo distinto de cero.

Desactivar el registro binario.  
Establecer el periodo de retención de copia de seguridad en cero.

Para obtener más información, consulte [Habilitar las copias de seguridad automatizadas](USER_WorkingWithAutomatedBackups.Enabling.md).

MariaDB en Amazon RDS admite los formatos de registro binario *basado en filas*, *basado en instrucciones* y *mixto*. El formato de registro binario predeterminado es el *mixto*. Para obtener información detallada acerca de los formatos de registro binarios de MariaDB, consulte [Binary Log Formats](http://mariadb.com/kb/en/mariadb/binary-log-formats/) en la documentación de MariaDB.

Si tiene pensado usar la replicación, el formato de registro binario es importante. Esto es importante porque determina el registro de los cambios de datos que se registra en la fuente y se envía a los objetivos de replicación. Para obtener más información acerca de las ventajas y desventajas de distintos tipos de formatos de registro binarios para la replicación, consulte [Advantages and Disadvantages of Statement-Based and Row-Based Replication](https://dev.mysql.com/doc/refman/5.7/en/replication-sbr-rbr.html) en la documentación de MySQL.

**importante**  
La configuración del formato de registro binario como basado en filas puede generar archivos de registro binario muy grandes. Los archivos de registro binario grandes reducen la cantidad de almacenamiento disponible para una instancia de base de datos. También pueden incrementar la cantidad de tiempo necesaria para llevar a cabo la operación de restauración de una instancia de base de datos.  
La replicación basada en instrucciones puede causar incoherencias entre la instancia de base de datos de origen y la réplica de lectura. Para obtener más información, consulte [Unsafe Statements for Statement-based Replication](https://mariadb.com/kb/en/library/unsafe-statements-for-statement-based-replication/) en la documentación de MariaDB.  
Habilitar el registro binario aumenta el número de operaciones de E/S de escritura en el disco en la instancia de base de datos. Puede supervisar el uso de IOPS con la métrica de CloudWatch `WriteIOPS`.

**Para configurar el formato de registro binario de MariaDB**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Parameter groups** (Grupos de parámetros).

1. Elija el grupo de parámetros utilizados por la instancia de base de datos que quiera modificar.

   No puede modificar un grupo de parámetros predeterminado. Si la instancia de base de datos emplea un grupo de parámetros predeterminado, cree un nuevo grupo de parámetros y asócielo con la instancia de base de datos.

   Para obtener más información acerca de los grupos de parámetros de base de datos, consulte [Grupos de parámetros para Amazon RDS](USER_WorkingWithParamGroups.md).

1. En **Parameter group actions (Acciones de grupos de parámetros)**, seleccione **Edit (Editar)**.

1. Establezca el parámetro `binlog_format` en el formato de registro binario de su elección (**ROW**, **STATEMENT** o **MIXED**).

   Para desactivar el registro binario establezca el período de retención de copias de seguridad de una instancia de base de datos en cero. Tenga en cuenta que esto deshabilita las copias de seguridad automatizadas diarias. Al deshabilitar las copias de seguridad automatizadas, se desactiva o deshabilita la variable de sesión `log_bin`. Esto deshabilita el registro binario en la instancia de base de datos de RDS para MariaDB, lo que a su vez restablece la variable de sesión `binlog_format` al valor predeterminado de `ROW` en la base de datos. Se recomienda no deshabilitar las copias de seguridad. Para obtener más información acerca de la configuración del **Período de retención de copia de seguridad**, consulte [Configuración de instancias de base de datos](USER_ModifyInstance.Settings.md).

1. Elija **Guardar cambios** para guardar los cambios realizados en el grupo de parámetros de base de datos.

Dado que el parámetro `binlog_format` es dinámico en RDS para MariaDB, no es necesario reiniciar la instancia de base de datos para que se apliquen los cambios. 

**importante**  
El cambio de un grupo de parámetros de base de datos afecta a todas las instancias de base de datos que utilizan ese grupo de parámetros. Si desea especificar diferentes formatos de registro binario para diferentes instancias de base de datos de MariaDB en una región de AWS, las instancias de base de datos deben utilizar diferentes grupos de parámetros de bases de datos. Estos grupos de parámetros identifican diferentes formatos de registro. Asigne el grupo de parámetros de base de datos apropiado a cada instancia de base de datos.

# Acceso a los registros binarios de MariaDB
<a name="USER_LogAccess.MariaDB.Binarylog"></a>

Puede usar la utilidad mysqlbinlog para descargar los registros binarios en formato de texto desde las instancias de base de datos de MariaDB. El registro binario se descarga en su equipo local. Para obtener más información acerca del uso de la utilidad mysqlbinlog, vaya a [Using mysqlbinlog](http://mariadb.com/kb/en/mariadb/using-mysqlbinlog/) en la documentación de MariaDB.

 Para ejecutar la utilidad mysqlbinlog en una instancia de Amazon RDS, use las siguientes opciones: 
+  Especifique la opción `--read-from-remote-server`. 
+  `--host`: especifique el nombre de DNS del punto de conexión de la instancia. 
+  `--port`: especifique el puerto que utiliza la instancia. 
+  `--user`: especifique un usuario de MariaDB al que se haya asignado el permiso de esclavo de replicación. 
+  `--password`: especifique la contraseña del usuario o no indique ninguna para que la utilidad pida una contraseña. 
+  `--result-file`: especifique el archivo local que recibirá la salida. 
+ Especifique los nombres de uno o varios de los archivos de registro binarios. Para obtener una lista de los registros disponibles, use el comando SHOW BINARY LOGS de SQL. 

Para obtener más información acerca de las opciones de mysqlbinlog, vaya a [mysqlbinlog Options](http://mariadb.com/kb/en/mariadb/mysqlbinlog-options/) en la documentación de MariaDB. 

 A continuación se muestra un ejemplo: 

Para Linux, macOS o:Unix

```
mysqlbinlog \
    --read-from-remote-server \
    --host=mariadbinstance1.1234abcd.region.rds.amazonaws.com \
    --port=3306  \
    --user ReplUser \
    --password <password> \
    --result-file=/tmp/binlog.txt
```

En:Windows

```
mysqlbinlog ^
    --read-from-remote-server ^
    --host=mariadbinstance1.1234abcd.region.rds.amazonaws.com ^
    --port=3306  ^
    --user ReplUser ^
    --password <password> ^
    --result-file=/tmp/binlog.txt
```

Normalmente, Amazon RDS limpia un registro binario lo antes posible. Sin embargo, el registro binario debe seguir estando disponible en la instancia para que mysqlbinlog pueda obtener acceso a él. Para especificar el número de horas que RDS retiene los registros binarios, use el procedimiento almacenado `mysql.rds_set_configuration`. Especifique un período con tiempo suficiente para descargar los registros. Una vez que haya definido el periodo de retención, monitorice el uso del almacenamiento para la instancia de base de datos con el fin de asegurarse de que los registros binarios conservados no consuman demasiado almacenamiento.

En el siguiente ejemplo se define el periodo de retención en 1 día.

```
call mysql.rds_set_configuration('binlog retention hours', 24); 
```

Para mostrar el valor actual, utilice el procedimiento almacenado `mysql.rds_show_configuration`.

```
call mysql.rds_show_configuration; 
```

# Habilitación de la anotación de registros binarios de MariaDB
<a name="USER_LogAccess.MariaDB.BinarylogAnnotation"></a>

En una instancia de base de datos de MariaDB, puede usar el evento `Annotate_rows` para incluir en un evento de fila una copia de la consulta de SQL que causó el evento de fila. Este enfoque proporciona una funcionalidad similar a la habilitación del parámetro `binlog_rows_query_log_events` en una instancia de base de datos de RDS para MySQL.

Puede habilitar globalmente las anotaciones de registros binarios creando un grupo de parámetros personalizado y definiendo el parámetro `binlog_annotate_row_events` como **1**. También puede habilitar las anotaciones en el nivel de sesión llamando a `SET SESSION binlog_annotate_row_events = 1`. Use `replicate_annotate_row_events` para reproducir las anotaciones de registros binarios en la instancia réplica si el registro binario está habilitado en ella. No se requieren privilegios especiales para usar estos ajustes.

A continuación se muestra un ejemplo de una transacción basada en filas de MariaDB. El uso del registro basado en filas se dispara definiendo el nivel de aislamiento de transacciones como de lectura confirmada.

```
CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE square(x INT PRIMARY KEY, y INT NOT NULL) ENGINE = InnoDB;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
BEGIN
INSERT INTO square(x, y) VALUES(5, 5 * 5);
COMMIT;
```

Sin anotaciones, las entradas de los registros binarios de la transacción tendrán un aspecto similar al siguiente:

```
BEGIN
/*!*/;
# at 1163
# at 1209
#150922  7:55:57 server id 1855786460  end_log_pos 1209         Table_map: `test`.`square` mapped to number 76
#150922  7:55:57 server id 1855786460  end_log_pos 1247         Write_rows: table id 76 flags: STMT_END_F
### INSERT INTO `test`.`square`
### SET
###   @1=5
###   @2=25
# at 1247
#150922  7:56:01 server id 1855786460  end_log_pos 1274         Xid = 62
COMMIT/*!*/;
```

La siguiente instrucción habilita las anotaciones de nivel de sesión para esta misma transacción y las deshabilita después de confirmar la transacción:

```
CREATE DATABASE IF NOT EXISTS test;
USE test;
CREATE TABLE square(x INT PRIMARY KEY, y INT NOT NULL) ENGINE = InnoDB;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
SET SESSION binlog_annotate_row_events = 1;
BEGIN;
INSERT INTO square(x, y) VALUES(5, 5 * 5);
COMMIT;
SET SESSION binlog_annotate_row_events = 0;
```

Con anotaciones, las entradas de los registros binarios de la transacción tendrán un aspecto similar al siguiente:

```
BEGIN
/*!*/;
# at 423
# at 483
# at 529
#150922  8:04:24 server id 1855786460  end_log_pos 483  Annotate_rows:
#Q> INSERT INTO square(x, y) VALUES(5, 5 * 5)
#150922  8:04:24 server id 1855786460  end_log_pos 529  Table_map: `test`.`square` mapped to number 76
#150922  8:04:24 server id 1855786460  end_log_pos 567  Write_rows: table id 76 flags: STMT_END_F
### INSERT INTO `test`.`square`
### SET
###   @1=5
###   @2=25
# at 567
#150922  8:04:26 server id 1855786460  end_log_pos 594  Xid = 88
COMMIT/*!*/;
```

# Archivos de registro de base de datos de Amazon RDS para Microsoft SQL Server
<a name="USER_LogAccess.Concepts.SQLServer"></a>

Puede acceder a registros de errores, registros de agentes, archivos de seguimiento y archivos de volcado de Microsoft SQL Server mediante la consola de Amazon RDS, la AWS CLI o la API de RDS. Para obtener más información acerca de la visualización, descarga y vigilancia de los registros de bases de datos basados en archivos, consulte [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md).

## Calendario de retención
<a name="USER_LogAccess.Concepts.SQLServer.Retention"></a>

Los archivos de registro rotan cada día y cuando se reinicia la instancia de base de datos. A continuación, se muestra el calendario de retención para los registros de Microsoft SQL Server en Amazon RDS. 


****  

| Log type (Tipo de registro) | Calendario de retención | 
| --- | --- | 
|  Registros de errores  |  Se retiene un máximo de 30 registros de errores. Amazon RDS podría eliminar los registros de errores que tienen más de 7 días.   | 
|  Registros de agentes  |  Se retiene un máximo de 10 registros de agente. Amazon RDS podría eliminar los registros de agente que tienen más de 7 días.   | 
|  Archivos de seguimiento  |  Los archivos de seguimiento se conservan según el periodo de retención de archivos de seguimiento de la instancia de base de datos. El periodo de retención de archivos de seguimiento predeterminado es de 7 días. Para modificar el periodo de retención de archivos de seguimiento de la instancia de base de datos, consulte [Definición del periodo de retención para los archivos de seguimiento y volcado](Appendix.SQLServer.CommonDBATasks.TraceFiles.md#Appendix.SQLServer.CommonDBATasks.TraceFiles.PurgeTraceFiles).   | 
|  Archivos de volcado  |  Los archivos de volcado se conservan según el periodo de retención de archivos de volcado de la instancia de base de datos. El periodo de retención predeterminado para los archivos de volcado es de 7 días. Para modificar el periodo de retención de los archivos de volcado de la instancia de base de datos, consulte [Definición del periodo de retención para los archivos de seguimiento y volcado](Appendix.SQLServer.CommonDBATasks.TraceFiles.md#Appendix.SQLServer.CommonDBATasks.TraceFiles.PurgeTraceFiles).   | 

## Visualización del registro de errores de SQL Server mediante el procedimiento rds\$1read\$1error\$1log
<a name="USER_LogAccess.Concepts.SQLServer.Proc"></a>

Puede utilizar el procedimiento almacenado `rds_read_error_log` de Amazon RDS para ver registros de errores y registros de agentes. Para obtener más información, consulte [Visualización de registros de agentes y errores](Appendix.SQLServer.CommonDBATasks.Logs.md#Appendix.SQLServer.CommonDBATasks.Logs.SP). 

## Publicación de registros de SQL Server en Amazon CloudWatch Logs
<a name="USER_LogAccess.SQLServer.PublishtoCloudWatchLogs"></a>

Con Amazon RDS for SQL Server, puede publicar eventos de errores y registros de agente directamente en Amazon CloudWatch Logs. Analice los datos de registro con CloudWatch Logs y utilice CloudWatch para crear alarmas y ver métricas.

En CloudWatch Logs, tiene las siguientes opciones:
+ Almacenar registros en un espacio de almacenamiento de larga duración con un periodo de retención que defina.
+ Buscar y filtrar los datos de registro.
+ Compartir datos de registro entre cuentas.
+ Exportar registros a Amazon S3.
+ Transmitir datos por streaming a Amazon OpenSearch Service.
+ Procesar los datos de registros en tiempo real con Amazon Kinesis Data Streams. Para obtener más información, consulte [Uso de Registros de Amazon CloudWatch](https://docs.aws.amazon.com/kinesisanalytics/latest/dev/cloudwatch-logs.html) en la *Guía para desarrolladores de aplicaciones SQL de Amazon Managed Service para Apache Flink*.

 Amazon RDS publica cada registro de base de datos de SQL Server como un flujo de base de datos independiente en el grupo de registros. Por ejemplo, si publica registros de agentes y registros de errores, se almacenan datos de errores en un flujo de registro de errores en el grupo de registro `/aws/rds/instance/my_instance.node1/error` y se almacenan los datos de registros de agentes en el grupo de registro `/aws/rds/instance/my_instance.node1/agent`.

Para las instancias de base de datos Multi-AZ, Amazon RDS publica el registro de la base de datos como dos flujos independientes en el grupo de registro. Por ejemplo, si publica registros de errores, los datos de errores se almacenan en los flujos de registro de errores `/aws/rds/instance/my_instance.node1/error` y `/aws/rds/instance/my_instance.node2/error` respectivamente. Los flujos de registro no cambian durante una conmutación por error y el flujo de registro de errores de cada nodo puede contener registros de errores de la instancia principal o secundaria. Con multi-AZ, se crea automáticamente un flujo de registro para que `/aws/rds/instance/my_instance/rds-events` almacene los datos de eventos, como las conmutaciones por error de instancias de base de datos.

**nota**  
La publicación de registros de SQL Server en CloudWatch Logs no está habilitado de manera predeterminada. La publicación de archivos de seguimiento y volcado no es compatible. La publicación de registros de SQL Server en CloudWatch Logs es compatible en todas las regiones.

### Consola
<a name="USER_LogAccess.SQLServer.PublishtoCloudWatchLogs.console"></a>

**Para publicar registros de base de datos de SQL Server en CloudWatch Logs desde Consola de administración de AWS**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases (Bases de datos)** y, a continuación, seleccione la instancia de base de datos que desee modificar.

1. Elija **Modify**.

1. En la sección **Logs exports (Exportaciones de registros)**, elija los registros que desea comenzar a publicar en CloudWatch Logs.

   Puede elegir **Agent log (Registro de agentes)**, **Error log (Registro de errores)** o ambos.

1. Elija **Continue**, seguido de **Modify DB Instance** en la página de resumen.

### AWS CLI
<a name="USER_LogAccess.SQLServer.PublishtoCloudWatchLogs.CLI"></a>

Para publicar registros de SQL Server, puede utilizar el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con los siguientes parámetros: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**nota**  
Los cambios en la opción `--cloudwatch-logs-export-configuration` siempre se aplican a la instancia de base de datos inmediatamente. Por lo tanto, las opciones `--apply-immediately` y `--no-apply-immediately` no tienen ningún efecto.

También puede publicar registros de SQL Server utilizando los siguientes comandos: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

**Example**  
En el siguiente ejemplo se crea una instancia de base de datos de SQL Server con la publicación de registros de CloudWatch Logs habilitada. El valor `--enable-cloudwatch-logs-exports` es una matriz de cadenas JSON que puede incluir `error`, `agent` o ambos.  
Para Linux, macOS o Unix:  

```
aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --enable-cloudwatch-logs-exports '["error","agent"]' \
    --db-instance-class db.m4.large \
    --engine sqlserver-se
```
Para Windows:  

```
aws rds create-db-instance ^
    --db-instance-identifier mydbinstance ^
    --enable-cloudwatch-logs-exports "[\"error\",\"agent\"]" ^
    --db-instance-class db.m4.large ^
    --engine sqlserver-se
```
Al utilizar el símbolo del sistema de Windows, debe aplicar escape con comillas dobles (") en código JSON al ponerlas como prefijo con una barra invertida (\$1).

**Example**  
En el siguiente ejemplo se modifica una instancia de base de datos SQL Server existente para publicar archivos de registro en CloudWatch Logs. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `EnableLogTypes` y su valor es una matriz de cadenas que puede incluir `error`, `agent` o ambos.  
Para Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["error","agent"]}'
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration "{\"EnableLogTypes\":[\"error\",\"agent\"]}"
```
Al utilizar el símbolo del sistema de Windows, debe aplicar escape con comillas dobles (") en código JSON al ponerlas como prefijo con una barra invertida (\$1).

**Example**  
En el siguiente ejemplo se modifica una instancia de base de datos SQL Server existente para deshabilitar la publicación de archivos de registro del agente en CloudWatch Logs. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `DisableLogTypes` y su valor es una matriz de cadenas que puede incluir `error`, `agent` o ambos.  
Para Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"DisableLogTypes":["agent"]}'
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration "{\"DisableLogTypes\":[\"agent\"]}"
```
Al utilizar el símbolo del sistema de Windows, debe aplicar escape con comillas dobles (") en código JSON al ponerlas como prefijo con una barra invertida (\$1).

# Archivos de registro de base de datos de MySQL
<a name="USER_LogAccess.Concepts.MySQL"></a>

Puede supervisar los registros de MySQL directamente desde la consola de Amazon RDS, la API de Amazon RDS, AWS CLI o los SDK de AWS. También es posible el acceso a los registros de MySQL dirigiéndolos a una tabla de la base de datos principal y consultando esa tabla. Puede usar la utilidad mysqlbinlog para descargar un registro binario. 

Para obtener más información acerca de la visualización, descarga y vigilancia de los registros de bases de datos basados en archivos, consulte [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md).

**Topics**
+ [Información general de los registros de bases de datos de RDS para MySQL](USER_LogAccess.MySQL.LogFileSize.md)
+ [Publicación de registros de MySQL en Amazon CloudWatch Logs](USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs.md)
+ [Envío de la salida del registro de MySQL a las tablas](Appendix.MySQL.CommonDBATasks.Logs.md)
+ [Configuración del registro binario de RDS para MySQL para bases de datos Single-AZ](USER_LogAccess.MySQL.BinaryFormat.md)
+ [Configuración del registro binario de MySQL para clústeres de bases de datos multi-AZ](USER_Binlog.MultiAZ.md)
+ [Acceso a los registros binarios de MySQL](USER_LogAccess.MySQL.Binarylog.md)

# Información general de los registros de bases de datos de RDS para MySQL
<a name="USER_LogAccess.MySQL.LogFileSize"></a>

Puede supervisar los siguientes tipos de archivos de registro de RDS para MySQL:
+ Registro de errores
+ Registro de consultas lentas
+ Registro general
+ Registro de auditoría
+ Registro de instancias
+ Registro de errores de autenticación de base de datos de IAM

El registro de errores de RDS para MySQL se genera de forma predeterminada. Puede generar la consulta lenta y los registros generales estableciendo parámetros en su grupo de parámetros de base de datos.

**Topics**
+ [Registros de errores de RDS para MySQL](#USER_LogAccess.MySQL.Errorlog)
+ [Registros generales y de consultas lentas de RDS para MySQL](#USER_LogAccess.MySQL.Generallog)
+ [Registro de auditoría de MySQL](#USER_LogAccess.MySQL.Auditlog)
+ [Rotación y retención de registros en RDS para MySQL](#USER_LogAccess.MySQL.LogFileSize.retention)
+ [Límites de tamaño en registro REDO](#USER_LogAccess.MySQL.LogFileSize.RedoLogs)

## Registros de errores de RDS para MySQL
<a name="USER_LogAccess.MySQL.Errorlog"></a>

RDS para MySQL escribe los errores en el archivo `mysql-error.log`. Cada archivo de registro tiene la hora a la que se generó (en UTC) agregada a su nombre. Los archivos de registro también tienen una marca temporal que ayuda a determinar cuándo se escribieron las entradas del registro.

RDS for MySQL solo escribe en el registro de errores durante el inicio, el cierre y cuando encuentra errores. Una instancia de base de datos puede pasar horas o días sin que se escriban nuevas entradas en el registro de errores. Si no hay entradas recientes, se debe a que el servidor no ha encontrado ningún error que genere una entrada en el registro.

Por diseño, los registros de errores se filtran para que solo se muestren los eventos inesperados, por ejemplo, los errores. No obstante, los registros de errores también contienen información adicional sobre la base de datos, por ejemplo, el progreso de la consulta, que no se muestra. Por lo tanto, incluso sin ningún error real, el tamaño de los registros de errores podría aumentar debido a las actividades continuas de la base de datos. Y, aunque puede que vea un tamaño determinado en bytes o kilobytes en los registros de error de la Consola de administración de AWS, es posible que tengan 0 bytes al descargarlos.

RDS para MySQL escribe `mysql-error.log` en disco cada 5 minutos. Adjunta el contenido del registro a `mysql-error-running.log`.

RDS para MySQL rota el archivo `mysql-error-running.log` cada hora. Retiene los registros generados durante las dos últimas semanas.

**nota**  
Tenga en cuenta que el periodo de retención es diferente entre Amazon RDS y Aurora.

## Registros generales y de consultas lentas de RDS para MySQL
<a name="USER_LogAccess.MySQL.Generallog"></a>

Puede escribir el registro de consultas lentas de RDS para MySQL y el registro general en un archivo o en una tabla de la base de datos. Para hacerlo, establezca los parámetros en el grupo de parámetros de la base de datos. Para obtener información acerca de cómo crear y modificar un grupo de parámetros de base de datos, consulte [Grupos de parámetros para Amazon RDS](USER_WorkingWithParamGroups.md). Debe definir estos parámetros para poder ver el registro de consultas lentas o el registro general en la consola de Amazon RDS o a través de la API de Amazon RDS, la CLI de Amazon RDS o los SDK de AWS.

Puede controlar lo que registra RDS para MySQL con los parámetros de esta lista:
+ `slow_query_log`: para crear el registro de consultas lentas, use el valor 1. El valor predeterminado es 0.
+ `general_log`: para crear el registro general, use el valor 1. El valor predeterminado es 0.
+ `long_query_time`: para evitar que se registren consultas rápidas en el registro de consultas lentas, especifique el valor del tiempo de ejecución mínimo de una consulta, en segundos, para que se registre. El valor predeterminado es 10 segundos y el mínimo es 0. Si log\$1output = FILE, puede especificar un valor de punto flotante que llega a una resolución de microsegundos. Si log\$1output = TABLE, debe especificar un valor entero con resolución de segundos. Solo se registran las consultas cuyo tiempo de ejecución exceda el valor de `long_query_time`. Por ejemplo, si configura `long_query_time` como 0,1, evitará que se registren las consultas que tarden menos de 100 milisegundos en ejecutarse.
+ `log_queries_not_using_indexes`: para incluir en el registro de consultas lentas todas las consultas que no usen un índice, use el valor 1. Las consultas que no usen un índice se registran incluso si su tiempo de ejecución es inferior al valor del parámetro `long_query_time`. El valor predeterminado es 0.
+ `log_output option`: puede especificar una de las opciones siguientes para el parámetro `log_output`. 
  + **TABLE** (predeterminada): las consultas generales se escriben en la tabla `mysql.general_log` y las consultas lentas en la tabla `mysql.slow_log`.
  + **FILE**: tanto los registros de las consultas generales como los de las consultas lentas se escriben en el sistema de archivos.
  + **NONE**: deshabilitar registro.

Para que los datos de consultas lentas aparezcan en Registros de Amazon CloudWatch, se deben cumplir las siguientes condiciones:
+ Registros de CloudWatch debe configurarse para incluir registros de consultas lentas.
+ `slow_query_log` debe estar habilitado.
+ `log_output` debe establecerse en `FILE`.
+ La consulta debe tardar más tiempo que el tiempo configurado para `long_query_time`.

Para obtener más información sobre la el registro de consultas lentas y el registro general, consulte los siguientes temas de la documentación de MySQL:
+ [El registro de consultas lentas](https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html)
+ [El registro de consultas generales](https://dev.mysql.com/doc/refman/8.0/en/query-log.html)

## Registro de auditoría de MySQL
<a name="USER_LogAccess.MySQL.Auditlog"></a>

Para acceder al registro de auditoría, la instancia de base de datos debe usar un grupo de opciones personalizado con la opción `MARIADB_AUDIT_PLUGIN`. Para obtener más información, consulte [Compatibilidad con el complemento de auditoría de MariaDB para MySQL](Appendix.MySQL.Options.AuditPlugin.md).

## Rotación y retención de registros en RDS para MySQL
<a name="USER_LogAccess.MySQL.LogFileSize.retention"></a>

Cuando el registro está habilitado, Amazon RDS rota los registros de las tablas o elimina los archivos de registro a intervalos regulares. Esta medida es una precaución para reducir el riesgo de que un archivo de registro grande bloquee el uso de la base de datos o afecte al desempeño. RDS para MySQL gestiona la rotación y la eliminación de la siguiente manera:
+ El tamaño de los archivos de registro de consultas lentas, registro de errores y registro general de MySQL está limitado al 2 por ciento del espacio de almacenamiento asignado a una instancia de base de datos. Para mantener este umbral, los registros se rotan automáticamente cada hora. MySQL elimina los archivos de registro de más de dos semanas de antigüedad. Si el tamaño combinado de los archivos de registro sobrepasa el umbral después de eliminar los archivos de registro antiguos, los archivos de registro más grandes se eliminan hasta que el tamaño del archivo de registro deje de sobrepasar el umbral.
+ Cuando se habilita el registro `FILE`, los archivos de registro se examinan cada hora y se eliminan los archivos de registro de más de dos semanas de antigüedad. En algunos casos, el tamaño restante del archivo de registro combinado después de la eliminación puede superar el umbral del 2 por ciento del espacio asignado a una instancia de base de datos. En estos casos, los archivos de registro más antiguos se eliminan hasta que el tamaño del archivo de registro no sobrepase el umbral.
+ Cuando el registro de tipo `TABLE` está habilitado, en algunos casos, las tablas de registro se rotan cada 24 horas. Esta rotación de produce cuando el espacio ocupado por los registros de tabla es superior al 20% del espacio de almacenamiento asignado. También ocurre si el tamaño de todos los registros combinados es superior a 10 GB. Si la cantidad de espacio utilizada para una instancia de base de datos es superior al 90 % del espacio de almacenamiento asignado a la instancia de base de datos, se reducen los umbrales de la rotación de registros. Las tablas de registro se rotan si el espacio ocupado por los registros de tabla es superior al 10 % del espacio de almacenamiento asignado. También rotan si el tamaño de todos los registros combinados es superior a 5 GB. Puede suscribirse a la categoría de evento `low storage` para recibir una notificación cuando roten las tablas de registro para liberar espacio. Para obtener más información, consulte [Uso de notificaciones de eventos de Amazon RDS](USER_Events.md).

  Cuando se rotan las tablas de registro, la tabla de registro actual se copia primero en una tabla de registro de copia de seguridad. A continuación, se eliminan las entradas de la tabla de registro actual. Si la tabla de registro de copia de seguridad ya existe, se elimina antes de copiar la tabla del registro actual en la copia de seguridad. Puede consultar la tabla de registro de copia de seguridad si es necesaria. La tabla de registro de copia de seguridad para la tabla `mysql.general_log` se llama `mysql.general_log_backup`. La tabla de registro de copia de seguridad para la tabla `mysql.slow_log` se llama `mysql.slow_log_backup`.

  Para rotar la tabla `mysql.general_log` puede ejecutar el procedimiento `mysql.rds_rotate_general_log`. Para rotar la tabla `mysql.slow_log` puede ejecutar el procedimiento `mysql.rds_rotate_slow_log`.

  Los registros de tabla se rotan durante una actualización de la versión de la base de datos.

Para trabajar con los registros desde la consola de Amazon RDS, la API de Amazon RDS, la CLI de Amazon RDS o los SDK de AWS, configure el parámetro `log_output` en FILE. Al igual que el registro de errores de MySQL, estos archivos de registro rotan cada hora. Se retienen los archivos de registro que se generaron durante las dos semanas anteriores. Tenga en cuenta que el período de retención es diferente entre Amazon RDS y Aurora.

## Límites de tamaño en registro REDO
<a name="USER_LogAccess.MySQL.LogFileSize.RedoLogs"></a>

Para la versión 8.0.32 y anteriores de RDS para MySQL, el valor predeterminado de este parámetro es 256 MB. Esta cantidad se obtiene multiplicando el valor predeterminado del parámetro `innodb_log_file_size` (128 MB) por el valor predeterminado del parámetro `innodb_log_files_in_group` (2). Para obtener más información, consulte [Best practices for configuring parameters for Amazon RDS for MySQL, part 1: Parameters related to performance](https://aws.amazon.com/blogs/database/best-practices-for-configuring-parameters-for-amazon-rds-for-mysql-part-1-parameters-related-to-performance/). 

Para la versión 8.0.33 de RDS para MySQL y versiones menores posteriores, Amazon RDS utiliza el parámetro `innodb_redo_log_capacity` en lugar del parámetro `innodb_log_file_size`. El valor predeterminado en Amazon RDS del parámetro `innodb_redo_log_capacity` es 2 GB. Para obtener más información, consulte [Cambios en MySQL 8.0.30](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html), en la documentación de MySQL.

A partir de MySQL 8.4, Amazon RDS habilita el parámetro `innodb_dedicated_server` de forma predeterminada. Con el parámetro `innodb_dedicated_server`, el motor de base de datos calcula los parámetros `innodb_buffer_pool_size` y `innodb_redo_log_capacity`. Para obtener más información, consulte [Configuración del tamaño del grupo de búferes y la capacidad de registros redo en MySQL 8.4](Appendix.MySQL.CommonDBATasks.Config.Size.8.4.md).

# Publicación de registros de MySQL en Amazon CloudWatch Logs
<a name="USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs"></a>

Se puede configurar una instancia de base de datos MySQL para publicar datos de registro en un grupo de registros en Amazon CloudWatch Logs. Con CloudWatch Logs, puede realizar análisis en tiempo real de los datos de registro y utilizar CloudWatch para crear alarmas y ver métricas. Puede utilizar CloudWatch Logs para almacenar los registros de registros en almacenamiento de larga duración. 

Amazon RDS publica cada registro de base de datos de MySQL como un flujo de base de datos independiente en el grupo de registros. Por ejemplo, si configura la función de exportación para que incluya el registro de consultas lentas, los datos de consultas lentas se almacenan en un flujo de registros de consultas lentas en el grupo de registros `/aws/rds/instance/my_instance/slowquery`. 

El registro de errores están habilitados de forma predeterminada. La tabla siguiente resume los requisitos para los otros registros de MySQL.


| Registro | Requisito | 
| --- | --- | 
|  Registro de auditoría  |  La instancia de base de datos debe usar un grupo de opciones personalizado con la opción `MARIADB_AUDIT_PLUGIN`.  | 
|  Registro general  |  La instancia de base de datos debe usar un grupo de parámetros personalizado con la configuración del parámetro `general_log = 1` para habilitar el registro general.  | 
|  Registro de consultas lentas  |  La instancia de base de datos debe usar un grupo de parámetros personalizado con la configuración del parámetro `slow_query_log = 1` para habilitar el registro de consultas lentas.  | 
|  Registro de errores de autenticación de base de datos de IAM  |  Debe habilitar el tipo de registro `iam-db-auth-error` para una instancia de base de datos mediante la creación o modificación de una instancia de base de datos.  | 
|  Resultado de registro  |  La instancia de base de datos debe usar un grupo de parámetros personalizado con la configuración del parámetro `log_output = FILE` para escribir registros en el sistema de archivos y publicarlos en CloudWatch Logs.  | 

## Consola
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.CON"></a>

**Para publicar registros de base de datos MySQL en CloudWatch Logs con la consola**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases (Bases de datos)** y, a continuación, seleccione la instancia de base de datos que desee modificar.

1. Elija **Modify**.

1. En la sección **Logs exports (Exportaciones de registros)**, elija los registros que desea comenzar a publicar en CloudWatch Logs.

1. Elija **Continue**, seguido de **Modify DB Instance** en la página de resumen.

## AWS CLI
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.CLI"></a>

 Puede publicar registros de MySQL con la AWS CLI. Puede llamar al comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con los parámetros siguientes: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**nota**  
Los cambios en la opción `--cloudwatch-logs-export-configuration` siempre se aplican a la instancia de base de datos inmediatamente. Por lo tanto, las opciones `--apply-immediately` y `--no-apply-immediately` no tienen ningún efecto.

También puede publicar registros de MySQL llamando a los siguientes comandos de AWS CLI: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Ejecute uno de estos comandos de la AWS CLI con las siguientes opciones: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Podrían ser necesarias otras opciones en función del comando de la AWS CLI que ejecute.

**Example**  
En el siguiente ejemplo se modifica una instancia de base de datos MySQL DB para publicar archivos de registro en CloudWatch Logs. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `EnableLogTypes` y su valor es una matriz de cadenas con cualquier combinación de `audit`, `error`, `general` y `slowquery`.  
Para Linux, macOS o Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```
Para Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```

**Example**  
En el siguiente ejemplo se crea una instancia de base de datos MySQL y se publican archivos de registro en CloudWatch Logs. El valor `--enable-cloudwatch-logs-exports` es una matriz de cadenas JSON. Las cadenas pueden ser cualquier combinación de `audit`, `error`, `general` y `slowquery`.  
Para Linux, macOS o Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \
4.     --db-instance-class db.m4.large \
5.     --engine MySQL
```
Para Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine MySQL
```

## API de RDS
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.API"></a>

Puede publicar registros de MySQL con la API de RDS. Puede llamar a la acción [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con los parámetros siguientes: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**nota**  
Los cambios en el parámetro `CloudwatchLogsExportConfiguration` siempre se aplican a la instancia de base de datos inmediatamente. Por tanto, el parámetro `ApplyImmediately` no tiene efecto.

También puede publicar registros de MySQL llamando a las siguientes operaciones de la API de RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Ejecute una de estas operaciones de la API de RDS con los siguientes parámetros: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Podrían ser necesarios otros parámetros en función del comando de la AWS CLI que ejecute.

# Envío de la salida del registro de MySQL a las tablas
<a name="Appendix.MySQL.CommonDBATasks.Logs"></a>

Para dirigir los registros general y de consultas lentas a tablas de la instancia de base de datos, cree un grupo de parámetros de base de datos y asigne al parámetro `log_output` del servidor el valor `TABLE`. Las consultas generales se registrarán entonces en la tabla `mysql.general_log` y las consultas lentas en la tabla `mysql.slow_log`. Puede consultar las tablas para obtener acceso a la información del registro. Al habilitar este registro, se incrementa la cantidad de datos que se escribe en la base de datos, lo que puede degradar el desempeño.

Tanto el registro general como los registros de consultas lentas están deshabilitados de manera predeterminada. Para habilitar el registro en tablas, también debe asignar a los parámetros `general_log` y `slow_query_log` del servidor el valor `1`.

Las tablas de registro seguirán creciendo hasta que las actividades de registro respectivas se desactiven cambiando el valor del parámetro a `0`. A menudo, se acumula una gran cantidad de datos, lo que puede consumir un porcentaje elevado del espacio de almacenamiento asignado. Amazon RDS no permite truncar las tablas de registro, pero sí mover su contenido. Al rotar una tabla, su contenido se guarda en una tabla de copia de seguridad y se crea una nueva tabla de registro vacía. Puede aplicar manualmente la rotación de las tablas de registro con los procedimientos de línea de comandos siguientes, en los que el símbolo del sistema se representa por:`PROMPT>` 

```
PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;
```

Para eliminar por completo los datos antiguos y recuperar el espacio del disco, llame al procedimiento correspondiente dos veces consecutivas. 

# Configuración del registro binario de RDS para MySQL para bases de datos Single-AZ
<a name="USER_LogAccess.MySQL.BinaryFormat"></a>

El *registro binario* es un conjunto de archivos de registro que contienen información acerca de las modificaciones de datos hechas en una instancia de servidor de MySQL. El registro binario contiene información como la siguiente:
+ Eventos que describen cambios en la base de datos, como la creación de tablas o las modificaciones de filas.
+ Información sobre la duración de cada instrucción que actualizó los datos.
+ Eventos para instrucciones que podrían haber actualizado datos, pero que no lo hicieron.

El registro binario registra las instrucciones que se envían durante la replicación. También es necesario para algunas operaciones de recuperación. Para obtener más información, consulte [The Binary Log](https://dev.mysql.com/doc/refman/8.0/en/binary-log.html) en la documentación de MySQL.

La característica de copias de seguridad automatizadas determina si el registro binario se activa o desactiva para MySQL. Dispone de las opciones siguientes:

Activar el registro binario.  
Establecer el periodo de retención de copia de seguridad en un valor positivo distinto de cero.

Desactivar el registro binario.  
Establecer el periodo de retención de copia de seguridad en cero.

Para obtener más información, consulte [Habilitar las copias de seguridad automatizadas](USER_WorkingWithAutomatedBackups.Enabling.md).

MySQL en Amazon RDS admite los formatos de registro binario *basado en filas*, *basado en instrucciones* y *mixto*. Recomendamos mezclarlos, a menos que necesite un formato binlog concreto. Para obtener información detallada acerca de los formatos de registro binarios de MySQL, consulte [Binary logging formats](https://dev.mysql.com/doc/refman/8.0/en/binary-log-formats.html) en la documentación de MySQL.

Si tiene pensado utilizar la replicación, el formato de registro binario es importante porque determina el registro de los cambios de datos que se registra en la fuente y se envía a los objetivos de replicación. Para obtener más información acerca de las ventajas y desventajas de distintos tipos de formatos de registro binarios para la replicación, consulte [Advantages and Disadvantages of Statement-Based and Row-Based Replication](https://dev.mysql.com/doc/refman/8.0/en/replication-sbr-rbr.html) en la documentación de MySQL.

**importante**  
Con MySQL 8.0.34, MySQL ha dejado de utilizar el parámetro `binlog_format`. En versiones posteriores de MySQL, MySQL planea eliminar el parámetro y admitir únicamente la replicación basada en filas. Por ello, recomendamos utilizar el registro basado en filas para las nuevas configuraciones de replicación de MySQL. Para obtener más información, consulte [binlog\$1format](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_format) en la documentación de MySQL.  
Las versiones 8.0 y 8.4 de MySQL aceptan el parámetro `binlog_format`. Al usar este parámetro, MySQL emite una advertencia de obsolescencia. En una futura versión principal, MySQL eliminará el parámetro `binlog_format`.  
La replicación basada en instrucciones puede causar incoherencias entre el de la instancia de base de datos de origen y la réplica de lectura. Para obtener más información, consulte [Determination of Safe and Unsafe Statements in Binary Logging](https://dev.mysql.com/doc/refman/8.0/en/replication-rbr-safe-unsafe.html) en la documentación de MySQL.  
Habilitar el registro binario aumenta el número de operaciones de E/S de escritura en el disco en la instancia de base de datos. Puede supervisar el uso de IOPS con la métrica de CloudWatch `WriteIOPS```.

**Para configurar el formato de registro binario de MySQL**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Grupos de parámetros**.

1. Seleccione el grupo de parámetros del de base de datos asociado con la instancia de base de datos que quiera modificar.

   No puede modificar un grupo de parámetros predeterminado. Si el de la instancia de base de datos emplea un grupo de parámetros predeterminado, cree un nuevo grupo de parámetros y asócielo con el de la instancia de base de datos.

   Para obtener más información acerca de los grupos de parámetros, consulte [Grupos de parámetros para Amazon RDS](USER_WorkingWithParamGroups.md).

1. En **Acciones**, elija **Editar**.

1. Establezca el parámetro `binlog_format` en el formato de registro binario de su elección (`ROW`, `STATEMENT` o `MIXED`).

   Para desactivar el registro binario establezca el período de retención de copias de seguridad de una instancia de base de datos en cero. Tenga en cuenta que esto deshabilita las copias de seguridad automatizadas diarias. Al deshabilitar las copias de seguridad automatizadas, se desactiva o deshabilita la variable de sesión `log_bin`. Esto deshabilita el registro binario en la instancia de base de datos de RDS para MySQL, lo que a su vez restablece la variable de sesión `binlog_format` al valor predeterminado de `ROW` en la base de datos. Se recomienda no deshabilitar las copias de seguridad. Para obtener más información acerca de la configuración del **Período de retención de copia de seguridad**, consulte [Configuración de instancias de base de datos](USER_ModifyInstance.Settings.md).

1. Elija **Guardar cambios** para guardar los cambios realizados en el grupo de parámetros del de la base de datos.

Dado que el parámetro `binlog_format` es dinámico en RDS para MySQL, no es necesario reiniciar la instancia de base de datos para que se apliquen los cambios. (Tenga en cuenta que en Aurora MySQL, este parámetro es estático. Para obtener más información, consulte [Configuración del registro binario de Aurora MySQL](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.MySQL.BinaryFormat.html).)

**importante**  
El cambio de un grupo de parámetros de base de datos afecta a todas las instancias de base de datos que utilizan ese grupo de parámetros. Si desea especificar diferentes formatos de registro binario para diferentes instancias de base de datos MySQL en una región AWS, las instancias de base de datos deben utilizar diferentes grupos de parámetros de base de datos. Estos grupos de parámetros identifican diferentes formatos de registro. Asigne el grupo de parámetros de base de datos apropiado a cada instancia de base de datos.

# Configuración del registro binario de MySQL para clústeres de bases de datos multi-AZ
<a name="USER_Binlog.MultiAZ"></a>

El registro binario en los clústeres de bases de datos multi-AZ de Amazon RDS para MySQL registra todos los cambios en la base de datos para facilitar la replicación, la recuperación en un momento dado y la auditoría. En los clústeres de bases de datos multi-AZ, los registros binarios sincronizan los nodos secundarios con el nodo principal, lo que garantiza la coherencia de datos en todas las zonas de disponibilidad y permite realizar conmutaciones por error perfectas. 

Para optimizar el registro binario, Amazon RDS admite la compresión de transacciones de registros binarios, lo que reduce los requisitos de almacenamiento de los registros binarios y mejora la eficacia de la replicación.

**Topics**
+ [Compresión de transacciones de registros binarios para clústeres de bases de datos multi-AZ](#USER_Binlog.MultiAZ.compression)
+ [Configuración de la compresión de transacciones de registros binarios para clústeres de bases de datos multi-AZ](#USER_Binlog.MultiAZ.configuring)

## Compresión de transacciones de registros binarios para clústeres de bases de datos multi-AZ
<a name="USER_Binlog.MultiAZ.compression"></a>

La compresión de transacciones de registros binarios utiliza el algoritmo zstd para reducir el tamaño de los datos de transacciones almacenados en los registros binarios. Cuando está habilitado, el motor de base de datos MySQL comprime las cargas útiles de las transacciones en un solo evento, lo que minimiza la sobrecarga de E/S y almacenamiento. Esta característica mejora el rendimiento de la base de datos, reduce el tamaño de los registros binarios y optimiza el uso de recursos para administrar y replicar los registros en clústeres de bases de datos multi-AZ.

Amazon RDS proporciona compresión de transacciones de registros binarios para clústeres de base de datos multi-AZ de RDS para MySQL mediante los parámetros siguientes:
+ `binlog_transaction_compression`: cuando está activado (`1`), el motor de base de datos comprime las cargas útiles de las transacciones y las graba en el registro binario como un evento único. Esto reduce el uso de almacenamiento y la sobrecarga de E/S. Este parámetro está deshabilitado de forma predeterminada.
+ `binlog_transaction_compression_level_zstd`: configura el nivel de compresión estándar para las transacciones de registros binarios. Los valores más altos aumentan la relación de compresión, lo que reduce aún más los requisitos de almacenamiento, pero incrementan el uso de CPU y memoria para la compresión. El valor predeterminado es 3, con un rango de 1 a 22.

Estos parámetros le permiten afinar la compresión de registros binarios en función de las características de la carga de trabajo y la disponibilidad de los recursos. Para obtener más información, consulte [Binary Log Transaction Compression](https://dev.mysql.com/doc/refman/8.4/en/binary-log-transaction-compression.html) en la documentación de MySQL.

La compresión de transacciones de registros binarios tiene las siguientes ventajas principales:
+ La compresión reduce el tamaño de los registros binarios, especialmente en el caso de cargas de trabajo con transacciones grandes o volúmenes de escritura elevados.
+ Los registros binarios más pequeños reducen la sobrecarga de red y de E/S, lo que mejora el rendimiento de la replicación.
+ El parámetro `binlog_transaction_compression_level_zstd` permite controlar el equilibrio entre la relación de compresión y el consumo de recursos.

## Configuración de la compresión de transacciones de registros binarios para clústeres de bases de datos multi-AZ
<a name="USER_Binlog.MultiAZ.configuring"></a>

Para configurar la compresión de transacciones de registros binarios para un clúster de base de datos multi-AZ de RDS para MySQL, modifique la configuración de los parámetros del clúster correspondiente para adaptarla a sus requisitos de carga de trabajo.

### Consola
<a name="USER_Binlog.MultiAZ.configuring-console"></a>

**Habilitación de la compresión de transacciones de registros binarios**

1. Modifique el grupo de parámetros del clúster de bases de datos para establecer el parámetro `binlog_transaction_compression` en `1`.

1. (Opcional) Ajuste el valor del parámetro `binlog_transaction_compression_level_zstd` en función de los requisitos de carga de trabajo y la disponibilidad de los recursos.

Para obtener más información, consulte [Modificación de los parámetros en un grupo de parámetros de clúster de base de datos ](USER_WorkingWithParamGroups.ModifyingCluster.md).

### AWS CLI
<a name="USER_Binlog.MultiAZ.configuring-cli"></a>

Para configurar la compresión de transacciones de registros binarios mediante la AWS CLI, utilice el comando [modify-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html).

**Example**  
Para Linux, macOS o Unix:  

```
aws rds modify-db-cluster-parameter-group \
  --db-cluster-parameter-group-name your-cluster-parameter-group \
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```
Para Windows:  

```
aws rds modify-db-cluster-parameter-group ^
  --db-cluster-parameter-group-name your-cluster-parameter-group ^
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```

### API de RDS
<a name="USER_Binlog.MultiAZ.configuring-api"></a>

Para configurar la compresión de transacciones de registros binarios mediante la API de Amazon RDS, utilice la operación [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html).

# Acceso a los registros binarios de MySQL
<a name="USER_LogAccess.MySQL.Binarylog"></a>

Puede usar la herramienta mysqlbinlog para descargar o transmitir los registros binarios desde las instancias de Amazon RDS para MySQL. El registro binario se descarga en el equipo local, donde puede ejecutar acciones tales como reproducirlo con la utilidad mysql. Para obtener más información acerca del uso de la herramienta mysqlbinlog, consulte [Using mysqlbinlog to Back Up Binary Log Files](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-backup.html) (Uso de mysqlbinlog para realizar copias de seguridad de archivos de registro binarios) en la documentación de MySQL.

Para ejecutar la utilidad mysqlbinlog en una instancia de Amazon RDS, use las siguientes opciones:
+ `--read-from-remote-server`: obligatorio.
+ `--host`: el nombre de DNS del punto de conexión de la instancia.
+ `--port`: el puerto que utiliza la instancia.
+ `--user`: un usuario de MySQL al que se le concede el permiso `REPLICATION SLAVE`.
+ `--password`: la contraseña del usuario de MySQL, o bien no indique ninguna para que la herramienta le pida una.
+ `--raw`: descargue el archivo en formato binario.
+ `--result-file`: el archivo local en que se guardará la salida sin procesar.
+ `--stop-never`: transmita los archivos de registro binarios.
+ `--verbose`: cuando utilice el formato binlog de `ROW`, incluya esta opción para ver los eventos de fila como instrucciones pseudo-SQL. Para obtener más información acerca de la opción `--verbose`, consulte [mysqlbinlog row event display](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-row-events.html) (Visualización de eventos de fila mysqlbinlog) en la documentación de MySQL.
+ Especifique los nombres de uno o varios de los archivos de registro binarios. Para obtener una lista de los registros disponibles, use el comando de SQL `SHOW BINARY LOGS`.

Para obtener más información acerca de las opciones de mysqlbinlog, consulte [mysqlbinlog - Utility for Processing Binary Log Files](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog.html) (mysqlbinlog - Utilidad para procesar archivos de registro binarios) en la documentación de MySQL.

En los siguientes ejemplos, se muestra cómo utilizar la herramienta mysqlbinlog.

Para Linux, macOS o Unix:

```
mysqlbinlog \
    --read-from-remote-server \
    --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com \
    --port=3306  \
    --user ReplUser \
    --password \
    --raw \
    --verbose \
    --result-file=/tmp/ \
    binlog.00098
```

Para Windows:

```
mysqlbinlog ^
    --read-from-remote-server ^
    --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com ^
    --port=3306  ^
    --user ReplUser ^
    --password ^
    --raw ^
    --verbose ^
    --result-file=/tmp/ ^
    binlog.00098
```

Los registros binarios deben permanecer disponibles en la instancia de base de datos para que la utilidad mysqlbinlog pueda acceder a ellos. Para garantizar su disponibilidad, utilice el procedimiento [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration) almacenado y especifique un periodo con tiempo suficiente para descargar los registros. Si esta configuración no está establecida, Amazon RDS purga los registros binarios lo antes posible, lo que genera huecos en los registros binarios que recupera la utilidad mysqlbinlog. 

En el siguiente ejemplo se define el periodo de retención en 1 día.

```
call mysql.rds_set_configuration('binlog retention hours', 24);
```

Para mostrar el valor actual, utilice el procedimiento almacenado [mysql.rds\$1show\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_show_configuration).

```
call mysql.rds_show_configuration;
```

# Archivos de registro de base de datos de Amazon RDS para Oracle
<a name="USER_LogAccess.Concepts.Oracle"></a>

Puede obtener acceso a los registros de alertas, archivos de auditoría y archivos de seguimiento de Oracle mediante la API o la consola de Amazon RDS. Para obtener más información acerca de la visualización, descarga y vigilancia de los registros de bases de datos basados en archivos, consulte [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md). 

Los archivos de auditoría de Oracle proporcionados son los de auditoría estándar de Oracle. Amazon RDS admite la característica fine-grained auditing (FGA) de Oracle. Sin embargo, el acceso al registro no proporciona acceso a los eventos de FGA que se almacenan en la tabla `SYS.FGA_LOG$`, disponibles en la vista `DBA_FGA_AUDIT_TRAIL`. 

La operación de la API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBLogFiles.html), que muestra una lista de los archivos de registro de Oracle que están disponibles para una instancia de base de datos, no tiene en cuenta el parámetro `MaxRecords` y devuelve hasta 1000 registros. La llamada devuelve `LastWritten` como una fecha POSIX en milisegundos.

**Topics**
+ [Calendario de retención](#USER_LogAccess.Concepts.Oracle.Retention)
+ [Uso de los archivos de seguimiento de Oracle](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles)
+ [Publicación de registros de Oracle en Amazon CloudWatch Logs](#USER_LogAccess.Oracle.PublishtoCloudWatchLogs)
+ [Acceso a los registros de alertas y de oyentes](#USER_LogAccess.Concepts.Oracle.AlertLogAndListenerLog)

## Calendario de retención
<a name="USER_LogAccess.Concepts.Oracle.Retention"></a>

El motor de base de datos de Oracle podría rotar los archivos de registros si alcanzan un tamaño muy grande. Para conservar los archivos de auditoría o de seguimiento, descárguelos. Si almacena los archivos localmente, reducirá los costos de almacenamiento de Amazon RDS y hará que haya más espacio disponible para los datos. 

La tabla siguiente muestra el calendario de retención para los registros de alertas, los archivos de auditoría y los archivos de seguimiento de Oracle en Amazon RDS. 


****  

| Log type (Tipo de registro) | Calendario de retención | 
| --- | --- | 
|  Registros de alertas  |   El registro de alertas de texto se rota diariamente con una retención de 30 días administrada por Amazon RDS. El registro de alertas XML se conserva durante al menos siete días. Puede acceder a este registro con la vista `ALERTLOG`.   | 
|  Archivos de auditoría  |   El periodo de retención predeterminado para los archivos de auditoría es de siete días. Amazon RDS podría eliminar los archivos de auditoría que tienen más de siete días.   | 
|  Archivos de seguimiento  |  El periodo de retención predeterminado para los archivos de seguimiento es de siete días. Amazon RDS podría eliminar los archivos de seguimiento que tienen más de siete días.   | 
|  Registros de escuchas  |   El periodo de retención predeterminado para los registros de agente de escucha es de siete días. Amazon RDS podría eliminar los registros de agente de escucha que tienen más de siete días.   | 

**nota**  
Los archivos de auditoría y archivos de seguimiento comparten la misma configuración de retención.

## Uso de los archivos de seguimiento de Oracle
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles"></a>

Puede encontrar, a continuación, descripciones de procedimientos de Amazon RDS para crear, actualizar, obtener acceso y eliminar archivos de seguimiento.

**Topics**
+ [Descripción de archivos](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest)
+ [Generación de archivos de seguimiento y seguimiento de una sesión](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Generating)
+ [Recuperación de archivos de seguimiento](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Retrieving)
+ [Depuración de archivos de seguimiento](#USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Purging)

### Descripción de archivos
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.ViewingBackgroundDumpDest"></a>

Puede usar cualquiera de estos dos procedimientos para permitir el acceso a cualquier archivo en la ruta `background_dump_dest`. El primer procedimiento actualiza una vista que contiene una lista de todos los archivos existentes en `background_dump_dest`. 

```
1. EXEC rdsadmin.manage_tracefiles.refresh_tracefile_listing;
```

Una vez actualizada la vista, consulte la siguiente vista para acceder a los resultados.

```
1. SELECT * FROM rdsadmin.tracefile_listing;
```

Una alternativa al proceso anterior consiste en utilizar `FROM table` para transmitir datos no relacionales con un formato similar al de una tabla con el fin de mostrar el contenido del directorio de bases de datos.

```
1. SELECT * FROM TABLE(rdsadmin.rds_file_util.listdir('BDUMP'));
```

La consulta siguiente muestra el texto de un archivo de registro.

```
1. SELECT text FROM TABLE(rdsadmin.rds_file_util.read_text_file('BDUMP','alert_dbname.log.date'));
```

En una réplica de lectura, obtenga el nombre del directorio BDUMP consultando `V$DATABASE.DB_UNIQUE_NAME`. Si el nombre único es `DATABASE_B`, entonces el directorio BDUMP es `BDUMP_B`. En el ejemplo siguiente se consulta el nombre de BDUMP en una réplica y, a continuación, se utiliza este nombre para consultar el contenido de `alert_DATABASE.log.2020-06-23`.

```
1. SELECT 'BDUMP' || (SELECT regexp_replace(DB_UNIQUE_NAME,'.*(_[A-Z])', '\1') FROM V$DATABASE) AS BDUMP_VARIABLE FROM DUAL;
2. 
3. BDUMP_VARIABLE
4. --------------
5. BDUMP_B
6. 
7. SELECT TEXT FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP_B','alert_DATABASE.log.2020-06-23'));
```

### Generación de archivos de seguimiento y seguimiento de una sesión
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Generating"></a>

Dado que no existen restricciones sobre `ALTER SESSION`, muchos métodos estándar para generar archivos de seguimiento en Oracle permanecen disponibles para una instancia de base de datos de Amazon RDS. Los siguientes procedimientos están disponibles para los archivos de seguimiento que necesitan un acceso mayor. 


****  

|  Método de Oracle  |  Método de Amazon RDS | 
| --- | --- | 
|  `oradebug hanganalyze 3 `  |  `EXEC rdsadmin.manage_tracefiles.hanganalyze; `  | 
|  `oradebug dump systemstate 266 `  |  `EXEC rdsadmin.manage_tracefiles.dump_systemstate;`  | 

Puede utilizar varios métodos estándar para realizar el seguimiento de sesiones individuales conectadas a una instancia de base de datos de Oracle en Amazon RDS. Para habilitar el seguimiento de una sesión, puede ejecutar subprogramas en paquetes PL/SQL suministrados por Oracle, como `DBMS_SESSION` y `DBMS_MONITOR`. Para obtener más información, consulte [Enabling Tracing for a Session](https://docs.oracle.com/database/121/TGSQL/tgsql_trace.htm#GUID-F872D6F9-E015-481F-80F6-8A7036A6AD29) en la documentación de Oracle. 

### Recuperación de archivos de seguimiento
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Retrieving"></a>

Puede recuperar cualquier archivo de seguimiento de `background_dump_dest` utilizando una consulta SQL estándar de una tabla externa administrada por Amazon RDS. Para utilizar este método, debe ejecutar un procedimiento para establecer la ubicación de esta tabla en el archivo de seguimiento específico. 

Por ejemplo, puede utilizar la vista `rdsadmin.tracefile_listing` mencionada anteriormente para obtener la lista de los archivos de seguimiento del sistema. A continuación, puede utilizar el siguiente procedimiento para configurar la vista `tracefile_table` para que haga referencia al archivo de seguimiento que desee. 

```
1. EXEC rdsadmin.manage_tracefiles.set_tracefile_table_location('CUST01_ora_3260_SYSTEMSTATE.trc');
```

En el siguiente ejemplo se crea una tabla externa en el esquema actual con la ubicación establecida en el archivo indicado. Puede recuperar el contenido en un archivo local utilizando una consulta SQL. 

```
1. SPOOL /tmp/tracefile.txt
2. SELECT * FROM tracefile_table;
3. SPOOL OFF;
```

### Depuración de archivos de seguimiento
<a name="USER_LogAccess.Concepts.Oracle.WorkingWithTracefiles.Purging"></a>

Los archivos de seguimiento pueden acumular y consumir espacio en el disco. De forma predeterminada, Amazon RDS limpia los archivos de seguimiento y registro que tienen más de siete días. Puede ver y establecer el periodo de retención de los archivos de seguimiento mediante el procedimiento `show_configuration`. Debe ejecutar el comando `SET SERVEROUTPUT ON` para ver los resultados de la configuración. 

En el siguiente ejemplo se muestra el período actual de retención de archivos de seguimiento y, a continuación, se establece un período nuevo de retención para dichos archivos. 

```
 1. # Show the current tracefile retention
 2. SQL> EXEC rdsadmin.rdsadmin_util.show_configuration;
 3. NAME:tracefile retention
 4. VALUE:10080
 5. DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted.
 6. 		
 7. # Set the tracefile retention to 24 hours:
 8. SQL> EXEC rdsadmin.rdsadmin_util.set_configuration('tracefile retention',1440);
 9. SQL> commit;
10. 
11. #show the new tracefile retention
12. SQL> EXEC rdsadmin.rdsadmin_util.show_configuration;
13. NAME:tracefile retention
14. VALUE:1440
15. DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted.
```

Además del proceso de purga periódica, puede eliminar manualmente los archivos de `background_dump_dest`. En el siguiente ejemplo se muestra cómo purgar todos los archivos que tienen más de cinco minutos. 

```
EXEC rdsadmin.manage_tracefiles.purge_tracefiles(5);
```

También puede purgar todos los archivos que coincidan con un patrón específico (si lo hace, no incluya la extensión de archivo, como .trc). En el siguiente ejemplo se muestra cómo purgar todos los archivos que comienzan por `SCHPOC1_ora_5935`. 

```
1. EXEC rdsadmin.manage_tracefiles.purge_tracefiles('SCHPOC1_ora_5935');
```

## Publicación de registros de Oracle en Amazon CloudWatch Logs
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs"></a>

Se puede configurar una instancia de base de datos de RDS para Oracle para publicar datos de registro en un grupo de registro en Registros de Amazon CloudWatch. Con CloudWatch Logs, puede analizar los datos de registro y utilizar CloudWatch para crear alarmas y ver métricas. Puede utilizar CloudWatch Logs para almacenar los registros de registros en almacenamiento de larga duración. 

Amazon RDS publica cada registro de base de datos de Oracle como un flujo de base de datos independiente en el grupo de registros. Por ejemplo, si configura la función de exportación para que incluya el registro de auditoría, los datos de auditoría se almacenan en un flujo de registros de auditorías en el grupo de registros `/aws/rds/instance/my_instance/audit`. En la tabla siguiente, se resumen los requisitos para que RDS para Oracle publique registros en Registros de Amazon CloudWatch.


| Nombre de registro | Requisito | Predeterminado | 
| --- | --- | --- | 
|  Registro de alerta  |  Ninguna. No puede deshabilitar este registro.  |  Habilitado  | 
|  Registro de seguimiento  |  Defina el parámetro `trace_enabled` en `TRUE` o déjelo establecido en el valor predeterminado.  |  `TRUE`  | 
|  Registro de auditoría  |  Establezca el parámetro `audit_trail` en uno de los siguientes valores permitidos: <pre>{ none | os | db [, extended] | xml [, extended] }</pre>  |  `none`  | 
|  Registro de escucha  |  Ninguna. No puede deshabilitar este registro.  |  Habilitado  | 
|  Registro de Oracle Management Agent  |  Ninguna. No puede deshabilitar este registro.  |  Habilitado  | 

Este registro de Oracle Management Agent consta de los grupos de registro que se muestran en la siguiente tabla.


****  

| Nombre de registro | Grupo de registro de CloudWatch | 
| --- | --- | 
| emctl.log | oemagent-emctl | 
| emdctlj.log | oemagent-emdctlj | 
| gcagent.log | oemagent-gcagent | 
| gcagent\$1errors.log | oemagent-gcagent-errors | 
| emagent.nohup | oemagent-emagent-nohup | 
| secure.log | oemagent-secure | 

Para obtener más información, consulte [Localización de archivos de seguimiento y registros de agentes de administración](https://docs.oracle.com/en/enterprise-manager/cloud-control/enterprise-manager-cloud-control/13.4/emadm/locating-management-agent-log-and-trace-files1.html#GUID-9C710D78-6AA4-42E4-83CD-47B5FF4892DF) en la documentación de Oracle.

### Consola
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs.console"></a>

**Para publicar registros de base de datos de Oracle en CloudWatch Logs desde Consola de administración de AWS**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases (Bases de datos)** y, a continuación, seleccione la instancia de base de datos que desee modificar.

1. Elija **Modify**.

1. En la sección **Logs exports (Exportaciones de registros)**, elija los registros que desea comenzar a publicar en CloudWatch Logs.

1. Elija **Continue**, seguido de **Modify DB Instance** en la página de resumen.

### AWS CLI
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs.CLI"></a>

Para publicar registros de Oracle, puede utilizar el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con los siguientes parámetros: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**nota**  
Los cambios en la opción `--cloudwatch-logs-export-configuration` siempre se aplican a la instancia de base de datos inmediatamente. Por lo tanto, las opciones `--apply-immediately` y `--no-apply-immediately` no tienen ningún efecto.

También puede publicar registros de Oracle utilizando los siguientes comandos: 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

**Example**  
En el siguiente ejemplo se crea una instancia de base de datos con la publicación de registros de CloudWatch Logs habilitada. El valor `--cloudwatch-logs-export-configuration` es una matriz de cadenas JSON. Las cadenas pueden ser cualquier combinación de `alert`, `audit`, `listener` y `trace`.  
Para Linux, macOS o Unix:  

```
aws rds create-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '["trace","audit","alert","listener","oemagent"]' \
    --db-instance-class db.m5.large \
    --allocated-storage 20 \
    --engine oracle-ee \
    --engine-version 19.0.0.0.ru-2024-04.rur-2024-04.r1 \
    --license-model bring-your-own-license \
    --master-username myadmin \
    --manage-master-user-password
```
Para Windows:  

```
aws rds create-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration trace alert audit listener oemagent ^
    --db-instance-class db.m5.large ^
    --allocated-storage 20 ^
    --engine oracle-ee ^
    --engine-version 19.0.0.0.ru-2024-04.rur-2024-04.r1 ^
    --license-model bring-your-own-license ^
    --master-username myadmin ^
    --manage-master-user-password
```

**Example**  
En el siguiente ejemplo se modifica una instancia de base de datos de Oracle existente para publicar archivos de registro en CloudWatch Logs. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `EnableLogTypes` y su valor es una matriz de cadenas con cualquier combinación de `alert`, `audit`, `listener` y `trace`.  
Para Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"EnableLogTypes":["trace","alert","audit","listener","oemagent"]}'
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration EnableLogTypes=\"trace\",\"alert\",\"audit\",\"listener\",\"oemagent\"
```

**Example**  
En el siguiente ejemplo se modifica una instancia de base de datos de Oracle existente para deshabilitar la publicación de archivos de registro en CloudWatch Logs. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `DisableLogTypes` y su valor es una matriz de cadenas con cualquier combinación de `alert`, `audit`, `listener` y `trace`.  
Para Linux, macOS o Unix:  

```
aws rds modify-db-instance \
    --db-instance-identifier mydbinstance \
    --cloudwatch-logs-export-configuration '{"DisableLogTypes":["audit","listener"]}'
```
Para Windows:  

```
aws rds modify-db-instance ^
    --db-instance-identifier mydbinstance ^
    --cloudwatch-logs-export-configuration DisableLogTypes=\"audit\",\"listener\"
```

### API de RDS
<a name="USER_LogAccess.Oracle.PublishtoCloudWatchLogs.API"></a>

Puede publicar registros de base de datos Oracle con la API de RDS. Puede llamar a la acción [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con los parámetros siguientes: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**nota**  
Los cambios en el parámetro `CloudwatchLogsExportConfiguration` siempre se aplican a la instancia de base de datos inmediatamente. Por tanto, el parámetro `ApplyImmediately` no tiene efecto.

También puede publicar registros de Oracle llamando a las siguientes operaciones de la API de RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Ejecute una de estas operaciones de la API de RDS con los siguientes parámetros: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Podrían ser necesarios otros parámetros en función de la operación de la RDS que ejecute.

## Acceso a los registros de alertas y de oyentes
<a name="USER_LogAccess.Concepts.Oracle.AlertLogAndListenerLog"></a>

Puede ver el archivo de alertas mediante la consola de Amazon RDS. También puede utilizar la siguiente instrucción SQL.

```
1. SELECT message_text FROM alertlog;
```

Acceda al registro de oyentes mediante Amazon CloudWatch Logs.

**nota**  
Oracle rota los registros de alertas y de escuchas cuando superan los 10 MB, momento en el que dejan de estar disponibles en las vistas de Amazon RDS.

# Archivos de registro de base de datos de RDS para PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL"></a>

Puede supervisar los siguientes tipos de archivos de registro de :
+ Registro de PostgreSQL
+ Registro de actualización
+ Registro de errores de autenticación de base de datos de IAM
**nota**  
Para habilitar los registros de errores de autenticación de base de datos de IAM, primero debe habilitar la autenticación de base de datos de IAM para la instancia de base de datos de RDS para PostgreSQL. Para obtener más información sobre la habilitación de la autenticación de bases de datos de IAM, consulte [Activación y desactivación de la autenticación de bases de datos de IAM](UsingWithRDS.IAMDBAuth.Enabling.md).

RDS para PostgreSQL registra las actividades de la base de datos en el archivo de registro de PostgreSQL predeterminado. En el caso de una instancia de base de datos de PostgreSQL en las instalaciones, estos mensajes se almacenan localmente en `log/postgresql.log`. Para una instancia de base de datos de RDS para PostgreSQL, el archivo de registro está disponible en , la instancia de Amazon RDS. También puede acceder a estos registros a través de la Consola de administración de AWS, donde podrá verlos o descargarlos. El nivel de registro predeterminado captura los errores de inicio de sesión, los errores graves del servidor, los bloqueos y los errores de consulta.

Para obtener más información sobre cómo puede ver, descargar y observar los registros de la base de datos basados en archivos, consulte [Supervisión de archivos de registro de Amazon RDS](USER_LogAccess.md). Para saber más sobre los registros de PostgreSQL, consulte [Trabajo con registros de Amazon RDS y Aurora PostgreSQL: parte 1](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-1/) y [ Trabajo con registros de Amazon RDS y Aurora PostgreSQL: parte 2](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-2/). 

Además de los registros estándar de PostgreSQL que se describen en este tema, RDS para PostgreSQL también admite la extensión de auditoría de PostgreSQL (`pgAudit`). La mayoría de los sectores regulados y las agencias gubernamentales necesitan mantener un registro de auditoría o registro de auditoría de los cambios realizados en los datos para cumplir con los requisitos legales. Para obtener información acerca del modo de instalar y usar pgAudit, consulte [Uso de pgAudit para registrar la actividad de la base de datos](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md).

**Topics**
+ [Parámetros de registro en RDS para PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups.md)
+ [Activación de registro de consultas para su instancia de base de datos de RDS para PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md)
+ [Publicación de registros de PostgreSQL en Amazon CloudWatch Logs](#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs)

# Parámetros de registro en RDS para PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL.overview.parameter-groups"></a>

Puede personalizar el comportamiento de registro de su instancia de base de datos de RDS para PostgreSQL modificando varios parámetros. En la siguiente tabla, puede encontrar los parámetros que afectan al tiempo que se almacenan los registros, cuándo se debe rotar el registro y si se debe generar el registro en formato CSV (valor separado por comas). También puede encontrar la salida de texto enviada a STDERR, entre otras configuraciones. Para cambiar la configuración de los parámetros que se pueden modificar, use un grupo de parámetros de base de datos personalizado para su Instancia de base de datos RDS para PostgreSQL. Para obtener más información, consulte [Grupos de parámetros de base de datos para instancias de Amazon RDS](USER_WorkingWithDBInstanceParamGroups.md).


| Parámetro | Predeterminado | Descripción | 
| --- | --- | --- | 
| log\$1destination | stderr | Establece el formato de salida para el registro. El valor predeterminado es `stderr`, pero también puede especificar un valor separado por comas (CSV) agregándolo `csvlog` al ajuste. Para obtener más información, consulte [Configuración del destino del registro (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format).  | 
| log\$1filename |  postgresql.log.%Y-%m-%d-%H  | Especifica el patrón del nombre del archivo de registro. Además del valor predeterminado, este parámetro admite `postgresql.log.%Y-%m-%d` y `postgresql.log.%Y-%m-%d-%H%M` para el patrón del nombre de archivo.  | 
| log\$1line\$1prefix | %t:%r:%u@%d:[%p]: | Define el prefijo de cada línea de registro que se escribe en `stderr`, para anotar la hora (%t), el host remoto (%r), el usuario (%u), la base de datos (%d) y el ID del proceso (%p). | 
| log\$1rotation\$1age | 60 | Minutos después de los cuales el archivo de registro rota automáticamente. Puede cambiar este valor dentro del intervalo de 1 a 1440 minutos. Para obtener más información, consulte [Configuración de la rotación del archivo de registro](#USER_LogAccess.Concepts.PostgreSQL.log_rotation).  | 
| log\$1rotation\$1size | – | El tamaño (kB) con el que se rota automáticamente el registro. De forma predeterminada, este parámetro no se usa porque los registros rotan en función del parámetro `log_rotation_age`. Para obtener más información, consulte [Configuración de la rotación del archivo de registro](#USER_LogAccess.Concepts.PostgreSQL.log_rotation). | 
| rds.log\$1retention\$1period | 4320 | Los registros de PostgreSQL que superan el número de minutos especificado se eliminarán. El valor predeterminado de 4320 minutos elimina los archivos de registro transcurridos 3 días. Para obtener más información, consulte [Configuración de periodo de retención de registros](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period). | 

Para identificar problemas de aplicaciones, puede buscar errores de consulta, errores de inicio de sesión, interbloqueos y errores de servidor graves en el registro. Por ejemplo, suponga que ha convertido una aplicación heredada de Oracle a Amazon RDS PostgreSQL, pero no todas las consultas se han convertido correctamente. Estas consultas con formato incorrecto generan mensajes de error que se pueden encontrar en los registros para ayudar a identificar los problemas. Para más información sobre el registro de consultas, consulte [Activación de registro de consultas para su instancia de base de datos de RDS para PostgreSQL](USER_LogAccess.Concepts.PostgreSQL.Query_Logging.md). 

En los temas siguientes, encontrará información sobre cómo configurar varios parámetros que controlan los detalles básicos de sus registros de PostgreSQL. 

**Topics**
+ [Configuración de periodo de retención de registros](#USER_LogAccess.Concepts.PostgreSQL.log_retention_period)
+ [Configuración de la rotación del archivo de registro](#USER_LogAccess.Concepts.PostgreSQL.log_rotation)
+ [Configuración del destino del registro (`stderr`, `csvlog`)](#USER_LogAccess.Concepts.PostgreSQL.Log_Format)
+ [Descripción del parámetro log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix)

## Configuración de periodo de retención de registros
<a name="USER_LogAccess.Concepts.PostgreSQL.log_retention_period"></a>

El parámetro `rds.log_retention_period` especifica cuánto tiempo su instancia de base de datos de RDS para PostgreSQL mantiene sus archivos de registro. La configuración predeterminada es de 3 días (4320 minutos), pero puede configurarla entre 1 día (1440 minutos) y 7 días (10 080 minutos). Asegúrese de que su instancia de base de datos de RDS para PostgreSQL tenga suficiente almacenamiento para almacenar los archivos de registro durante ese período de tiempo.

Le recomendamos que publique sus registros de forma rutinaria en Registros de Amazon CloudWatch, de modo que pueda ver y analizar los datos del sistema mucho tiempo después de que los registros se hayan eliminado de su . Instancia de base de datos RDS para PostgreSQL. Para obtener más información, consulte [Publicación de registros de PostgreSQL en Amazon CloudWatch Logs](USER_LogAccess.Concepts.PostgreSQL.md#USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs).  

## Configuración de la rotación del archivo de registro
<a name="USER_LogAccess.Concepts.PostgreSQL.log_rotation"></a>

Amazon RDS crea los nuevos archivos de registro cada hora de forma predeterminada. El tiempo lo controla el parámetro `log_rotation_age`. Este parámetro tiene un valor predeterminado de 60 (minutos), pero puede configurarlo entre 1 minuto y 24 horas (1440 minutos). Cuando llega el momento de la rotación, se crea un nuevo archivo de registro distinto. Al archivo se le asigna un nombre de conformidad con el patrón especificado por el parámetro `log_filename`. 

Los archivos de registro también se pueden rotar según su tamaño, tal y como se especifica en el parámetro `log_rotation_size`. Este parámetro especifica que el registro debe rotarse cuando alcance el tamaño especificado (en kilobytes). Para una instancia de base de datos de RDS para PostgreSQL, `log_rotation_size` no está establecido, es decir, no se ha especificado ningún valor. Sin embargo, puede establecer el parámetro entre 0 y 2 097 151 kB (kilobytes).  

Los nombres de archivo de registro se basan en el patrón de nombre de archivo especificado en el parámetro `log_filename`. La configuración disponible para este parámetro es la siguiente:
+ `postgresql.log.%Y-%m-%d`: formato predeterminado para el nombre del archivo de registro. Incluye el año, el mes y la fecha en el nombre del archivo de registro.
+ `postgresql.log.%Y-%m-%d-%H`: incluye la hora en el formato del nombre del archivo de registro.

Para obtener más información, consulte [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-AGE) y [https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-LOG-ROTATION-SIZE) en la documentación de PostgreSQL.

## Configuración del destino del registro (`stderr`, `csvlog`)
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format"></a>

De forma predeterminada, Amazon RDS PostgreSQL genera registros en formato de error estándar (stderr). Esta es la configuración predeterminada del parámetro `log_destination`. Cada mensaje lleva el prefijo según el patrón especificado en el parámetro `log_line_prefix`. Para obtener más información, consulte [Descripción del parámetro log\$1line\$1prefix](#USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix). 

RDS para PostgreSQL también puede generar los registros con el formato `csvlog`. `csvlog` resulta útil para analizar los datos de registro como valores separados con coma (CSV). Por ejemplo, supongamos que utiliza la extensión `log_fdw` para trabajar con los registros como tablas extranjeras. La tabla extranjera creada en los archivos de registro `stderr` contienen una sola columna con datos de eventos de registro. Al añadir `csvlog` al parámetro `log_destination`, se obtiene el archivo de registro en formato CSV con demarcaciones para las múltiples columnas de la tabla externa. Esto le permite ordenar y analizar los registros con mayor facilidad. Para obtener información sobre cómo usar `log_fdw` con `csvlog`, consulte [Uso de la extensión log\$1fdw para acceder al registro de base de datos mediante SQL](CHAP_PostgreSQL.Extensions.log_fdw.md).

Si especifica `csvlog` para este parámetro, tenga en cuenta que se generan los archivos `stderr` y `csvlog`. Asegúrese de supervisar el almacenamiento consumido por los registros, teniendo en cuenta `rds.log_retention_period` y otras configuraciones que afectan al almacenamiento de registros y a los análisis. Usar `stderr` y `csvlog` duplica de sobra el almacenamiento consumido por los registros.

Si añade `csvlog` a `log_destination` y quiere volver solo a `stderr` solo, debe restablecer el parámetro. Para ello, utilice la consola de Amazon RDS y abra el grupo de parámetros de la base de datos personalizado para su instancia. Elija el parámetro `log_destination`, elija **Edit parameter** (Editar parámetro) y, a continuación, seleccione **Reset** (Restablecer). 

Para obtener más información acerca de la configuración de los registros, consulte la entrada del blog sobre [trabajar con registros de Amazon RDS y Aurora PostgreSQL: parte 1](https://aws.amazon.com/blogs/database/working-with-rds-and-aurora-postgresql-logs-part-1/).

## Descripción del parámetro log\$1line\$1prefix
<a name="USER_LogAccess.Concepts.PostgreSQL.Log_Format.log-line-prefix"></a>

El formato de registro de `stderr` prefija cada mensaje de registro con los detalles especificados por el parámetro `log_line_prefix`. El valor predeterminado es:

```
%t:%r:%u@%d:[%p]:t
```

A partir de la versión 16 de Aurora PostgreSQL, también puede elegir:

```
%m:%r:%u@%d:[%p]:%l:%e:%s:%v:%x:%c:%q%a
```

Cada entrada de registro enviada a stderr incluye la siguiente información en función del valor seleccionado:
+ `%t`: hora de entrada del registro sin milisegundos
+ `%m`: hora de entrada del registro con milisegundos
+  `%r`: dirección del host remoto.
+  `%u@%d`: nombre de usuario @ nombre de base de datos.
+  `[%p]`: ID del proceso si está disponible.
+  `%l`: Número de línea de registro por sesión 
+  `%e`: Código de error SQL 
+  `%s`: Marca temporal de inicio de proceso 
+  `%v`: ID de transacción virtual 
+  `%x`: ID de transacción 
+  `%c`: ID de sesión 
+  `%q`: Terminador que no sea de sesión 
+  `%a`: Nombre de la aplicación 

# Activación de registro de consultas para su instancia de base de datos de RDS para PostgreSQL
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging"></a>

Puede recopilar información más detallada sobre las actividades de la base de datos, incluidas las consultas, las consultas en espera de bloqueos, los puntos de control y muchos otros detalles configurando algunos de los parámetros que se enumeran en la tabla siguiente. Este tema se centra en el registro de consultas.


| Parámetro | Predeterminado | Descripción | 
| --- | --- | --- | 
| log\$1connections | – | Registra cada conexión realizada correctamente.  | 
| log\$1disconnections | – | Registra el final de cada sesión y su duración.  | 
| log\$1checkpoints | 1 | Registra cada punto de comprobación.  | 
| log\$1lock\$1waits | – | Registra las esperas de bloqueo largas. Por defecto, este parámetro no está configurado. | 
| log\$1min\$1duration\$1sample | – | (ms) Establece el tiempo mínimo de ejecución a partir del cual se registra una muestra de instrucciones. El tamaño de la muestra se establece mediante el parámetro log\$1statement\$1sample\$1rate. | 
| log\$1min\$1duration\$1statement | – | Se registra cualquier instrucción SQL que se ejecute al menos durante el período de tiempo especificado o durante más tiempo. Por defecto, este parámetro no está configurado. Si se activa este parámetro, puede resultar más sencillo encontrar consultas no optimizadas. | 
| log\$1statement | – | Define el tipo de declaraciones que se deben registrar. De forma predeterminada, este parámetro no está configurado, pero puede cambiarlo a `all`, `ddl` o `mod` para especificar los tipos de instrucciones SQL que desea que se registren. Si especifica algo que no sea `none` para este parámetro, también debe adoptar medidas adicionales para evitar que las contraseñas aparezcan en los archivos de registro. Para obtener más información, consulte [Mitigar el riesgo de exposición de contraseñas al utilizar el registro de consultasMitigar el riesgo de exposición de contraseñas](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk).  | 
| log\$1statement\$1sample\$1rate | – | El porcentaje de sentencias que superan el tiempo especificado en `log_min_duration_sample` se registrarán, expresado como un valor de coma flotante entre 0.0 y 1.0.  | 
| log\$1statement\$1stats | – | Escribe las estadísticas de rendimiento acumulativas en el registro del servidor. | 

## Uso del registro para encontrar consultas con un rendimiento lento
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.using"></a>

Puede registrar instrucciones y consultas SQL para ayudar a encontrar consultas que se den con resultados lentos. Para activar esta función, modifique la configuración de los parámetros `log_statement` y `log_min_duration`, tal como se describe en esta sección. Antes de activar el registro de consultas para su instancia de base de datos de RDS para PostgreSQL, debe conocer la posible exposición de contraseñas en los registros y cómo mitigar los riesgos. Para obtener más información, consulte [Mitigar el riesgo de exposición de contraseñas al utilizar el registro de consultasMitigar el riesgo de exposición de contraseñas](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

A continuación, encontrará información de referencia sobre los parámetros `log_statement` y `log_min_duration`.log\$1statement

Este parámetro especifica el tipo de instrucciones SQL que deben enviarse al registro. El valor predeterminado es `none`. Si cambia este parámetro a `all`, `ddl` o `mod`, asegúrese de aplicar algunas de las medidas recomendadas para reducir el riesgo de exponer las contraseñas en los registros. Para obtener más información, consulte [Mitigar el riesgo de exposición de contraseñas al utilizar el registro de consultasMitigar el riesgo de exposición de contraseñas](#USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk). 

**all**  
Registra todas las instrucciones. Para depuración, se recomienda esta configuración.

**ddl**  
Registra todas las instrucciones del lenguaje de definición de datos (DDL), como CREATE, ALTER, DROP, etc.

**MOD**  
Registra todas las instrucciones DDL y las instrucciones de lenguaje de manipulación de datos (DML), como INSERT, UPDATE y DELETE, que modifican los datos.

**none**  
No se registra ninguna instrucción SQL. Recomendamos esta configuración para evitar el riesgo de exponer las contraseñas en los registros.log\$1min\$1duration\$1statement

Se registra cualquier instrucción SQL que se ejecute al menos durante el período de tiempo especificado o durante más tiempo. Por defecto, este parámetro no está configurado. Si se activa este parámetro, puede resultar más sencillo encontrar consultas no optimizadas.

**–1–2147483647**  
El número de milisegundos (ms) de tiempo de ejecución durante los cuales se registra una instrucción.

**Para configurar el registro de consultas**

Estos pasos suponen que su instancia de base de datos de RDS para PostgreSQL utiliza un grupo personalizado de parámetros de base de datos. 

1. Establezca el parámetro `log_statement` como `all`. En el siguiente ejemplo se muestra la información que se escribe en el archivo con esta configuración de parámetros.

   ```
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: statement: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:LOG: QUERY STATISTICS
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:DETAIL: ! system usage stats:
   ! 0.017355 s user, 0.000000 s system, 0.168593 s elapsed
   ! [0.025146 s user, 0.000000 s system total]
   ! 36644 kB max resident size
   ! 0/8 [0/8] filesystem blocks in/out
   ! 0/733 [0/1364] page faults/reclaims, 0 [0] swaps
   ! 0 [0] signals rcvd, 0/0 [0/0] messages rcvd/sent
   ! 19/0 [27/0] voluntary/involuntary context switches
   2022-10-05 22:05:52 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: SELECT feedback, s.sentiment,s.confidence
   FROM support,aws_comprehend.detect_sentiment(feedback, 'en') s
   ORDER BY s.confidence DESC;
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:ERROR: syntax error at or near "ORDER" at character 1
   2022-10-05 22:05:56 UTC:52.95.4.1(11335):postgres@labdb:[3639]:STATEMENT: ORDER BY s.confidence DESC;
   ----------------------- END OF LOG ----------------------
   ```

1. Establezca el parámetro `log_min_duration_statement`. En el siguiente ejemplo se muestra la información que se escribe en el archivo `postgresql.log`cuando se establece el parámetro en:`1`

   Se registran las consultas que superan la duración especificada en el parámetro `log_min_duration_statement`. A continuación se muestra un ejemplo. Puede ver el archivo de registro de su instancia de base de datos de RDS para PostgreSQL en la consola de Amazon RDS. 

   ```
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: statement: DROP table comments;
   2022-10-05 19:05:19 UTC:52.95.4.1(6461):postgres@labdb:[6144]:LOG: duration: 167.754 ms
   2022-10-05 19:08:07 UTC::@:[355]:LOG: checkpoint starting: time
   2022-10-05 19:08:08 UTC::@:[355]:LOG: checkpoint complete: wrote 11 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=1.013 s, sync=0.006 s, total=1.033 s; sync files=8, longest=0.004 s, average=0.001 s; distance=131028 kB, estimate=131028 kB
   ----------------------- END OF LOG ----------------------
   ```

### Mitigar el riesgo de exposición de contraseñas al utilizar el registro de consultas
<a name="USER_LogAccess.Concepts.PostgreSQL.Query_Logging.mitigate-risk"></a>

Le recomendamos que mantenga `log_statement` establecido en `none` para evitar exponer las contraseñas. Si establece `log_statement` en `all`, `ddl` o `mod`, le recomendamos que siga uno o más de los siguientes pasos.
+ Para el cliente, cifre la información confidencial. Para obtener más información, consulte [Encryption Options](https://www.postgresql.org/docs/current/encryption-options.html) en la documentación de PostgreSQL. Utilice las opciones `ENCRYPTED` (y `UNENCRYPTED`) de las instrucciones `CREATE` y `ALTER`. Para obtener más información, consulte [CREATE USER](https://www.postgresql.org/docs/current/sql-createuser.html) en la documentación de PostgreSQL.
+ Para su instancia de base de datos de RDS para PostgreSQL, configure y utilice la extensión de auditoría de PostgreSQL (pgAudit). Esta extensión redacta la información confidencial de las instrucciones CREATE y ALTER enviadas al registro. Para obtener más información, consulte [Uso de pgAudit para registrar la actividad de la base de datos](Appendix.PostgreSQL.CommonDBATasks.pgaudit.md). 
+ Restrinja el acceso a los Registros de CloudWatch.
+ Utilice mecanismos de autenticación más sólidos como IAM.

## Publicación de registros de PostgreSQL en Amazon CloudWatch Logs
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs"></a>

Para almacenar los registros de PostgreSQL en un almacenamiento de larga duración, se puede usar Amazon CloudWatch Logs. Con CloudWatch Logs, también puede realizar análisis en tiempo real de los datos de registro y utilizar CloudWatch para ver métricas y crear alarmas. Por ejemplo, si establece `log_statement` en `ddl`, puede configurar una alarma para que avise siempre que se ejecute una instrucción DDL. Puede elegir cargar los registros de PostgreSQL en CloudWatch Logs durante el proceso de creación de su instancia de base de datos de RDS para PostgreSQL. Si optó por no subir registros en ese momento, puedes modificar tu instancia más adelante para empezar a subir los registros a partir de ese momento. En otras palabras, los registros existentes no se cargan. Solo los registros nuevos se cargan a medida que se crean en la instancia de base de datos de RDS para PostgreSQL modificada.

Todas las versiones de RDS para PostgreSQL disponibles actualmente permiten publicar archivos de registro en CloudWatch Logs. Para obtener información detallada sobre la versión, consulte las [actualizaciones de Amazon RDS para PostgreSQL](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-versions.html) en las *notas de la versión de Amazon RDS para PostgreSQL*. 

Para trabajar con CloudWatch Logs, configure la instancia de base de datos de RDS para PostgreSQL para que publique datos de registro en un grupo de registros.

Puede publicar los siguientes tipos de registro en CloudWatch Logs para RDS para PostgreSQL: 
+ Registro de PostgreSQL
+ Registro de actualización 
+ Registro de errores de autenticación de base de datos de IAM

Tras completar la configuración, Amazon RDS publica los eventos de registro en los flujos de registro con un grupo de registros de CloudWatch. Por ejemplo, los datos de registro de PostgreSQL se almacenan en el grupo de registro `/aws/rds/instance/my_instance/postgresql`. Para ver los registros, abra la consola de CloudWatch en [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

### Consola
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CON"></a>

**Para publicar registros de base de datos PostgreSQL en CloudWatch Logs con la consola**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

1. Seleccione la instancia de base de datos que quiera modificar y seleccione **Modify (Modificar)**.

1. En la sección **Logs exports (Exportaciones de registros)**, elija los registros que desea comenzar a publicar en CloudWatch Logs.

   La sección **Log exports (Exportaciones de registros)** está disponible para versiones de PostgreSQL que admiten la publicación en CloudWatch Logs. 

1. Elija **Continue**, seguido de **Modify DB Instance** en la página de resumen.

### AWS CLI
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.CLI"></a>

Puede publicar registros de PostgreSQL con la AWS CLI. Puede llamar al comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) con los parámetros siguientes:
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**nota**  
Los cambios en la opción `--cloudwatch-logs-export-configuration` siempre se aplican a la instancia de base de datos inmediatamente. Por lo tanto, las opciones `--apply-immediately` y `--no-apply-immediately` no tienen ningún efecto.

También puede publicar registros de PostgreSQL llamando a los siguientes comandos de la CLI:
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Ejecute uno de estos comandos de la CLI con las siguientes opciones: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Podrían ser necesarias otras opciones en función del comando de la CLI que ejecute.

**Example Modificar una instancia para publicar registros en CloudWatch Logs**  
En el siguiente ejemplo se modifica una instancia de base de datos de PostgreSQL existente para publicar archivos de registro en CloudWatch Logs. El valor `--cloudwatch-logs-export-configuration` es un objeto JSON. La clave de este objeto es `EnableLogTypes` y su valor es una matriz de cadenas con cualquier combinación de `postgresql` y `upgrade`.  
Para Linux, macOS o Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql", "upgrade"]}'
```
Para Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["postgresql","upgrade"]}'
```

**Example Crear una instancia para publicar registros en CloudWatch Logs**  
En el siguiente ejemplo se crea una instancia de base de datos PostgreSQL y se publican archivos de registro en CloudWatch Logs. El valor `--enable-cloudwatch-logs-exports` es una matriz de cadenas JSON. Las cadenas pueden ser cualquier combinación de `postgresql` y `upgrade`.  
Para Linux, macOS o Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' \
4.     --db-instance-class db.m4.large \
5.     --engine postgres
```
Para Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["postgresql","upgrade"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine postgres
```

### API de RDS
<a name="USER_LogAccess.Concepts.PostgreSQL.PublishtoCloudWatchLogs.API"></a>

Puede publicar registros de PostgreSQL con la API de RDS. Puede llamar a la acción [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) con los parámetros siguientes: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**nota**  
Los cambios en el parámetro `CloudwatchLogsExportConfiguration` siempre se aplican a la instancia de base de datos inmediatamente. Por tanto, el parámetro `ApplyImmediately` no tiene efecto.

También puede publicar registros de PostgreSQL llamando a las siguientes operaciones de la API de RDS: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Ejecute una de estas operaciones de la API de RDS con los siguientes parámetros: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Podrían ser necesarios otros parámetros en función de la operación que ejecute.

 

# Supervisión de llamadas a la API de Amazon RDS en AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS CloudTrail es un servicio de AWS que ayuda a auditar la cuenta de AWS. AWS CloudTrail se activa en la cuenta de AWS cuando esta se crea. Para obtener más información acerca de CloudTrail, consulte la [Guía del usuario de AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/).

**Topics**
+ [Integración de CloudTrail con Amazon RDS](#service-name-info-in-cloudtrail)
+ [Entradas de archivos de registro de Amazon RDS](#understanding-service-name-entries)

## Integración de CloudTrail con Amazon RDS
<a name="service-name-info-in-cloudtrail"></a>

Todas las acciones de Amazon RDS se registran en CloudTrail. CloudTrail proporciona un registro de las acciones que realiza un usuario, un rol o un servicio de AWS en Amazon RDS.

### Eventos de CloudTrail
<a name="service-name-info-in-cloudtrail.events"></a>

CloudTrail captura las llamadas a la API de Amazon RDS como eventos. Un evento representa una solicitud específica realizada desde un origen y contiene información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc. Los eventos incluyen las llamadas realizadas desde la consola de Amazon RDS y las llamadas desde el código a las operaciones de la API de Amazon RDS. 

La actividad de Amazon RDS se registra en un evento de CloudTrail de **Event history** (Historial de eventos). Puede utilizar la consola de CloudTrail para ver los últimos 90 días de actividad y eventos de API registrados en una región de AWS. Para obtener más información, consulte [Visualización de eventos con el historial de eventos de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

### Registros de seguimiento de CloudTrail
<a name="service-name-info-in-cloudtrail.trails"></a>

Para mantener un registro continuo de eventos en la cuenta de AWS, incluidos los eventos de Amazon RDS, cree una traza. Un seguimiento es una configuración que permite la entrega de eventos en un bucket de Amazon S3 especificado. CloudTrail normalmente entrega archivos de registro en el plazo de 15 minutos después de producirse la actividad de la cuenta.

**nota**  
Si no configura un registro de seguimiento, puede ver los eventos más recientes en la consola de CloudTrail en el **Event history (Historial de eventos)**.

Puede crear dos tipos de registros de seguimiento en una cuenta de AWS : uno que se aplique a todas las regiones o uno que se aplique a una región específica. De manera predeterminada, cuando crea un registro de seguimiento en la consola, el registro de seguimiento se aplica a todas las regiones. 

También es posible configurar otros servicios de AWS para analizar en profundidad y actuar en función de los datos de eventos recopilados en los registros de CloudTrail. Para obtener más información, consulte: 
+ [Introducción a la creación de registros de seguimiento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [Servicios e integraciones compatibles con CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [Configuración de notificaciones de Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [‬Recibir archivos de registro de CloudTrail desde varias regiones](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) y [Recibir archivos de registro de CloudTrail desde varias cuentas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

## Entradas de archivos de registro de Amazon RDS
<a name="understanding-service-name-entries"></a>

Los archivos log de CloudTrail pueden contener una o varias entradas de log. Los archivos de registro de CloudTrail no son un rastro de la stack ordenado de las llamadas a las API públicas, por lo que no aparecen en ningún orden específico. 

En el ejemplo siguiente, se muestra una entrada de registro de CloudTrail que ilustra la acción `CreateDBInstance`.

```
{
    "eventVersion": "1.04",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AKIAIOSFODNN7EXAMPLE",
        "arn": "arn:aws:iam::123456789012:user/johndoe",
        "accountId": "123456789012",
        "accessKeyId": "AKIAI44QH8DHBEXAMPLE",
        "userName": "johndoe"
    },
    "eventTime": "2018-07-30T22:14:06Z",
    "eventSource": "rds.amazonaws.com",
    "eventName": "CreateDBInstance",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "192.0.2.0",
    "userAgent": "aws-cli/1.15.42 Python/3.6.1 Darwin/17.7.0 botocore/1.10.42",
    "requestParameters": {
        "enableCloudwatchLogsExports": [
            "audit",
            "error",
            "general",
            "slowquery"
        ],
        "dBInstanceIdentifier": "test-instance",
        "engine": "mysql",
        "masterUsername": "myawsuser",
        "allocatedStorage": 20,
        "dBInstanceClass": "db.m1.small",
        "masterUserPassword": "****"
    },
    "responseElements": {
        "dBInstanceArn": "arn:aws:rds:us-east-1:123456789012:db:test-instance",
        "storageEncrypted": false,
        "preferredBackupWindow": "10:27-10:57",
        "preferredMaintenanceWindow": "sat:05:47-sat:06:17",
        "backupRetentionPeriod": 1,
        "allocatedStorage": 20,
        "storageType": "standard",
        "engineVersion": "8.0.28",
        "dbInstancePort": 0,
        "optionGroupMemberships": [
            {
                "status": "in-sync",
                "optionGroupName": "default:mysql-8-0"
            }
        ],
        "dBParameterGroups": [
            {
                "dBParameterGroupName": "default.mysql8.0",
                "parameterApplyStatus": "in-sync"
            }
        ],
        "monitoringInterval": 0,
        "dBInstanceClass": "db.m1.small",
        "readReplicaDBInstanceIdentifiers": [],
        "dBSubnetGroup": {
            "dBSubnetGroupName": "default",
            "dBSubnetGroupDescription": "default",
            "subnets": [
                {
                    "subnetAvailabilityZone": {"name": "us-east-1b"},
                    "subnetIdentifier": "subnet-cbfff283",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1e"},
                    "subnetIdentifier": "subnet-d7c825e8",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1f"},
                    "subnetIdentifier": "subnet-6746046b",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1c"},
                    "subnetIdentifier": "subnet-bac383e0",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1d"},
                    "subnetIdentifier": "subnet-42599426",
                    "subnetStatus": "Active"
                },
                {
                    "subnetAvailabilityZone": {"name": "us-east-1a"},
                    "subnetIdentifier": "subnet-da327bf6",
                    "subnetStatus": "Active"
                }
            ],
            "vpcId": "vpc-136a4c6a",
            "subnetGroupStatus": "Complete"
        },
        "masterUsername": "myawsuser",
        "multiAZ": false,
        "autoMinorVersionUpgrade": true,
        "engine": "mysql",
        "cACertificateIdentifier": "rds-ca-2015",
        "dbiResourceId": "db-ETDZIIXHEWY5N7GXVC4SH7H5IA",
        "dBSecurityGroups": [],
        "pendingModifiedValues": {
            "masterUserPassword": "****",
            "pendingCloudwatchLogsExports": {
                "logTypesToEnable": [
                    "audit",
                    "error",
                    "general",
                    "slowquery"
                ]
            }
        },
        "dBInstanceStatus": "creating",
        "publiclyAccessible": true,
        "domainMemberships": [],
        "copyTagsToSnapshot": false,
        "dBInstanceIdentifier": "test-instance",
        "licenseModel": "general-public-license",
        "iAMDatabaseAuthenticationEnabled": false,
        "performanceInsightsEnabled": false,
        "vpcSecurityGroups": [
            {
                "status": "active",
                "vpcSecurityGroupId": "sg-f839b688"
            }
        ]
    },
    "requestID": "daf2e3f5-96a3-4df7-a026-863f96db793e",
    "eventID": "797163d3-5726-441d-80a7-6eeb7464acd4",
    "eventType": "AwsApiCall",
    "recipientAccountId": "123456789012"
}
```

Tal y como se muestra en el elemento `userIdentity` del ejemplo anterior, cada evento o entrada del registro contiene información sobre quién generó la solicitud. La información de identidad del usuario le ayuda a determinar lo siguiente: 
+ Si la solicitud se realizó con las credenciales raíz o del usuario de IAM.
+ Si la solicitud se realizó con credenciales de seguridad temporales de un rol o fue un usuario federado.
+ Si la solicitud la realizó otro servicio de AWS.

Para obtener más información sobre `userIdentity`, consulte [Elemento userIdentity de CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html). Para obtener más información sobre `CreateDBInstance` y otras acciones de Amazon RDS, consulte la [Referencia de la API de Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/).

# Supervisión de Amazon RDS con flujos de actividad de la base de datos
<a name="DBActivityStreams"></a><a name="das"></a>

Mediante la característica de flujos de actividad de la base de datos, puede supervisar flujos de actividad de la base de datos prácticamente en tiempo real.

**Topics**
+ [Información general sobre flujos de actividad de la base de datos](#DBActivityStreams.Overview)
+ [Configuración de la auditoría unificada para Oracle Database](DBActivityStreams.configuring-auditing.md)
+ [Configuración de la política de auditoría para Amazon RDS para Microsoft SQL Server](DBActivityStreams.configuring-auditing-SQLServer.md)
+ [Inicio de una secuencia de actividades de la base de datos](DBActivityStreams.Enabling.md)
+ [Modificación de una secuencia de actividades de la base de datos para Amazon RDS](DBActivityStreams.Modifying.md)
+ [Obtención del estado de un flujo de actividad de la base de datos](DBActivityStreams.Status.md)
+ [Detención de un flujo de actividad de la base de datos](DBActivityStreams.Disabling.md)
+ [Monitoreo de secuencias de actividades de la base de datos](DBActivityStreams.Monitoring.md)
+ [Ejemplos de políticas de IAM para flujos de actividad de base de datos](DBActivityStreams.ManagingAccess.md)

## Información general sobre flujos de actividad de la base de datos
<a name="DBActivityStreams.Overview"></a>

Como administrador de base de datos de Amazon RDS, debe proteger su base de datos y cumplir los requisitos normativos y de conformidad. Una estrategia es integrar flujos de actividad de la base de datos con sus herramientas de monitoreo. De esta manera, monitoriza y configura alarmas para la actividad de auditoría en su base de datos.

Las amenazas de seguridad son tanto externas como internas. Para protegerse contra amenazas internas, puede controlar el acceso del administrador a los flujos de datos mediante la configuración de la característica de flujos de actividad de la base de datos. Los DBA de Amazon RDS no tienen acceso a la recopilación, transmisión, almacenamiento ni procesamiento de los flujos.

**Contents**
+ [Cómo funcionan los flujos de actividad de la base de datos](#DBActivityStreams.Overview.how-they-work)
+ [Auditoría en Oracle Database y Microsoft SQL Server Database](#DBActivityStreams.Overview.auditing)
  + [Auditoría unificada en la base de datos de Oracle](#DBActivityStreams.Overview.unified-auditing)
  + [Auditoría en Microsoft SQL Server](#DBActivityStreams.Overview.SQLServer-auditing)
  + [Campos de auditoría no nativos para Oracle Database y SQL Server](#DBActivityStreams.Overview.unified-auditing.non-native)
  + [Anulación del grupo de parámetros de base de datos](#DBActivityStreams.Overview.unified-auditing.parameter-group)
+ [Modo asíncrono para flujos de actividad de la base de datos](#DBActivityStreams.Overview.sync-mode)
+ [Requisitos y limitaciones de los flujos de actividad de la base de datos](#DBActivityStreams.Overview.requirements)
+ [Disponibilidad en regiones y versiones](#DBActivityStreams.RegionVersionAvailability)
+ [Clases de instancia de base de datos admitidas para los flujos de actividad de la base de datos](#DBActivityStreams.Overview.requirements.classes)

### Cómo funcionan los flujos de actividad de la base de datos
<a name="DBActivityStreams.Overview.how-they-work"></a>

Amazon RDS envía actividades a un flujo de datos de Amazon Kinesis prácticamente en tiempo real. El flujo de Kinesis se crea automáticamente. Desde Kinesis, puede configurar servicios de AWS como Amazon Data Firehose y AWS Lambda para utilizar el flujo y almacenar los datos.

**importante**  
La característica de flujo de actividad de la base de datos en Amazon RDS se puede utilizar de forma gratuita, pero Amazon Kinesis cobra por un flujo de datos. Para obtener más información, consulte los [Precios de Amazon Kinesis Data Streams](https://aws.amazon.com/kinesis/data-streams/pricing/).

Puede configurar aplicaciones para administrar la conformidad para consumir los flujos de actividad de la base de datos. Esas aplicaciones pueden utilizar el flujo para generar alertas y auditar la actividad la base de datos.

Amazon RDS admite flujos de actividad de bases de datos en implementaciones multi-AZ. En este caso, los flujos de actividad de la base de datos auditan tanto las instancias principales como en espera.

### Auditoría en Oracle Database y Microsoft SQL Server Database
<a name="DBActivityStreams.Overview.auditing"></a>

La auditoría es el monitoreo y registro de acciones de base de datos configuradas. Amazon RDS no captura las actividades de la base de datos de forma predeterminada. Cree y administre usted mismo políticas de auditoría en la base de datos.

**Topics**
+ [Auditoría unificada en la base de datos de Oracle](#DBActivityStreams.Overview.unified-auditing)
+ [Auditoría en Microsoft SQL Server](#DBActivityStreams.Overview.SQLServer-auditing)
+ [Campos de auditoría no nativos para Oracle Database y SQL Server](#DBActivityStreams.Overview.unified-auditing.non-native)
+ [Anulación del grupo de parámetros de base de datos](#DBActivityStreams.Overview.unified-auditing.parameter-group)

#### Auditoría unificada en la base de datos de Oracle
<a name="DBActivityStreams.Overview.unified-auditing"></a>

En una base de datos de Oracle, una *política de auditoría unificada* es un grupo con nombre de configuración de auditoría que se puede utilizar para auditar un aspecto del comportamiento del usuario. Una política puede ser tan simple como auditar las actividades de un solo usuario. También puede crear políticas de auditoría complejas que utilicen condiciones.

Una base de datos de Oracle escribe registros de auditoría, incluidos registros de auditoría `SYS`, en los *seguimientos de auditoría unificada*. Por ejemplo, si se produce un error durante una instrucción `INSERT`, la auditoría estándar indica el número de error y el SQL que se ejecutó. El seguimiento de auditoría reside en una tabla de solo lectura en el esquema `AUDSYS`. Para acceder a estos registros, consulte la vista `UNIFIED_AUDIT_TRAIL` del diccionario de datos.

Por lo general, se configuran flujos de actividad de la base de datos de la siguiente manera:

1. Cree una política de auditoría de base de datos de Oracle mediante el comando `CREATE AUDIT POLICY`.

   La base de datos de Oracle genera registros de auditoría.

1. Habilite la política de auditoría mediante el comando `AUDIT POLICY`.

1. Configure los flujos de actividad de la base de datos.

   Solo las actividades que coincidan con las políticas de auditoría de la base de datos de Oracle se capturan y envían al flujo de datos de Amazon Kinesis. Cuando se habilitan los flujos de actividad de la base de datos, un administrador de base de datos de Oracle no puede modificar la política de auditoría ni eliminar registros de auditoría.

Para obtener más información sobre las políticas de auditoría unificadas, consulte la sección [acerca de las actividades de auditoría con políticas de auditoría unificadas y AUDIT](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-audit-policies.html#GUID-2435D929-10AD-43C7-8A6C-5133170074D0) en la *guía de seguridad de la base de datos de Oracle*.

#### Auditoría en Microsoft SQL Server
<a name="DBActivityStreams.Overview.SQLServer-auditing"></a>

El flujo de actividad de la base de datos utiliza la característica SQLAudit para auditar la base de datos de SQL Server.

La instancia de RDS para SQL Server contiene lo siguiente:
+ Auditoría de servidor: la auditoría de SQL server recopila una sola instancia de acciones a nivel de servidor o base de datos y un grupo de acciones para supervisar. Las auditorías a nivel de servidor `RDS_DAS_AUDIT` y `RDS_DAS_AUDIT_CHANGES` las administra RDS.
+ Especificación de auditoría del servidor: la especificación de auditoría del servidor registra los eventos a nivel de servidor. Puede modificar la especificación `RDS_DAS_SERVER_AUDIT_SPEC`. Esta especificación está vinculada a la auditoría del servidor `RDS_DAS_AUDIT`. La especificación `RDS_DAS_CHANGES_AUDIT_SPEC` la administra RDS.
+ Especificación de auditoría de base de datos: la especificación de auditoría de base de datos registra los eventos a nivel de base de datos. Puede crear una especificación de auditoría de base de datos `RDS_DAS_DB_<name>` y vincularla a la auditoría del servidor `RDS_DAS_AUDIT`.

Puede configurar los flujos de actividad de la base de datos mediante la consola o la CLI. Por lo general, se configuran flujos de actividad de la base de datos de la siguiente manera:

1. (Opcional) Cree una especificación de auditoría de base de datos con el comando `CREATE DATABASE AUDIT SPECIFICATION` y vincúlela a la auditoría `RDS_DAS_AUDIT` del servidor. 

1. (Opcional) Modifique la especificación de auditoría del servidor con el comando `ALTER SERVER AUDIT SPECIFICATION` y defina las políticas. 

1. Active las políticas de auditoría de base de datos y servidor. Por ejemplo:

   `ALTER DATABASE AUDIT SPECIFICATION [<Your database specification>] WITH (STATE=ON)`

   `ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC] WITH (STATE=ON)`

1. Configure los flujos de actividad de la base de datos.

   Solo las actividades que coincidan con las políticas de auditoría de base de datos y servidor se capturan y envían a Amazon Kinesis Data Streams. Cuando se habilitan los flujos de actividad de base de datos y las políticas están bloqueadas, un administrador de base de datos no puede modificar la política de auditoría ni eliminar registros de auditoría. 
**importante**  
Si la especificación de auditoría de base de datos para una base de datos específica está habilitada y la política está bloqueada, no se puede eliminar la base de datos.

Para obtener más información sobre la auditoría de SQL Server, consulte [SQL Server Audit Components](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-database-engine?view=sql-server-ver16) (Componentes de auditoría de SQL Server) en la *documentación de Microsoft SQL Server*.



#### Campos de auditoría no nativos para Oracle Database y SQL Server
<a name="DBActivityStreams.Overview.unified-auditing.non-native"></a>

Cuando inicia un flujo de actividad de la base de datos, cada evento de base de datos genera un evento de flujo de actividad correspondiente. Por ejemplo, un usuario de base de datos puede ejecutar las instrucciones `SELECT` y `INSERT`. La base de datos audita estos eventos y los envía a un flujo de datos de Amazon Kinesis.

Los eventos se representan como objetos JSON en el flujo. Un objeto JSON contiene un `DatabaseActivityMonitoringRecord`, que contiene una matriz `databaseActivityEventList`. Los campos predefinidos en la matriz incluyen `class`, `clientApplication` y `command`.

De forma predeterminada, un flujo de actividad no incluye campos de auditoría nativos del motor. Puede configurar Amazon RDS para Oracle y SQL Server para que incluyan estos campos adicionales en el objeto JSON `engineNativeAuditFields`.

En Oracle Database, la mayoría de los eventos del seguimiento de auditoría unificado se asignan a campos del flujo de actividad de datos de RDS. Por ejemplo, el campo `UNIFIED_AUDIT_TRAIL.SQL_TEXT` en los mapas unificados de auditoría al campo `commandText` en un flujo de actividad de la base de datos. Sin embargo, los campos de auditoría de la base de datos de Oracle, como `OS_USERNAME`, no se asignan a campos predefinidos en un flujo de actividad de la base de datos.

En SQL Server, la mayoría de los campos del evento que registra SQLAudit se asignan a los campos del flujo de actividad de la base de datos de RDS. Por ejemplo, el campo `code` de `sys.fn_get_audit_file` en la auditoría se asigna al campo `commandText` en un flujo de actividad de la base de datos. Sin embargo, los campos de auditoría de la base de datos de SQL Server, como `permission_bitmask`, no se asignan a campos predefinidos en un flujo de actividad de la base de datos.

Para obtener más información acerca de databaseActivityEventList, consulte [Matriz JSON databaseActivityEventList para flujos de actividad de base de datos](DBActivityStreams.AuditLog.databaseActivityEventList.md).

#### Anulación del grupo de parámetros de base de datos
<a name="DBActivityStreams.Overview.unified-auditing.parameter-group"></a>

Por lo general, se adjunta un grupo de parámetros para activar la auditoría unificada en RDS para Oracle. Sin embargo, los flujos de actividad de la base de datos requieren una configuración adicional. Para mejorar la experiencia del cliente, Amazon RDS realiza lo siguiente:
+ Si activa un flujo de actividad, RDS para Oracle ignora los parámetros de auditoría del grupo de parámetros.
+ Si desactiva un flujo de actividad, RDS para Oracle deja de ignorar los parámetros de auditoría.

El flujo de actividad de la base de datos para SQL Server es independiente de los parámetros que establezca en la opción de auditoría de SQL.

### Modo asíncrono para flujos de actividad de la base de datos
<a name="DBActivityStreams.Overview.sync-mode"></a>

Los flujos de actividad en Amazon RDS siempre son asíncronos. Cuando una sesión de la base de datos genere un evento de flujo de actividad, la sesión volverá de inmediato a las actividades normales. En segundo plano, Amazon RDS convierte el evento de flujo de actividad en un registro permanente.

Si se produce un error en la tarea en segundo plano, Amazon RDS generará un evento. Dicho evento marca el principio y el fin de todo período de tiempo en el que podrían haberse perdido registros de eventos de la secuencia de actividades. El modo asíncrono favorece el rendimiento de la base de datos con respecto a la precisión de la secuencia de actividades.

### Requisitos y limitaciones de los flujos de actividad de la base de datos
<a name="DBActivityStreams.Overview.requirements"></a>

En RDS, los flujos de actividad de la base de datos tienen los límites y los requisitos siguientes:
+ Los flujos de actividad de la base de datos requieren Amazon Kinesis.
+ Se requiere AWS Key Management Service (AWS KMS) porque los flujos de actividad de la base de datos siempre están cifrados.
+ La aplicación de cifrado adicional al flujo de datos de Amazon Kinesis no es compatible con los flujos de actividad de la base de datos, que ya están cifrados con su clave AWS KMS.
+ Usted mismo debe crear y administrar las políticas de auditoría. A diferencia de Amazon Aurora, RDS para Oracle no captura las actividades de la base de datos de forma predeterminada.
+ Usted mismo debe crear y administrar las políticas o especificaciones de la auditoría. A diferencia de Amazon Aurora, Amazon RDS no captura las actividades de la base de datos de forma predeterminada.
+ En una implementación multi-AZ, inicie el flujo de actividad de la base de datos solo en la instancia de base de datos principal. El flujo de actividad audita automáticamente las instancias de base de datos principal y en espera. No hace falta realizar ningún otro paso durante una conmutación por error.
+ Al cambiar el nombre de una instancia de base de datos, no se crea un flujo de Kinesis nuevo.
+ No se admiten CDB en RDS para Oracle.
+ No se admiten réplicas de lectura.

### Disponibilidad en regiones y versiones
<a name="DBActivityStreams.RegionVersionAvailability"></a>

La disponibilidad de las características varía según las versiones específicas de cada motor de base de datos y entre Regiones de AWS. Para obtener más información sobre la disponibilidad de versiones y regiones de los flujos de actividades de base de datos, consulte [Regiones y motores de base de datos admitidos para los flujos de actividad de bases de datos en Amazon RDS](Concepts.RDS_Fea_Regions_DB-eng.Feature.DBActivityStreams.md).

### Clases de instancia de base de datos admitidas para los flujos de actividad de la base de datos
<a name="DBActivityStreams.Overview.requirements.classes"></a>

Para RDS para Oracle, puede utilizar flujos de actividad de bases de datos con las siguientes clases de instancias de base de datos:
+ db.m4.\$1large
+ db.m5.\$1large
+ db.m5d.\$1large
+ db.m6i.\$1large
+ db.r4.\$1large
+ db.r5.\$1large
+ db.r5.\$1large.tpc\$1.mem\$1x
+ db.r5b.\$1large
+ db.r5b.\$1large.tpc\$1.mem\$1x
+ db.r5d.\$1large
+ db.r6i.\$1large
+ db.r6i.\$1large.tpc\$1.mem\$1x
+ db.x2idn.\$1large
+ db.x2iedn.\$1large
+ db.x2iezn.\$1large
+ db.z1d.\$1large

Para RDS para SQL Server, puede utilizar flujos de actividad de bases de datos con las siguientes clases de instancias de base de datos:
+ db.m4.\$1large
+ db.m5.\$1large
+ db.m5d.\$1large
+ db.m6i.\$1large
+ db.r4.\$1large
+ db.r5.\$1large
+ db.r5b.\$1large
+ db.r5d.\$1large
+ db.r6i.\$1large
+ db.x1e.\$1large
+ db.x2iedn.\$1large
+ db.z1d.\$1large

Para obtener más información sobre los tipos de clases de instancia, consulte [Clases de instancia de base de datos de ](Concepts.DBInstanceClass.md).

# Configuración de la auditoría unificada para Oracle Database
<a name="DBActivityStreams.configuring-auditing"></a>

Al configurar la auditoría unificada para usarse con flujos de actividad de la base de datos, son posibles las siguientes situaciones:
+ La auditoría unificada no está configurada para la base de datos de Oracle.

  En este caso, cree nuevas políticas con el comando `CREATE AUDIT POLICY` y, después, actívelas con el comando `AUDIT POLICY`. En el ejemplo siguiente, se crea y activa una política para supervisar usuarios con privilegios y roles específicos.

  ```
  CREATE AUDIT POLICY table_pol
  PRIVILEGES CREATE ANY TABLE, DROP ANY TABLE
  ROLES emp_admin, sales_admin;
  
  AUDIT POLICY table_pol;
  ```

  Para obtener instrucciones completas, consulte [Configuring Audit Policies](https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/configuring-audit-policies.html#GUID-22CDB667-5AA2-4051-A262-FBD0236763CB) en la documentación de Oracle Database.
+ La auditoría unificada está configurada para la base de datos de Oracle.

  Al activar un flujo de actividad de la base de datos, RDS for Oracle borra automáticamente los datos de auditoría existentes. También revoca los privilegios de seguimiento de auditoría. RDS for Oracle ya no puede hacer lo siguiente:
  + Depure registros de traza de auditoría unificados.
  + agregar, eliminar ni modificar la política de auditoría unificada
  + actualizar la última marca temporal archivada.
**importante**  
Le recomendamos realizar una copia de seguridad de los datos de auditoría antes de activar un flujo de actividad de la base de datos.

  Para obtener una descripción de la vista `UNIFIED_AUDIT_TRAIL`, consulte [UNIFIED\$1AUDIT\$1TRAIL](https://docs.oracle.com/database/121/REFRN/GUID-B7CE1C02-2FD4-47D6-80AA-CF74A60CDD1D.htm#REFRN29162). Si tiene una cuenta con Oracle Support, consulte [How To Purge The UNIFIED AUDIT TRAIL](https://support.oracle.com/knowledge/Oracle%20Database%20Products/1582627_1.html).

# Configuración de la política de auditoría para Amazon RDS para Microsoft SQL Server
<a name="DBActivityStreams.configuring-auditing-SQLServer"></a>

Una instancia de base de datos de SQL Server tiene la auditoría del servidor `RDS_DAS_AUDIT`, que administra Amazon RDS. Puede definir políticas para registrar los eventos del servidor en la especificación de auditoría del servidor `RDS_DAS_SERVER_AUDIT_SPEC`. Puede crear una especificación de auditoría de base de datos, por ejemplo `RDS_DAS_DB_<name>`, y definir políticas para registrar eventos de la base de datos. Para obtener la lista de grupos de acciones de auditoría a nivel de servidor y base de datos, consulte [SQL Server Audit Action Groups and Actions](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions) (Grupos de acciones y acciones de auditoría de SQL Server) en la *documentación de Microsoft SQL Server*.

La política de servidor predeterminada solo supervisa los inicios de sesión fallidos y los cambios en cualquier especificación de auditoría de bases de datos o servidores para los flujos de actividad de las bases de datos.

Estas son algunas de las limitaciones de la auditoría y las especificaciones de auditoría:
+ No puede modificar las especificaciones de auditoría del servidor o la base de datos cuando el flujo de actividad de la base de datos esté *bloqueado*.
+ No puede modificar la especificación de auditoría `RDS_DAS_AUDIT` del servidor.
+ No puede modificar la auditoría de SQL Server `RDS_DAS_CHANGES` ni su especificación de auditoría de servidor relacionada `RDS_DAS_CHANGES_AUDIT_SPEC`.
+ Al crear una especificación de auditoría de base de datos, debe utilizar el formato `RDS_DAS_DB_<name>`; por ejemplo,`RDS_DAS_DB_databaseActions`.

**importante**  
Para clases de instancias más pequeñas, recomendamos que solo audite los datos necesarios. Esto ayuda a reducir el impacto en el rendimiento de los flujos de actividad de las bases de datos en estas clases de instancias.

El siguiente código de ejemplo modifica la especificación de auditoría del servidor `RDS_DAS_SERVER_AUDIT_SPEC` y audita todas las acciones de cierre de sesión y de inicio de sesión que se realizan correctamente:

```
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      WITH (STATE=OFF);
ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC]
      ADD (LOGOUT_GROUP),
      ADD (SUCCESSFUL_LOGIN_GROUP)
      WITH (STATE = ON );
```

El siguiente código de ejemplo crea una especificación de auditoría de base de datos `RDS_DAS_DB_database_spec` y la asocia a la auditoría del servidor `RDS_DAS_AUDIT`:

```
USE testDB;
CREATE DATABASE AUDIT SPECIFICATION [RDS_DAS_DB_database_spec]
     FOR SERVER AUDIT [RDS_DAS_AUDIT]
     ADD ( INSERT, UPDATE, DELETE  
          ON testTable BY testUser )  
     WITH (STATE = ON);
```

Una vez configuradas las especificaciones de auditoría, asegúrese de que las especificaciones `RDS_DAS_SERVER_AUDIT_SPEC` y `RDS_DAS_DB_<name>` estén configuradas en el estado `ON`. Ahora pueden enviar los datos de auditoría al flujo de actividad de su base de datos.

# Inicio de una secuencia de actividades de la base de datos
<a name="DBActivityStreams.Enabling"></a>

Cuando inicie un flujo de actividad para la instancia de base de datos, todos los eventos de actividad de la base de datos que haya configurado en la política de auditoría generarán un evento del flujo de actividad. Los eventos de acceso se generan a partir de comandos SQL como `CONNECT` y `SELECT`. Los eventos de cambio se generan a partir de comandos SQL como `CREATE` y `INSERT`.

**importante**  
La activación de un flujo de actividad para una instancia de Oracle Database borra los datos de auditoría existentes. También revoca los privilegios de seguimiento de auditoría. Cuando el flujo está habilitado, RDS para Oracle ya no puede hacer lo siguiente:  
Depure registros de traza de auditoría unificados.
agregar, eliminar ni modificar la política de auditoría unificada
actualizar la última marca temporal archivada

------
#### [ Console ]

**Inicio de un flujo de actividad de la base de datos**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

1. Elija la instancia de base de datos de Amazon RDS en la que desea iniciar un flujo de actividad. En una implementación Multi-AZ, inicie el flujo solo en la instancia principal. El flujo de actividad audita automáticamente las instancias de base de datos principal y en espera.

1. En **Actions (Acciones)**, elija **Start activity stream (Iniciar secuencia de actividades)**. 

   Aparecerá la ventana **Start database activity stream: ***name* (Iniciar el flujo de actividad de la base de datos: nombre), donde *name* (nombre) equivale a su instancia de RDS.

1. Ingrese la siguiente configuración:
   + En **AWS KMS key**, seleccione una clave de la lista de AWS KMS keys.

     Amazon RDS utiliza la clave de KMS para cifrar la clave que, a su vez, cifra la actividad de la base de datos. Elija una clave de KMS distinta de la clave predeterminada. Para obtener más información sobre las claves de cifrado y AWS KMS, consulte [¿Qué es AWS Key Management Service?](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) en la *guía para desarrolladores de AWS Key Management Service*.
   + En **Eventos de actividades de base de datos**, elija **Habilitar campos de auditoría nativos de Oracle** para incluir campos de auditoría específicos del motor.
   + Elija **Immediately** (De inmediato).

     Cuando elige **Immediately (De inmediato)**, la instancia de RDS se reinicia de inmediato. Si elige **During the next maintenance window (Durante el siguiente periodo de mantenimiento)**, la instancia de RDS no se reinicia de inmediato. En este caso, la secuencia de actividades de la base de datos no se inicia hasta la siguiente ventana de mantenimiento.

1. Seleccione **Start database activity stream** (Iniciar secuencia de actividades de base de datos).

   El estado la base de datos muestra que el flujo de actividad se está iniciando.
**nota**  
Si aparece el error `You can't start a database activity stream in this configuration`, compruebe [Clases de instancia de base de datos admitidas para los flujos de actividad de la base de datos](DBActivityStreams.md#DBActivityStreams.Overview.requirements.classes) para ver si su instancia de RDS utiliza una clase de instancia compatible.

------
#### [ AWS CLI ]

Para empezar a transmitir la actividad de la base de datos de una instancia de base de datos, configure la base de datos mediante el comando [start-activity-stream](https://docs.aws.amazon.com/cli/latest/reference/rds/start-activity-stream.html) de la AWS CLI.
+ `--resource-arn arn`: especifica el nombre de recurso de Amazon (ARN) de la instancia de base de datos.
+ `--kms-key-id key`: especifica el identificador de clave KMS para cifrar mensajes en el flujo de actividad de la base de datos. El identificador de clave de KMS AWS es el ARN clave, el ID de clave, el ARN de alias o el nombre de alias de la AWS KMS key.
+ `--engine-native-audit-fields-included`: incluye campos de auditoría unificados específicos del motor en el flujo de datos. Para excluir estos campos, especifique `--no-engine-native-audit-fields-included` (predeterminada).

El siguiente ejemplo inicia un flujo de actividad de la base de datos para una instancia de base de datos en modo asíncrono.

Para Linux, macOS o Unix:

```
aws rds start-activity-stream \
    --mode async \
    --kms-key-id my-kms-key-arn \
    --resource-arn my-instance-arn \
    --engine-native-audit-fields-included \
    --apply-immediately
```

Para Windows:

```
aws rds start-activity-stream ^
    --mode async ^
    --kms-key-id my-kms-key-arn ^
    --resource-arn my-instance-arn ^
    --engine-native-audit-fields-included ^
    --apply-immediately
```

------
#### [ Amazon RDS API ]

Para iniciar flujos de actividad de base de datos de una instancia de base de datos, configure la instancia mediante la operación [StartActivityStream](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StartActivityStream.html).

Llame a la acción con los siguientes parámetros:
+ `Region`
+ `KmsKeyId`
+ `ResourceArn`
+ `Mode`
+ `EngineNativeAuditFieldsIncluded`

------

# Modificación de una secuencia de actividades de la base de datos para Amazon RDS
<a name="DBActivityStreams.Modifying"></a>

Es posible que desee personalizar la política de auditoría de Amazon RDS cuando se inicie el flujo de actividad. Si no quiere perder tiempo ni datos deteniendo la secuencia de actividades, puede cambiar el *estado de la política de auditoría* a cualquiera de las siguientes opciones:

**Locked (Bloqueado) (predeterminado)**  
Las políticas de auditoría de la base de datos son de solo lectura.

**Unlocked (Desbloqueado)**  
Las políticas de auditoría de la base de datos son de lectura/escritura.

Los pasos básicos son los siguientes:

1. Cambie el estado de la política de auditoría a desbloqueado.

1. Personalice su política de auditoría.

1. Cambie el estado de la política de auditoría a bloqueado.

## Consola
<a name="DBActivityStreams.Modifying-collapsible-section-E1"></a>

**Para cambiar el estado de la política de auditoría de la secuencia de actividades**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases** (Bases de datos).

1. En **Actions (Acciones)**, elija **Modify database activity stream (Modificar secuencia de actividades de la base de datos)**. 

   Aparece la ventana **Modify database activity stream: *name*(Modificar secuencia de actividad de la base de datos: nombre)**, donde *name* es su instancia de RDS.

1. Elija cualquiera de las siguientes opciones:  
**Locked (Bloqueado)**  
Cuando se bloquea la política de auditoría, pasa a ser de solo lectura. No puede editar la política de auditoría a menos que la desbloquee o detenga la secuencia de actividades.  
**Unlocked (Desbloqueado)**  
Al desbloquear la política de auditoría, pasa a ser de lectura/escritura. Puede editar su política de auditoría mientras se inicia el flujo de actividades.

1. Elija **Modify DB activity stream (Modificar flujo de actividades de la base de datos)**.

   El estado de Amazon RDS muestra **Configurando el flujo de actividad**.

1. (Opcional) Elija el enlace de la instancia de base de datos. A continuación, elija la pestaña **Configuration (Configuración)**.

   El campo **Audit policy status (Estado de política de auditoría)** muestra uno de los siguientes valores:
   + **Locked (Bloqueado)**
   + **Unlocked (Desbloqueado)**
   + **Locking policy (Política de bloqueo)**
   + **Unlocking policy (Política de desbloqueo)**

## AWS CLI
<a name="DBActivityStreams.Modifying-collapsible-section-E2"></a>

Para modificar el estado del flujo de actividad de una instancia de base de datos, utilice el comando [modify-activity-stream](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-activity-stream.html) de la AWS CLI.


****  

| Opción | ¿Obligatorio? | Descripción | 
| --- | --- | --- | 
|  `--resource-arn my-instance-ARN`  |  Sí  |  El nombre de recurso de Amazon (ARN) de la instancia de base de datos de RDS.  | 
|  `--audit-policy-state`  |  No  |  El nuevo estado de la política de auditoría para el flujo de actividades de la base de datos en su instancia: `locked` o `unlocked`.  | 

El siguiente ejemplo desbloquea la política de auditoría de la secuencia de actividades iniciada en *my-instance-ARN*.

Para Linux, macOS o:Unix

```
aws rds modify-activity-stream \
    --resource-arn my-instance-ARN \
    --audit-policy-state unlocked
```

En:Windows

```
aws rds modify-activity-stream ^
    --resource-arn my-instance-ARN ^
    --audit-policy-state unlocked
```

En el siguiente ejemplo, se describe la instancia *my-instance*. El resultado de ejemplo parcial muestra que la política de auditoría está desbloqueada.

```
aws rds describe-db-instances --db-instance-identifier my-instance

{
    "DBInstances": [
        {
            ...
            "Engine": "oracle-ee",
            ...
            "ActivityStreamStatus": "started",
            "ActivityStreamKmsKeyId": "ab12345e-1111-2bc3-12a3-ab1cd12345e",
            "ActivityStreamKinesisStreamName": "aws-rds-das-db-AB1CDEFG23GHIJK4LMNOPQRST",
            "ActivityStreamMode": "async",
            "ActivityStreamEngineNativeAuditFieldsIncluded": true, 
            "ActivityStreamPolicyStatus": "unlocked",
            ...
        }
    ]
}
```

## API de RDS
<a name="DBActivityStreams.Modifying-collapsible-section-E3"></a>

Para modificar el estado de la política de flujo de actividades de la base de datos, utilice la operación [ModifyActivityStream](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyActivityStream.html).

Llame a la acción con los siguientes parámetros:
+ `AuditPolicyState`
+ `ResourceArn`

# Obtención del estado de un flujo de actividad de la base de datos
<a name="DBActivityStreams.Status"></a>

Puede obtener el estado de un flujo de actividad para su instancia de base de datos de Amazon RDS mediante la consola o AWS CLI.

## Consola
<a name="DBActivityStreams.Status-collapsible-section-S1"></a>

**Obtención del estado de un flujo de actividad de la base de datos**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases (Bases de datos)** y, luego, el enlace de la instancia de base de datos.

1. Elija la pestaña **Configuración** y consulte el estado en **Secuencia de actividades de base de datos**.

## AWS CLI
<a name="DBActivityStreams.Status-collapsible-section-S2"></a>

Puede usar la configuración del flujo de actividad para una instancia de base de datos como respuesta a una solicitud [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) de la CLI.

En el siguiente ejemplo, se describe *my-instance*.

```
aws rds --region my-region describe-db-instances --db-instance-identifier my-db
```

El ejemplo siguiente muestra una respuesta JSON. Se muestran los siguientes campos:
+ `ActivityStreamKinesisStreamName`
+ `ActivityStreamKmsKeyId`
+ `ActivityStreamStatus`
+ `ActivityStreamMode`
+ `ActivityStreamPolicyStatus`



```
{
    "DBInstances": [
        {
            ...
            "Engine": "oracle-ee",
            ...
            "ActivityStreamStatus": "starting",
            "ActivityStreamKmsKeyId": "ab12345e-1111-2bc3-12a3-ab1cd12345e",
            "ActivityStreamKinesisStreamName": "aws-rds-das-db-AB1CDEFG23GHIJK4LMNOPQRST",
            "ActivityStreamMode": "async",
            "ActivityStreamEngineNativeAuditFieldsIncluded": true, 
            "ActivityStreamPolicyStatus": locked",
            ...
        }
    ]
}
```

## API de RDS
<a name="DBActivityStreams.Status-collapsible-section-S3"></a>

Puede usar la configuración del flujo de actividad de un una base de datos como respuesta a una operación [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html).

# Detención de un flujo de actividad de la base de datos
<a name="DBActivityStreams.Disabling"></a>

Puede detener una secuencia de actividades mediante la consola o AWS CLI.

Si elimina su instancia de base de datos de Amazon RDS, el flujo de actividad se detiene y el flujo subyacente de Amazon Kinesis se elimina automáticamente.

## Consola
<a name="DBActivityStreams.Disabling-collapsible-section-D1"></a>

**Para desactivar una secuencia de actividades**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

1. Elija una base de datos cuyo flujo de actividad de la base de datos quiera detener.

1. En **Actions (Acciones)**, elija **Stop activity stream (Detener secuencia de actividades)**. Se visualizará la ventana **Database Activity Stream (Secuencia de actividades de base de datos)**.

   1. Elija **Immediately** (De inmediato).

      Cuando elige **Immediately (De inmediato)**, la instancia de RDS se reinicia de inmediato. Si elige **During the next maintenance window** (Durante el siguiente periodo de mantenimiento), la instancia de RDS no se reinicia de inmediato. En este caso, el flujo de actividad de la base de datos no se detiene hasta el siguiente periodo de mantenimiento.

   1. Elija **Continue**.

## AWS CLI
<a name="DBActivityStreams.Disabling-collapsible-section-D2"></a>

Para detener flujos de actividad de la base de datos de su base de datos, configure la instancia de base de datos ejecutando el comando [stop-activity-stream](https://docs.aws.amazon.com/cli/latest/reference/rds/stop-activity-stream.html) de AWS CLI. Identifique la región de AWS de la instancia de base de datos mediante el parámetro `--region`. El parámetro `--apply-immediately` es opcional.

Para Linux, macOS o:Unix

```
aws rds --region MY_REGION \
    stop-activity-stream \
    --resource-arn MY_DB_ARN \
    --apply-immediately
```

En:Windows

```
aws rds --region MY_REGION ^
    stop-activity-stream ^
    --resource-arn MY_DB_ARN ^
    --apply-immediately
```

## API de RDS
<a name="DBActivityStreams.Disabling-collapsible-section-D3"></a>

Para detener los flujos de actividad la base de datos, configure el la instancia de base de datos mediante la operación [StopActivityStream](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_StopActivityStream.html). Identifique la región de AWS de la instancia de base de datos mediante el parámetro `Region`. El parámetro `ApplyImmediately` es opcional.

# Monitoreo de secuencias de actividades de la base de datos
<a name="DBActivityStreams.Monitoring"></a>

Los flujos de actividad de la base de datos monitorean y notifican las actividades. La secuencia de actividades se recopila y se transmite a Amazon Kinesis. Desde Kinesis, puede monitorear la secuencia de actividad, o bien otros servicios y aplicaciones pueden consumir la secuencia de actividades para un análisis posterior. Puede encontrar el nombre del flujo de Kinesis subyacente mediante el comando `describe-db-instances` de la AWS CLI o la operación de la API de RDS `DescribeDBInstances`.

Amazon RDS administra el flujo de Kinesis de la siguiente manera:
+ Amazon RDS crea el flujo de Kinesis automáticamente con un periodo de retención de 24 horas. 
+  Amazon RDS escala el flujo de Kinesis si es necesario. 
+  Si detiene el flujo de actividad de la base de datos o elimina la instancia de base de datos, Amazon RDS elimina el flujo de Kinesis. 

Las categorías de actividad siguientes se monitorizan y se ponen en el registro de auditoría de secuencias de actividades:
+ **Comandos SQL**: todos los comandos SQL se auditan, así como las instrucciones preparadas, las funciones integradas y las funciones en lenguaje de procedimientos para SQL (PL/SQL). Las llamadas a procedimientos almacenados se auditan. Cualquier instrucción SQL emitida dentro de procedimientos o funciones almacenados también se auditan.
+ **Otra información de la base de datos**: la actividad monitoreada incluye la instrucción SQL completa, el recuento de las filas afectadas de los comandos DML, los objetos a los que se accede y el nombre único de la base de datos. Los flujos de actividad de la base de datos también monitorean las variables de enlace y los parámetros del procedimiento almacenados. 
**importante**  
El texto SQL completo de cada instrucción está visible en el registro de auditoría de secuencia de actividades, incluida la información confidencial. Sin embargo, las contraseñas de usuario de base de datos se redactan siOracle las puede determinar a partir del contexto, tal y como pasa con la siguiente instrucción SQL.   

  ```
  ALTER ROLE role-name WITH password
  ```
+ **Información de conexión**: la actividad monitorizada incluye la información de sesión y de red, el ID de proceso del servidor y los códigos de salida.

Si un flujo de actividad tiene un error mientras monitorea una instancia de base de datos, se lo notificará mediante eventos RDS.

En las siguientes secciones, puede acceder a los flujos de actividad de base de datos, auditarlos y procesarlos.

**Topics**
+ [Acceso a un flujo de actividad desde Amazon Kinesis](DBActivityStreams.KinesisAccess.md)
+ [Ejemplos y contenido sobre el registro de auditoría en flujos de actividad de bases de datos](DBActivityStreams.AuditLog.md)
+ [Matriz JSON databaseActivityEventList para flujos de actividad de base de datos](DBActivityStreams.AuditLog.databaseActivityEventList.md)
+ [Procesamiento de un flujo de actividad de la base de datos mediante SDK de AWS](DBActivityStreams.CodeExample.md)

# Acceso a un flujo de actividad desde Amazon Kinesis
<a name="DBActivityStreams.KinesisAccess"></a>

Cuando habilite un flujo de actividad para una base de datos, se creará un flujo de Kinesis para usted. En Kinesis podrá monitorizar la actividad de la base de datos en tiempo real. Para profundizar en el análisis de la actividad de la base de datos, puede conectar su secuencia de Kinesis a aplicaciones de consumidor. También puede conectar el flujo de datos con aplicaciones de administración de conformidad como Security Guardium de IBM o SecureSphere Database Audit and Protection de Imperva.

Puede acceder a su transmisión de Kinesis desde la consola de RDS o la consola de Kinesis.

**Para acceder a una secuencia de actividades desde Kinesis utilizando la consola de RDS**

1. Abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, elija **Databases** (Bases de datos).

1. Elija la instancia de base de datos de Amazon RDS en la que desea iniciar un flujo de actividad.

1. Elija **Configuration (Configuración)**.

1. En **Database activity stream** (Secuencia de actividad de base de datos), seleccione el enlace en **Kinesis stream** (Secuencia de Kinesis).

1. En la colsola de Kinesis, elija **Monitoring** (Supervisión) para empezar a observar la actividad de la base de datos.

**Para acceder a una secuencia de actividades desde Kinesis utilizando la consola de Kinesis**

1. Abra la consola de Kinesis en [https://console.aws.amazon.com/kinesis](https://console.aws.amazon.com/kinesis).

1. Elija la secuencia de actividades en la lista de secuencias de Kinesis.

   El nombre de un flujo de actividad consta de un prefijo `aws-rds-das-db-` seguido del ID de recurso de la base datos. A continuación se muestra un ejemplo. 

   ```
   aws-rds-das-db-NHVOV4PCLWHGF52NP
   ```

   Para utilizar la consola de Amazon RDS para encontrar el ID de recurso del la base de datos, elija su instancia de base de datos en la lista de bases de datos y, luego, elija la pestaña **Configuration (Configuración)**.

   Para utilizar la AWS CLI para encontrar el nombre completo del flujo de Kinesis de un flujo de actividad, utilice una solicitud [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) de la CLI y anote el valor de `ActivityStreamKinesisStreamName` en la respuesta.

1. Elija **Monitoring (Monitorización)** para empezar a observar la actividad de la base de datos.

Para obtener más información acerca del uso de Amazon Kinesis, consulte [¿Qué es Amazon Kinesis Data Streams?](https://docs.aws.amazon.com/streams/latest/dev/introduction.html).

# Ejemplos y contenido sobre el registro de auditoría en flujos de actividad de bases de datos
<a name="DBActivityStreams.AuditLog"></a>

Los eventos monitoreados se representan en el flujo de actividad de la base de datos como cadenas JSON. La estructura está formada por un objeto JSON que contiene un `DatabaseActivityMonitoringRecord`, el cual, a su vez, contiene una matriz `databaseActivityEventList` de eventos de actividad. 

**nota**  
Para los flujos de actividad de la base de datos, la matriz JSON de `paramList` no incluye valores nulos de las aplicaciones de Hibernate.

**Topics**
+ [Ejemplos de un registro de auditoría de flujo de actividad de la base de datos](#DBActivityStreams.AuditLog.Examples)
+ [Objeto JSON DatabaseActivityMonitoringRecords](#DBActivityStreams.AuditLog.DatabaseActivityMonitoringRecords)
+ [Objeto JSON databaseActivityEvents](#DBActivityStreams.AuditLog.databaseActivityEvents)

## Ejemplos de un registro de auditoría de flujo de actividad de la base de datos
<a name="DBActivityStreams.AuditLog.Examples"></a>

A continuación mostramos registros de auditoría JSON descifrados de muestra de registros de eventos de actividad.

**Example Registro de eventos de actividad de una instrucción CONNECT SQL**  
El siguiente registro de eventos de actividad muestra un inicio de sesión con el uso de una instrucción SQL `CONNECT` (`command`) por parte de un JDBC Thin Client (`clientApplication`) para su base de datos Oracle.  

```
{
    "class": "Standard",
    "clientApplication": "JDBC Thin Client",
    "command": "LOGON",
    "commandText": null,
    "dbid": "0123456789",
    "databaseName": "ORCL",
    "dbProtocol": "oracle",
    "dbUserName": "TEST",
    "endTime": null,
    "errorMessage": null,
    "exitCode": 0,
    "logTime": "2021-01-15 00:15:36.233787",
    "netProtocol": "tcp",
    "objectName": null,
    "objectType": null,
    "paramList": [],
    "pid": 17904,
    "remoteHost": "123.456.789.012",
    "remotePort": "25440",
    "rowCount": null,
    "serverHost": "987.654.321.098",
    "serverType": "oracle",
    "serverVersion": "19.0.0.0.ru-2020-01.rur-2020-01.r1.EE.3",
    "serviceName": "oracle-ee",
    "sessionId": 987654321,
    "startTime": null,
    "statementId": 1,
    "substatementId": null,
    "transactionId": "0000000000000000",
    "engineNativeAuditFields": {
        "UNIFIED_AUDIT_POLICIES": "TEST_POL_EVERYTHING",
        "FGA_POLICY_NAME": null,
        "DV_OBJECT_STATUS": null,
        "SYSTEM_PRIVILEGE_USED": "CREATE SESSION",
        "OLS_LABEL_COMPONENT_TYPE": null,
        "XS_SESSIONID": null,
        "ADDITIONAL_INFO": null,
        "INSTANCE_ID": 1,
        "DBID": 123456789
        "DV_COMMENT": null,
        "RMAN_SESSION_STAMP": null,
        "NEW_NAME": null,
        "DV_ACTION_NAME": null,
        "OLS_PROGRAM_UNIT_NAME": null,
        "OLS_STRING_LABEL": null,
        "RMAN_SESSION_RECID": null,
        "OBJECT_PRIVILEGES": null,
        "OLS_OLD_VALUE": null,
        "XS_TARGET_PRINCIPAL_NAME": null,
        "XS_NS_ATTRIBUTE": null,
        "XS_NS_NAME": null,
        "DBLINK_INFO": null,
        "AUTHENTICATION_TYPE": "(TYPE\u003d(DATABASE));(CLIENT ADDRESS\u003d((ADDRESS\u003d(PROTOCOL\u003dtcp)(HOST\u003d205.251.233.183)(PORT\u003d25440))));",
        "OBJECT_EDITION": null,
        "OLS_PRIVILEGES_GRANTED": null,
        "EXCLUDED_USER": null,
        "DV_ACTION_OBJECT_NAME": null,
        "OLS_LABEL_COMPONENT_NAME": null,
        "EXCLUDED_SCHEMA": null,
        "DP_TEXT_PARAMETERS1": null,
        "XS_USER_NAME": null,
        "XS_ENABLED_ROLE": null,
        "XS_NS_ATTRIBUTE_NEW_VAL": null,
        "DIRECT_PATH_NUM_COLUMNS_LOADED": null,
        "AUDIT_OPTION": null,
        "DV_EXTENDED_ACTION_CODE": null,
        "XS_PACKAGE_NAME": null,
        "OLS_NEW_VALUE": null,
        "DV_RETURN_CODE": null,
        "XS_CALLBACK_EVENT_TYPE": null,
        "USERHOST": "a1b2c3d4e5f6.amazon.com",
        "GLOBAL_USERID": null,
        "CLIENT_IDENTIFIER": null,
        "RMAN_OPERATION": null,
        "TERMINAL": "unknown",
        "OS_USERNAME": "sumepate",
        "OLS_MAX_READ_LABEL": null,
        "XS_PROXY_USER_NAME": null,
        "XS_DATASEC_POLICY_NAME": null,
        "DV_FACTOR_CONTEXT": null,
        "OLS_MAX_WRITE_LABEL": null,
        "OLS_PARENT_GROUP_NAME": null,
        "EXCLUDED_OBJECT": null,
        "DV_RULE_SET_NAME": null,
        "EXTERNAL_USERID": null,
        "EXECUTION_ID": null,
        "ROLE": null,
        "PROXY_SESSIONID": 0,
        "DP_BOOLEAN_PARAMETERS1": null,
        "OLS_POLICY_NAME": null,
        "OLS_GRANTEE": null,
        "OLS_MIN_WRITE_LABEL": null,
        "APPLICATION_CONTEXTS": null,
        "XS_SCHEMA_NAME": null,
        "DV_GRANTEE": null,
        "XS_COOKIE": null,
        "DBPROXY_USERNAME": null,
        "DV_ACTION_CODE": null,
        "OLS_PRIVILEGES_USED": null,
        "RMAN_DEVICE_TYPE": null,
        "XS_NS_ATTRIBUTE_OLD_VAL": null,
        "TARGET_USER": null,
        "XS_ENTITY_TYPE": null,
        "ENTRY_ID": 1,
        "XS_PROCEDURE_NAME": null,
        "XS_INACTIVITY_TIMEOUT": null,
        "RMAN_OBJECT_TYPE": null,
        "SYSTEM_PRIVILEGE": null,
        "NEW_SCHEMA": null,
        "SCN": 5124715
    }
}
```
El siguiente registro de eventos de actividad muestra un error de inicio de sesión en la base de datos de SQL Server.  

```
{
    "type": "DatabaseActivityMonitoringRecord",
    "clusterId": "",
    "instanceId": "db-4JCWQLUZVFYP7DIWP6JVQ77O3Q",
    "databaseActivityEventList": [
        {
            "class": "LOGIN",
            "clientApplication": "Microsoft SQL Server Management Studio",
            "command": "LOGIN FAILED",
            "commandText": "Login failed for user 'test'. Reason: Password did not match that for the login provided. [CLIENT: local-machine]",
            "databaseName": "",
            "dbProtocol": "SQLSERVER",
            "dbUserName": "test",
            "endTime": null,
            "errorMessage": null,
            "exitCode": 0,
            "logTime": "2022-10-06 21:34:42.7113072+00",
            "netProtocol": null,
            "objectName": "",
            "objectType": "LOGIN",
            "paramList": null,
            "pid": null,
            "remoteHost": "local machine",
            "remotePort": null,
            "rowCount": 0,
            "serverHost": "172.31.30.159",
            "serverType": "SQLSERVER",
            "serverVersion": "15.00.4073.23.v1.R1",
            "serviceName": "sqlserver-ee",
            "sessionId": 0,
            "startTime": null,
            "statementId": "0x1eb0d1808d34a94b9d3dcf5432750f02",
            "substatementId": 1,
            "transactionId": "0",
            "type": "record",
            "engineNativeAuditFields": {
                "target_database_principal_id": 0,
                "target_server_principal_id": 0,
                "target_database_principal_name": "",
                "server_principal_id": 0,
                "user_defined_information": "",
                "response_rows": 0,
                "database_principal_name": "",
                "target_server_principal_name": "",
                "schema_name": "",
                "is_column_permission": false,
                "object_id": 0,
                "server_instance_name": "EC2AMAZ-NFUJJNO",
                "target_server_principal_sid": null,
                "additional_information": "<action_info "xmlns=\"http://schemas.microsoft.com/sqlserver/2008/sqlaudit_data\"><pooled_connection>0</pooled_connection><error>0x00004818</error><state>8</state><address>local machine</address><PasswordFirstNibbleHash>B</PasswordFirstNibbleHash></action_info>"-->,
                "duration_milliseconds": 0,
                "permission_bitmask": "0x00000000000000000000000000000000",
                "data_sensitivity_information": "",
                "session_server_principal_name": "",
                "connection_id": "98B4F537-0F82-49E3-AB08-B9D33B5893EF",
                "audit_schema_version": 1,
                "database_principal_id": 0,
                "server_principal_sid": null,
                "user_defined_event_id": 0,
                "host_name": "EC2AMAZ-NFUJJNO"
            }
        }
    ]
}
```
Si un flujo de actividad de la base de datos no está habilitado, el último campo del documento JSON es `"engineNativeAuditFields": { }`. 

**Example Registro de evento de actividad de una instrucción CREATE TABLE**  
En el siguiente ejemplo, se muestra un evento `CREATE TABLE` para su base de datos Oracle.  

```
{
    "class": "Standard",
    "clientApplication": "sqlplus@ip-12-34-5-678 (TNS V1-V3)",
    "command": "CREATE TABLE",
    "commandText": "CREATE TABLE persons(\n    person_id NUMBER GENERATED BY DEFAULT AS IDENTITY,\n    first_name VARCHAR2(50) NOT NULL,\n    last_name VARCHAR2(50) NOT NULL,\n    PRIMARY KEY(person_id)\n)",
    "dbid": "0123456789",
    "databaseName": "ORCL",
    "dbProtocol": "oracle",
    "dbUserName": "TEST",
    "endTime": null,
    "errorMessage": null,
    "exitCode": 0,
    "logTime": "2021-01-15 00:22:49.535239",
    "netProtocol": "beq",
    "objectName": "PERSONS",
    "objectType": "TEST",
    "paramList": [],
    "pid": 17687,
    "remoteHost": "123.456.789.0",
    "remotePort": null,
    "rowCount": null,
    "serverHost": "987.654.321.01",
    "serverType": "oracle",
    "serverVersion": "19.0.0.0.ru-2020-01.rur-2020-01.r1.EE.3",
    "serviceName": "oracle-ee",
    "sessionId": 1234567890,
    "startTime": null,
    "statementId": 43,
    "substatementId": null,
    "transactionId": "090011007F0D0000",
    "engineNativeAuditFields": {
        "UNIFIED_AUDIT_POLICIES": "TEST_POL_EVERYTHING",
        "FGA_POLICY_NAME": null,
        "DV_OBJECT_STATUS": null,
        "SYSTEM_PRIVILEGE_USED": "CREATE SEQUENCE, CREATE TABLE",
        "OLS_LABEL_COMPONENT_TYPE": null,
        "XS_SESSIONID": null,
        "ADDITIONAL_INFO": null,
        "INSTANCE_ID": 1,
        "DV_COMMENT": null,
        "RMAN_SESSION_STAMP": null,
        "NEW_NAME": null,
        "DV_ACTION_NAME": null,
        "OLS_PROGRAM_UNIT_NAME": null,
        "OLS_STRING_LABEL": null,
        "RMAN_SESSION_RECID": null,
        "OBJECT_PRIVILEGES": null,
        "OLS_OLD_VALUE": null,
        "XS_TARGET_PRINCIPAL_NAME": null,
        "XS_NS_ATTRIBUTE": null,
        "XS_NS_NAME": null,
        "DBLINK_INFO": null,
        "AUTHENTICATION_TYPE": "(TYPE\u003d(DATABASE));(CLIENT ADDRESS\u003d((PROTOCOL\u003dbeq)(HOST\u003d123.456.789.0)));",
        "OBJECT_EDITION": null,
        "OLS_PRIVILEGES_GRANTED": null,
        "EXCLUDED_USER": null,
        "DV_ACTION_OBJECT_NAME": null,
        "OLS_LABEL_COMPONENT_NAME": null,
        "EXCLUDED_SCHEMA": null,
        "DP_TEXT_PARAMETERS1": null,
        "XS_USER_NAME": null,
        "XS_ENABLED_ROLE": null,
        "XS_NS_ATTRIBUTE_NEW_VAL": null,
        "DIRECT_PATH_NUM_COLUMNS_LOADED": null,
        "AUDIT_OPTION": null,
        "DV_EXTENDED_ACTION_CODE": null,
        "XS_PACKAGE_NAME": null,
        "OLS_NEW_VALUE": null,
        "DV_RETURN_CODE": null,
        "XS_CALLBACK_EVENT_TYPE": null,
        "USERHOST": "ip-10-13-0-122",
        "GLOBAL_USERID": null,
        "CLIENT_IDENTIFIER": null,
        "RMAN_OPERATION": null,
        "TERMINAL": "pts/1",
        "OS_USERNAME": "rdsdb",
        "OLS_MAX_READ_LABEL": null,
        "XS_PROXY_USER_NAME": null,
        "XS_DATASEC_POLICY_NAME": null,
        "DV_FACTOR_CONTEXT": null,
        "OLS_MAX_WRITE_LABEL": null,
        "OLS_PARENT_GROUP_NAME": null,
        "EXCLUDED_OBJECT": null,
        "DV_RULE_SET_NAME": null,
        "EXTERNAL_USERID": null,
        "EXECUTION_ID": null,
        "ROLE": null,
        "PROXY_SESSIONID": 0,
        "DP_BOOLEAN_PARAMETERS1": null,
        "OLS_POLICY_NAME": null,
        "OLS_GRANTEE": null,
        "OLS_MIN_WRITE_LABEL": null,
        "APPLICATION_CONTEXTS": null,
        "XS_SCHEMA_NAME": null,
        "DV_GRANTEE": null,
        "XS_COOKIE": null,
        "DBPROXY_USERNAME": null,
        "DV_ACTION_CODE": null,
        "OLS_PRIVILEGES_USED": null,
        "RMAN_DEVICE_TYPE": null,
        "XS_NS_ATTRIBUTE_OLD_VAL": null,
        "TARGET_USER": null,
        "XS_ENTITY_TYPE": null,
        "ENTRY_ID": 12,
        "XS_PROCEDURE_NAME": null,
        "XS_INACTIVITY_TIMEOUT": null,
        "RMAN_OBJECT_TYPE": null,
        "SYSTEM_PRIVILEGE": null,
        "NEW_SCHEMA": null,
        "SCN": 5133083
    }
}
```
En el siguiente ejemplo, se muestra un evento `CREATE TABLE` de la base de datos SQL Server.  

```
{
    "type": "DatabaseActivityMonitoringRecord",
    "clusterId": "",
    "instanceId": "db-4JCWQLUZVFYP7DIWP6JVQ77O3Q",
    "databaseActivityEventList": [
        {
            "class": "SCHEMA",
            "clientApplication": "Microsoft SQL Server Management Studio - Query",
            "command": "ALTER",
            "commandText": "Create table [testDB].[dbo].[TestTable2](\r\ntextA varchar(6000),\r\n    textB varchar(6000)\r\n)",
            "databaseName": "testDB",
            "dbProtocol": "SQLSERVER",
            "dbUserName": "test",
            "endTime": null,
            "errorMessage": null,
            "exitCode": 1,
            "logTime": "2022-10-06 21:44:38.4120677+00",
            "netProtocol": null,
            "objectName": "dbo",
            "objectType": "SCHEMA",
            "paramList": null,
            "pid": null,
            "remoteHost": "local machine",
            "remotePort": null,
            "rowCount": 0,
            "serverHost": "172.31.30.159",
            "serverType": "SQLSERVER",
            "serverVersion": "15.00.4073.23.v1.R1",
            "serviceName": "sqlserver-ee",
            "sessionId": 84,
            "startTime": null,
            "statementId": "0x5178d33d56e95e419558b9607158a5bd",
            "substatementId": 1,
            "transactionId": "4561864",
            "type": "record",
            "engineNativeAuditFields": {
                "target_database_principal_id": 0,
                "target_server_principal_id": 0,
                "target_database_principal_name": "",
                "server_principal_id": 2,
                "user_defined_information": "",
                "response_rows": 0,
                "database_principal_name": "dbo",
                "target_server_principal_name": "",
                "schema_name": "",
                "is_column_permission": false,
                "object_id": 1,
                "server_instance_name": "EC2AMAZ-NFUJJNO",
                "target_server_principal_sid": null,
                "additional_information": "",
                "duration_milliseconds": 0,
                "permission_bitmask": "0x00000000000000000000000000000000",
                "data_sensitivity_information": "",
                "session_server_principal_name": "test",
                "connection_id": "EE1FE3FD-EF2C-41FD-AF45-9051E0CD983A",
                "audit_schema_version": 1,
                "database_principal_id": 1,
                "server_principal_sid": "0x010500000000000515000000bdc2795e2d0717901ba6998cf4010000",
                "user_defined_event_id": 0,
                "host_name": "EC2AMAZ-NFUJJNO"
            }
        }
    ]
}
```

**Example Registro de evento de actividad de una instrucción SELECT de Aurora PostgreSQL**  
En el siguiente ejemplo, se muestra un evento `SELECT` para su base de datos Oracle.  

```
{
    "class": "Standard",
    "clientApplication": "sqlplus@ip-12-34-5-678 (TNS V1-V3)",
    "command": "SELECT",
    "commandText": "select count(*) from persons",
    "databaseName": "1234567890",
    "dbProtocol": "oracle",
    "dbUserName": "TEST",
    "endTime": null,
    "errorMessage": null,
    "exitCode": 0,
    "logTime": "2021-01-15 00:25:18.850375",
    "netProtocol": "beq",
    "objectName": "PERSONS",
    "objectType": "TEST",
    "paramList": [],
    "pid": 17687,
    "remoteHost": "123.456.789.0",
    "remotePort": null,
    "rowCount": null,
    "serverHost": "987.654.321.09",
    "serverType": "oracle",
    "serverVersion": "19.0.0.0.ru-2020-01.rur-2020-01.r1.EE.3",
    "serviceName": "oracle-ee",
    "sessionId": 1080639707,
    "startTime": null,
    "statementId": 44,
    "substatementId": null,
    "transactionId": null,
    "engineNativeAuditFields": {
        "UNIFIED_AUDIT_POLICIES": "TEST_POL_EVERYTHING",
        "FGA_POLICY_NAME": null,
        "DV_OBJECT_STATUS": null,
        "SYSTEM_PRIVILEGE_USED": null,
        "OLS_LABEL_COMPONENT_TYPE": null,
        "XS_SESSIONID": null,
        "ADDITIONAL_INFO": null,
        "INSTANCE_ID": 1,
        "DV_COMMENT": null,
        "RMAN_SESSION_STAMP": null,
        "NEW_NAME": null,
        "DV_ACTION_NAME": null,
        "OLS_PROGRAM_UNIT_NAME": null,
        "OLS_STRING_LABEL": null,
        "RMAN_SESSION_RECID": null,
        "OBJECT_PRIVILEGES": null,
        "OLS_OLD_VALUE": null,
        "XS_TARGET_PRINCIPAL_NAME": null,
        "XS_NS_ATTRIBUTE": null,
        "XS_NS_NAME": null,
        "DBLINK_INFO": null,
        "AUTHENTICATION_TYPE": "(TYPE\u003d(DATABASE));(CLIENT ADDRESS\u003d((PROTOCOL\u003dbeq)(HOST\u003d123.456.789.0)));",
        "OBJECT_EDITION": null,
        "OLS_PRIVILEGES_GRANTED": null,
        "EXCLUDED_USER": null,
        "DV_ACTION_OBJECT_NAME": null,
        "OLS_LABEL_COMPONENT_NAME": null,
        "EXCLUDED_SCHEMA": null,
        "DP_TEXT_PARAMETERS1": null,
        "XS_USER_NAME": null,
        "XS_ENABLED_ROLE": null,
        "XS_NS_ATTRIBUTE_NEW_VAL": null,
        "DIRECT_PATH_NUM_COLUMNS_LOADED": null,
        "AUDIT_OPTION": null,
        "DV_EXTENDED_ACTION_CODE": null,
        "XS_PACKAGE_NAME": null,
        "OLS_NEW_VALUE": null,
        "DV_RETURN_CODE": null,
        "XS_CALLBACK_EVENT_TYPE": null,
        "USERHOST": "ip-12-34-5-678",
        "GLOBAL_USERID": null,
        "CLIENT_IDENTIFIER": null,
        "RMAN_OPERATION": null,
        "TERMINAL": "pts/1",
        "OS_USERNAME": "rdsdb",
        "OLS_MAX_READ_LABEL": null,
        "XS_PROXY_USER_NAME": null,
        "XS_DATASEC_POLICY_NAME": null,
        "DV_FACTOR_CONTEXT": null,
        "OLS_MAX_WRITE_LABEL": null,
        "OLS_PARENT_GROUP_NAME": null,
        "EXCLUDED_OBJECT": null,
        "DV_RULE_SET_NAME": null,
        "EXTERNAL_USERID": null,
        "EXECUTION_ID": null,
        "ROLE": null,
        "PROXY_SESSIONID": 0,
        "DP_BOOLEAN_PARAMETERS1": null,
        "OLS_POLICY_NAME": null,
        "OLS_GRANTEE": null,
        "OLS_MIN_WRITE_LABEL": null,
        "APPLICATION_CONTEXTS": null,
        "XS_SCHEMA_NAME": null,
        "DV_GRANTEE": null,
        "XS_COOKIE": null,
        "DBPROXY_USERNAME": null,
        "DV_ACTION_CODE": null,
        "OLS_PRIVILEGES_USED": null,
        "RMAN_DEVICE_TYPE": null,
        "XS_NS_ATTRIBUTE_OLD_VAL": null,
        "TARGET_USER": null,
        "XS_ENTITY_TYPE": null,
        "ENTRY_ID": 13,
        "XS_PROCEDURE_NAME": null,
        "XS_INACTIVITY_TIMEOUT": null,
        "RMAN_OBJECT_TYPE": null,
        "SYSTEM_PRIVILEGE": null,
        "NEW_SCHEMA": null,
        "SCN": 5136972
    }
}
```
En el siguiente ejemplo, se muestra un evento `SELECT` para su base de datos SQL Server.  

```
{
    "type": "DatabaseActivityMonitoringRecord",
    "clusterId": "",
    "instanceId": "db-4JCWQLUZVFYP7DIWP6JVQ77O3Q",
    "databaseActivityEventList": [
        {
            "class": "TABLE",
            "clientApplication": "Microsoft SQL Server Management Studio - Query",
            "command": "SELECT",
            "commandText": "select * from [testDB].[dbo].[TestTable]",
            "databaseName": "testDB",
            "dbProtocol": "SQLSERVER",
            "dbUserName": "test",
            "endTime": null,
            "errorMessage": null,
            "exitCode": 1,
            "logTime": "2022-10-06 21:24:59.9422268+00",
            "netProtocol": null,
            "objectName": "TestTable",
            "objectType": "TABLE",
            "paramList": null,
            "pid": null,
            "remoteHost": "local machine",
            "remotePort": null,
            "rowCount": 0,
            "serverHost": "172.31.30.159",
            "serverType": "SQLSERVER",
            "serverVersion": "15.00.4073.23.v1.R1",
            "serviceName": "sqlserver-ee",
            "sessionId": 62,
            "startTime": null,
            "statementId": "0x03baed90412f564fad640ebe51f89b99",
            "substatementId": 1,
            "transactionId": "4532935",
            "type": "record",
            "engineNativeAuditFields": {
                "target_database_principal_id": 0,
                "target_server_principal_id": 0,
                "target_database_principal_name": "",
                "server_principal_id": 2,
                "user_defined_information": "",
                "response_rows": 0,
                "database_principal_name": "dbo",
                "target_server_principal_name": "",
                "schema_name": "dbo",
                "is_column_permission": true,
                "object_id": 581577110,
                "server_instance_name": "EC2AMAZ-NFUJJNO",
                "target_server_principal_sid": null,
                "additional_information": "",
                "duration_milliseconds": 0,
                "permission_bitmask": "0x00000000000000000000000000000001",
                "data_sensitivity_information": "",
                "session_server_principal_name": "test",
                "connection_id": "AD3A5084-FB83-45C1-8334-E923459A8109",
                "audit_schema_version": 1,
                "database_principal_id": 1,
                "server_principal_sid": "0x010500000000000515000000bdc2795e2d0717901ba6998cf4010000",
                "user_defined_event_id": 0,
                "host_name": "EC2AMAZ-NFUJJNO"
            }
        }
    ]
}
```

## Objeto JSON DatabaseActivityMonitoringRecords
<a name="DBActivityStreams.AuditLog.DatabaseActivityMonitoringRecords"></a>

Los registros de eventos de actividad de la base de datos se encuentran en un objeto JSON que contiene la siguiente información.


****  

| Campo JSON | Tipo de datos | Descripción | 
| --- | --- | --- | 
|  `type`  | string |  Tipo de registro JSON. El valor es `DatabaseActivityMonitoringRecords`.  | 
| version | string |  La versión de los registros de monitoreo de actividad de la base de datos. La base de datos Oracle utiliza la versión 1.3 y SQL Server utiliza la versión 1.4. Estas versiones del motor introducen el objeto JSON engineNativeAuditFields.  | 
|  [databaseActivityEvents](#DBActivityStreams.AuditLog.databaseActivityEvents)  | cadena |  Un objeto JSON que contiene los eventos de actividad.  | 
| key | cadena | Una clave de cifrado que se utiliza para descifrar el [Matriz de JSON databaseActivityEventList](DBActivityStreams.AuditLog.databaseActivityEventList.md).  | 

## Objeto JSON databaseActivityEvents
<a name="DBActivityStreams.AuditLog.databaseActivityEvents"></a>

El objeto JSON `databaseActivityEvents` contiene la siguiente información.

### Campos de nivel superior en el registro JSON
<a name="DBActivityStreams.AuditLog.topLevel"></a>

 Cada evento del registro de auditoría se envuelve dentro de un registro en formato JSON. Este registro contiene los siguientes campos. 

**type**  
 Este campo siempre tiene el valor `DatabaseActivityMonitoringRecords`. 

**version**  
 Este campo representa la versión del protocolo o contrato de datos del flujo de actividad de la base de datos. Define los campos que están disponibles.

**databaseActivityEvents**  
 Una cadena cifrada que representa uno o más eventos de actividad. Se representa como una matriz de bytes base64. Al descifrar la cadena, el resultado es un registro en formato JSON con campos, tal y como se muestra en los ejemplos de esta sección.

**key**  
 Clave de datos cifrada utilizada para cifrar la cadena `databaseActivityEvents`. Esta es la misma AWS KMS key que proporcionó cuando inició la secuencia de actividades de la base de datos.

 En el ejemplo siguiente se muestra el formato de este registro.

```
{
  "type":"DatabaseActivityMonitoringRecords",
  "version":"1.3",
  "databaseActivityEvents":"encrypted audit records",
  "key":"encrypted key"
}
```

```
           "type":"DatabaseActivityMonitoringRecords",
           "version":"1.4",
           "databaseActivityEvents":"encrypted audit records",
           "key":"encrypted key"
```

Siga estos pasos para descifrar el contenido del campo:`databaseActivityEvents`

1.  Descifrar el valor en el campo JSON `key` mediante la clave de KMS que proporcionó al iniciar la secuencia de actividades de la base de datos. Al hacerlo, se devuelve la clave de cifrado de datos en texto sin cifrar. 

1.  Decodifique en base64 el valor en el campo JSON `databaseActivityEvents` para obtener el texto cifrado, en formato binario, de la carga útil de auditoría. 

1.  Descifrar el texto cifrado binario con la clave de cifrado de datos que decodificó en el primer paso. 

1.  Descomprimir la carga útil descifrada. 
   +  La carga cifrada está en el campo `databaseActivityEvents`. 
   +  El campo `databaseActivityEventList` contiene una matriz de registros de auditoría. Los campos `type` de la matriz pueden ser `record` o `heartbeat`. 

Un registro de evento de actividad de registro de auditoría es un objeto JSON que contiene la información siguiente.


****  

| Campo JSON | Tipo de datos | Descripción | 
| --- | --- | --- | 
|  `type`  | string |  Tipo de registro JSON. El valor es `DatabaseActivityMonitoringRecord`.  | 
| instanceId | string | El identificador del recurso de instancia de base de datos. Corresponde al atributo de instancia de base de datos DbiResourceId. | 
|  [Matriz de JSON databaseActivityEventList](DBActivityStreams.AuditLog.databaseActivityEventList.md)   | string |  Una matriz de registros de auditoría de actividad o mensajes de latido.  | 

# Matriz JSON databaseActivityEventList para flujos de actividad de base de datos
<a name="DBActivityStreams.AuditLog.databaseActivityEventList"></a>

La carga de registro de auditoría es una matriz JSON `databaseActivityEventList` cifrada. En la tabla siguiente, se enumeran alfabéticamente los campos de cada evento de actividad de la matriz `DatabaseActivityEventList` descifrada de un registro de auditoría. 

Cuando la auditoría unificada está activada en la base de datos de Oracle, los registros de auditoría se rellenan en este nuevo seguimiento de auditoría. La vista `UNIFIED_AUDIT_TRAIL` muestra los registros de auditoría en forma tabular; para ello, recupera los registros de auditoría del seguimiento de auditoría. Cuando inicia un flujo de actividad de la base de datos, una columna en `UNIFIED_AUDIT_TRAIL` corresponde a un campo en la matriz `databaseActivityEventList`.

**importante**  
La estructura de los eventos está sujeta a cambio. Amazon RDS podría agregar nuevos campos a eventos de actividad en el futuro. En las aplicaciones que analizan los datos JSON, asegúrese de que el código puede ignorar o tomar las acciones adecuadas para nombres de campo desconocidos. 

## Campos databaseActivityEventList para Amazon RDS para Oracle
<a name="DBActivityStreams.AuditLog.databaseActivityEventList.ro"></a>

A continuación, encontrará campos `databaseActivityEventList` para Amazon RDS para Oracle.


| Campo | Tipo de datos | Fuente | Descripción | 
| --- | --- | --- | --- | 
|  `class`  |  string  |  `AUDIT_TYPE` columna en `UNIFIED_AUDIT_TRAIL`  |  Clase de evento de actividad. Esto se corresponde con la `AUDIT_TYPE` columna de la vista `UNIFIED_AUDIT_TRAIL`. Los valores válidos para Amazon RDS para Oracle son los siguientes: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html) Para obtener más información, consulte [UNIFIED\$1AUDIT\$1TRAIL](https://docs.oracle.com/en/database/oracle/oracle-database/19/refrn/UNIFIED_AUDIT_TRAIL.html#GUID-B7CE1C02-2FD4-47D6-80AA-CF74A60CDD1D) en la documentación de Oracle.  | 
|  `clientApplication`  |  string  |  `CLIENT_PROGRAM_NAME` en `UNIFIED_AUDIT_TRAIL`  |  Aplicación que el cliente ha usado para establecer conexión según notificación del cliente. No es obligatorio que el cliente notifique esta información, por lo que el valor puede ser nulo. Un valor de muestra es `JDBC Thin Client`.  | 
|  `command`  |  string  |  `ACTION_NAME` columna en `UNIFIED_AUDIT_TRAIL`  |  Nombre de la acción ejecutada por el usuario. Para comprender la acción completa, lea tanto el nombre del comando como el valor `AUDIT_TYPE`. Un valor de muestra es `ALTER DATABASE`.  | 
|  `commandText`  |  string  |  `SQL_TEXT` columna en `UNIFIED_AUDIT_TRAIL`  |  La instrucción SQL asociada con el evento Un valor de muestra es `ALTER DATABASE BEGIN BACKUP`.  | 
|  `databaseName`  |  string  |  `NAME` columna en `V$DATABASE`  |  El nombre de la base de datos.  | 
|  `dbid`  |  número  |  `DBID` columna en `UNIFIED_AUDIT_TRAIL`  |  Identificador numérico para la base de datos Un valor de muestra es `1559204751`.  | 
|  `dbProtocol`  |  string  |  N/A  |  Protocolo de la base de datos. En esta versión beta, el valor es `oracle`.  | 
|  `dbUserName`  |  string  |  `DBUSERNAME` columna en `UNIFIED_AUDIT_TRAIL`  |  Nombre del usuario de la base de datos cuyas acciones se auditaron Un valor de muestra es `RDSADMIN`.  | 
|  `endTime`  |  string  |  N/A  |  Este campo no se utiliza para RDS para Oracle y siempre es nulo.  | 
|  `engineNativeAuditFields`  |  objeto  |  `UNIFIED_AUDIT_TRAIL`  |  De forma predeterminada, este objeto está vacío. Cuando inicia el flujo de actividad con la opción `--engine-native-audit-fields-included`, este objeto incluye las siguientes columnas y sus valores: <pre>ADDITIONAL_INFO<br />APPLICATION_CONTEXTS<br />AUDIT_OPTION<br />AUTHENTICATION_TYPE<br />CLIENT_IDENTIFIER<br />CURRENT_USER<br />DBLINK_INFO<br />DBPROXY_USERNAME<br />DIRECT_PATH_NUM_COLUMNS_LOADED<br />DP_BOOLEAN_PARAMETERS1<br />DP_TEXT_PARAMETERS1<br />DV_ACTION_CODE<br />DV_ACTION_NAME<br />DV_ACTION_OBJECT_NAME<br />DV_COMMENT<br />DV_EXTENDED_ACTION_CODE<br />DV_FACTOR_CONTEXT<br />DV_GRANTEE<br />DV_OBJECT_STATUS<br />DV_RETURN_CODE<br />DV_RULE_SET_NAME<br />ENTRY_ID<br />EXCLUDED_OBJECT<br />EXCLUDED_SCHEMA<br />EXCLUDED_USER<br />EXECUTION_ID<br />EXTERNAL_USERID<br />FGA_POLICY_NAME<br />GLOBAL_USERID<br />INSTANCE_ID<br />KSACL_SERVICE_NAME<br />KSACL_SOURCE_LOCATION<br />KSACL_USER_NAME<br />NEW_NAME<br />NEW_SCHEMA<br />OBJECT_EDITION<br />OBJECT_PRIVILEGES<br />OLS_GRANTEE<br />OLS_LABEL_COMPONENT_NAME<br />OLS_LABEL_COMPONENT_TYPE<br />OLS_MAX_READ_LABEL<br />OLS_MAX_WRITE_LABEL<br />OLS_MIN_WRITE_LABEL<br />OLS_NEW_VALUE<br />OLS_OLD_VALUE<br />OLS_PARENT_GROUP_NAME<br />OLS_POLICY_NAME<br />OLS_PRIVILEGES_GRANTED<br />OLS_PRIVILEGES_USED<br />OLS_PROGRAM_UNIT_NAME<br />OLS_STRING_LABEL<br />OS_USERNAME<br />PROTOCOL_ACTION_NAME<br />PROTOCOL_MESSAGE<br />PROTOCOL_RETURN_CODE<br />PROTOCOL_SESSION_ID<br />PROTOCOL_USERHOST<br />PROXY_SESSIONID<br />RLS_INFO<br />RMAN_DEVICE_TYPE<br />RMAN_OBJECT_TYPE<br />RMAN_OPERATION<br />RMAN_SESSION_RECID<br />RMAN_SESSION_STAMP<br />ROLE<br />SCN<br />SYSTEM_PRIVILEGE<br />SYSTEM_PRIVILEGE_USED<br />TARGET_USER<br />TERMINAL<br />UNIFIED_AUDIT_POLICIES<br />USERHOST<br />XS_CALLBACK_EVENT_TYPE<br />XS_COOKIE<br />XS_DATASEC_POLICY_NAME<br />XS_ENABLED_ROLE<br />XS_ENTITY_TYPE<br />XS_INACTIVITY_TIMEOUT<br />XS_NS_ATTRIBUTE<br />XS_NS_ATTRIBUTE_NEW_VAL<br />XS_NS_ATTRIBUTE_OLD_VAL<br />XS_NS_NAME<br />XS_PACKAGE_NAME<br />XS_PROCEDURE_NAME<br />XS_PROXY_USER_NAME<br />XS_SCHEMA_NAME<br />XS_SESSIONID<br />XS_TARGET_PRINCIPAL_NAME<br />XS_USER_NAME</pre> Para obtener más información, consulte [UNIFIED\$1AUDIT\$1TRAIL](https://docs.oracle.com/database/121/REFRN/GUID-B7CE1C02-2FD4-47D6-80AA-CF74A60CDD1D.htm#REFRN29162) en la documentación de Oracle Database.  | 
|  `errorMessage`  |  string  |  N/A  |  Este campo no se utiliza para RDS para Oracle y siempre es nulo.  | 
|  `exitCode`  |  número  |  `RETURN_CODE` columna en `UNIFIED_AUDIT_TRAIL`  |  Código de error de Oracle Database generado por la acción Si la acción se realizó correctamente, el valor es `0`.  | 
|  `logTime`  |  string  |  `EVENT_TIMESTAMP_UTC` columna en `UNIFIED_AUDIT_TRAIL`  |  Marca de tiempo de la creación de la entrada de seguimiento de auditoría. Un valor de muestra es `2020-11-27 06:56:14.981404`.  | 
|  `netProtocol`  |  string  |  `AUTHENTICATION_TYPE` columna en `UNIFIED_AUDIT_TRAIL`  |  Protocolo de comunicación de red Un valor de muestra es `TCP`.  | 
|  `objectName`  |  string  |  `OBJECT_NAME` columna en `UNIFIED_AUDIT_TRAIL`  |  El nombre del objeto afectado por la acción Un valor de muestra es `employees`.  | 
|  `objectType`  |  string  |  `OBJECT_SCHEMA` columna en `UNIFIED_AUDIT_TRAIL`  |  El nombre del esquema del objeto afectado por la acción Un valor de muestra es `hr`.  | 
|  `paramList`  |  Lista   |  `SQL_BINDS` columna en `UNIFIED_AUDIT_TRAIL`  |  La lista de variables de enlace, si las hay, asociadas con `SQL_TEXT` Un valor de muestra es `parameter_1,parameter_2`.  | 
|  `pid`  |  número  |  `OS_PROCESS` columna en `UNIFIED_AUDIT_TRAIL`  |  Identificador de proceso del sistema operativo del proceso de base de datos de Oracle Un valor de muestra es `22396`.  | 
|  `remoteHost`  |  string  |  `AUTHENTICATION_TYPE` columna en `UNIFIED_AUDIT_TRAIL`  |  La dirección IP del cliente o el nombre del anfitrión desde el que se generó la sesión Un valor de muestra es `123.456.789.123`.  | 
|  `remotePort`  |  string  |  `AUTHENTICATION_TYPE` columna en `UNIFIED_AUDIT_TRAIL`  |  Número de puerto del cliente. Un valor típico en entornos de Oracle Database es `1521`.  | 
|  `rowCount`  |  número  |  N/A  |  Este campo no se utiliza para RDS para Oracle y siempre es nulo.  | 
|  `serverHost`  |  string  |  Anfitrión de base de datos  |  Dirección IP del anfitrión del servidor de base de datos. Un valor de muestra es `123.456.789.123`.  | 
|  `serverType`  |  string  |  N/A  |  Tipo de servidor de base de datos. Este valor siempre es `ORACLE`.  | 
|  `serverVersion`  |  string  |  Anfitrión de base de datos  |  La versión de Amazon RDS para Oracle, la actualización de versión (RU) y la revisión de actualización de versión (RUR) Un valor de muestra es `19.0.0.0.ru-2020-01.rur-2020-01.r1.EE.3`.  | 
|  `serviceName`  |  string  |  Anfitrión de base de datos  |  Nombre del servicio de Un valor de muestra es `oracle-ee`.   | 
|  `sessionId`  |  número  |  `SESSIONID` columna en `UNIFIED_AUDIT_TRAIL`  |  El identificador de sesión de la auditoría Un ejemplo es: `1894327130`.  | 
|  `startTime`  |  string  |  N/A  |  Este campo no se utiliza para RDS para Oracle y siempre es nulo.  | 
|  `statementId`  |  número  |  `STATEMENT_ID` columna en `UNIFIED_AUDIT_TRAIL`  |  ID numérico para cada instrucción ejecutada Una instrucción puede causar muchas acciones. Un valor de muestra es `142197`.  | 
|  `substatementId`  |  N/A  |  N/A  |  Este campo no se utiliza para RDS para Oracle y siempre es nulo.  | 
|  `transactionId`  |  string  |  `TRANSACTION_ID` columna en `UNIFIED_AUDIT_TRAIL`  |  El identificador de la transacción en la que se modifica el objeto Un valor de muestra es `02000800D5030000`.  | 

## Campos databaseActivityEventList para Amazon RDS para SQL Server
<a name="DBActivityStreams.AuditLog.databaseActivityEventList.rss"></a>

A continuación, encontrará campos `databaseActivityEventList` para Amazon RDS para SQL Server.


| Campo | Tipo de datos | Fuente | Descripción | 
| --- | --- | --- | --- | 
|  `class`  |  cadena  |  ` sys.fn_get_audit_file.class_type` asignado a `sys.dm_audit_class_type_map.class_type_desc`  |  Clase de evento de actividad. Para obtener más información, consulte [SQL Server Audit (Database Engine)](https://learn.microsoft.com/en-us/sql/relational-databases/security/auditing/sql-server-audit-database-engine?view=sql-server-ver16) (SQL Server Audit [motor de base de datos]) en la documentación de Microsoft SQL Server.  | 
|  `clientApplication`  |  cadena  |  `sys.fn_get_audit_file.application_name`  |  La aplicación a la que se conecta el cliente según lo que informa el cliente (versión 14 y posteriores de SQL Server). Este campo es nulo en la versión 13 de SQL Server.  | 
|  `command`  |  cadena  |  `sys.fn_get_audit_file.action_id` asignado a `sys.dm_audit_actions.name`  |  La categoría general de la instrucción SQL. El valor de este campo depende del valor de la clase.  | 
|  `commandText`  |  cadena  |  `sys.fn_get_audit_file.statement`  |  Este campo indica la instrucción SQL.  | 
|  `databaseName`  |  cadena  |  `sys.fn_get_audit_file.database_name`  |  Nombre de la base de datos.  | 
|  `dbProtocol`  |  cadena  |  N/A  |  Protocolo de la base de datos. El valor es `SQLSERVER`.  | 
|  `dbUserName`  |  cadena  |  `sys.fn_get_audit_file.server_principal_name`  |  El usuario de base de datos para la autenticación del cliente.  | 
|  `endTime`  |  cadena  |  N/A  |  Amazon RDS para SQL Server no utiliza este campo y el valor es nulo.  | 
|  `engineNativeAuditFields`  |  objeto  |  Cada campo de `sys.fn_get_audit_file` que no aparece en esta columna.  |  De forma predeterminada, este objeto está vacío. Cuando inicia el flujo de actividad con la opción `--engine-native-audit-fields-included`, este objeto incluye otros campos de auditoría del motor nativo que este mapa JSON no devuelve.  | 
|  `errorMessage`  |  cadena  |  N/A  |  Amazon RDS para SQL Server no utiliza este campo y el valor es nulo.  | 
|  `exitCode`  |  entero  |  `sys.fn_get_audit_file.succeeded`  |  Indica si la acción que inició el evento se realizó correctamente. Este campo no puede ser nulo. Para todos los eventos, excepto los eventos de inicio de sesión, este campo indica si la comprobación de permisos se realizó correctamente, pero no si la operación se realizó correctamente. Entre los valores se encuentran: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/DBActivityStreams.AuditLog.databaseActivityEventList.html)  | 
|  `logTime`  |  cadena  |  `sys.fn_get_audit_file.event_time`  |  Marca de tiempo del evento que registra SQL Server.  | 
|  `netProtocol`  |  cadena  |  N/A  |  Amazon RDS para SQL Server no utiliza este campo y el valor es nulo.  | 
|  `objectName`  |  cadena  |  `sys.fn_get_audit_file.object_name`  |  Nombre del objeto de base de datos si la instrucción SQL opera en un objeto.  | 
|  `objectType`  |  cadena  |  `sys.fn_get_audit_file.class_type` asignado a `sys.dm_audit_class_type_map.class_type_desc`  |  Tipo de objeto de base de datos si la instrucción SQL opera en un tipo de objeto.  | 
|  `paramList`  |  cadena  |  N/A  |  Amazon RDS para SQL Server no utiliza este campo y el valor es nulo.  | 
|  `pid`  |  entero  |  N/A  |  Amazon RDS para SQL Server no utiliza este campo y el valor es nulo.  | 
|  `remoteHost`  |  cadena  |  `sys.fn_get_audit_file.client_ip`  |  La dirección IP o el nombre de host del cliente que emitió la instrucción SQL (versión 14 y posteriores de SQL Server). Este campo es nulo en la versión 13 de SQL Server.  | 
|  `remotePort`  |  entero  |  N/A  |  Amazon RDS para SQL Server no utiliza este campo y el valor es nulo.  | 
|  `rowCount`  |  entero  |  `sys.fn_get_audit_file.affected_rows`  |  El número de filas de la tabla afectadas por la instrucción SQL (versión 14 y posteriores de SQL Server). Este campo está en la versión 13 de SQL Server.  | 
|  `serverHost`  |  cadena  |  Host de base de datos  |  Dirección IP del servidor de base de datos del host.  | 
|  `serverType`  |  cadena  |  N/A  |  Tipo de servidor de base de datos. El valor es `SQLSERVER`.  | 
|  `serverVersion`  |  cadena  |  Host de base de datos  |  La versión del servidor de base de datos, por ejemplo, 15.00.4073.23.v1.R1 para SQL Server 2017.  | 
|  `serviceName`  |  cadena  |  Host de base de datos  |  Nombre del servicio de Un valor de ejemplo es `sqlserver-ee`.  | 
|  `sessionId`  |  entero  |  `sys.fn_get_audit_file.session_id`  |  Identificador único de la sesión.  | 
|  `startTime`  |  cadena  |  N/A  |  Amazon RDS para SQL Server no utiliza este campo y el valor es nulo.  | 
|  `statementId`  |  cadena  |  `sys.fn_get_audit_file.sequence_group_id`  |  Identificador único de la instrucción SQL del cliente. El identificador es diferente para cada evento que se genera. Un valor de muestra es `0x38eaf4156267184094bb82071aaab644`.  | 
|  `substatementId`  |  entero  |  `sys.fn_get_audit_file.sequence_number`  |  Identificador para determinar el número de secuencia de una instrucción. Este identificador es útil cuando los registros grandes se dividen en varios registros.  | 
|  `transactionId`  |  entero  |  `sys.fn_get_audit_file.transaction_id`  |  Identificador de una transacción. Si no hay ninguna transacción activa, el valor es cero.  | 
|  `type`  |  cadena  |  Flujo de actividad de la base de datos generado  |  El tipo de evento. Los valores son `record` o `heartbeat`.  | 

# Procesamiento de un flujo de actividad de la base de datos mediante SDK de AWS
<a name="DBActivityStreams.CodeExample"></a>

Puede procesar una secuencia de actividades mediante programación con AWS SDK. A continuación, mostramos ejemplos de Java y Python totalmente funcionales sobre cómo puede usar registros de flujos de actividad de la base de datos para la habilitación basada en instancias.

------
#### [ Java ]

```
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.nio.ByteBuffer;
import java.nio.charset.StandardCharsets;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Security;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.zip.GZIPInputStream;

import javax.crypto.Cipher;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.SecretKeySpec;

import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.encryptionsdk.AwsCrypto;
import com.amazonaws.encryptionsdk.CryptoInputStream;
import com.amazonaws.encryptionsdk.jce.JceMasterKey;
import com.amazonaws.services.kinesis.clientlibrary.exceptions.InvalidStateException;
import com.amazonaws.services.kinesis.clientlibrary.exceptions.ShutdownException;
import com.amazonaws.services.kinesis.clientlibrary.exceptions.ThrottlingException;
import com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessor;
import com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessorCheckpointer;
import com.amazonaws.services.kinesis.clientlibrary.interfaces.IRecordProcessorFactory;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.InitialPositionInStream;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.KinesisClientLibConfiguration;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.ShutdownReason;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker;
import com.amazonaws.services.kinesis.clientlibrary.lib.worker.Worker.Builder;
import com.amazonaws.services.kinesis.model.Record;
import com.amazonaws.services.kms.AWSKMS;
import com.amazonaws.services.kms.AWSKMSClientBuilder;
import com.amazonaws.services.kms.model.DecryptRequest;
import com.amazonaws.services.kms.model.DecryptResult;
import com.amazonaws.util.Base64;
import com.amazonaws.util.IOUtils;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.SerializedName;
import org.bouncycastle.jce.provider.BouncyCastleProvider;

public class DemoConsumer {

    private static final String STREAM_NAME = "aws-rds-das-[instance-external-resource-id]"; // aws-rds-das-db-ABCD123456
    private static final String APPLICATION_NAME = "AnyApplication"; //unique application name for dynamo table generation that holds kinesis shard tracking
    private static final String AWS_ACCESS_KEY = "[AWS_ACCESS_KEY_TO_ACCESS_KINESIS]";
    private static final String AWS_SECRET_KEY = "[AWS_SECRET_KEY_TO_ACCESS_KINESIS]";
    private static final String RESOURCE_ID = "[external-resource-id]"; // db-ABCD123456
    private static final String REGION_NAME = "[region-name]"; //us-east-1, us-east-2...
    private static final BasicAWSCredentials CREDENTIALS = new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY);
    private static final AWSStaticCredentialsProvider CREDENTIALS_PROVIDER = new AWSStaticCredentialsProvider(CREDENTIALS);

    private static final AwsCrypto CRYPTO = new AwsCrypto();
    private static final AWSKMS KMS = AWSKMSClientBuilder.standard()
            .withRegion(REGION_NAME)
            .withCredentials(CREDENTIALS_PROVIDER).build();

    class Activity {
        String type;
        String version;
        String databaseActivityEvents;
        String key;
    }

    class ActivityEvent {
        @SerializedName("class") String _class;
        String clientApplication;
        String command;
        String commandText;
        String databaseName;
        String dbProtocol;
        String dbUserName;
        String endTime;
        String errorMessage;
        String exitCode;
        String logTime;
        String netProtocol;
        String objectName;
        String objectType;
        List<String> paramList;
        String pid;
        String remoteHost;
        String remotePort;
        String rowCount;
        String serverHost;
        String serverType;
        String serverVersion;
        String serviceName;
        String sessionId;
        String startTime;
        String statementId;
        String substatementId;
        String transactionId;
        String type;
    }

    class ActivityRecords {
        String type;
        String clusterId; // note that clusterId will contain an empty string on RDS Oracle and RDS SQL Server
        String instanceId;
        List<ActivityEvent> databaseActivityEventList;
    }

    static class RecordProcessorFactory implements IRecordProcessorFactory {
        @Override
        public IRecordProcessor createProcessor() {
            return new RecordProcessor();
        }
    }

    static class RecordProcessor implements IRecordProcessor {

        private static final long BACKOFF_TIME_IN_MILLIS = 3000L;
        private static final int PROCESSING_RETRIES_MAX = 10;
        private static final long CHECKPOINT_INTERVAL_MILLIS = 60000L;
        private static final Gson GSON = new GsonBuilder().serializeNulls().create();

        private static final Cipher CIPHER;
        static {
            Security.insertProviderAt(new BouncyCastleProvider(), 1);
            try {
                CIPHER = Cipher.getInstance("AES/GCM/NoPadding", "BC");
            } catch (NoSuchAlgorithmException | NoSuchPaddingException | NoSuchProviderException e) {
                throw new ExceptionInInitializerError(e);
            }
        }

        private long nextCheckpointTimeInMillis;

        @Override
        public void initialize(String shardId) {
        }

        @Override
        public void processRecords(final List<Record> records, final IRecordProcessorCheckpointer checkpointer) {
            for (final Record record : records) {
                processSingleBlob(record.getData());
            }

            if (System.currentTimeMillis() > nextCheckpointTimeInMillis) {
                checkpoint(checkpointer);
                nextCheckpointTimeInMillis = System.currentTimeMillis() + CHECKPOINT_INTERVAL_MILLIS;
            }
        }

        @Override
        public void shutdown(IRecordProcessorCheckpointer checkpointer, ShutdownReason reason) {
            if (reason == ShutdownReason.TERMINATE) {
                checkpoint(checkpointer);
            }
        }

        private void processSingleBlob(final ByteBuffer bytes) {
            try {
                // JSON $Activity
                final Activity activity = GSON.fromJson(new String(bytes.array(), StandardCharsets.UTF_8), Activity.class);

                // Base64.Decode
                final byte[] decoded = Base64.decode(activity.databaseActivityEvents);
                final byte[] decodedDataKey = Base64.decode(activity.key);

                Map<String, String> context = new HashMap<>();
                context.put("aws:rds:db-id", RESOURCE_ID);

                // Decrypt
                final DecryptRequest decryptRequest = new DecryptRequest()
                        .withCiphertextBlob(ByteBuffer.wrap(decodedDataKey)).withEncryptionContext(context);
                final DecryptResult decryptResult = KMS.decrypt(decryptRequest);
                final byte[] decrypted = decrypt(decoded, getByteArray(decryptResult.getPlaintext()));

                // GZip Decompress
                final byte[] decompressed = decompress(decrypted);
                // JSON $ActivityRecords
                final ActivityRecords activityRecords = GSON.fromJson(new String(decompressed, StandardCharsets.UTF_8), ActivityRecords.class);

                // Iterate throught $ActivityEvents
                for (final ActivityEvent event : activityRecords.databaseActivityEventList) {
                    System.out.println(GSON.toJson(event));
                }
            } catch (Exception e) {
                // Handle error.
                e.printStackTrace();
            }
        }

        private static byte[] decompress(final byte[] src) throws IOException {
            ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(src);
            GZIPInputStream gzipInputStream = new GZIPInputStream(byteArrayInputStream);
            return IOUtils.toByteArray(gzipInputStream);
        }

        private void checkpoint(IRecordProcessorCheckpointer checkpointer) {
            for (int i = 0; i < PROCESSING_RETRIES_MAX; i++) {
                try {
                    checkpointer.checkpoint();
                    break;
                } catch (ShutdownException se) {
                    // Ignore checkpoint if the processor instance has been shutdown (fail over).
                    System.out.println("Caught shutdown exception, skipping checkpoint." + se);
                    break;
                } catch (ThrottlingException e) {
                    // Backoff and re-attempt checkpoint upon transient failures
                    if (i >= (PROCESSING_RETRIES_MAX - 1)) {
                        System.out.println("Checkpoint failed after " + (i + 1) + "attempts." + e);
                        break;
                    } else {
                        System.out.println("Transient issue when checkpointing - attempt " + (i + 1) + " of " + PROCESSING_RETRIES_MAX + e);
                    }
                } catch (InvalidStateException e) {
                    // This indicates an issue with the DynamoDB table (check for table, provisioned IOPS).
                    System.out.println("Cannot save checkpoint to the DynamoDB table used by the Amazon Kinesis Client Library." + e);
                    break;
                }
                try {
                    Thread.sleep(BACKOFF_TIME_IN_MILLIS);
                } catch (InterruptedException e) {
                    System.out.println("Interrupted sleep" + e);
                }
            }
        }
    }

    private static byte[] decrypt(final byte[] decoded, final byte[] decodedDataKey) throws IOException {
        // Create a JCE master key provider using the random key and an AES-GCM encryption algorithm
        final JceMasterKey masterKey = JceMasterKey.getInstance(new SecretKeySpec(decodedDataKey, "AES"),
                "BC", "DataKey", "AES/GCM/NoPadding");
        try (final CryptoInputStream<JceMasterKey> decryptingStream = CRYPTO.createDecryptingStream(masterKey, new ByteArrayInputStream(decoded));
             final ByteArrayOutputStream out = new ByteArrayOutputStream()) {
            IOUtils.copy(decryptingStream, out);
            return out.toByteArray();
        }
    }

    public static void main(String[] args) throws Exception {
        final String workerId = InetAddress.getLocalHost().getCanonicalHostName() + ":" + UUID.randomUUID();
        final KinesisClientLibConfiguration kinesisClientLibConfiguration =
                new KinesisClientLibConfiguration(APPLICATION_NAME, STREAM_NAME, CREDENTIALS_PROVIDER, workerId);
        kinesisClientLibConfiguration.withInitialPositionInStream(InitialPositionInStream.LATEST);
        kinesisClientLibConfiguration.withRegionName(REGION_NAME);
        final Worker worker = new Builder()
                .recordProcessorFactory(new RecordProcessorFactory())
                .config(kinesisClientLibConfiguration)
                .build();

        System.out.printf("Running %s to process stream %s as worker %s...\n", APPLICATION_NAME, STREAM_NAME, workerId);

        try {
            worker.run();
        } catch (Throwable t) {
            System.err.println("Caught throwable while processing data.");
            t.printStackTrace();
            System.exit(1);
        }
        System.exit(0);
    }

    private static byte[] getByteArray(final ByteBuffer b) {
        byte[] byteArray = new byte[b.remaining()];
        b.get(byteArray);
        return byteArray;
    }
}
```

------
#### [ Python ]

```
import base64
import json
import zlib
import aws_encryption_sdk
from aws_encryption_sdk import CommitmentPolicy
from aws_encryption_sdk.internal.crypto import WrappingKey
from aws_encryption_sdk.key_providers.raw import RawMasterKeyProvider
from aws_encryption_sdk.identifiers import WrappingAlgorithm, EncryptionKeyType
import boto3

REGION_NAME = '<region>'                    # us-east-1
RESOURCE_ID = '<external-resource-id>'      # db-ABCD123456
STREAM_NAME = 'aws-rds-das-' + RESOURCE_ID  # aws-rds-das-db-ABCD123456

enc_client = aws_encryption_sdk.EncryptionSDKClient(commitment_policy=CommitmentPolicy.FORBID_ENCRYPT_ALLOW_DECRYPT)

class MyRawMasterKeyProvider(RawMasterKeyProvider):
    provider_id = "BC"

    def __new__(cls, *args, **kwargs):
        obj = super(RawMasterKeyProvider, cls).__new__(cls)
        return obj

    def __init__(self, plain_key):
        RawMasterKeyProvider.__init__(self)
        self.wrapping_key = WrappingKey(wrapping_algorithm=WrappingAlgorithm.AES_256_GCM_IV12_TAG16_NO_PADDING,
                                        wrapping_key=plain_key, wrapping_key_type=EncryptionKeyType.SYMMETRIC)

    def _get_raw_key(self, key_id):
        return self.wrapping_key


def decrypt_payload(payload, data_key):
    my_key_provider = MyRawMasterKeyProvider(data_key)
    my_key_provider.add_master_key("DataKey")
    decrypted_plaintext, header = enc_client.decrypt(
        source=payload,
        materials_manager=aws_encryption_sdk.materials_managers.default.DefaultCryptoMaterialsManager(master_key_provider=my_key_provider))
    return decrypted_plaintext


def decrypt_decompress(payload, key):
    decrypted = decrypt_payload(payload, key)
    return zlib.decompress(decrypted, zlib.MAX_WBITS + 16)


def main():
    session = boto3.session.Session()
    kms = session.client('kms', region_name=REGION_NAME)
    kinesis = session.client('kinesis', region_name=REGION_NAME)

    response = kinesis.describe_stream(StreamName=STREAM_NAME)
    shard_iters = []
    for shard in response['StreamDescription']['Shards']:
        shard_iter_response = kinesis.get_shard_iterator(StreamName=STREAM_NAME, ShardId=shard['ShardId'],
                                                         ShardIteratorType='LATEST')
        shard_iters.append(shard_iter_response['ShardIterator'])

    while len(shard_iters) > 0:
        next_shard_iters = []
        for shard_iter in shard_iters:
            response = kinesis.get_records(ShardIterator=shard_iter, Limit=10000)
            for record in response['Records']:
                record_data = record['Data']
                record_data = json.loads(record_data)
                payload_decoded = base64.b64decode(record_data['databaseActivityEvents'])
                data_key_decoded = base64.b64decode(record_data['key'])
                data_key_decrypt_result = kms.decrypt(CiphertextBlob=data_key_decoded,
                                                      EncryptionContext={'aws:rds:db-id': RESOURCE_ID})
                print (decrypt_decompress(payload_decoded, data_key_decrypt_result['Plaintext']))
            if 'NextShardIterator' in response:
                next_shard_iters.append(response['NextShardIterator'])
        shard_iters = next_shard_iters


if __name__ == '__main__':
    main()
```

------

# Ejemplos de políticas de IAM para flujos de actividad de base de datos
<a name="DBActivityStreams.ManagingAccess"></a>

Cualquier usuario que tenga privilegios de rol de AWS Identity and Access Management (IAM) apropiados para los flujos de actividad de la base de datos puede crear, iniciar, detener y modificar la configuración del flujo de actividad de una instancia de base de datos. Estas acciones se incluyen en el registro de auditoría de la secuencia. Como práctica recomendada de cumplimiento, le recomendamos que no proporcione estos privilegios a los DBA.

Establezca el acceso a las secuencias de actividades de base de datos mediante políticas IAM. Para obtener más información acerca de la autenticación de Amazon RDS, consulte [Administración de la identidad y el acceso en Amazon RDS](UsingWithRDS.IAM.md). Para obtener más información sobre la creación de políticas de IAM, consulte [Creación y uso de una política de IAM para el acceso a bases de datos de IAM](UsingWithRDS.IAMDBAuth.IAMPolicy.md). 

**Example Política para permitir configurar secuencias de actividades de la base de datos**  
Para dar a los usuarios un acceso detallado con el fin de modificar flujos de actividad, utilice las claves de contexto de operación específica del servicio `rds:StartActivityStream` y `rds:StopActivityStream` de una política de IAM. En el siguiente ejemplo de política de IAM el usuario o rol pueden configurar secuencias de actividades.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfigureActivityStreams",
            "Effect": "Allow",
            "Action": [
                "rds:StartActivityStream",
                "rds:StopActivityStream"
            ],
            "Resource": "*"
        }
    ]
}
```

**Example Política para permitir iniciar secuencias de actividades de la base de datos**  
En el siguiente ejemplo de política de IAM el usuario o rol pueden iniciar secuencias de actividades.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"AllowStartActivityStreams",
            "Effect":"Allow",
            "Action":"rds:StartActivityStream",
            "Resource":"*"
        }
    ]
}
```

**Example Política para permitir detener secuencias de actividades de la base de datos**  
En el siguiente ejemplo de política de IAM el usuario o rol pueden detener secuencias de actividades.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"AllowStopActivityStreams",
            "Effect":"Allow",
            "Action":"rds:StopActivityStream",
            "Resource":"*"
        }
     ]
}
```

**Example Política para rechazar iniciar secuencias de actividades de la base de datos**  
En el siguiente ejemplo de política de IAM se evita que un usuario o rol inicie secuencias de actividades.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"DenyStartActivityStreams",
            "Effect":"Deny",
            "Action":"rds:StartActivityStream",
            "Resource":"*"
        }
     ]
}
```

**Example Política para rechazar la detención de secuencias de actividades de la base de datos**  
En el siguiente ejemplo de política de IAM se evita que un usuario o rol detenga secuencias de actividades.    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement":[
        {
            "Sid":"DenyStopActivityStreams",
            "Effect":"Deny",
            "Action":"rds:StopActivityStream",
            "Resource":"*"
        }
    ]
}
```

# Supervisión de amenazas con Amazon GuardDuty RDS Protection
<a name="guard-duty-rds-protection"></a>

Amazon GuardDuty es un servicio de detección de amenazas que ayuda a proteger las cuentas, los contenedores, las cargas de trabajo y los datos de su entorno de AWS. Mediante modelos de machine learning (ML) y capacidades de detección de anomalías y amenazas, GuardDuty supervisa continuamente los diferentes orígenes de registro y la actividad en tiempo de ejecución para identificar y priorizar los posibles riesgos de seguridad y actividades maliciosas en su entorno.

GuardDuty para protección de RDS analiza y perfila los eventos de inicio de sesión para detectar posibles amenazas de acceso a sus bases de datos de Amazon RDS. Al activar Protección de RDS, GuardDuty consume los eventos de inicio de sesión de RDS de sus bases de datos de RDS. RDS Protection supervisa estos eventos y los perfila para detectar posibles amenazas internas o agentes externos.

Para obtener más información sobre la forma de habilitar la protección de RDS de Amazon GuardDuty, consulte [GuardDuty RDS Protection](https://docs.aws.amazon.com/guardduty/latest/ug/rds-protection.html) (Protección de RDS de Amazon GuardDuty) en la *Guía del usuario de Amazon GuardDuty*.

Cuando RDS Protection detecta una amenaza potencial, como un patrón inusual de intentos de inicio de sesión con éxito o fallidos, GuardDuty genera un nuevo hallazgo con detalles sobre la base de datos potencialmente comprometida. Puede ver los detalles de los resultados en la sección de resumen de los resultados de la consola de Amazon GuardDuty. Los detalles de los resultados varían según el tipo de resultado. Los detalles principales, el tipo de recurso y el rol del recurso determinan el tipo de información disponible para cualquier resultado. Para obtener más información sobre los detalles más comunes disponibles en los resultados y los tipos de resultados, consulte [Finding details](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_findings-summary.html) (Detalles de resultados) y [GuardDuty RDS Protection](https://docs.aws.amazon.com/guardduty/latest/ug/findings-rds-protection.html) (Protección de RDS de GuardDuty) respectivamente, en la *Guía del usuario de Amazon GuardDuty*. 

Puede activar o desactivar la característica de protección RDS para cualquier Cuenta de AWS en cualquier Región de AWS donde esté disponible. Cuando Protección de RDS no está habilitado, GuardDuty no detecta las bases de datos de RDS que puedan estar comprometidas ni proporciona detalles sobre el problema.

Una cuenta de GuardDuty existente puede habilitar la protección de RDS con un periodo de prueba de 30 días. En una cuenta nueva de GuardDuty, la protección de RDS ya está habilitada e incluida en el periodo de prueba gratuito de 30 días. Para obtener más información, consulte [Estimating GuardDuty cost](https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html) (Cálculo del coste de GuardDuty) en la *Guía del usuario de Amazon GuardDuty*.

Para obtener información sobre las Regiones de AWS en las que GuardDuty aún no admite la protección de RDS, consulte [Disponibilidad de características específicas para cada región](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_regions.html#gd-regional-feature-availability) en la *Guía del usuario de Amazon GuardDuty*.

Para obtener información sobre las versiones de la base de datos de RDS compatibles con GuardDuty RDS Protection, consulte [Bases de datos ilimitadas compatibles con Amazon Aurora, Amazon RDS y Aurora](https://docs.aws.amazon.com/guardduty/latest/ug/rds-protection.html#rds-pro-supported-db) en la *Guía del usuario de Amazon GuardDuty*.