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.
Tutorial: Verwenden Sie Tags, um festzulegen, welcher Aurora-DB-Cluster stoppt.
Angenommen, Sie erstellen eine Reihe von Aurora-DB-Clustern in einer Entwicklungs- oder Testumgebung. Sie müssen alle diese Cluster mehrere Tage lang beibehalten. Einige der Cluster führen über Nacht Tests durch. Andere Cluster können über Nacht angehalten und am nächsten Tag wieder gestartet werden. Das folgende Beispiel zeigt, wie Sie denjenigen Clustern ein Tag zuweisen, die sich dafür eignen, über Nacht angehalten zu werden. Dann zeigt das Beispiel, wie ein Skript erkennen kann, welche Cluster dieses Tag haben und wie diese Cluster anschließend angehalten werden. In diesem Beispiel spielt der Wertanteil des Schlüssel-Wert-Paares keine Rolle. Das Vorhandensein des stoppable
-Tags bedeutet, dass das Cluster diese benutzerdefinierte Eigenschaft besitzt.
Festlegen, welche Aurora-DB-Cluster angehalten werden sollen
-
Ermitteln Sie den Namen ARN eines Clusters, den Sie als stopable kennzeichnen möchten.
Die Befehle und APIs zum Taggen funktionieren mit. ARNs Auf diese Weise können sie problemlos über AWS Regionen, AWS Konten und verschiedene Ressourcentypen hinweg verwendet werden, die möglicherweise identische Kurznamen haben. In CLI Befehlen, die auf Clustern ausgeführt werden, können Sie ARN statt der Cluster-ID die Cluster-ID angeben. Ersetzen Sie den Namen Ihres eigenen Clusters durch
dev-test-cluster
. Ersetzen Sie in nachfolgenden Befehlen, die ARN ARN Parameter verwenden, durch Ihren eigenen Cluster. ARNDazu gehören Ihre eigene AWS Konto-ID und der Name der AWS Region, in der sich Ihr Cluster befindet.$
aws rds describe-db-clusters --db-cluster-identifierdev-test-cluster
\ --query "*[].{DBClusterArn:DBClusterArn}" --output textarn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster
-
Fügen Sie das Tag
stoppable
zu diesem Cluster hinzu.Der Name für dieses Tag wird von Ihnen ausgewählt. Dieser Ansatz bedeutet, dass Sie vermeiden können, eine Namenskonvention zu entwickeln, die alle relevanten Informationen in Namen codiert. In einer solchen Konvention können Sie Informationen im DB-Instance-Namen oder Namen anderer Ressourcen codieren. Da das Tag in diesem Beispiel als Attribut behandelt wird, das entweder vorhanden ist oder nicht, wird der
Value=
-Teil des--tags
-Parameters weggelassen.$
aws rds add-tags-to-resource \ --resource-namearn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster
\ --tags Key=stoppable -
Bestätigen Sie, dass das Tag im Cluster vorhanden ist.
Mit diesen Befehlen werden die Tag-Informationen für den Cluster im JSON Format und in einfachem, tabulatorgetrenntem Text abgerufen.
$
aws rds list-tags-for-resource \ --resource-namearn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster
{ "TagList": [ { "Key": "stoppable", "Value": "" } ] }
$
aws rds list-tags-for-resource \ --resource-namearn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster
--output textTAGLIST stoppable
-
Um alle Cluster anzuhalten, die als
stoppable
bezeichnet werden, bereiten Sie eine Liste aller Ihrer Cluster vor. Gehen Sie die Liste durch und prüfen Sie, ob jedes Cluster mit dem entsprechenden Attribut gekennzeichnet ist.In diesem Linux-Beispiel wird Shell-Scripting verwendet, um die Clusterliste in einer temporären Datei ARNs zu speichern und dann CLI Befehle für jeden Cluster auszuführen.
$
aws rds describe-db-clusters --query "*[].[DBClusterArn]" --output text >/tmp/cluster_arns.lst$
for arn in $(cat /tmp/cluster_arns.lst) do match="$(aws rds list-tags-for-resource --resource-name $arn --output text | grep 'TAGLIST\tstoppable')" if [[ ! -z "$match" ]] then echo "Cluster $arn is tagged as stoppable. Stopping it now." # Note that you can specify the full ARN value as the parameter instead of the short ID 'dev-test-cluster'. aws rds stop-db-cluster --db-cluster-identifier $arn fi doneCluster arn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster is tagged as stoppable. Stopping it now. { "DBCluster": { "AllocatedStorage": 1, "AvailabilityZones": [ "us-east-1e", "us-east-1c", "us-east-1d" ], "BackupRetentionPeriod": 1, "DBClusterIdentifier": "dev-test-cluster", ...
Sie können ein solches Skript am Ende eines jeden Tages ausführen, um sicherzustellen, dass nicht benötigte Cluster angehalten werden. Sie können einen Job auch mit einem Dienstprogramm wie cron
planen, um jede Nacht eine solche Überprüfung durchzuführen. Sie könnten so beispielsweise vorgehen, wenn einige Cluster versehentlich weiter ausgeführt wurden. Hier könnten Sie eine Feinabstimmung des Befehls vornehmen, mit dem die Liste der zu prüfenden Cluster vorbereitet wird.
Der folgende Befehl erzeugt eine Liste Ihrer Cluster mit dem Status available
. Das Skript kann Cluster ignorieren, die bereits angehalten wurden, da sie unterschiedliche Statuswerte wie stopped
oder stopping
haben.
$
aws rds describe-db-clusters \ --query '*[].{DBClusterArn:DBClusterArn,Status:Status}|[?Status == `available`]|[].{DBClusterArn:DBClusterArn}' \ --output textarn:aws:rds:us-east-1:123456789:cluster:cluster-2447 arn:aws:rds:us-east-1:123456789:cluster:cluster-3395 arn:aws:rds:us-east-1:123456789:cluster:dev-test-cluster arn:aws:rds:us-east-1:123456789:cluster:pg2-cluster
Tipp
Sie können die Tags zuweisen und Cluster mit Hilfe dieser Tags finden, um die Kosten auf andere Weise zu senken. Nehmen wir zum Beispiel das Szenario mit Aurora-DB-Clustern, die für Entwicklungs- und Testzwecke verwendet werden. Hier können Sie festlegen, dass einige Cluster am Ende eines jeden Tages gelöscht werden oder dass nur ihre Reader-DB-Instances gelöscht werden. Oder Sie können einige so festlegen, dass ihre DB-Instances in Zeiten erwarteter geringer Auslastung in kleine DB-Instance-Klassen geändert werden.