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.
Identifizieren Sie Ihre ungenutzten Ressourcen in DynamoDB
Dieser Abschnitt gibt einen Überblick darüber, wie Sie Ihre nicht verwendeten Ressourcen regelmäßig bewerten können. Wenn sich Ihre Anwendungsanforderungen weiterentwickeln, sollten Sie sicherstellen, dass keine Ressourcen ungenutzt bleiben und unnötige Kosten für Amazon DynamoDB verursachen. Die unten beschriebenen Verfahren verwenden CloudWatch Amazon-Metriken, um ungenutzte Ressourcen zu identifizieren und Ihnen zu helfen, diese Ressourcen zu identifizieren und Maßnahmen zur Kostensenkung zu ergreifen.
Sie können DynamoDB mithilfe von DynamoDB überwachen CloudWatch, das Rohdaten aus DynamoDB sammelt und in lesbare Metriken nahezu in Echtzeit verarbeitet. Diese Statistiken werden eine gewisse Zeit aufbewahrt, damit Sie zum besseren Verständnis Ihrer Nutzung Verlaufsdaten zur Verfügung haben. Standardmäßig werden DynamoDB-Metrikdaten automatisch an CloudWatch gesendet. Weitere Informationen finden Sie unter Was ist Amazon CloudWatch? und Aufbewahrung von Kennzahlen im CloudWatch Amazon-Benutzerhandbuch.
So ermitteln Sie nicht verwendete Ressourcen
Um ungenutzte Tabellen oder Indizes zu identifizieren, schauen wir uns die folgenden CloudWatch Kennzahlen über einen Zeitraum von 30 Tagen an, um zu ermitteln, ob es aktive Lese- oder Schreibvorgänge in der Tabelle oder Lesevorgänge in den globalen Sekundärindizes gibt ()GSIs:
ConsumedReadCapacityUnits
Die Anzahl der in einem bestimmten Zeitraum verbrauchten Lesekapazitätseinheiten, um nachverfolgen zu können, wie viel Kapazität Sie genutzt haben. Sie können die gesamte verbrauchte Lesekapazität für eine Tabelle und alle ihre globalen sekundären Indizes oder für einen bestimmten globalen sekundären Index abrufen.
ConsumedWriteCapacityUnits
Die Anzahl der in einem bestimmten Zeitraum verbrauchten Schreibkapazitätseinheiten, um nachverfolgen zu können, wie viel Kapazität Sie genutzt haben. Sie können die gesamte verbrauchte Schreibkapazität für eine Tabelle und alle ihre globalen sekundären Indizes oder für einen bestimmten globalen sekundären Index abrufen.
Ermitteln von nicht verwendeten Tabellenressourcen
Amazon CloudWatch ist ein Überwachungs- und Beobachtbarkeitsservice, der die DynamoDB-Tabellenmetriken bereitstellt, anhand derer Sie ungenutzte Ressourcen identifizieren können. CloudWatch Metriken können sowohl über AWS Management Console als auch über die eingesehen werden. AWS Command Line Interface
Bereinigen von nicht verwendeten Tabellenressourcen
Wenn Sie nicht verwendete Tabellenressourcen ermittelt haben, können Sie die laufenden Kosten für diese Ressourcen auf folgende Weise reduzieren.
Anmerkung
Wenn Sie eine nicht verwendete Tabelle ermittelt haben, die jedoch verfügbar bleiben soll, falls in Zukunft darauf zugegriffen werden muss, sollten Sie eine Umstellung auf den On-Demand-Modus in Betracht ziehen. Andernfalls können Sie sich überlegen, die Tabelle vollständig zu sichern und zu löschen.
Kapazitätsmodi
DynamoDB berechnet Gebühren für das Lesen, Schreiben und Speichern von Daten in Ihren DynamoDB-Tabellen.
DynamoDB bietet zwei Kapazitätsmodi mit spezifischen Abrechnungsoptionen für die Verarbeitung von Lese- und Schreibvorgängen für Ihre Tabellen: On-Demand und Bereitgestellt. Der read/write Kapazitätsmodus steuert, wie Ihnen der Lese- und Schreibdurchsatz in Rechnung gestellt wird und wie Sie die Kapazität verwalten.
Für On-Demand-Modustabellen müssen Sie nicht angeben, wie viel Lese- und Schreibdurchsatz Sie von Ihrer Anwendung erwarten. DynamoDB berechnet Ihnen die Lese- und Schreibvorgänge, die Ihre Anwendung bei Ihren Tabellen durchführt, als Leseanforderungseinheiten und als Schreibanforderungseinheiten. Wenn auf Ihrem Computer keine Aktivität stattfindet, zahlen table/index Sie nicht für den Durchsatz, aber es fallen trotzdem Speichergebühren an.
Tabellenklasse
DynamoDB bietet zwei Tabellenklassen, mit deren Hilfe Sie Ihre Kosten optimieren können. Die DynamoDB-Standard-Tabellenklasse ist die Standardeinstellung und wird für die meisten Workloads empfohlen. Die Tabellenklasse DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) ist für Tabellen optimiert, in denen Speicher die dominierenden Kosten darstellt.
Wenn in Ihrer Tabelle oder Ihrem Index keine Aktivität stattfindet, stellt Speicher wahrscheinlich die dominierenden Kosten dar und eine Änderung der Tabellenklasse führt zu erheblichen Einsparungen.
Löschen von Tabellen
Wenn Sie eine nicht verwendete Tabelle entdeckt haben und diese löschen möchten, sollten Sie zuerst eine Sicherungskopie erstellen oder die Daten exportieren.
Mit AWS Backup erstellte Backups können Cold Storage Tiering nutzen und so die Kosten weiter senken. Informationen zur Aktivierung von Backups über AWS Backup finden Sie in der Verwendung AWS Backup mit DynamoDB Dokumentation sowie in der Dokumentation Backup-Pläne verwalten, wie Sie den Lebenszyklus verwenden können, um Ihr Backup in einen Cold Storage zu verschieben.
Alternativ können Sie die Daten Ihrer Tabelle zu S3 exportieren. Weitere Informationen finden Sie in der Dokumentation Export zu Amazon S3. Wenn Sie nach dem Export Ihrer Daten S3 Glacier Instant Retrieval, S3 Glacier Flexible Retrieval oder S3 Glacier Deep Archive nutzen möchten, um die Kosten weiter zu senken, beachten Sie die Informationen unter Verwalten Ihres Speicher-Lebenszyklus.
Nachdem Ihre Tabelle gesichert wurde, können Sie sie entweder über die AWS Management Console oder über die AWS Command Line Interface löschen.
Ermitteln von nicht verwendeten GSI-Ressourcen
Die Schritte zum Ermitteln eines nicht verwendeten globalen sekundären Indizes sind ähnlich wie bei der Ermittlung einer nicht verwendeten Tabelle. Da DynamoDB in Ihre Basistabelle geschriebene Elemente in Ihre GSI repliziert, wenn sie das Attribut enthalten, das als Partitionsschlüssel der GSI verwendet wird, hat ein nicht verwendeter GSI wahrscheinlich immer noch einen ConsumedWriteCapacityUnits
-Wert über 0, wenn seine Basistabelle verwendet wird. Daher werten Sie nur die ConsumedReadCapacityUnits
-Metrik aus, um festzustellen, ob Ihr GSI nicht verwendet wird.
Um Ihre GSI-Metriken über anzuzeigen AWS AWS CLI, können Sie die folgenden Befehle verwenden, um die Lesevorgänge Ihrer Tabelle auszuwerten:
aws cloudwatch get-metric-statistics --metric-name ConsumedReadCapacityUnits --start-time <start-time> --end-time <end- time> --period <period> --namespace AWS/DynamoDB --statistics Sum -- dimensions Name=TableName,Value=<table-name> Name=GlobalSecondaryIndexName,Value=<index-name>
Damit Tabellen nicht fälschlicherweise als nicht verwendet ermittelt werden, sollten Sie die Metriken über einen längeren Zeitraum auswerten. Wählen Sie einen geeigneten Startzeit- und Endzeitbereich, beispielsweise 30 Tage, und einen geeigneten Zeitraum, wie z. B. 86400.
In den zurückgegebenen Daten zeigt eine Summe von mehr als 0 an, dass die auszuwertende Tabelle während dieses Zeitraums Lesedatenverkehr empfangen hat.
Das folgende Ergebnis zeigt einen GSI, der im ausgewerteten Zeitraum Lesedatenverkehr empfangen hat:
{ "Timestamp": "2022-08-17T21:20:00Z", "Sum": 36319167.0, "Unit": "Count" }, { "Timestamp": "2022-08-11T21:20:00Z", "Sum": 1869136.0, "Unit": "Count" },
Das folgende Ergebnis zeigt einen GSI, der im ausgewerteten Zeitraum minimalen Lesedatenverkehr empfangen hat:
{ "Timestamp": "2022-08-28T21:20:00Z", "Sum": 0.0, "Unit": "Count" }, { "Timestamp": "2022-08-15T21:20:00Z", "Sum": 2.0, "Unit": "Count" },
Das folgende Ergebnis zeigt einen GSI, der im ausgewerteten Zeitraum keinen Lesedatenverkehr empfangen hat:
{ "Timestamp": "2022-08-17T21:20:00Z", "Sum": 0.0, "Unit": "Count" }, { "Timestamp": "2022-08-11T21:20:00Z", "Sum": 0.0, "Unit": "Count" },
Bereinigen von nicht verwendeten GSI-Ressourcen
Wenn Sie einen nicht verwendeten GSI ermittelt haben, können Sie diesen löschen. Da alle in einem GSI vorhandenen Daten auch in der Basistabelle vorhanden sind, ist vor dem Löschen eines GSI keine zusätzliche Sicherung erforderlich. Wenn der GSI in Zukunft erneut benötigt wird, kann er wieder in die Tabelle aufgenommen werden.
Wenn Sie einen selten verwendeten GSI ermittelt haben, sollten Sie Designänderungen in Ihrer Anwendung in Betracht ziehen, damit Sie diesen löschen oder seine Kosten senken können. Während DynamoDB-Scans beispielsweise sparsam eingesetzt werden sollten, da sie große Mengen an Systemressourcen verbrauchen können, sind sie möglicherweise kostengünstiger als ein GSI, wenn das von diesem unterstützte Zugriffsmuster nur sehr selten verwendet wird.
Wenn ein GSI erforderlich ist, um ein seltenes Zugriffsmuster zu unterstützen, sollten Sie außerdem erwägen, einen begrenzteren Satz von Attributen zu projizieren. Dies kann zwar nachfolgende Abfragen der Basistabelle erfordern, um Ihre seltenen Zugriffsmuster zu unterstützen, kann jedoch möglicherweise zu einer erheblichen Reduzierung der Speicher- und Schreibkosten führen.
Bereinigen von nicht verwendeten globalen Tabellen
Globale Amazon-DynamoDB-Tabellen bieten eine vollständig verwaltete Lösung für die Bereitstellung einer multiregionalen, multiaktiven Datenbank, ohne dass eine eigene Replikationslösung erstellt und gepflegt werden muss.
Globale Tabellen eignen sich ideal für den Zugriff mit geringer Latenz auf Daten in der Nähe von Benutzern und als sekundäre Region für die Notfallwiederherstellung.
Wenn die Option für globale Tabellen für eine Ressource aktiviert ist, um den Zugriff auf Daten mit geringer Latenz zu ermöglichen, aber nicht Teil Ihrer Disaster-Recovery-Strategie ist, überprüfen Sie, ob beide Replikate aktiv Lesetraffic verarbeiten, indem Sie ihre Metriken auswerten. CloudWatch Wenn ein Replikat keinen Lesedatenverkehr bereitstellt, kann es sich um eine nicht verwendete Ressource handeln.
Wenn globale Tabellen Teil Ihrer Disaster-Recovery-Strategie sind, kann davon ausgegangen werden, dass ein Replikat nach einem bestimmten Muster keinen Leseverkehr empfängt. active/standby
Säuberung ungenutzter Backups oder point-in-time Recovery (PITR)
DynamoDB bietet zwei Arten von Backups. Point-in-timeRecovery bietet kontinuierliche Backups für bis zu 35 Tage, um Sie vor versehentlichen Schreib- oder Löschvorgängen zu schützen. Ein On-Demand-Backup ermöglicht die Erstellung von Snapshots, die langfristig gespeichert werden können. Sie können den Wiederherstellungszeitraum auf einen beliebigen Wert zwischen 1 und 35 Tagen festlegen. Beide Arten von Sicherungen sind mit Kosten verbunden.
Stellen Sie mithilfe der Dokumentation zu Backup und Wiederherstellung für DynamoDB und Point-in-time Backups für DynamoDB fest, ob für Ihre Tabellen Sicherungen aktiviert sind, die möglicherweise nicht mehr benötigt werden.