

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

# Menggunakan manifes untuk mengaktifkan fitur pengambilan tambahan
<a name="appconfig-agent-how-to-use-additional-features"></a>

AWS AppConfig Agen menawarkan fitur tambahan berikut untuk membantu Anda mengambil konfigurasi untuk aplikasi Anda. 
+ [Mengkonfigurasi AWS AppConfig Agen untuk mengambil konfigurasi dari beberapa akun](appconfig-agent-how-to-use-additional-features-multi-account.md): Gunakan AWS AppConfig Agen dari primer atau *pengambilan* Akun AWS untuk mengambil data konfigurasi dari beberapa akun vendor. 
+ [Mengkonfigurasi AWS AppConfig Agen untuk menulis salinan konfigurasi ke disk](appconfig-agent-how-to-use-additional-features-write-to-disk.md): Gunakan AWS AppConfig Agen untuk menulis data konfigurasi ke disk. Fitur ini memungkinkan pelanggan dengan aplikasi yang membaca data konfigurasi dari disk untuk diintegrasikan AWS AppConfig.

## Memahami manifestasi agen
<a name="appconfig-agent-how-to-use-additional-features-about-manifests"></a>

Untuk mengaktifkan fitur AWS AppConfig Agen ini, Anda membuat manifes. Manifes adalah sekumpulan data konfigurasi yang Anda berikan untuk mengontrol tindakan yang dapat dilakukan agen. Sebuah manifes ditulis dalam JSON. Ini berisi satu set kunci tingkat atas yang sesuai dengan konfigurasi berbeda yang telah Anda gunakan. AWS AppConfig

Manifes dapat mencakup beberapa konfigurasi. Selanjutnya, setiap konfigurasi dalam manifes dapat mengidentifikasi satu atau lebih fitur agen yang akan digunakan untuk konfigurasi yang ditentukan. Isi manifes menggunakan format berikut:

```
{
    "application_name:environment_name:configuration_name": {
        "agent_feature_to_enable_1": {
            "feature-setting-key": "feature-setting-value"
        },
        "agent_feature_to_enable_2": {
            "feature-setting-key": "feature-setting-value"
        }
    }
}
```

Berikut adalah contoh JSON untuk manifes dengan dua konfigurasi. Konfigurasi pertama (*MyApp*) tidak menggunakan fitur AWS AppConfig Agen apa pun. Konfigurasi kedua (*My2ndApp*) menggunakan *salinan konfigurasi tulis ke disk* dan fitur *pengambilan multi-akun*:

```
{
        "MyApp:Test:MyAllowListConfiguration": {},
        
        "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": {
            "credentials": {
                "roleArn": "arn:aws:us-west-1:iam::123456789012:role/MyTestRole",
                "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac",
                "roleSessionName": "AwsAppConfigAgent",
                "credentialsDuration": "2h"
            },
            "writeTo": {
                "path": "/tmp/aws-appconfig/my-2nd-app/beta/my-enable-payments-feature-flag-configuration.json"
            }
        }
    }
```

**Cara memasok manifes agen**  
Anda dapat menyimpan manifes sebagai file di lokasi di mana AWS AppConfig Agen dapat membacanya. Atau, Anda dapat menyimpan manifes sebagai AWS AppConfig konfigurasi dan mengarahkan agen ke sana. Untuk menyediakan manifes agen, Anda harus menetapkan variabel `MANIFEST` lingkungan dengan salah satu nilai berikut:


****  

| Lokasi manifes | Nilai variabel lingkungan | Kasus penggunaan | 
| --- | --- | --- | 
|  File  |  berkas:/path/to/agent-manifest.json  |  Gunakan metode ini jika manifes Anda tidak akan sering berubah.  | 
|  AWS AppConfig konfigurasi  |  *application-name*:*environment-name*:*configuration-name*  |  Gunakan metode ini untuk pembaruan dinamis. Anda dapat memperbarui dan menerapkan manifes yang disimpan AWS AppConfig sebagai konfigurasi dengan cara yang sama seperti Anda menyimpan AWS AppConfig konfigurasi lainnya.  | 
|  Variabel lingkungan  |  Konten manifes (JSON)  |  Gunakan metode ini jika manifes Anda tidak akan sering berubah. Metode ini berguna dalam lingkungan kontainer di mana lebih mudah untuk mengatur variabel lingkungan daripada mengekspos file.  | 

