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

Date de la dernière mise à jour : 23/04/2019

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 de manière proactive mes applications qui appellent ces API.

Résolution

Utilisez les journaux AWS CloudTrail et des requêtes Amazon Athena pour déterminer si vous utilisez une ancienne version d'API CloudFront :

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

Astuce : 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é de l'ensemble de données. Les requêtes Athena sont facturées en fonction du nombre de gigaoctets de données analysées. Par conséquent, nous vous recommandons de consulter uniquement les journaux de 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 $databaseName.$tableName
WHERE eventsource = 'cloudfront.amazonaws.com'
AND parse_datetime(apiversion, 'yyyy_MM_dd') <= parse_datetime('2015_12_22', '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
FROM $databaseName.$tableName
WHERE eventsource = 'cloudfront.amazonaws.com'
AND parse_datetime(apiversion, 'yyyy_MM_dd') <= parse_datetime('2015_12_22', 'yyyy_MM_dd');

Cette requête renvoie l'identité AWS Identity and Access Management (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.


Cette page vous a-t-elle été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d'aide ?