View a markdown version of this page

Verwalten Parameter Store Durchsatz - AWS Systems Manager

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.

Verwalten Parameter Store Durchsatz

Parameter Store Der Durchsatz definiert die Anzahl der API-Transaktionen pro Sekunde (TPS), die Systems Manager verarbeiten kann. Die Durchsatzeinstellung gilt für Parameter Store als Ganzes und nicht als einzelne API. In der Standardeinstellung Parameter Store ist mit einem Standarddurchsatzkontingent konfiguriert, das häufig für Workloads mit geringem bis mittlerem Volumen geeignet ist. Für Workloads mit höherem Volumen können Sie einen höheren Durchsatz aktivieren, wodurch sich die maximale Anzahl unterstützter Transaktionen pro Sekunde für Ihr Konto und Ihre Region erhöht. Sie können bei Bedarf einen höheren Durchsatz aktivieren und deaktivieren.

Durchsatzquoten in Parameter Store

In der folgenden Tabelle sind die Transaktionslimits für verschiedene API-Kategorien mit Standarddurchsatz und höherem Durchsatz aufgeführt. Zu den API-Aktionen gehören AWS Nutzung der Konsole, AWS CLI Befehle und Lesevorgänge der Anwendung. Weitere Informationen zu Kontingenten und Ratenbeschränkungen finden Sie unter AWS Systems Manager Endpunkte und Kontingente.

API-Aktionen Standarddurchsatz Höherer Durchsatz
GetParameter, GetParameters und GetParametersByPath 40 TPS wird für alle drei API-Aktionen zusammen verwendet GetParameter: 10,000 TPS; GetParameters: 1,000 TPS; GetParametersByPath: 100 TPS
DeleteParameter und DeleteParameters 3 TPS 5 TPS
DescribeParameters, GetParameterHistory, LabelParameterVersion, UnlabelParameterVersion, und PutParameter 3 TPS 10 TPS

In diesem Zusammenhang ist eine Transaktion eine API-Aktion für ein Konto in einer einzigen Region. Mit dem folgenden Befehl wird beispielsweise eine einzelne Transaktion erstellt.

aws ssm get-parameter --name "/myapp/prod/log-level"

Die API-Aktionen können auf Anwendungen verteilt werden. Beispielsweise erreicht jedes der folgenden Szenarien die Standarddurchsatzgrenze von 40 TPS:

  • 1 Anwendung ergibt 40 GetParameter Anrufe pro Sekunde.

  • 10 Bewerbungen machen 4 GetParameter Anrufe pro Sekunde.

  • 40 Bewerbungen machen 1 GetParameter Anruf pro Sekunde.

Ein Durchsatzlimit gilt für alle APIs innerhalb einer Kategorie. Beispielsweise erfüllt die folgende Kombination gleichzeitiger Parameteraufrufe für eine Anwendung das Standardlimit von 40 TPS für APIs zum Abrufen von Parametern:

  • GetParameter führt 25 Aufrufe pro Sekunde durch.

  • GetParameters tätigt 10 Anrufe pro Sekunde.

  • GetParameterByPath tätigt 5 Anrufe pro Sekunde.

Das DescribeParameters Anrufe haben ein separates Durchsatzlimit. Eine Anwendung kann die vorhergehenden Aufrufe tätigen und gleichzeitig 3 DescribeParameters Aufrufe pro Sekunde, ohne den Gesamtgrenzwert für den Standarddurchsatz zu überschreiten.

Wenn Ihre Produktionsanforderungen während des Standardbetriebs oder in geplanten Perioden mit hohem Datenverkehr ein Durchsatzlimit überschreiten, verwenden Sie die folgenden Optimierungstechniken.

Optimierung des Durchsatzes in Parameter Store