Untuk informasi selengkapnya tentang menyetel variabel untuk AWS AppConfig Agen, lihat topik yang relevan untuk kasus penggunaan Anda:
+ [Mengkonfigurasi ekstensi AWS AppConfig Agen Lambda](appconfig-integration-lambda-extensions-config.md)
+ [Menggunakan AWS AppConfig Agen dengan Amazon EC2](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-ec2.html#appconfig-integration-ec2-configuring)
+ [Menggunakan AWS AppConfig Agen dengan Amazon ECS dan Amazon EKS](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-containers-agent.html#appconfig-integration-containers-agent-configuring)

# Mengkonfigurasi AWS AppConfig Agen untuk mengambil konfigurasi dari beberapa akun
<a name="appconfig-agent-how-to-use-additional-features-multi-account"></a>

Anda dapat mengonfigurasi AWS AppConfig Agen untuk mengambil konfigurasi dari beberapa Akun AWS dengan memasukkan penggantian kredensi dalam manifes Agen. AWS AppConfig *Penggantian kredensyal* mencakup Nama Sumber Daya Amazon (ARN) peran AWS Identity and Access Management (IAM), ID peran, nama sesi, dan durasi berapa lama agen dapat mengambil peran tersebut. 

Anda memasukkan detail ini di bagian “kredensil” di manifes. Bagian “kredensil” menggunakan format berikut:

```
{
    "application_name:environment_name:configuration_name": {
        "credentials": {
            "roleArn": "arn:partition:iam::account_ID:role/roleName",
            "roleExternalId": "string",
            "roleSessionName": "string",
            "credentialsDuration": "time_in_hours" 
        }
    }
}
```

Inilah contohnya:

```
{
    "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": {
        "credentials": {
            "roleArn": "arn:aws:us-west-1:iam::123456789012:role/MyTestRole",
            "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac",
            "roleSessionName": "AWSAppConfigAgent",
            "credentialsDuration": "2h" 
        }
    }
}
```

Sebelum mengambil konfigurasi, agen membaca detail kredensyal untuk konfigurasi dari manifes dan kemudian mengasumsikan peran IAM yang ditentukan untuk konfigurasi tersebut. Anda dapat menentukan kumpulan penggantian kredensyal yang berbeda untuk konfigurasi yang berbeda dalam satu manifes. Diagram berikut menunjukkan bagaimana AWS AppConfig Agen, saat berjalan di Akun A (akun pengambilan), mengasumsikan peran terpisah yang ditentukan untuk Akun B dan C (akun vendor) dan kemudian memanggil operasi [GetLatestConfiguration](https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html)API untuk mengambil data konfigurasi agar tidak AWS AppConfig berjalan di akun tersebut:

![\[Bagaimana AWS AppConfig Agen bekerja dengan peran IAM secara terpisah Akun AWS.\]](http://docs.aws.amazon.com/id_id/appconfig/latest/userguide/images/agent multi-account.png)


## Konfigurasikan izin untuk mengambil data konfigurasi dari akun vendor
<a name="appconfig-agent-how-to-use-additional-features-multi-account-permission"></a>

AWS AppConfig Agen yang berjalan di akun pengambilan memerlukan izin untuk mengambil data konfigurasi dari akun vendor. Anda memberikan izin agen dengan membuat peran AWS Identity and Access Management (IAM) di setiap akun vendor. AWS AppConfig Agen di akun pengambilan mengasumsikan peran ini untuk mendapatkan data dari akun vendor. Selesaikan prosedur di bagian ini untuk membuat kebijakan izin IAM, peran IAM, dan menambahkan penggantian agen ke manifes.

**Sebelum Anda mulai**  
Kumpulkan informasi berikut sebelum Anda membuat kebijakan izin dan peran dalam IAM.
+  IDs Untuk masing-masing Akun AWS. Akun *pengambilan* adalah akun yang akan memanggil akun lain untuk data konfigurasi. Akun *vendor* adalah akun yang akan menjual data konfigurasi ke akun pengambilan.
+ Nama peran IAM yang digunakan oleh AWS AppConfig dalam akun pengambilan. Berikut daftar peran yang digunakan oleh AWS AppConfig, secara default:
  + Untuk Amazon Elastic Compute Cloud (Amazon EC2) AWS AppConfig , gunakan peran instans.
  + Untuk AWS Lambda, AWS AppConfig menggunakan peran eksekusi Lambda.
  + Untuk Amazon Elastic Container Service (Amazon ECS) Service Elastic Container Service (Amazon ECS) dan Amazon Elastic Kubernetes Service (Amazon EKS), gunakan peran container. AWS AppConfig 

  Jika Anda mengonfigurasi AWS AppConfig Agen untuk menggunakan peran IAM yang berbeda dengan menentukan variabel `ROLE_ARN` lingkungan, catat nama itu.

**Buat kebijakan izin**  
Gunakan prosedur berikut untuk membuat kebijakan izin menggunakan konsol IAM. Selesaikan prosedur di masing-masing Akun AWS yang akan menjual data konfigurasi untuk akun pengambilan.

**Untuk membuat kebijakan IAM**

1. Masuk ke Konsol Manajemen AWS akun vendor.

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

1. Di panel navigasi, pilih **Kebijakan** dan kemudian pilih **Buat kebijakan**.

1. Pilih opsi **JSON**.

1. Di **editor Kebijakan**, ganti JSON default dengan pernyataan kebijakan berikut. Perbarui masing-masing *example resource placeholder* dengan detail akun vendor.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "appconfig:StartConfigurationSession",
                   "appconfig:GetLatestConfiguration"
               ],
               "Resource": "arn:aws:appconfig:us-east-1:111122223333:application/vendor_application_ID/environment/vendor_environment_ID/configuration/vendor_configuration_ID"
           }
       ]
   }
   ```

------

   Inilah contohnya:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [{
           "Effect": "Allow",
           "Action": [
               "appconfig:StartConfigurationSession",
               "appconfig:GetLatestConfiguration"
           ],
           "Resource": "arn:aws:appconfig:us-east-2:111122223333:application/abc123/environment/def456/configuration/hij789"
       }
      ]
   }
   ```

