Wählen Sie Ihre Cookie-Einstellungen aus

Wir verwenden essentielle Cookies und ähnliche Tools, die für die Bereitstellung unserer Website und Services erforderlich sind. Wir verwenden Performance-Cookies, um anonyme Statistiken zu sammeln, damit wir verstehen können, wie Kunden unsere Website nutzen, und Verbesserungen vornehmen können. Essentielle Cookies können nicht deaktiviert werden, aber Sie können auf „Anpassen“ oder „Ablehnen“ klicken, um Performance-Cookies abzulehnen.

Wenn Sie damit einverstanden sind, verwenden AWS und zugelassene Drittanbieter auch Cookies, um nützliche Features der Website bereitzustellen, Ihre Präferenzen zu speichern und relevante Inhalte, einschließlich relevanter Werbung, anzuzeigen. Um alle nicht notwendigen Cookies zu akzeptieren oder abzulehnen, klicken Sie auf „Akzeptieren“ oder „Ablehnen“. Um detailliertere Entscheidungen zu treffen, klicken Sie auf „Anpassen“.

Konfiguration von VPC Flow Logs für die Zentralisierung über AWS-Konten hinweg - AWS Prescriptive Guidance

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Konfiguration von VPC Flow Logs für die Zentralisierung über AWS-Konten hinweg

Erstellt von Benjamin Morris (AWS) und Aman Kaur Gandhi (AWS)

Übersicht

In einer virtuellen privaten Cloud (VPC) von Amazon Web Services (AWS) kann die VPC Flow Logs-Funktion nützliche Daten für betriebliche und sicherheitstechnische Problembehebungen bereitstellen. Es gibt jedoch Einschränkungen bei der Verwendung von VPC Flow Logs in einer Umgebung mit mehreren Konten. Insbesondere kontenübergreifende Datenflussprotokolle von Amazon CloudWatch Logs werden nicht unterstützt. Stattdessen können Sie die Protokolle zentralisieren, indem Sie einen Amazon Simple Storage Service (Amazon S3) -Bucket mit der entsprechenden Bucket-Richtlinie konfigurieren.

Anmerkung

In diesem Muster werden die Anforderungen für das Senden von Flow-Protokollen an einen zentralen Ort beschrieben. Wenn Sie jedoch möchten, dass Protokolle auch lokal in Mitgliedskonten verfügbar sind, können Sie für jede VPC mehrere Flow-Logs erstellen. Benutzer ohne Zugriff auf das Log Archive-Konto können Datenverkehrsprotokolle zur Fehlerbehebung einsehen. Alternativ können Sie ein einzelnes Flow-Protokoll für jede VPC konfigurieren, die CloudWatch Protokolle an Logs sendet. Anschließend können Sie einen Amazon Data Firehose-Abonnementfilter verwenden, um die Protokolle an einen S3-Bucket weiterzuleiten. Weitere Informationen finden Sie im Abschnitt Verwandte Ressourcen.

Voraussetzungen und Einschränkungen

Voraussetzungen

  • Ein aktives AWS-Konto

  • Eine Organisation von AWS Organizations mit einem Konto, das zur Zentralisierung von Protokollen verwendet wird (z. B. Log Archive)

Einschränkungen

Wenn Sie den verwalteten Schlüssel des AWS Key Management Service (AWS KMS) verwenden, aws/s3 um Ihren zentralen Bucket zu verschlüsseln, empfängt er keine Protokolle von einem anderen Konto. Stattdessen wird Ihnen der Unsuccessful Fehlercode 400 mit einer Meldung wie "LogDestination: <bucketName> is undeliverable" der von Ihnen angegebenen ResourceId angezeigt.

Dies liegt daran, dass die von AWS verwalteten Schlüssel eines Kontos nicht von mehreren Konten gemeinsam genutzt werden können.

Die Lösung besteht darin, entweder die von Amazon S3 verwaltete Verschlüsselung (SSE-S3) oder einen vom Kunden verwalteten AWS KMS-Schlüssel zu verwenden, den Sie mit Mitgliedskonten teilen können.