Wann Parameter Store empfängt mehrere Anfragen nach Parametern in einem kurzen Intervall, das kann Ihre Anwendung erleben Drosselung. Zum Beispiel CloudWatch Es werden Protokolle oder Ihre Anwendungsprotokolle angezeigt ThrottlingException oder RateExceeded Fehler, die vom SDK beim Aufrufen ausgelöst werden GetParameter, GetParameters, oder GetParametersByPath. In anderen Fällen versucht die Anwendungslogik erfolgreich API-Aufrufe erneut, aber die Anwendungslatenz steigt. Das Ergebnis können Anwendungsausfälle, eine suboptimale Benutzererfahrung, fehlgeschlagene Bereitstellungen, komplexe Problemumgehungen und verlorene Entwicklerzeit sein.

Mehrere Faktoren können dazu führen, dass Ihre Anwendung ausfällt Parameter Store Kontingentbeschränkungen, einschließlich der folgenden:

  • Ihre Anwendung skaliert aufgrund eines Anstiegs des Datenverkehrs schnell. Ihre Anwendung läuft beispielsweise normalerweise auf 5 Amazon EC2-Instances. Wenn der Datenverkehr plötzlich zunimmt, startet Amazon EC2 Auto Scaling 50 weitere Instances. Wenn jede Instance beim Start Parameter liest, können die kombinierten Anfragen das Standard-Anforderungslimit überschreiten.

  • Ihr Container-Service startet viele Aufgaben gleichzeitig. Beispielsweise kann ein Amazon ECS-Service während eines Updates viele Ersatzaufgaben starten, und für jede Aufgabe können Einstellungen von gelesen werden Parameter Store wenn es beginnt.

  • Ihre Lambda-Funktionen erhalten viele Anfragen gleichzeitig. Beispielsweise könnte Lambda viele Funktionsumgebungen starten, um den erhöhten Datenverkehr zu bewältigen. Jede Funktionsumgebung liest möglicherweise Parameter, wenn sie gestartet wird.

  • Ihr Build- oder Release-Prozess liest viele Parameter in einem kurzen Zeitintervall. Beispielsweise kann ein Build-Job Einstellungen für mehrere Anwendungen oder Umgebungen lesen.

  • Ihre Anwendung liest viele Parameter anhand des Pfads. Ihre Anwendung liest beispielsweise wiederholt alle Parameter unter /myapp/prod/ anstatt nur die spezifischen Parameter zu lesen, die sie benötigt. Diese wiederholten Anfragen können das Standardanforderungslimit überschreiten.

Sie können adressieren Parameter Store Drosselung auf die folgenden ergänzenden Arten:

  • Reduzierung des Durchsatzes

    Ihre Anwendung ruft möglicherweise mehr Daten ab, als sie benötigt, oder ruft sie auf ineffiziente Weise ab.

  • Ermöglicht einen höheren Durchsatz

    Sie können die Ausfallsicherheit von Anwendungen erhöhen, indem Sie das Durchsatzkontingent für eine bestimmte Region und ein bestimmtes Konto erhöhen. Sie können die Einstellung für einen höheren Durchsatz jederzeit für Zeiten mit hohem Datenverkehr aktivieren und deaktivieren. Bei Produktions-Workloads, bei denen regelmäßig Drosselungsfehler auftreten, sollten Sie erwägen, die Einstellung dauerhaft zu aktivieren.

Reduzierung des Durchsatzes in Parameter Store