------

1. Pilih **Berikutnya**.

1. Di bidang **Nama kebijakan**, masukkan nama.

1. (Opsional) Untuk **Menambahkan tag**, tambahkan satu atau beberapa pasangan nilai kunci tag untuk mengatur, melacak, atau mengontrol akses kebijakan ini.

1. Pilih **Buat kebijakan**. Sistem mengembalikan Anda ke halaman **Kebijakan**.

1. Ulangi prosedur ini di masing-masing Akun AWS yang akan menjual data konfigurasi untuk akun pengambilan.

**Buat peran IAM**  
Gunakan prosedur berikut untuk membuat peran IAM menggunakan konsol IAM. Selesaikan prosedur di masing-masing Akun AWS yang akan menjual data konfigurasi untuk akun pengambilan.

**Untuk membuat IAM role**

1. Masuk ke Konsol Manajemen AWS akun vendor.

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

1. Di panel navigasi, pilih **Peran**, lalu pilih **Buat kebijakan**.

1. Untuk **jenis entitas Tepercaya**, pilih **Akun AWS**.

1. Di **Akun AWS**bagian ini, pilih **Lain Akun AWS**.

1. Di bidang **ID Akun**, masukkan ID akun pengambilan.

1. (Opsional) Sebagai praktik terbaik keamanan untuk peran asumsi ini, pilih **Memerlukan ID eksternal** dan masukkan string.

1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, gunakan bidang **Pencarian** untuk menemukan kebijakan yang Anda buat di prosedur sebelumnya. Pilih kotak centang di sebelah namanya. 

1. Pilih **Berikutnya**.

1. Untuk **nama Peran**, masukkan nama.

1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi.

