Wie verwende ich AWS CloudTrail, um API-Aufrufe an meine Amazon EC2-Instances zu verfolgen?

Lesedauer: 4 Minute
0

Ich möchte API-Aufrufe verfolgen, die meine Amazon Elastic Compute Cloud (Amazon EC2)-Instances ausführen, anhalten, starten und beenden. Wie suche ich mit AWS CloudTrail nach API-Aufrufen an meine Amazon EC2-Instances?

Kurzbeschreibung

Mit AWS CloudTrail können Sie vier Arten von API-Aufrufen (Ereignistypen) an Ihr AWS-Konto identifizieren und nachverfolgen:

Um diese Arten von API-Aufrufen zu überprüfen, nachdem sie an Ihr Konto gesendet wurden, können Sie eine der folgenden Methoden verwenden.

Hinweis: Sie können den Ereignisverlauf für Ihr Konto für die vergangenen 90 Tage einsehen.

Lösung

Nachverfolgen von API-Aufrufen mithilfe des CloudTrail-Ereignisverlaufs

1.Öffnen Sie die CloudTrail-Konsole.

2.Wählen Sie Ereignisverlauf aus.

3.Wählen Sie unter Filter den Ereignisnamen aus der Dropdownliste aus.

4.Geben Sie unter Ereignisnamen eingeben den Ereignistyp ein, nach dem Sie suchen möchten. Wählen Sie dann den Ereignistyp aus.

5.Geben Sie unter Zeitraum den gewünschten Zeitraum ein, für den Sie den Ereignistyp verfolgen möchten.

6.Wählen Sie Übernehmen aus.

Weitere Informationen finden Sie unter Ereignisse mit dem CloudTrail-Ereignisverlauf anzeigen und Cloudtrail-Ereignisse in der CloudTrail-Konsole anzeigen.

Nachverfolgen von API-Aufrufen mithilfe von Amazon Athena-Abfragen

Folgen Sie den Anweisungen unter Wie erstelle ich automatisch Tabellen in Amazon Athena, um die AWS CloudTrail-Protokolle zu durchsuchen?

Im Folgenden finden Sie Beispielabfragen für den RunInstances-API-Aufruf. Sie können ähnliche Abfragen für jeden der unterstützten Ereignistypen verwenden.

Wichtig: Ersetzen Sie cloudtrail-logs durch Ihren Athena-Tabellennamen, bevor Sie eines der folgenden Abfragebeispiele ausführen.

Beispielabfrage zur Rückgabe aller verfügbaren Ereignisinformationen für den RunInstances-API-Aufruf

SELECT *
FROM cloudtrail-logs
WHERE eventName = 'RunInstances'

Beispielabfrage zur Rückgabe gefilterter Ereignisinformationen für den RunInstances-API-Aufruf

SELECT userIdentity.username, eventTime, eventName
FROM cloudtrail-logs
WHERE eventName = 'RunInstances'

Beispielabfrage zur Rückgabe von Ereignisinformationen für die APIs, die mit der Zeichenfolge „Instances“ enden, von einem bestimmten Zeitpunkt bis zum aktuellen Datum

Wichtig: Ersetzen Sie '2021-07-01T00:00:01Z' durch den Zeitpunkt, von dem ab Sie die Ereignisinformationen zurückgeben möchten.

SELECT userIdentity.username, eventTime, eventName
FROM cloudtrail-logs
WHERE (eventName LIKE '%Instances') AND eventTime > '2021-07-01T00:00:01Z'

Nachverfolgen von API-Aufrufen mithilfe archivierter Amazon CloudWatch Logs in Amazon Simple Storage Service (Amazon S3)

Wichtig: Um Ereignisse in einem Amazon S3-Bucket zu protokollieren, müssen Sie zunächst einen CloudWatch-Trail erstellen.

1.Greifen Sie auf Ihre CloudTrail-Protokolldateien zu, indem Sie den Anweisungen unter Nach Ihren CloudTrail-Protokolldateien suchen folgen.

2.Laden Sie Ihre Protokolldateien herunter, indem Sie den Anweisungen unter Herunterladen Ihrer CloudTrail-Protokolldateien folgen.

3.Durchsuchen Sie die Protokolle nach den Ereignistypen, die Sie mit jq oder einem anderen JSON-Befehlszeilenprozessor verfolgen möchten.

Beispiel für ein jq-Verfahren zum Durchsuchen von CloudWatch Logs, die von Amazon S3 heruntergeladen wurden, nach bestimmten Ereignistypen

1.Öffnen Sie ein Bash-Terminal. Erstellen Sie dann das folgende Verzeichnis, um die Protokolldateien zu speichern:

$ mkdir cloudtrail-logs

4.Navigieren Sie zum neuen Verzeichnis. Laden Sie dann die CloudTrail-Protokolle herunter, indem Sie den folgenden Befehl ausführen:

Wichtig: Ersetzen Sie das Beispiel my_cloudtrail_bucket durch Ihren Amazon S3-Bucket.

$ cd cloudtrail-logs

$ aws s3 cp s3://my_cloudtrail_bucket/AWSLogs/012345678901/CloudTrail/eu-west-1/2019/08/07 ./ --recursive

5.Entpacken Sie die Protokolldateien, indem Sie den folgenden gzip-Befehl ausführen:

Wichtig: Ersetzen Sie***** durch den Namen der Datei, die Sie entpacken möchten.

$ gzip -d *

6.Führen Sie eine jq-Abfrage für die Ereignistypen aus, nach denen Sie suchen möchten.

Beispiel für eine jq-Abfrage zur Rückgabe aller verfügbaren Ereignisinformationen für den RunInstances-API-Aufruf

cat * | jq '.Records[] | select(.eventName=="RunInstances")'

Beispiel für eine jq-Abfrage zur Rückgabe aller verfügbaren Ereignisinformationen für die API-Aufrufe StopInstances und TerminateInstances

cat * | jq '.Records[] | select(.eventName=="StopInstances" or .eventName=="TerminateInstances" )'

Ähnliche Informationen

Wie kann ich CloudTrail verwenden, um zu überprüfen, welche API-Aufrufe und Aktionen in meinem AWS-Konto stattgefunden haben?

Mithilfe von Filtern Metriken aus Protokollereignissen erstellen

Die AWS Config-Konsole zeigt jetzt API-Ereignisse an, die mit Konfigurationsänderungen verknüpft sind

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 3 Jahren