Direkt zum Inhalt

Wie überprüfe ich, ob meine CloudFront-API eine frühere Version verwendet?

Lesedauer: 2 Minute
0

Ich möchte wissen, wie ich feststellen kann, ob es sich bei meiner Amazon-CloudFront-API um eine frühere Version handelt, die den Validierungsprozess für alternative Domainnamen (CNAME) von CloudFront nicht unterstützt. Ich möchte auch meine Anwendungen aktualisieren, die die API aufrufen.

Lösung

Verwende einen AWS-CloudTrail-Trail und Amazon-Athena-Abfragen, um festzustellen, ob du eine frühere CloudFront-API-Version verwendest, die den CNAME-Validierungsprozess nicht unterstützt.

Gehe wie folgt vor, um ein CloudTrail-Protokoll zu erstellen und eine Athena-Abfrage auszuführen:

  1. Erstelle einen Trail für das AWS-Konto in der AWS-Region USA Ost (Nord-Virginia) (us-east-1).

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

  3. Öffne die Athena-Konsole und füge dann die folgende Abfrage zum Editor-Feld New Query 1 (Neue Abfrage 1) hinzu:

    SELECT apiversion, count() AS Total
    FROM $databaseName.$tableName
    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;

    Hinweis: Ersetze $databaseName.$tableName durch die Namen deiner Datenbank und Tabelle.

  4. Wähle Ausführen aus.
    Hinweis: Die Abfrage gibt die Anzahl der API-Aufrufe zurück, die frühere CloudFront-API-Versionen verwenden. Wenn die Abfrage keine Ergebnisse zurückgibt, verwendet das Konto keine frühere API-Version.

  5. (Optional) Wenn die vorherige Abfrage Ergebnisse zurückgegeben hat, führe die folgende Abfrage aus, um weitere Informationen zu jedem API-Aufruf zu erhalten:

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

    Hinweis: Ersetze $databaseName.$tableName durch die Namen deiner Datenbank und Tabelle.
    Die vorherige Abfrage gibt die AWS Identity and Access Management (IAM)-Identität, die Quell-IP-Adresse, den API-Aufruf und den Benutzeragenten von zurück, die dem API-Aufruf zugeordnet sind. Verwende diese Informationen, um die Anwendungen zu ermitteln, die du mit der neuesten CloudFront-API-Version aktualisieren möchtest.

AWS OFFICIALAktualisiert vor einem Jahr