1. Untuk **Langkah 1: Pilih entitas tepercaya**, pilih **Edit**. Ganti kebijakan kepercayaan JSON default dengan kebijakan berikut. Perbarui masing-masing *example resource placeholder* dengan informasi dari akun pengambilan Anda.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/appconfig_role_in_retrieval_account"
               },
               "Action": "sts:AssumeRole"
           }
       ]
   }
   ```

------

1. (Opsional) Untuk **Tag**, tambahkan satu atau beberapa pasangan nilai tag-key untuk mengatur, melacak, atau mengontrol akses untuk peran ini.

1. Pilih **Buat peran**. Sistem mengembalikan Anda ke halaman **Peran**.

1. Cari peran yang baru saja Anda buat. Pilih bucket tersebut. Di bagian **ARN**, salin ARN. Anda akan menentukan informasi ini dalam prosedur berikutnya.

**Tambahkan penggantian kredensi ke manifes**  
Setelah Anda membuat peran IAM di akun vendor Anda, perbarui manifes di akun pengambilan. Secara khusus, tambahkan blok kredensyal dan ARN peran IAM untuk mengambil data konfigurasi dari akun vendor. Berikut adalah format JSON:

```
{
    "vendor_application_name:vendor_environment_name:vendor_configuration_name": {
        "credentials": {
            "roleArn": "arn:partition:iam::vendor_account_ID:role/name_of_role_created_in_vendor_account",
            "roleExternalId": "string",
            "roleSessionName": "string",
            "credentialsDuration": "time_in_hours" 
        }
    }
}
```

Inilah contohnya:

```
{
    "My2ndApp:Beta:MyEnableMobilePaymentsFeatureFlagConfiguration": {
        "credentials": {
            "roleArn": "arn:aws:us-west-1:iam::123456789012:role/MyTestRole",
            "roleExternalId": "00b148e2-4ea4-46a1-ab0f-c422b54d0aac",
            "roleSessionName": "AwsAppConfigAgent",
            "credentialsDuration": "2h" 
        }
    }
}
```

**Validasi bahwa pengambilan multi-akun berfungsi**  
Anda dapat memvalidasi bahwa agen tersebut dapat mengambil data konfigurasi dari beberapa akun dengan meninjau log agen. AWS AppConfig Log `INFO` level untuk data awal yang diambil untuk '`YourApplicationName``YourEnvironmentName`:`YourConfigurationName`' adalah indikator terbaik untuk pengambilan yang berhasil. Jika pengambilan gagal, Anda akan melihat log `ERROR` level yang menunjukkan alasan kegagalan. Berikut adalah contoh untuk pengambilan yang berhasil dari akun vendor:

```
[appconfig agent] 2023/11/13 11:33:27 INFO AppConfig Agent 2.0.x
[appconfig agent] 2023/11/13 11:33:28 INFO serving on localhost:2772
[appconfig agent] 2023/11/13 11:33:28 INFO retrieved initial data for 'MyTestApplication:MyTestEnvironment:MyDenyListConfiguration' in XX.Xms
```

# Mengkonfigurasi AWS AppConfig Agen untuk menulis salinan konfigurasi ke disk
<a name="appconfig-agent-how-to-use-additional-features-write-to-disk"></a>

Anda dapat mengonfigurasi AWS AppConfig Agen untuk secara otomatis menyimpan salinan konfigurasi ke disk dalam teks biasa. Fitur ini memungkinkan pelanggan dengan aplikasi yang membaca data konfigurasi dari disk untuk diintegrasikan AWS AppConfig.

Fitur ini tidak dirancang untuk digunakan sebagai fitur cadangan konfigurasi. AWS AppConfig Agen tidak membaca dari file konfigurasi yang disalin ke disk. Jika Anda ingin mencadangkan konfigurasi ke disk, lihat variabel `BACKUP_DIRECTORY` dan `PRELOAD_BACKUP` lingkungan untuk [Menggunakan AWS AppConfig Agen dengan Amazon EC2 atau AWS AppConfig Menggunakan Agen dengan Amazon](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-ec2.html#appconfig-integration-ec2-configuring) [ECS dan Amazon EKS](https://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-integration-containers-agent.html#appconfig-integration-containers-agent-configuring).

**Awas**  
Perhatikan informasi penting berikut tentang fitur ini:  
Konfigurasi yang disimpan ke disk disimpan dalam *teks biasa* dan dapat dibaca manusia. Jangan aktifkan fitur ini untuk konfigurasi yang menyertakan data sensitif. 
Fitur ini menulis ke disk lokal. Gunakan prinsip hak istimewa paling sedikit untuk izin sistem file. Untuk informasi selengkapnya, lihat [Terapkan akses hak akses paling rendah](appconfig-security.md#appconfig-security-least-privilege-access).

**Untuk mengaktifkan konfigurasi tulis salin ke disk**

1. Edit manifes.

1. Pilih konfigurasi yang ingin Anda tulis AWS AppConfig ke disk dan tambahkan `writeTo` elemen. Inilah contohnya:

   ```
   {
       "application_name:environment_name:configuration_name": {
           "writeTo": {
               "path": "path_to_configuration_file"
           }
       }
   }
   ```

   Inilah contohnya:

   ```
   {
       "MyTestApp:MyTestEnvironment:MyNewConfiguration": {
           "writeTo": {
               "path": "/tmp/aws-appconfig/mobile-app/beta/enable-mobile-payments"
           }
       }
   }
   ```

1. Simpan perubahan Anda. File configuration.json akan diperbarui setiap kali data konfigurasi baru diterapkan.

**Validasi bahwa menulis salinan konfigurasi ke disk berfungsi**  
Anda dapat memvalidasi bahwa salinan konfigurasi sedang ditulis ke disk dengan melihat dengan meninjau log AWS AppConfig agen. Entri `INFO` log dengan frasa “INFO menulis konfigurasi '*application*:*environment*:*configuration*' to*file\$1path*" menunjukkan bahwa AWS AppConfig Agen menulis salinan konfigurasi ke disk.

Inilah contohnya:

```
[appconfig agent] 2023/11/13 11:33:27 INFO AppConfig Agent 2.0.x
[appconfig agent] 2023/11/13 11:33:28 INFO serving on localhost:2772
[appconfig agent] 2023/11/13 11:33:28 INFO retrieved initial data for 'MobileApp:Beta:EnableMobilePayments' in XX.Xms
[appconfig agent] 2023/11/13 17:05:49 INFO wrote configuration 'MobileApp:Beta:EnableMobilePayments' to /tmp/configs/your-app/your-env/your-config.json
```