

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola CloudWatch dasbor Amazon mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat [dokumentasi CloudWatch Dasbor Amazon](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Bekerja dengan hierarki parameter di Parameter Store
<a name="sysman-paramstore-hierarchies"></a>

Mengelola puluhan atau ratusan parameter sebagai daftar yang datar memakan waktu dan rentan terhadap kesalahan. Akan sulit juga untuk mengidentifikasi parameter yang benar untuk suatu tugas. Ini berarti Anda mungkin secara tidak sengaja menggunakan parameter yang salah, atau Anda dapat membuat beberapa parameter yang menggunakan data konfigurasi yang sama. 

Anda dapat menggunakan hierarki parameter untuk membantu Anda menata dan mengelola parameter. Hierarki adalah nama parameter yang menyertakan jalur yang Anda tentukan dengan menggunakan garis miring (/).

**Topics**
+ [Memahami hierarki parameter melalui contoh](#ps-hierarchy-examples)
+ [Melakukan kueri parameter dalam hierarki](#ps-hierarchy-queries)
+ [Mengelola parameter menggunakan hierarki menggunakan AWS CLI](#sysman-paramstore-walk-hierarchy)

## Memahami hierarki parameter melalui contoh
<a name="ps-hierarchy-examples"></a>

Contoh berikut ini menggunakan tiga tingkat hierarki dalam nama untuk mengidentifikasi hal berikut:

`/Environment/Type of computer/Application/Data`

`/Dev/DBServer/MySQL/db-string13`

Anda dapat membuat hierarki dengan maksimal 15 tingkat. Kami menyarankan bahwa Anda membuat hierarki yang mencerminkan struktur hierarkis yang ada di lingkungan Anda, seperti yang ditunjukkan dalam contoh berikut:
+ Lingkungan [Continuous Integration](https://aws.amazon.com/devops/continuous-integration/) dan [Continuous Delivery](https://aws.amazon.com/devops/continuous-delivery/) (alur kerja CI/CD)

  `/Dev/DBServer/MySQL/db-string`

  `/Staging/DBServer/MySQL/db-string`

  `/Prod/DBServer/MySQL/db-string`
+ Aplikasi Anda yang menggunakan kontainer

  ```
  /MyApp/.NET/Libraries/my-password
  ```
+ Organisasi bisnis Anda

  `/Finance/Accountants/UserList`

  `/Finance/Analysts/UserList`

  `/HR/Employees/EU/UserList`

Hierarki parameter menstandardisasi cara Anda membuat parameter dan memudahkan untuk mengelola parameter dari waktu ke waktu. Hierarki parameter juga dapat membantu Anda mengidentifikasi parameter yang benar untuk suatu tugas konfigurasi. Ini membantu Anda untuk menghindari membuat beberapa parameter dengan data konfigurasi yang sama. 

Anda dapat membuat suatu hierarki yang memungkinkan Anda untuk berbagi parameter di lingkungan yang berbeda, seperti yang ditunjukkan dalam contoh berikut yang menggunakan kata sandi dalam lingkungan pengembangan dan staging.

`/DevTest/MyApp/database/my-password`

Anda lalu dapat membuat kata sandi unik untuk lingkungan produksi Anda, seperti yang ditunjukkan dalam contoh berikut:

`/prod/MyApp/database/my-password`

Anda tidak diharuskan untuk menentukan hierarki parameter. Anda dapat membuat parameter pada tingkat satu. Ini disebut parameter *root*. Untuk kompatibilitas mundur, semua parameter yang dibuat Parameter Store sebelum hierarki dirilis adalah parameter root. Sistem memperlakukan kedua parameter berikut sebagai parameter root.

`/parameter-name`

`parameter-name`

## Melakukan kueri parameter dalam hierarki
<a name="ps-hierarchy-queries"></a>

Manfaat lain menggunakan hierarki adalah kemampuan untuk menanyakan semua parameter *di bawah* tingkat tertentu dalam hierarki dengan menggunakan operasi [GetParametersByPath](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParametersByPath.html)API. Misalnya, jika Anda menjalankan perintah berikut dari AWS Command Line Interface (AWS CLI), sistem mengembalikan semua parameter di bawah `Oncall` level:

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

Contoh output:

```
{
    "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"
        }
    ]
}
```

Untuk melihat parameter `SecureString` terdekripsi dalam sebuah hierarki, Anda menentukan jalur dan parameter `--with-decryption`, seperti yang ditunjukkan dalam contoh berikut.

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

## Mengelola parameter menggunakan hierarki menggunakan AWS CLI
<a name="sysman-paramstore-walk-hierarchy"></a>

Prosedur ini menunjukkan cara bekerja dengan parameter dan hierarki parameter dengan menggunakan AWS CLI.

**Untuk mengelola parameter menggunakan hierarki**

1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

   Untuk selengkapnya, lihat [Menginstal atau memperbarui versi terbaru AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

1. Jalankan perintah berikut untuk membuat parameter yang menggunakan parameter `allowedPattern` dan tipe parameter `String`. Pola yang diperbolehkan dalam contoh ini berarti nilai untuk parameter harus antara 1 dan 4 digit panjangnya.

------
#### [ 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
   ```

------

   Perintah mengembalikan nomor versi parameter.

1. Jalankan perintah berikut untuk *mencoba* menimpa parameter yang baru saja Anda buat dengan nilai yang baru.

------
#### [ 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
   ```

------

   Sistem mengembalikan kesalahan berikut karena nilai baru tidak memenuhi persyaratan pola yang diperbolehkan sebagaimana yang Anda tentukan pada langkah sebelumnya.

   ```
   An error occurred (ParameterPatternMismatchException) when calling the PutParameter operation: Parameter value, cannot be validated against allowedPattern: \d{1,4}
   ```

1. Jalankan perintah berikut untuk membuat `SecureString` parameter yang menggunakan file Kunci yang dikelola AWS. Pola yang diperbolehkan dalam contoh ini berarti pengguna dapat menentukan karakter apa pun, dan nilai harus antara 8 dan 20 karakter.

------
#### [ 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
   ```

------

1. Jalankan perintah berikut untuk membuat lebih banyak parameter yang menggunakan struktur hierarki dari langkah sebelumnya.

------
#### [ 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
   ```

------

1. Jalankan perintah berikut ini untuk mendapatkan nilai dua parameter.

------
#### [ 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"
   ```

------

1. Jalankan perintah berikut untuk query untuk semua parameter di bawah satu tingkat. 

------
#### [ Linux & macOS ]

   ```
   aws ssm get-parameters-by-path \
       --path "/MyService/Test"
   ```

------
#### [ Windows ]

   ```
   aws ssm get-parameters-by-path ^
       --path "/MyService/Test"
   ```

------

1. Jalankan perintah berikut ini untuk menghapus dua parameter.

------
#### [ 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"
   ```

------