Arbeiten mit Parameterhierarchien in Parameter Store - 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.

Arbeiten mit Parameterhierarchien in Parameter Store

Das Verwalten Dutzender oder Hunderter Parameter als unsortierte Liste ist zeitaufwendig und fehleranfällig. Außerdem kann es sich als schwierig erweisen, für eine bestimmte Aufgabe den korrekten Parameter zu bestimmen. Sie könnten versehentlich den falschen Parameter verwenden, oder Sie erstellen möglicherweise mehrere Parameter, die dieselben Konfigurationsdaten verwenden.

Mit Parameterhierarchien können Sie -Parameter leichter organisieren und verwalten. Bei einer Hierarchie handelt es sich um einen Parameternamen mit einem Pfad, den Sie mit Schrägstrichen (/) definieren.

Beispiele für Parameterhierarchien

Im folgendne Beispiel werden drei Hierarchieebenen im Namen verwendet. Damit wird Folgendes identifiziert:

/Environment/Type of computer/Application/Data

/Dev/DBServer/MySQL/db-string13

Sie können eine Hierarchie mit maximal 15 Ebenen erstellen. Wir empfehlen, dass Sie Hierarchien erstellen, die eine vorhandene hierarchische Struktur in Ihrer Umgebung abbilden, wie in den folgenden Beispielen gezeigt:

  • Ihre Umgebung für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD-Workflows)

    /Dev/DBServer/MySQL/db-string

    /Staging/DBServer/MySQL/db-string

    /Prod/DBServer/MySQL/db-string

  • Die Anwendungen, die Container verwenden

    /MyApp/.NET/Libraries/my-password
  • Die Unternehmensstruktur

    /Finance/Accountants/UserList

    /Finance/Analysts/UserList

    /HR/Employees/EU/UserList

Parameterhierarchien standardisieren die Möglichkeiten für die Erstellung von Parameter und vereinfachen mit der Zeit die Verwaltung von Parametern. Eine Parameterhierarchie kann außerdem dazu beitragen, den richtigen Parameter für eine Konfigurationsaufgabe zu bestimmen. Auf diese Weise können Sie vermeiden, dass mehrere Parameter mit denselben Konfigurationsdaten erstellt werden.

Sie können eine Hierarchie erstellen, mit der Sie wie in den folgenden Beispielen gezeigt Parameter über verschiedene Umgebungen hinweg freigeben können; hier werden Passwörter in Entwicklungs- und Staging-Umgebungen verwendet.

/DevTest/MyApp/database/my-password

Sie könnten anschließend ein eindeutiges Passwort für Ihre produktive Umgebung erstellen, wie im folgenden Beispiel gezeigt:

/prod/MyApp/database/my-password

Sie müssen dabei nicht unbedingt eine Parameterhierarchie angeben. Sie können Parameter auf Ebene 1 erstellen. Diese werden als Root-Parameter bezeichnet. Aus Gründen der Abwärtskompatibilität wurden alle Parameter in erstellt Parameter Store Bevor Hierarchien veröffentlicht wurden, handelt es sich um Stammparameter. Die Systeme behandelt die folgenden beiden Parameter als Root-Parameter.

/parameter-name

parameter-name

Abfragen von Parametern in einer Hierarchie

Ein weiterer Vorteil der Verwendung von Hierarchien ist die Möglichkeit, mithilfe der Operation alle Parameter innerhalb einer Hierarchie abzufragen. GetParametersByPathAPI Wenn Sie beispielsweise den folgenden Befehl von AWS Command Line Interface (AWS CLI) aus ausführen, gibt das System alle Parameter in der IIS Ebene zurück.

aws ssm get-parameters-by-path --path /Dev/Web/IIS

Sie können den entschlüsselten SecureString-Parameter in einer Hierarchie anzeigen, indem Sie den Pfad und den --with-decryption-Parameter angeben, wie im folgenden Beispiel gezeigt.

aws ssm get-parameters-by-path --path /Prod/ERP/SAP --with-decryption

Verwalten Sie Parameter mithilfe von Hierarchien mit dem AWS CLI

In dieser Anleitung wird beschrieben, wie Sie mit Parametern und Parameterhierarchien arbeiten können, indem Sie die AWS CLI verwenden.