Architektur

Zieltechnologie-Stack

In der folgenden Abbildung werden zwei Flow-Logs für jede VPC bereitgestellt. Einer sendet Protokolle an eine lokale CloudWatch Protokollgruppe. Die andere sendet Protokolle an einen S3-Bucket in einem zentralen Protokollierungskonto. Die Bucket-Richtlinie ermöglicht es dem Log-Lieferdienst, Logs in den Bucket zu schreiben.

Anmerkung

Seit November 2023 unterstützt es AWS jetzt den Bedingungsschlüssel aws: SourceOrg ID. Diese Bedingung ermöglicht es Ihnen, Konten außerhalb Ihrer AWS Organizations Organisation das Schreiben in den zentralen Bucket zu verweigern.

Zielarchitektur

Von jeder VPC sendet ein Flow-Log Logs Logs an CloudWatch und ein Flow-Log meldet Logs an den S3-Bucket.

Automatisierung und Skalierung

Jede VPC ist so konfiguriert, dass sie Protokolle an den S3-Bucket im zentralen Protokollierungskonto sendet. Verwenden Sie eine der folgenden Automatisierungslösungen, um sicherzustellen, dass die Flow-Logs ordnungsgemäß konfiguriert sind:

Tools

Tools

  • Amazon CloudWatch Logs hilft Ihnen dabei, die Protokolle all Ihrer Systeme, Anwendungen und AWS-Services zu zentralisieren, sodass Sie sie überwachen und sicher archivieren können.

  • Amazon Simple Storage Service (Amazon S3) ist ein cloudbasierter Objektspeicherservice, der Sie beim Speichern, Schützen und Abrufen beliebiger Datenmengen unterstützt.

  • Amazon Virtual Private Cloud (Amazon VPC) hilft Ihnen, AWS-Ressourcen in einem von Ihnen definierten virtuellen Netzwerk zu starten. Dieses virtuelle Netzwerk ähnelt einem herkömmlichen Netzwerk, das Sie in Ihrem eigenen Rechenzentrum betreiben würden, mit den Vorteilen der skalierbaren Infrastruktur von AWS. Dieses Muster verwendet die Funktion VPC Flow Logs, um Informationen über den IP-Verkehr zu und von Netzwerkschnittstellen in Ihrer VPC zu erfassen.

Bewährte Methoden

Die Verwendung von Infrastructure as Code (IaC) kann den Bereitstellungsprozess von VPC Flow Logs erheblich vereinfachen. Wenn Sie Ihre VPC-Bereitstellungsdefinitionen so abstrahieren, dass sie ein Flow-Log-Ressourcenkonstrukt enthalten, werden Ihre VPCs With-Flow-Logs automatisch bereitgestellt. Dies wird im nächsten Abschnitt demonstriert.

Zentralisierte Flussprotokolle

Beispielsyntax für das Hinzufügen zentraler Flow-Logs zu einem VPC-Modul in Terraform HashiCorp

Dieser Code erstellt ein Flow-Protokoll, das Protokolle von einer VPC an einen zentralen S3-Bucket sendet. Beachten Sie, dass dieses Muster nicht die Erstellung des S3-Buckets abdeckt.

Empfohlene Bucket-Richtlinien finden Sie im Abschnitt Zusätzliche Informationen.

