Warum gibt es eine Diskrepanz bei den Speicher- und Größenmetriken zwischen der Amazon-S3-Konsole, CloudWatch und S3 Storage Lens?

Lesedauer: 5 Minute
0

Ich vergleiche „Gesamtgröße berechnen“ in der Amazon Simple Storage Service (Amazon S3)-Konsole, den täglichen Bucket-Speicher in Amazon CloudWatch und „Gesamtspeicher“ in Amazon S3 Storage Lens. Ich sehe eine Diskrepanz bei diesen Metriken.

Kurzbeschreibung

Wenn Sie diese Diskrepanz feststellen, überprüfen Sie die folgenden Bedingungen:

  • Sie haben die Objektversionierung aktiviert.
    **Hinweis:**Die Funktion zur Objektversionierung in Amazon S3 speichert mehrere Versionen eines Objekts in Ihrem Bucket. Standardmäßig ist die Amazon-S3-Objektversionierung für Buckets deaktiviert und Sie müssen diese Funktion explizit aktivieren.
  • Unvollständige mehrteilige Uploads sind vorhanden.
    Hinweis: Unvollständige mehrteilige Uploads sind in der Amazon-S3-Konsole nicht sichtbar, werden aber als Teil des Speichers in den CloudWatch- und Storage-Lens-Metriken berechnet.

Um die Ursache der Berichtsdiskrepanz zu ermitteln, überprüfen Sie, ob Sie die Objektversionierung aktiviert haben. Suchen Sie auch nach mehrteiligen Uploads in Ihrem Bucket. Diese beiden Faktoren können zu einem erhöhten Wert der berechneten Bucket-Größe in CloudWatch und der Gesamtspeicher-Metrik von Amazon S3 Storage Lens führen. Diese Faktoren gelten nicht, wenn Sie die Gesamtgröße des Objekts in der Amazon-S3-Konsole berechnen. Weitere Informationen finden Sie unter Tägliche Amazon-S3-Speichermetriken für Buckets in CloudWatch.

Tipp: Wenn Sie unvollständige mehrteilige Uploads in Amazon S3 haben, sollten Sie erwägen, eine Lebenszyklus-Konfigurationsregel zu erstellen. Diese Lebenszyklus-Konfigurationsregel bereinigt automatisch alle unvollständigen Teile und senkt so die Kosten für die Datenspeicherung. Beachten Sie, dass Lebenszyklusregeln asynchron funktionieren, sodass es zu Verzögerungen bem Vorgang kommen kann. Sobald die Objekte jedoch zum Löschen markiert sind, wird Ihnen der Speicherplatz nicht mehr in Rechnung gestellt (auch wenn das Objekt noch nicht entfernt wurde).

Beachten Sie, dass die Amazon-S3-Überwachungsmetriken einmal täglich aufgezeichnet werden. Daher spiegeln diese Metriken möglicherweise nicht die aktuellsten Informationen wider. CloudWatch überwacht jedoch Ihre AWS-Ressourcen und -Anwendungen in Echtzeit. Außerdem verwenden S3-Konsole und Storage Lens die Base-2-Konvertierung (/1024), um Speichermetriken zu melden, und CloudWatch verwendet standardmäßig die Base-10-Konvertierung (/1000).

Lösung

Tägliche Speichermetriken in CloudWatch

In CloudWatch erfasst die BucketSizeBytes-Metrik alle Amazon-S3- und Amazon-S3-Glacier-Speichertypen, Objektversionen und alle unvollständigen mehrteiligen Uploads. Dieser Wert wird berechnet, indem alle Objektgrößen, Metadaten in Ihrem Bucket (sowohl aktuelle als auch nicht aktuelle Objekte) und alle unvollständigen Upload-Größen für mehrteilige Uploads zusammengefasst werden. Die Metrik BucketSizeBytes berechnet beispielsweise die Datenmenge (in Bytes), die in einem Amazon-S3-Bucket in allen folgenden Objektspeicherklassen gespeichert ist:

  • S3 Standard
  • S3 Intelligentes Tiering
  • S3 Standard-IA
  • S3 One Zone-IA
  • S3 Reduced Redundancy Storage
  • S3 Glacier Deep Archive
  • S3 Glacier Flexible Retrieval
  • S3 Glacier Instant Retrieval

Die NumberOfObjects-Metrik in CloudWatch zählt die folgenden Werte in Ihrem Bucket:

  • Die Gesamtzahl der Objekte in allen Speicherklassen. Bei Buckets mit Versionsverwaltung umfasst dies sowohl aktuelle als auch nicht aktuelle Objektversionen sowie Löschmarkierungen.
  • Die Gesamtzahl der Teile für alle unvollständigen mehrteiligen Uploads

Wenn Sie beispielsweise zwei Versionen desselben Objekts haben, werden die beiden Versionen als zwei separate Objekte gezählt.

Metrik „Gesamtspeicher“ im Dashboard von S3 Storage Lens