Unabhängig davon, ob Sie den Standarddurchsatz oder einen höheren Durchsatz verwenden, überprüfen Sie die Häufigkeit und Art der Anrufe an Parameter Store. In einigen Fällen können Sie die Anzahl der Anfragen reduzieren, ohne Ihre Parameter zu ändern. Da die Kosten auf der Grundlage der Nutzung und nicht anhand eines Abonnement- oder Stufenmodells bestimmt werden, sind das Ergebnis weniger fakturierte API-Interaktionen.

  • Zwischenspeichern Sie Parameterwerte in Ihrer Anwendung, anstatt bei jeder Anfrage dieselben Werte zu lesen.

    Zum Beispiel, wenn Ihre Anwendung liest /myapp/prod/log-level mehrmals pro Minute kann die Anwendung den Wert einmal lesen und ihn für einen kurzen Zeitraum wiederverwenden. Diese Technik reduziert wiederholte Aufrufe auf Parameter Store. Wählen Sie einen kürzeren Wiederverwendungszeitraum für Werte, die sich häufig ändern, und einen längeren Wiederverwendungszeitraum für Werte, die sich selten ändern.

  • Verwenden GetParameters wenn Sie die Namen mehrerer Parameter kennen.

    Zum Beispiel, anstatt separate zu erstellen GetParameter ruft die Parameter auf /myapp/prod/database/host, /myapp/prod/log-level, und /myapp/prod/vendor/merchant-id, Sie können eine Liste dieser Parameter auf einmal abrufen GetParameters Anfrage.

  • Vermeiden Sie es, mehr Parameter zu lesen, als Ihre Anwendung benötigt.

    Wenn Ihre Anwendung nur wenige bekannte Parameter benötigt, verwenden Sie GetParameter oder GetParameters anstatt wiederholt einen ganzen Pfad zu lesen wie /myapp/prod/. Benutzen GetParametersByPath wenn Ihre Anwendung eine Gruppe von Parametern unter einem Pfad benötigt. Wenn Sie einen höheren Durchsatz verwenden, GetParameter Das Kontingent beträgt das 100-fache des Kontingents für GetParametersByPath.

  • Spread-Out-Parameterwerte, wenn viele Ressourcen gleichzeitig gestartet werden.

    Wenn beispielsweise viele Amazon EC2-Instances oder Amazon ECS-Aufgaben während eines Updates gestartet werden, sollten Sie vermeiden, dass alle Ressourcen die Parameter exakt zur gleichen Zeit lesen. Die Kontingente gelten pro Sekunde. Wenn möglich, lesen Sie die Parameter einmal und speichern Sie ihre Werte in der Anwendung im Cache, oder fügen Sie eine kleine Verzögerung hinzu, damit nicht alle Anfragen in derselben Sekunde erfolgen.

  • Erwägen Sie für Lambda-Funktionen die Verwendung von AWS Parameter und Geheimnisse (Lambda-Erweiterung).

    Die Erweiterung kann Parameterwerte lokal zur Wiederverwendung durch die Funktion speichern. Diese Technik kann die Anzahl der Aufrufe von reduzieren Parameter Store und kann auch die Zeit reduzieren, die zum Abrufen von Parameterwerten benötigt wird. Ein Beispiel für diese Technik finden Sie unter Verwenden des AWS Parameter and Secrets Lambda-Erweiterung zum Zwischenspeichern von Parametern und Geheimnissen.

Erhöhen des -Durchsatzes

