Utilisation des hiérarchies de paramètres dans Parameter Store - AWS Systems Manager

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation des hiérarchies de paramètres dans Parameter Store

La gestion de douzaines ou de centaines de paramètres comme une liste simple est chronophage et propice aux erreurs. Il peut également être difficile d'identifier le bon paramètre pour une tâche. Cela signifie que vous utilisez peut-être par erreur le mauvais paramètre ou que vous créez peut-être plusieurs paramètres qui utilisent les mêmes données de configuration.

Vous pouvez utiliser les hiérarchies des paramètres pour vous aider à organiser et à gérer des paramètres . Une hiérarchie est un nom de paramètre qui comporte un chemin que vous définissez en utilisant des barres obliques (/).

Exemples de hiérarchie de paramètres

L'exemple suivant utilise trois niveaux de hiérarchie dans le nom pour identifier ce qui suit :

/Environment/Type of computer/Application/Data

/Dev/DBServer/MySQL/db-string13

Vous pouvez créer une hiérarchie avec un maximum de 15 niveaux. Nous vous suggérons de créer des hiérarchies qui reflètent une structure hiérarchique existante dans votre environnement, comme indiqué dans les exemples suivants :

  • Votre environnement d'intégration continue et de livraison continue (flux de travail IC/LC)

    /Dev/DBServer/MySQL/db-string

    /Staging/DBServer/MySQL/db-string

    /Prod/DBServer/MySQL/db-string

  • Vos applications qui utilisent des conteneurs

    /MyApp/.NET/Libraries/my-password
  • L'organisation de votre entreprise

    /Finance/Accountants/UserList

    /Finance/Analysts/UserList

    /HR/Employees/EU/UserList

Les hiérarchies des paramètres standardisent la façon dont vous créez les paramètres et facilitent la gestion des paramètres dans le temps. Une hiérarchie de paramètres peut aussi vous aider à identifier le bon paramètre pour une tâche de configuration. Cela vous évite de créer plusieurs paramètres avec les mêmes données de configuration.

Vous pouvez créer une hiérarchie qui vous permet de partager des paramètres entre différents environnements, comme illustré dans les exemples suivants qui utilisent des mots de passe dans l'environnement de développement et de transit.

/DevTest/MyApp/database/my-password

Vous pouvez ensuite créer un mot de passe unique pour votre environnement de production, comme illustré dans l'exemple suivant :

/prod/MyApp/database/my-password

Vous n'avez pas besoin de spécifier une hiérarchie de paramètres. Vous pouvez créer des paramètres au niveau un. Ils sont appelés paramètres racine. Pour des raisons de rétrocompatibilité, tous les paramètres créés dans Parameter Store avant que les hiérarchies ne soient publiées, ce sont des paramètres racines. Le système traite les deux paramètres suivants comme des paramètres racines.

/parameter-name

parameter-name

Interrogation de paramètres dans une hiérarchie

Un autre avantage de l'utilisation des hiérarchies est la possibilité de rechercher tous les paramètres d'une hiérarchie à l'aide de l'GetParametersByPathAPIopération. Par exemple, si vous exécutez la commande suivante à partir du AWS Command Line Interface (AWS CLI), le système renvoie tous les paramètres du IIS niveau.

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

Pour afficher les paramètres SecureString déchiffrés dans une hiérarchie, vous spécifiez le chemin et le paramètre --with-decryption, comme illustré dans l'exemple suivant.

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

Gérez les paramètres à l'aide de hiérarchies à l'aide du AWS CLI

Cette procédure vous montre comment utiliser les paramètres et les hiérarchies de paramètres à l'aide de l' AWS CLI.

Pour gérer les paramètres en utilisant les hiérarchies
  1. Installez et configurez le AWS Command Line Interface (AWS CLI), si ce n'est pas déjà fait.

    Pour de plus amples informations, consultez Installation ou mise à jour de la version la plus récente de l' AWS CLI.

  2. Exécutez la commande suivante pour créer un paramètre utilisant le paramètre allowedPattern et le type de paramètre String. Le modèle autorisé dans cet exemple indique que la valeur du paramètre doit comporter entre 1 et 4 chiffres.

    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

    La commande renvoie le numéro de version du paramètre.

  3. Exécutez la commande suivante pour essayer de remplacer la paramètre que vous venez de créer avec une nouvelle valeur.

    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

    Le système renvoie l'erreur suivante, car la nouvelle valeur ne répond pas aux exigences du modèle autorisé que vous avez spécifié à l'étape précédente.

    An error occurred (ParameterPatternMismatchException) when calling the PutParameter operation: Parameter value, cannot be validated against allowedPattern: \d{1,4}
  4. Exécutez la commande suivante pour créer un paramètre SecureString utilisant une Clé gérée par AWS. Le modèle autorisé dans cet exemple indique que l'utilisateur peut spécifique n'importe quel caractère, et la valeur doit comporter entre 8 et 20 caractères.

    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. Exécutez les commandes suivantes pour créer plus de paramètres qui utilisent la structure de hiérarchie à partir de l'étape précédente.

    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. Exécutez la commande suivante pour obtenir la valeur de deux paramètres.

    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. Exécutez la commande suivante pour interroger tous les paramètres à un seul niveau.

    Linux & macOS
    aws ssm get-parameters-by-path \ --path "/MyService/Test"
    Windows
    aws ssm get-parameters-by-path ^ --path "/MyService/Test"
  8. Exécutez la commande suivante pour supprimer deux paramètres.

    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"