So verwalten Sie Parameter mithilfe von Hierarchien
  1. Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies noch nicht getan haben.

    Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.

  2. Führen Sie den folgenden Befehl aus, um einen Parameter zu erstellen, der den allowedPattern-Parameter und den Parametertyp String verwendet. Das zulässige Muster in diesem Beispiel bedeutet, dass der Wert für den Parameter zwischen 1 und 4 Zeichen lang sein muss.

    Linux & macOS
    aws ssm put-parameter \ --name "/MyService/Test/MaxConnections" \ --value 100 --allowed-pattern "\d{1,4}" \ --type String
    Windows
    aws ssm put-parameter ^ --name "/MyService/Test/MaxConnections" ^ --value 100 --allowed-pattern "\d{1,4}" ^ --type String

    Der Befehl gibt die Versionsnummer des Parameters zurück.

  3. Führen Sie den folgenden Befehl aus und versuchen Sie, den gerade erstellten Parameter mit einem neuen Wert zu überschreiben.

    Linux & macOS
    aws ssm put-parameter \ --name "/MyService/Test/MaxConnections" \ --value 10,000 \ --type String \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "/MyService/Test/MaxConnections" ^ --value 10,000 ^ --type String ^ --overwrite

    Das System gibt den folgenden Fehler zurück, da der neue Wert die Anforderungen des zulässigen Musters nicht erfüllt, das Sie im letzten Schritt angegeben haben.

    An error occurred (ParameterPatternMismatchException) when calling the PutParameter operation: Parameter value, cannot be validated against allowedPattern: \d{1,4}
  4. Führen Sie den folgenden Befehl aus, um einen SecureString-Parameter zu erstellen, der den Datentyp Von AWS verwalteter Schlüssel verwendet. Das zulässige Muster in diesem Beispiel bedeutet, dass der Benutzer beliebige Zeichen eingeben kann, und der Wert zwischen 8 und 20 Zeichen lang sein muss.

    Linux & macOS
    aws ssm put-parameter \ --name "/MyService/Test/my-password" \ --value "p#sW*rd33" \ --allowed-pattern ".{8,20}" \ --type SecureString
    Windows
    aws ssm put-parameter ^ --name "/MyService/Test/my-password" ^ --value "p#sW*rd33" ^ --allowed-pattern ".{8,20}" ^ --type SecureString
  5. Führen Sie die folgenden Befehle aus, um mehrere Parameter zu erstellen, die die Hierarchiestruktur aus dem letzten Schritt verwenden.

    Linux & macOS
    aws ssm put-parameter \ --name "/MyService/Test/DBname" \ --value "SQLDevDb" \ --type String
    aws ssm put-parameter \ --name "/MyService/Test/user" \ --value "SA" \ --type String
    aws ssm put-parameter \ --name "/MyService/Test/userType" \ --value "SQLuser" \ --type String
    Windows
    aws ssm put-parameter ^ --name "/MyService/Test/DBname" ^ --value "SQLDevDb" ^ --type String
    aws ssm put-parameter ^ --name "/MyService/Test/user" ^ --value "SA" ^ --type String
    aws ssm put-parameter ^ --name "/MyService/Test/userType" ^ --value "SQLuser" ^ --type String
  6. Führen Sie den folgenden Befehl aus, um den Wert zweier Parameter abzurufen.

    Linux & macOS
    aws ssm get-parameters \ --names "/MyService/Test/user" "/MyService/Test/userType"
    Windows
    aws ssm get-parameters ^ --names "/MyService/Test/user" "/MyService/Test/userType"
  7. Führen Sie den folgenden Befehl aus, um alle Parameter auf einer bestimmten Ebene abzufragen.

    Linux & macOS
    aws ssm get-parameters-by-path \ --path "/MyService/Test"
    Windows
    aws ssm get-parameters-by-path ^ --path "/MyService/Test"
  8. Führen Sie den folgenden Befehl aus, um zwei Parameter zu löschen.

    Linux & macOS
    aws ssm delete-parameters \ --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"
    Windows
    aws ssm delete-parameters ^ --names "/IADRegion/Dev/user" "/IADRegion/Dev/userType"