Woher weiß ich, ob ich eine ältere CloudFront-API-Version verwende?

Lesedauer: 2 Minute
0

Ich möchte wissen, ob ich eine ältere Amazon CloudFront-API-Version verwende, die den Validierungsprozess für alternative Domainnamen (CNAME) von CloudFront nicht unterstützt. Ich möchte meine Anwendungen aktualisieren, die diese APIs aufrufen.

Lösung

Verwenden Sie AWS CloudTrail-Protokolle und Amazon Athena-Abfragen, um festzustellen, ob Sie eine ältere CloudFront-API-Version verwenden, die den CNAME-Validierungsprozess nicht unterstützt:

1.Aktivieren Sie die CloudTrail-Protokollierung für Ihr Konto in der Region USA Ost (Nord-Virginia) (us-east-1).

Hinweis: Wenn Sie die CloudTrail-Protokollierung für die Region USA Ost (Nord-Virginia) bereits aktiviert haben und Sie keine Protokoll-Rotation eingerichtet haben, können Sie eine Teilmenge Ihrer aktuellen Protokolle in ein neues Präfix kopieren. Auf diese Weise können Sie eine Athena-Abfrage für eine Teilmenge der Protokolle und nicht für den gesamten Datensatz ausführen. Athena-Abfragen werden auf der Grundlage jedes GB an gescannten Daten abgerechnet. Das bedeutet, dass es ein bewährtes Verfahren ist, nur die Protokolle der letzten 30 Tage zu überprüfen, um die Kosten zu senken.

2.Nachdem die CloudTrail-Protokolle in einen Amazon Simple Storage Service (Amazon S3)-Bucket geschrieben wurden, erstellen Sie eine Tabelle für die Protokolle.

3.Öffnen Sie die Athena-Konsole, fügen Sie dem Feld Neue Abfrage 1 die folgende Abfrage hinzu und wählen Sie Abfrage ausführen aus:

Wichtig: Ersetzen Sie**$databaseName.$tableName** mit den Namen Ihrer Datenbank und Tabelle.

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;

Die Abfrage gibt eine Anzahl von API-Aufrufen zurück, die frühere CloudFront-API-Versionen verwenden. Wenn die Abfrage keine Ergebnisse liefert, verwendet Ihr Konto keine frühere API-Version.

Wenn die vorherige Abfrage Ergebnisse zurückgegeben hat, führen Sie diese zusätzliche Abfrage aus, um weitere Informationen zu den einzelnen API-Aufrufen zu erhalten:

Wichtig: Ersetzen Sie**$databaseName.$tableName** mit den Namen Ihrer Datenbank und Tabelle.

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');

Diese Abfrage gibt die AWS Identity and Access Management (IAM)-Identität, die Quell-IP-Adresse, den API-Aufruf (Ereignis) und den Benutzer-Agent zurück, die den API-Aufrufen zugeordnet sind. Verwenden Sie diese Informationen, um zu bestimmen, welche Anwendungen Sie mit den neuen CloudFront-API-Versionen aktualisieren möchten.


AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr