

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

# Menentukan data sensitif menggunakan rahasia Secrets Manager di Amazon ECS
<a name="specifying-sensitive-data-tutorial"></a>

Amazon ECS memungkinkan Anda untuk menyuntikkan data sensitif ke dalam container Anda dengan menyimpan data sensitif Anda dalam AWS Secrets Manager rahasia dan kemudian mereferensikannya dalam definisi container Anda. Untuk informasi selengkapnya, lihat [Meneruskan data sensitif ke wadah Amazon ECS](specifying-sensitive-data.md).

Pelajari cara membuat rahasia Secrets Manager, mereferensikan rahasia dalam definisi tugas Amazon ECS, lalu verifikasi itu berhasil dengan menanyakan variabel lingkungan di dalam wadah yang menunjukkan konten rahasia.

## Prasyarat
<a name="specifying-sensitive-data-tutorial-prereqs"></a>

Jika mengikuti tutorial ini, berarti prasyarat berikut telah selesai:
+ Langkah-langkah di [Siapkan untuk menggunakan Amazon ECS](get-set-up-for-amazon-ecs.md) telah selesai.
+ Pengguna Anda memiliki izin IAM yang diperlukan untuk membuat Secrets Manager dan sumber daya Amazon ECS.

## Langkah 1: Buat rahasia Secrets Manager
<a name="specifying-sensitive-data-tutorial-create-secret"></a>

Anda dapat menggunakan konsol Secrets Manager untuk membuat rahasia untuk data sensitif Anda. Dalam tutorial ini kita akan menciptakan rahasia dasar untuk menyimpan nama pengguna dan kata sandi untuk mereferensi nanti dalam sebuah kontainer. Untuk informasi selengkapnya, lihat [Membuat AWS Secrets Manager rahasia](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html) di *Panduan AWS Secrets Manager Pengguna*.

** key/value Pasangan yang akan disimpan dalam rahasia ini** adalah nilai variabel lingkungan dalam wadah Anda di akhir tutorial.

Simpan **ARN Rahasia** untuk referensi dalam kebijakan IAM eksekusi tugas Anda dan definisi tugas di langkah selanjutnya.

## Langkah 2: Tambahkan izin rahasia ke peran eksekusi tugas
<a name="specifying-sensitive-data-tutorial-update-iam"></a>

Agar Amazon ECS dapat mengambil data sensitif dari rahasia Secrets Manager Anda, Anda harus memiliki izin rahasia untuk peran eksekusi tugas. Untuk informasi selengkapnya, lihat [Izin Secrets Manager atau Systems Manager](task_execution_IAM_role.md#task-execution-secrets).

## Langkah 3: Membuat sebuah penetapan tugas
<a name="specifying-sensitive-data-tutorial-create-taskdef"></a>

Anda dapat menggunakan konsol Amazon ECS untuk membuat definisi tugas yang mereferensikan rahasia Secrets Manager.

**Untuk membuat ketentuan tugas yang menetapkan rahasia**

Gunakan konsol IAM untuk memperbarui peran eksekusi tugas Anda dengan izin yang diperlukan.

1. Buka konsol di [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Di panel navigasi, pilih **Definisi tugas**.

1. Pilih **Buat definisi tugas baru**, **Buat definisi tugas baru dengan JSON**.

1. Di kotak editor JSON, masukkan teks JSON definisi tugas berikut, pastikan Anda menentukan ARN lengkap rahasia Secrets Manager yang Anda buat di langkah 1 dan peran eksekusi tugas yang Anda perbarui di langkah 2. Pilih **Simpan**.

1. 

   ```
   {
       "executionRoleArn": "arn:aws:iam::aws_account_id:role/ecsTaskExecutionRole",
       "containerDefinitions": [
           {
               "entryPoint": [
                   "sh",
                   "-c"
               ],
               "portMappings": [
                   {
                       "hostPort": 80,
                       "protocol": "tcp",
                       "containerPort": 80
                   }
               ],
               "command": [
                   "/bin/sh -c \"echo '<html> <head> <title>Amazon ECS Sample App</title> <style>body {margin-top: 40px; background-color: #333;} </style> </head><body> <div style=color:white;text-align:center> <h1>Amazon ECS Sample App</h1> <h2>Congratulations!</h2> <p>Your application is now running on a container in Amazon ECS.</p> </div></body></html>' >  /usr/local/apache2/htdocs/index.html && httpd-foreground\""
               ],
               "cpu": 10,
               "secrets": [
                   {
                       "valueFrom": "arn:aws:secretsmanager:region:aws_account_id:secret:username_value",
                       "name": "username_value"
                   }
               ],
               "memory": 300,
               "image": "public.ecr.aws/docker/library/httpd:2.4",
               "essential": true,
               "name": "ecs-secrets-container"
           }
       ],
       "family": "ecs-secrets-tutorial"
   }
   ```

1. Pilih **Buat**.

## Langkah 4: Buat cluster
<a name="specifying-sensitive-data-tutorial-create-cluster"></a>

Anda dapat menggunakan konsol Amazon ECS untuk membuat klaster yang berisi instance container untuk menjalankan tugas. Jika Anda memiliki klaster yang ada dengan setidaknya satu instans kontainer yang terdaftar untuk itu dengan sumber daya yang tersedia untuk menjalankan satu instans dari ketentuan tugas yang dibuat untuk tutorial ini Anda dapat melompat ke langkah berikutnya.

Untuk tutorial ini kita akan membuat cluster dengan satu instance `t2.micro` container menggunakan Amazon ECS Amazon Linux 2 AMI yang dioptimalkan Amazon ECS.

Untuk informasi tentang cara membuat cluster untuk EC2, lihat[Membuat cluster Amazon ECS untuk beban kerja Amazon EC2](create-ec2-cluster-console-v2.md).

## Langkah 5: Jalankan tugas
<a name="specifying-sensitive-data-tutorial-run-task"></a>

Anda dapat menggunakan konsol Amazon ECS untuk menjalankan tugas menggunakan definisi tugas yang Anda buat. Untuk tutorial ini kita akan menjalankan tugas menggunakan EC2, menggunakan cluster yang kita buat pada langkah sebelumnya. 

Untuk informasi tentang cara menjalankan tugas, lihat[Menjalankan aplikasi sebagai tugas Amazon ECS](standalone-task-create.md).

## Langkah 6: Verifikasi
<a name="specifying-sensitive-data-tutorial-verify"></a>

Anda dapat memverifikasi bahwa semua langkah berhasil diselesaikan dan variabel lingkungan dibuat dengan benar dalam kontainer Anda menggunakan langkah-langkah berikut.

**Untuk memverifikasi bahwa variabel lingkungan telah dibuat**

1. Cari IP publik atau alamat DNS untuk instans kontainer Anda.

   1. Buka konsol di [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

   1. Di panel navigasi, pilih **Cluster**, lalu pilih cluster yang Anda buat.

   1. Pilih **Infrastruktur**, lalu pilih instance container.

   1. Rekam **IP Publik** atau **DNS Publik** untuk instans Anda.

1. Jika Anda menggunakan komputer macOS atau Linux, sambungkan ke instans Anda dengan perintah berikut, ganti jalur ke kunci pribadi dan alamat publik untuk instans Anda:

   ```
   $ ssh -i /path/to/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com
   ```

   Untuk informasi selengkapnya tentang menggunakan komputer Windows, lihat [Connect ke instans Linux menggunakan PuTTY](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-linux-inst-from-windows.html) di Panduan Pengguna *Amazon EC2*.
**penting**  
Untuk informasi selengkapnya tentang masalah apa pun saat menyambung ke instans, lihat [Memecahkan Masalah Menyambung ke Instans Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/TroubleshootingInstancesConnecting.html) di Panduan Pengguna *Amazon EC2*.

1. Cantumkan kontainer yang berjalan pada instans. Catat ID kontainer untuk kontainer `ecs-secrets-tutorial`.

   ```
   docker ps
   ```

1. Terhubung ke kontainer `ecs-secrets-tutorial` menggunakan ID kontainer dari output dari langkah sebelumnya.

   ```
   docker exec -it container_ID /bin/bash
   ```

1. Gunakan perintah `echo` untuk mencetak nilai variabel lingkungan.

   ```
   echo $username_value
   ```

   Jika tutorial berhasil, Anda akan melihat output sebagai berikut:

   ```
   password_value
   ```
**catatan**  
Atau, Anda dapat mencantumkan semua variabel lingkungan dalam wadah Anda menggunakan perintah `env` (atau `printenv`).

## Langkah 7: Bersihkan
<a name="specifying-sensitive-data-tutorial-cleanup"></a>

Setelah selesai dengan tutorial ini, Anda harus membersihkan sumber daya yang terkait untuk menghindari timbulnya biaya untuk sumber daya yang tidak terpakai.

**Untuk membersihkan sumber daya**

1. Buka konsol di [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2).

1. Pada panel navigasi, silakan pilih **Klaster**.

1. Pada halaman **Clusters**, pilih cluster.

1. Pilih **Hapus klaster**. 

1. Di kotak konfirmasi, masukkan **hapus *cluster name***, lalu pilih **Hapus**.

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**. 

1. Cari daftar peran untuk `ecsTaskExecutionRole` dan pilih peran itu.

1. Pilih **Izin**, lalu pilih **X** di sebelah **ECSSecretsTutorial**. Pilih **Hapus**.

1. Buka konsol Secrets Manager di [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/).

1. Pilih rahasia **username\$1value** yang Anda buat dan pilih **Tindakan**, **Hapus rahasia**.