Für Workloads mit höherem Volumen können Sie einen höheren Durchsatz aktivieren. Diese Einstellung erhöht die maximale Anzahl unterstützter Transaktionen pro Sekunde für Ihr Konto und Ihre Region gegen eine Gebühr. Ziehen Sie in den folgenden Szenarien einen höheren Durchsatz in Betracht:

  • Ihre Anwendung benötigt vorübergehend einen höheren Durchsatz.

    Beispielsweise könnte ein Webstore während eines Wochenendverkaufs häufiger Parameter lesen. Sie können vor Verkaufsbeginn einen höheren Durchsatz aktivieren und nach Angebotsende zum Standarddurchsatz zurückkehren. Sie können einen höheren Durchsatz jederzeit über die Parameter Store Einstellungen Seite oder mit der AWS CLI.

  • Ihre Produktionsanwendung ruft regelmäßig Parameter gleichzeitig ab und es treten Drosselungsprobleme auf.

    Gleichzeitiges Abrufen kann auftreten, wenn mehrere Instanzen, Container, Funktionen oder Build-Jobs Parameter aus lesen Parameter Store zur gleichen Zeit. Beispiele sind unter anderem:

    • Ihre Anwendung skaliert schnell. Ihre Anwendung wird beispielsweise normalerweise auf 5 Amazon EC2-Instances ausgeführt. Wenn der Datenverkehr plötzlich zunimmt, startet Amazon EC2 Auto Scaling 50 weitere Instances. Wenn jede Instance beim Start Parameter liest, können die kombinierten Anfragen das Standard-Anforderungslimit überschreiten.

    • Ihr Container-Service startet viele Aufgaben gleichzeitig. Beispielsweise kann ein Amazon ECS-Service während eines Updates viele Ersatzaufgaben starten, und für jede Aufgabe können Einstellungen von gelesen werden Parameter Store wenn es beginnt.

    • Ihre Lambda-Funktionen erhalten viele Anfragen gleichzeitig. Beispielsweise könnte Lambda viele Funktionsumgebungen starten, um den erhöhten Datenverkehr zu bewältigen. Jede Funktionsumgebung liest möglicherweise Parameter, wenn sie gestartet wird.

    • Ihr Build- oder Release-Prozess liest viele Parameter in einem kurzen Zeitintervall. Beispielsweise kann ein Build-Job Einstellungen für mehrere Anwendungen oder Umgebungen lesen.

Überlegungen zu den Kosten für einen höheren Durchsatz

Für die Option mit höherem Durchsatz fallen zusätzliche Gebühren an. Für aktuelle Parameter Store API-Preise und Beispiele finden Sie unter AWS Preise für Systems Manager.

Die Gebühren basieren auf Parameter Store API-Interaktionen. Eine API-Interaktion ist als eine Interaktion zwischen einer API-Anfrage und einem einzelnen Parameter definiert. Zum Beispiel, wenn ein GetParameter Anfrage gibt 10 Parameter zurück, diese Anfrage zählt als 10 Parameter Store API-Interaktionen für Abrechnungszwecke.

Stellen Sie sich ein Szenario vor, in dem Sie für einen kurzen Zeitraum mit erhöhtem Traffic zu einem höheren Durchsatz wechseln möchten. Ihr Webstore veranstaltet einen Wochenendverkauf und macht 1,000,000 Parameter Store API-Interaktionen während des Verkaufs. Wenn die Kosten für einen höheren Durchsatz in diesem Beispiel $0.05 durch 10,000 API-Interaktionen, die gesamten zusätzlichen Kosten betragen ungefähr $5. Sie können am Ende des Verkaufs wieder auf den Standarddurchsatz umstellen und keine Kosten mehr anfallen.

Kombination von Durchsatz- und Parameterstufen

Der Durchsatz funktioniert unabhängig von den Parameterebenen. Während Parameterebenen die Speichergrenzen und die Verfügbarkeit von Funktionen steuern, steuern die Durchsatzeinstellungen das Anforderungsvolumen. Um die Leistungs- und Skalierungsanforderungen zu erfüllen, können Sie Stufen und Durchsatz zusammen verwenden.

Um beispielsweise einfache Anwendungen und Anwendungen mit geringer Auslastung zu unterstützen, können Sie Standardparameter mit Standarddurchsatz verwenden. Zur Unterstützung umfangreicher, hochfrequenter Zugriffsmuster können Sie erweiterte Parameter mit höherem Durchsatz kombinieren. Im Allgemeinen ist eine Erhöhung des Durchsatzes erforderlich, wenn Ihre Anwendung die TPS-Standardgrenzwerte überschreitet (z. B. bei mehreren gleichzeitigen Lese- oder Schreibvorgängen), unabhängig davon, welche Parameterebene Sie verwenden.

Weitere Informationen zum maximalen Durchsatz und zu anderen Parameter Store Kontingente finden Sie unter AWS Systems Manager Endpunkte und Kontingente.

Änderung der Durchsatzeinstellung in Parameter Store