variable "vpc_id" { type = string } locals { custom_log_format_v5 = "$${version} $${account-id} $${interface-id} $${srcaddr} $${dstaddr} $${srcport} $${dstport} $${protocol} $${packets} $${bytes} $${start} $${end} $${action} $${log-status} $${vpc-id} $${subnet-id} $${instance-id} $${tcp-flags} $${type} $${pkt-srcaddr} $${pkt-dstaddr} $${region} $${az-id} $${sublocation-type} $${sublocation-id} $${pkt-src-aws-service} $${pkt-dst-aws-service} $${flow-direction} $${traffic-path}" } resource "aws_flow_log" "centralized_flow_log" { log_destination = "arn:aws:s3:::centralized-vpc-flow-logs-<log_archive_account_id>" # Optionally, a prefix can be added after the ARN. log_destination_type = "s3" traffic_type = "ALL" vpc_id = var.vpc_id log_format = local.custom_log_format_v5 # If you want fields from VPC Flow Logs v3+, you will need to create a custom log format. }

Weitere Informationen zum benutzerdefinierten Protokollformat finden Sie in der AWS-Dokumentation.

Lokale Datenflussprotokolle

Beispielsyntax für das Hinzufügen von lokalen Flow-Logs zu einem VPC-Modul in Terraform mit den erforderlichen Berechtigungen

Dieser Code erstellt ein Flow-Protokoll, das Protokolle von einer VPC an eine lokale CloudWatch Logs-Gruppe sendet.

data "aws_region" "current" {} variable "vpc_id" { type = string } resource "aws_iam_role" "local_flow_log_role" { name = "flow-logs-policy-${var.vpc_id}" assume_role_policy = <<EOF { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": {"Service": "vpc-flow-logs.amazonaws.com"}, "Action": "sts:AssumeRole" }] } EOF } resource "aws_iam_role_policy" "logs_permissions" { name = "flow-logs-policy-${var.vpc_id}" role = aws_iam_role.local_flow_log_role.id policy = <<EOF { "Version": "2012-10-17", "Statement": [{ "Action": ["logs:CreateLog*", "logs:PutLogEvents", "logs:DescribeLog*", "logs:DeleteLogDelivery"], "Effect": "Allow", "Resource": "arn:aws:logs:${data.aws_region.current.name}:*:log-group:vpc-flow-logs*" }] } EOF } resource "aws_cloudwatch_log_group" "local_flow_logs" { name = "vpc-flow-logs/${var.vpc_id}" retention_in_days = 30 } resource "aws_flow_log" "local_flow_log" { iam_role_arn = aws_iam_role.local_flow_log_role.arn log_destination = aws_cloudwatch_log_group.local_flow_logs.arn traffic_type = "ALL" vpc_id = var.vpc_id }

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Ermitteln Sie die Verschlüsselungsstrategie und erstellen Sie die Richtlinie für den zentralen S3-Bucket.

Der zentrale Bucket unterstützt den aws/s3 AWS-KMS-Schlüssel nicht, daher müssen Sie entweder SSE-S3 oder einen vom Kunden verwalteten AWS KMS-Schlüssel verwenden. Wenn Sie einen AWS-KMS-Schlüssel verwenden, muss die Schlüsselrichtlinie den Mitgliedskonten die Verwendung des Schlüssels ermöglichen.

Compliance

Erstellen Sie den zentralen Flow-Log-Bucket.

Erstellen Sie den zentralen Bucket, an den die Flow-Logs gesendet werden, und wenden Sie die Verschlüsselungsstrategie an, die Sie im vorherigen Schritt ausgewählt haben. Dies sollte sich in einem Log-Archiv oder einem Konto mit ähnlichem Zweck befinden.

Rufen Sie die Bucket-Richtlinie im Abschnitt Zusätzliche Informationen ab und wenden Sie sie auf Ihren zentralen Bucket an, nachdem Sie die Platzhalter mit Ihren umgebungsspezifischen Werten aktualisiert haben.

Allgemeines AWS

Konfigurieren Sie VPC Flow Logs so, dass Protokolle an den zentralen Flow-Log-Bucket gesendet werden.

Fügen Sie jeder VPC, von der Sie Daten sammeln möchten, Flow-Logs hinzu. Der skalierbarste Weg, dies zu tun, ist die Verwendung von IaC-Tools wie AFT oder AWS Cloud Development Kit (AWS CDK). Sie können beispielsweise ein Terraform-Modul erstellen, das eine VPC zusammen mit einem Flow-Log bereitstellt. Bei Bedarf fügen Sie die Flow-Logs manuell hinzu.

Netzwerkadministrator

Konfigurieren Sie VPC Flow Logs so, dass sie an lokale CloudWatch Logs gesendet werden.

(Optional) Wenn Sie möchten, dass Flow-Protokolle in den Konten sichtbar sind, in denen die Protokolle generiert werden, erstellen Sie ein weiteres Flow-Protokoll, um Daten an CloudWatch Logs im lokalen Konto zu senden. Alternativ können Sie die Daten an einen kontospezifischen S3-Bucket im lokalen Konto senden.

Allgemeines AWS

Stellen Sie die VPC Flow Logs-Infrastruktur bereit

AufgabeBeschreibungErforderliche Fähigkeiten

Ermitteln Sie die Verschlüsselungsstrategie und erstellen Sie die Richtlinie für den zentralen S3-Bucket.

Der zentrale Bucket unterstützt den aws/s3 AWS-KMS-Schlüssel nicht, daher müssen Sie entweder SSE-S3 oder einen vom Kunden verwalteten AWS KMS-Schlüssel verwenden. Wenn Sie einen AWS-KMS-Schlüssel verwenden, muss die Schlüsselrichtlinie den Mitgliedskonten die Verwendung des Schlüssels ermöglichen.

Compliance

Erstellen Sie den zentralen Flow-Log-Bucket.

Erstellen Sie den zentralen Bucket, an den die Flow-Logs gesendet werden, und wenden Sie die Verschlüsselungsstrategie an, die Sie im vorherigen Schritt ausgewählt haben. Dies sollte sich in einem Log-Archiv oder einem Konto mit ähnlichem Zweck befinden.

Rufen Sie die Bucket-Richtlinie im Abschnitt Zusätzliche Informationen ab und wenden Sie sie auf Ihren zentralen Bucket an, nachdem Sie die Platzhalter mit Ihren umgebungsspezifischen Werten aktualisiert haben.

Allgemeines AWS

Konfigurieren Sie VPC Flow Logs so, dass Protokolle an den zentralen Flow-Log-Bucket gesendet werden.

Fügen Sie jeder VPC, von der Sie Daten sammeln möchten, Flow-Logs hinzu. Der skalierbarste Weg, dies zu tun, ist die Verwendung von IaC-Tools wie AFT oder AWS Cloud Development Kit (AWS CDK). Sie können beispielsweise ein Terraform-Modul erstellen, das eine VPC zusammen mit einem Flow-Log bereitstellt. Bei Bedarf fügen Sie die Flow-Logs manuell hinzu.

Netzwerkadministrator

Konfigurieren Sie VPC Flow Logs so, dass sie an lokale CloudWatch Logs gesendet werden.

(Optional) Wenn Sie möchten, dass Flow-Protokolle in den Konten sichtbar sind, in denen die Protokolle generiert werden, erstellen Sie ein weiteres Flow-Protokoll, um Daten an CloudWatch Logs im lokalen Konto zu senden. Alternativ können Sie die Daten an einen kontospezifischen S3-Bucket im lokalen Konto senden.

Allgemeines AWS

Zugehörige Ressourcen

Zusätzliche Informationen

Bucket-Richtlinie

Dieses Beispiel für eine Bucket-Richtlinie kann auf Ihren zentralen S3-Bucket für Flow-Logs angewendet werden, nachdem Sie Werte für Platzhalternamen hinzugefügt haben.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::<BUCKET_NAME>/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control", "aws:SourceOrgID": "<ORG_ID>" } } }, { "Sid": "AWSLogDeliveryCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::<BUCKET_NAME>", "Condition": { "StringEquals": { "aws:SourceOrgID": "<ORG_ID>" } } }, { "Sid": "DenyUnencryptedTraffic", "Effect": "Deny", "Principal": { "AWS": "*" }, "Action": "s3:*", "Resource": [ "arn:aws:s3:::<BUCKET_NAME>/*", "arn:aws:s3:::<BUCKET_NAME>" ], "Condition": { "Bool": { "aws:SecureTransport": "false" } } } ] }
DatenschutzNutzungsbedingungen für die WebsiteCookie-Einstellungen
© 2025, Amazon Web Services, Inc. oder Tochtergesellschaften. Alle Rechte vorbehalten.