Journalisation d’audit pour Amazon Redshift sans serveur - Amazon Redshift

Amazon Redshift ne prendra plus en charge la création de nouvelles fonctions Python définies par l’utilisateur à compter du 1er novembre 2025. Si vous souhaitez utiliser des fonctions Python définies par l’utilisateur, créez-les avant cette date. Les fonctions Python définies par l’utilisateur existantes continueront de fonctionner normalement. Pour plus d’informations, consultez le billet de blog .

Journalisation d’audit pour Amazon Redshift sans serveur

Vous pouvez configurer Amazon Redshift sans serveur de sorte à exporter des données de connexion, d’utilisateur et de journal d’activité utilisateur vers un groupe de journaux dans Amazon CloudWatch Logs. Amazon CloudWatch Logs vous permet d’effectuer une analyse en temps réel des données de journaux et d’utiliser CloudWatch pour créer des alarmes et afficher des métriques. CloudWatch Logs vous permet de stocker les enregistrements des journaux dans une solution de stockage durable.

Vous pouvez créer des alarmes CloudWatch pour suivre vos métriques à l’aide de la console Amazon Redshift. Pour plus d’informations sur la création d’alarmes, consultez Gérer les alarmes.

Pour exporter les données de journal générées vers Amazon CloudWatch Logs, les journaux respectifs doivent être sélectionnés pour l’exportation dans vos paramètres de configuration d’Amazon Redshift sans serveur, sur la console. Vous pouvez le faire en sélectionnant les paramètres Configuration de l’espace de noms, sous Sécurité et chiffrement.

Journaliser des événements dans CloudWatch

Après avoir sélectionné les journaux Redshift à exporter, vous pouvez contrôler les événements dans Amazon CloudWatch Logs. Un nouveau groupe de journaux est automatiquement créé pour Amazon Redshift sans serveur, dans lequel log_type représente le type de journal.

/aws/redshift/<namespace>/<log_type>

Lorsque vous créez votre premier groupe de travail et votre premier espace de noms, Par défaut est le nom de l’espace de noms. Le nom du groupe de journaux varie en fonction du nom que vous donnez à l’espace de noms.

Par exemple, si vous exportez le journal des connexions, les données du journal sont stockées dans le groupe de journaux suivant.

/aws/redshift/default/connectionlog

Les événements du journal sont exportés vers un groupe de journaux à l’aide du flux de journaux sans serveur. Le comportement dépend des conditions suivante qui sont vraies :

  • Un groupe de journaux avec le nom spécifié existe. Redshift exporte les données des journaux en utilisant le groupe de journaux existant. Pour créer des groupes de journaux avec des périodes de rétention de journaux, des filtres de métriques et des accès client prédéfinis, vous pouvez utiliser une configuration automatisée, telle que celle fournie par AWS CloudFormation.

  • Aucun groupe de journaux avec le nom spécifié n’existe. Lorsqu’une entrée de journal correspondante est détectée dans le fichier journal pour l’instance, Amazon Redshift sans serveur crée automatiquement un nouveau groupe de journaux dans Amazon CloudWatch Logs. Le groupe de journaux utilise la période de rétention de journaux par défaut Never Expire (N’expire jamais). Pour modifier la période de rétention des journaux, utilisez la console Amazon CloudWatch Logs, la AWS CLI ou l’API Amazon CloudWatch Logs. Pour plus d’informations sur la modification des périodes de rétention des journaux dans CloudWatch Logs, consultez Modification de la conservation des données de journaux dans CloudWatch Logs dans Utilisation des groupes de journaux et des flux de journaux.

Pour rechercher des informations dans les événements de journal, utilisez la console Amazon CloudWatch Logs, AWS CLI, ou l’API Amazon CloudWatch Logs. Pour plus d’informations sur la recherche et le filtrage des données de journaux, consultez Recherche et filtrage des données de journaux.

Métriques CloudWatch

Les métriques Amazon Redshift sans serveur sont divisées en métriques de calcul et métriques de données et de stockage, relevant respectivement des ensembles de dimensions de groupe de travail et d’espace de noms. Pour plus d’informations sur les groupes de travail et les espaces de noms, consultez Groupes de travail et espaces de noms.

Les métriques de calcul de CloudWatch sont les suivantes :