Sie können die Metrik Gesamtspeicher im S3-Storage-Lens-Dashboard unter der Registerkarte Bucket sehen. Diese Metrik erfasst den gesamten Speicherplatz, einschließlich unvollständiger mehrteiliger Uploads, Objektmetadaten und Löschmarkierungen. Um die genaue Zusammensetzung des Speicherplatzes zu sehen, der von nicht aktuellen Versionen, unvollständigen mehrteiligen Uploads oder Löschmarkierungen belegt wird, überprüfen Sie diese einzelnen Metriken:

  • Aktuelle Versions-Bytes
  • Nicht aktuelle Versions-Bytes
  • Unvollständige Bytes für mehrteilige Uploads

Diese Metriken sind im kostenlosen AWS-Kontingent verfügbar.

Die Metrik Objektanzahl enthält außerdem Informationen über aktuelle und nicht aktuelle Versionen, Löschmarkierungen und die Anzahl unvollständiger mehrteiliger Upload-Objekte. Detaillierte Informationen finden Sie in Metriken wie den folgenden:

  • Anzahl der Objekte der aktuellen Version
  • Anzahl nicht aktueller Versionsobjekte
  • Anzahl der Löschmarkierungsobjekte
  • Anzahl unvollständiger mehrteiliger Uploads.

Weitere Informationen finden Sie im Glossar zu den Amazon-S3-Storage-Lens-Metriken.

„Gesamtgröße berechnen“ in der Amazon-S3-Konsole

Um die Größe Ihres Buckets von der Amazon-S3-Konsole aus zu berechnen, können Sie die Aktion Gesamtgröße berechnen verwenden. Amazon S3 berechnet dann die Speichergröße Ihres Buckets. Beachten Sie jedoch, dass mehrteilige Uploads und frühere oder nicht aktuelle Versionen nicht in der Gesamtgröße des Buckets berechnet werden. Amazon S3 berechnet nur die Gesamtzahl der Objekte für die aktuelle oder neueste Version jedes Objekts, das im Bucket gespeichert ist. Wenn sich in Ihrem Bucket beispielsweise zwei Versionen eines Objekts befinden, zählt der Speicherrechner von Amazon S3 sie als nur ein Objekt. Daher ist die Zahl, die die Amazon S3-Konsole berechnet, kleiner als die von CloudWatch gemeldete Zahl.

Unvollständige mehrteilige Uploads

Um zu überprüfen, wie viel Speicherplatz unvollständige mehrteilige Uploads belegen, überprüfen Sie die Metrik Unvollständige Bytes für mehrteilige Uploads im S3-Storage-Lens-Dashboard unter der Registerkarte Bucket.

Führen Sie den Befehl list-multipart-uploads aus, um die Liste der unvollständigen mehrteiligen Uploads zu überprüfen:

aws s3api list-multipart-uploads --bucket BUCKET_EXAMPLE

Hinweis: Ersetzen Sie BUCKET_EXAMPLE durch Ihren Bucket-Namen.

Listen Sie dann alle Objekte im mehrteiligen Upload auf, indem Sie den Befehl list-parts und Ihren UploadId-Wert verwenden:

aws s3api list-parts --bucket BUCKET_EXAMPLE --key large_test_file --upload-id EXAMPLE_VALUE

Hinweis: Ersetzen Sie BUCKET_EXAMPLE durch Ihren Bucket-Namen und EXAMPLE_VALUE durch Ihren UploadId-Wert.

Erstellen einer Lebenszyklusregel

Um mehrteilige Uploads automatisch zu löschen, können Sie eine Lebenszyklus-Konfigurationsregel erstellen:

  1. Öffnen Sie die Amazon-S3-Konsole.
  2. Wählen Sie die Registerkarte Verwaltung aus.
  3. Wählen Sie Neue Richtlinie erstellen aus.
  4. Fügen Sie den Namen der Richtlinie hinzu.
  5. Wählen Sie Auswählen – Abgelaufene Löschmarkierungen oder unvollständige mehrteilige Uploads löschen.
  6. (Optional) Wenn Ihr Bucket nicht versioniert ist, wählen Sie Unvollständige mehrteilige Uploads löschen aus.

Objektversionierung

Verwenden Sie die Amazon-S3-Inventarliste, um Ihren Amazon S3-Bucket für verschiedene Versionen von Objekten zu überprüfen und zu prüfen. Eine Amazon-S3-Inventarlistendatei enthält eine Liste der Objekte im Quell-Bucket und Metadaten für jedes Objekt. In der Inventarlistendatei werden Metadateninformationen wie Bucket-Name, Objektgröße, Speicherklasse und Versions-ID erfasst. Um die Größe zu berechnen, die von aktuellen und nicht aktuellen Versionen belegt wird, überprüfen Sie die S3-Storage-Lens-Dashboard-Metrik Aktuelle Versions-Bytes bzw. Nicht aktuelle Versions-Bytes.

Ähnliche Informationen

Beispiel 8: Lebenszykluskonfiguration, um mehrteilige Uploads abzubrechen

Ablaufende Objekte

Tägliche Amazon-S3-Speichermetriken für Buckets in CloudWatch

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 10 Monaten