Sie haben nach S3 gefragt, aber Ihr Pull-Quote stammt aus der Dokumentation für CloudFront.
Wie auch immer, es spielt keine Rolle. Dies ist nur ein Vorbehalt, sagen, dass Protokolllieferung möglicherweise manchmal verzögert werden, und dass, wenn es sich verzögert, dies ist kein Fehler - es ist ein Nebeneffekt eines massiven, verteilten Systems.
Beide Dienste arbeiten in einem unverständlich großen Umfang, so dass in kleinen Teilen des Systems regelmäßig Probleme auftreten und eventuell einige unterbrochene Protokolle oder zurückgestoßene Protokolle gefunden und zugestellt werden können. Selten können sie sogar Tage oder Wochen später ankommen.
Es gibt kein Ereignis, das anzeigt, dass alle Protokolle beendet sind, da es keinen einzigen Punkt in einem solchen System gibt, der sich dessen bewusst ist.
Aber hier ist das Essen zum Mitnehmen Konzept: die Mehrheit von Protokollen innerhalb Minuten, ankommen wird, aber dies ist nicht garantiert. Sobald Sie beginnen, den Verkehr zu betreiben und zu beobachten, wie die Protokollierung funktioniert, werden Sie sehen, worauf ich mich beziehe. Verzögerte Protokolle sind die Ausnahme, und Sie sollten in der Lage sein, ziemlich schnell zu verstehen, wie lange Sie warten müssen, bevor Sie die Protokolle für eine bestimmte Wanduhrzeit verarbeiten. Solange Sie verfolgen, was Sie verarbeitet haben, können Sie dies später gegen den Bucket überprüfen, um sicherzustellen, dass Ihr Prozess einen ausreichenden Anteil der Protokolle erfasst. Verkehr auf einige meiner S3 Eimer Routing unter Verwendung von HAProxy in EC2 in der gleichen Region wie der Eimer
Seit den Tagen vor dem Cloudfront SNI Unterstützung hatte, habe ich. Dies gab mir die Möglichkeit, benutzerdefinierte Hostnamen und SNI zu verwenden, gab mir aber auch die Echtzeitprotokollierung des gesamten Bucket-Datenverkehrs mit HAProxy, der Kopien seiner Protokolle auch für eine Echtzeitanalyse über UDP in einen Protokollkollektor streamen kann wie es in syslog schreiben. Es gibt keinen messbaren Unterschied in der Leistung mit dieser Lösung, und HAProxy läuft extrem gut auf Servern der t2-Klasse, also ist es kosteneffektiv. Sie führen natürlich mehr Kosten und mehr zu unterhalten ein, aber Sie können sogar HAProxy zwischen CloudFront und S3 bereitstellen, solange Sie keine Ursprungszugriffsidentität verwenden. Einer meiner größeren Dienste macht genau das, ein Überbleibsel aus den Tagen vor Lambda @ Edge.
Verweisen Sie auf Amazon S3 [Serverzugriffsprotokollierung] (http://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs).html) oder Amazon CloudFront [Zugriffsprotokolle] (http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html)? –
@JohnRotenstein Entschuldigung dafür, ich spreche über CloudFront AccessLogs, die in s3 gespeichert und dann von mir in einer ETL-Pipeline verarbeitet werden. – lisak