Nom de la métrique Unités Description Jeux de dimensions
QueriesCompletedPerSecond Nombre de requêtes Nombre de requêtes terminées par seconde. {Database, LatencyRange, Workgroup}, {LatencyRange, Workgroup}
QueryDuration Microsecondes Durée moyenne pour exécuter une requête. {Database, LatencyRange, Workgroup}, {LatencyRange, Workgroup}
QueriesRunning Nombre de requêtes Nombre de requêtes en cours d’exécution à un moment spécifique. {Database, QueryType, Workgroup}, {QueryType, Workgroup}
QueriesQueued Nombre de requêtes Nombre de requêtes dans la file d’attente à un moment spécifique. {Database, QueryType, Workgroup}, {QueryType, Workgroup}
DatabaseConnections Nombre de connexions Nombre de connexions à une base de données à un moment spécifique. {Database, Workgroup}, {Workgroup}
QueryRuntimeBreakdown Millisecondes Durée totale d’exécution des requêtes, par étape de la requête. {Database, Stage, Workgroup}, {Stage, Workgroup}
ComputeCapacity RPU Nombre moyen d’unités de calcul allouées au cours des 30 dernières minutes, arrondi à l’entier le plus proche. {Workgroup}
ComputeSeconds secondes de RPU Secondes cumulées d’unité de calcul utilisées au cours des 30 dernières minutes. {Workgroup}
QueriesSucceeded Nombre de requêtes Nombre de requêtes qui ont réussi au cours des 5 dernières minutes. {Database, QueryType, Workgroup}, {QueryType, Workgroup}
QueriesFailed Nombre de requêtes Nombre de requêtes qui ont échoué au cours des 5 dernières minutes. {Database, QueryType, Workgroup}, {QueryType, Workgroup}
UsageLimitAvailable Heures RPU ou To

En fonction de la métrique UsageType, UsageLimitAvailable renvoie ce qui suit :

  • Si UsageType est SERVERLESS_COMPUTE, UsageLimitAvailable renvoie le nombre d’heures RPU restantes que le groupe de travail peut interroger dans la limite donnée.

  • Si le type d’utilisation est CROSS_REGION_DATASHARING, UsageLimitAvailable renvoie le nombre restant de To que le client peut analyser dans la limite donnée.

{UsageLimitId, UsageType, Workgroup}
UsageLimitConsumed Heures RPU ou To

En fonction de la valeur UsageType, UsageLimitConsumed renvoie ce qui suit :

  • Si UsageType est SERVERLESS_COMPUTE, UsageLimitConsumed renvoie le nombre d’heures RPU que le groupe de travail a déjà interrogées dans la limite donnée.

  • Si le type d’utilisation est CROSS_REGION_DATASHARING, UsageLimitConsumed renvoie le nombre de To que le client a déjà utilisés pour l’analyse dans la limite donnée.

{UsageLimitId, UsageType, Workgroup}

Les métriques de données et de stockage de CloudWatch sont les suivantes :

Nom de la métrique Unités Description Jeux de dimensions
TotalTableCount Nombre de tables Le nombre de tables d’utilisateurs existant à un moment donné. Ce total n’inclut pas les tables Amazon Redshift Spectrum. {Database, Namespace}
DataStorage Mégaoctets Le nombre de mégaoctets utilisés, en disque ou en espace de stockage, pour les données Redshift. {Namespace}

La métrique SnapshotStorage est indépendante de l’espace de noms et du groupe de travail. La métrique SnapshotStorage de CloudWatch est la suivante :

Nom de la métrique Unités Description Jeux de dimensions
SnapshotStorage Mégaoctets Le nombre de mégaoctets utilisés, en disque ou en espace de stockage, pour les instantanés. {}

Les jeux de dimensions sont les dimensions de regroupement appliquées à vos métriques. Vous pouvez utiliser ces groupes de dimensions pour spécifier comment vos statistiques sont extraites.

Le tableau suivant détaille les dimensions et les valeurs de dimension pour des métriques spécifiques :

Dimension Description et valeurs
DatabaseName Nom de la base de données. Une valeur personnalisée.
Latency

Les valeurs possibles sont les suivantes :

  • Court : moins de 10 secondes

  • Moyen : entre 10 secondes et 10 minutes

  • Long : plus de 10 minutes

QueryType Les valeurs possibles sont : INSERT, DELETE, UPDATE, UNLOAD, LOAD, SELECT, CTAS et OTHER.
stage

Étapes de l’exécution d’une requête. Les valeurs possibles sont les suivantes :

  • QueryPlanning : Temps passé à analyser et à optimiser les instructions SQL.

  • QueryWaiting : Temps passé dans la file d’attente WLM.

  • QueryExecutingRead : Temps passé à exécuter des requêtes en lecture.

  • QueryExecutingInsert : Temps passé à exécuter des requêtes d’insertion.

  • QueryExecutingDelete : Temps passé à exécuter des requêtes de suppression.

  • QueryExecutingUpdate : Temps passé à exécuter des requêtes de mise à jour.

  • QueryExecutingCtas : Temps passé à exécuter des requêtes de création de table.

  • QueryExecutingUnload : Temps passé à exécuter des requêtes de déchargement.

  • QueryExecutingCopy : Temps passé à exécuter des requêtes de copie.

  • QueryCommit : Temps passé à valider.

Namespace Nom de l’espace de noms. Une valeur personnalisée.
Workgroup Le nom du groupe de travail. Une valeur personnalisée.
UsageLimitId L’identifiant de la limite d’utilisation.
UsageType

La fonctionnalité Amazon Redshift sans serveur est limitée. Les valeurs possibles sont les suivantes :

  • SERVERLESS_COMPUTE

  • CROSS_REGION_DATASHARING