Die folgenden Verfahren beschreiben, wie Sie mit Systems Manager die Anzahl der Transaktionen pro Sekunde ändern Parameter Store kann den aktuellen verarbeiten AWS-Konto und AWS-Region. Sie können die Einstellung jederzeit ändern.

Console
Um sie zu ändern Parameter Store Durchsatz mithilfe der Konsole
Tipp

Wenn Sie noch keinen Parameter erstellt haben, können Sie den AWS Command Line Interface (AWS CLI) oder AWS Tools for Windows PowerShell um den Durchsatz zu ändern. Weitere Informationen finden Sie unter Änderung der Durchsatzeinstellung in Parameter Store.

  1. Öffnen Sie das AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/.

  2. Wählen Sie im Navigationsbereich Parameter Store aus.

  3. Wählen Sie die Registerkarte Einstellungen.

  4. Wählen Sie die Einstellungen verwalten.

  5. In der Parameter-Durchsatz Abschnitt, wählen Sie eine Option.

  6. Wenn Sie dazu aufgefordert werden, wählen Sie die Option, um die Änderungen zu genehmigen und Gebühren zu autorisieren. Wählen Sie Save settings (Einstellungen speichern).

CLI
Um zu ändern Parameter Store Durchsatz mit dem AWS CLI
  1. Öffnen Sie das AWS CLI und starte den aws ssm update-service-setting Befehl zum Erhöhen oder Verringern der Transaktionen pro Sekunde Parameter Store kann im aktuellen Zustand verarbeiten AWS-Konto und AWS-Region. Das folgende Beispiel erhöht den Durchsatz auf ein hohes Niveau.

    aws ssm update-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled \ --setting-value true

    Wenn der Befehl erfolgreich ausgeführt wurde, gibt es keine Ausgabe. Um den hohen Durchsatz auszuschalten, setzen Sie --setting-value zu false.

  2. Führen Sie den folgenden Befehl aus, um die aktuellen Durchsatzdiensteinstellungen für anzuzeigen Parameter Store in der aktuellen AWS-Konto und AWS-Region.

    aws ssm get-service-setting \ --setting-id arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled

    Die vom System zurückgegebenen Informationen ähneln den Folgenden:

    {
        "ServiceSetting": {
            "SettingId": "/ssm/parameter-store/high-throughput-enabled",
            "SettingValue": "true",
            "LastModifiedDate": 1556551683.923,
            "LastModifiedUser": "arn:aws:sts::123456789012:assumed-role/Administrator/Jasper",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled",
            "Status": "Customized"
        }
    }
PowerShell
Um sich zu ändern Parameter Store Durchsatz mit PowerShell
  1. Erhöhen oder verringern Parameter Store Durchsatz im Strom AWS-Konto und AWS-Region mit dem AWS -Tools für PowerShell (Tools für PowerShell). Im folgenden Beispiel wurde der Durchsatz auf das hohe Niveau gesetzt.

    Update-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled" -SettingValue "true" -Region region

    Wenn der Befehl erfolgreich ausgeführt wurde, gibt es keine Ausgabe.

  2. Führen Sie den folgenden Befehl aus, um die aktuellen Durchsatzdiensteinstellungen für anzuzeigen Parameter Store in der aktuellen AWS-Konto und AWS-Region.

    Get-SSMServiceSetting -SettingId "arn:aws:ssm:region:account-id:servicesetting/ssm/parameter-store/high-throughput-enabled" -Region region

    Die vom System zurückgegebenen Informationen ähneln den Folgenden:

    ARN              : arn:aws:ssm:us-east-2:123456789012:servicesetting/ssm/parameter-store/high-throughput-enabled
    LastModifiedDate : 4/29/2019 3:35:44 PM
    LastModifiedUser : arn:aws:sts::123456789012:assumed-role/Administrator/Jasper
    SettingId        : /ssm/parameter-store/high-throughput-enabled
    SettingValue     : true
    Status           : Customized