Utilizzo delle gerarchie di parametri in Parameter Store - AWS Systems Manager

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo delle gerarchie di parametri in Parameter Store

La gestione di un numero elevatissimo di parametri come un elenco semplice è un'attività dispendiosa in termini di tempo ed è soggetta a errori. Può anche risultare difficile identificare il parametro corretto per un'attività specifica. Ciò significa che è possibile usare inavvertitamente il parametro errato oppure creare più parametri che utilizzano gli stessi dati di configurazione.

È possibile pertanto utilizzare le gerarchie di parametri per semplificare l'organizzazione e la gestione dei parametri di . Una gerarchia è un nome di parametro che include un percorso definito mediante l'utilizzo di barre (/).

Comprensione della gerarchia dei parametri tramite esempi

L'esempio seguente utilizza tre livelli di gerarchia nel nome per identificare gli elementi seguenti:

/Environment/Type of computer/Application/Data

/Dev/DBServer/MySQL/db-string13

È possibile creare una gerarchia con un massimo di 15 livelli. Ti consigliamo di creare gerarchie in base a una struttura gerarchica esistente nell'ambiente in uso, come illustrato negli esempi seguenti:

Le gerarchie di parametri standardizzano la modalità di creazione dei parametri e semplificano la gestione dei parametri nel corso del tempo. Una gerarchia di parametri può anche semplificare l'identificazione del parametro più idoneo per un'attività di configurazione. Ciò ti consente di evitare la creazione di più parametri con gli stessi dati di configurazione.

È possibile creare una gerarchia che consenta la condivisione dei parametri tra ambienti diversi, come illustrato negli esempi seguenti che utilizzano le password negli ambienti di sviluppo e di gestione temporanea.

/DevTest/MyApp/database/my-password

Potrai quindi creare una password unica per l'ambiente di produzione, come illustrato nell'esempio seguente:

/prod/MyApp/database/my-password

Non è necessario specificare una gerarchia di parametri. È possibile creare i parametri al primo livello. Questo tipo di parametri è definito parametri root. Per motivi di compatibilità con le versioni precedenti, tutti i parametri sono stati creati in Parameter Store prima del rilascio delle gerarchie erano parametri root. I sistemi gestiscono entrambi i seguenti parametri come parametri root.

/parameter-name

parameter-name

Esecuzioni di query sui parametri in una gerarchia

Un altro vantaggio dell'utilizzo delle gerarchie è la possibilità di eseguire query per tutti i parametri di un determinato livello di una gerarchia utilizzando l'operazione API. GetParametersByPath Ad esempio, se si esegue il comando seguente da AWS Command Line Interface (AWS CLI), il sistema restituisce tutti i parametri al di sotto del livello: Oncall

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

Output di esempio:

{
    "Parameters": [
        {
            "Name": "/Dev/Web/Oncall/Week1",
            "Type": "String",
            "Value": "John Doe",
            "Version": 1,
            "LastModifiedDate": "2024-11-22T07:18:53.510000-08:00",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Dev/Web/Oncall/Week1",
            "DataType": "text"
        },
        {
            "Name": "/Dev/Web/Oncall/Week2",
            "Type": "String",
            "Value": "Mary Major",
            "Version": 1,
            "LastModifiedDate": "2024-11-22T07:21:25.325000-08:00",
            "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Dev/Web/Oncall/Week2",
            "DataType": "text"
        }
    ]
}

Per visualizzare i parametri SecureString decrittati in una gerarchia, devi specificare il percorso e il parametro --with-decryption, come illustrato nel seguente esempio.

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

Gestione dei parametri mediante gerarchie utilizzando il AWS CLI

Questa procedura illustra come utilizzare i parametri e le gerarchie di parametri con AWS CLI.

Per gestire i parametri mediante le gerarchie
  1. Installa e configura AWS Command Line Interface (AWS CLI), se non l'hai già fatto.

    Per informazioni, consulta la pagina Installazione o aggiornamento della versione più recente di AWS CLI.

  2. Eseguire questo comando per creare un parametro che utilizza il parametro allowedPattern e il tipo di parametro String. Il modello consentito in questo esempio indica che il valore del parametro deve avere una lunghezza compresa tra 1 e 4 cifre.

    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

    Il comando restituisce il numero di versione del parametro.

  3. Eseguire questo comando per tentare di sovrascrivere il parametro appena creato con un nuovo valore.

    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

    Il sistema restituisce il seguente errore perché il nuovo valore non è conforme ai requisiti del modello consentito specificato nella fase precedente.

    An error occurred (ParameterPatternMismatchException) when calling the PutParameter operation: Parameter value, cannot be validated against allowedPattern: \d{1,4}
  4. Esegui il seguente comando per creare un parametro SecureString che utilizza un Chiave gestita da AWS. Il modello consentito in questo esempio indica che l'utente può specificare un carattere qualsiasi e il valore deve essere contenere tra 8 e 20 caratteri.

    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. Eseguire questi comandi per creare altri parametri che utilizzano la struttura gerarchica definita nella fase precedente.

    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. Eseguire questo comando per recuperare il valore dei due parametri.

    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. Eseguire questo comando per eseguire query su tutti i parametri sotto un singolo livello.

    Linux & macOS
    aws ssm get-parameters-by-path \ --path "/MyService/Test"
    Windows
    aws ssm get-parameters-by-path ^ --path "/MyService/Test"
  8. Eseguire questo comando per eliminare due parametri.

    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"