Comment savoir si j'utilise une ancienne version de l'API CloudFront ?

Dernière mise à jour : 2023-01-11

Je souhaite savoir si j'utilise une ancienne version de l'API Amazon CloudFront qui ne prend pas en charge le processus de validation des noms de domaine alternatifs (CNAME) de CloudFront. Je veux mettre à jour mes applications qui appellent ces API.

Solution

Utilisez les journaux AWS CloudTrail et les requêtes Amazon Athena pour déterminer si vous utilisez une ancienne version de l'API CloudFront qui ne prend pas en charge le processus de validation CNAME :

1.    Activez la journalisation CloudTrail pour votre compte dans la région USA Est (Virginie du Nord) (us-east-1).

Remarque : si vous avez déjà activé la journalisation CloudTrail dans la région USA Est (Virginie du Nord) et que vous n'avez pas configuré de rotation des journaux, vous pouvez copier un sous-ensemble de vos journaux actuels dans un nouveau préfixe. Cela vous permet d'exécuter une requête Athena sur un sous-ensemble des journaux au lieu de la totalité du jeu de données. Les requêtes Athena sont facturées en fonction du volume de données analysées, en Go. Il est donc recommandé de ne vérifier que les journaux des 30 derniers jours afin de réduire les coûts.

2.    Une fois que les journaux CloudTrail sont écrits dans un compartiment Amazon Simple Storage Service (Amazon S3), créez une table pour les journaux.

3.    Ouvrez la console Athena, ajoutez la requête suivante dans la case New query 1 (Nouvelle requête 1), puis sélectionnez Exécuter la requête :

Important : remplacez $databaseName.$tableName par les noms de votre base de données et de votre table.

SELECT apiversion, count() AS Total
FROM "default"."cloudtrail_logs_cloudtrail_awslogs_317431709534_6l2vpmtr_isengard_do_not_delete"
WHERE eventsource = 'cloudfront.amazonaws.com'
AND parse_datetime(apiversion, 'yyyy_MM_dd') < parse_datetime('2020_05_31', 'yyyy_MM_dd')
GROUP BY apiversion
ORDER BY Total Desc;

La requête renvoie le nombre d'appels d'API qui utilisent les anciennes versions de l'API CloudFront. Si la requête ne renvoie aucun résultat, cela implique que votre compte n'utilise pas une ancienne version de l'API.

Si la requête précédente a renvoyé des résultats, exécutez cette requête supplémentaire pour obtenir plus d'informations sur chaque appel d'API :

Important : remplacez $databaseName.$tableName par les noms de votre base de données et de votre table.

SELECT useridentity.arn, sourceipaddress, eventname, useragent,eventtime
FROM "default"."cloudtrail_logs_cloudtrail_awslogs_317431709534_6l2vpmtr_isengard_do_not_delete"
WHERE eventsource = 'cloudfront.amazonaws.com'
AND parse_datetime(apiversion, 'yyyy_MM_dd') < parse_datetime('2020_05_31', 'yyyy_MM_dd');

Cette requête renvoie l'identité de la Gestion des identités et des accès AWS (IAM), l'adresse IP source, l'appel d'API (événement) et l'agent utilisateur associés aux appels d'API. Utilisez ces informations pour identifier les applications à mettre à jour avec les nouvelles versions de l'API CloudFront.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?