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
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: 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: 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
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 dalamJSON. 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: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: /jalur/ke/agent-manifest.json |
Gunakan metode ini jika manifes Anda tidak sering berubah. |
AWS AppConfig konfigurasi |
|
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 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 AWS AppConfig Agen untuk mengambil konfigurasi dari beberapa akun
Anda dapat mengonfigurasi AWS AppConfig Agen untuk mengambil konfigurasi dari beberapa Akun AWS dengan memasukkan penggantian kredensi dalam manifes Agen. AWS AppConfig Penggantian kredenal mencakup Amazon Resource Name (ARN) dari peran AWS Identity and Access Management (IAM), ID peran, nama sesi, dan durasi untuk berapa lama agen dapat mengambil peran tersebut.
Anda memasukkan detail ini di bagian “kredensial” di manifes. Bagian “kredensial” 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: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 IAM peran 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 GetLatestConfigurationAPIoperasi untuk mengambil data konfigurasi agar tidak AWS AppConfig berjalan di akun tersebut:
Konfigurasikan izin untuk mengambil data konfigurasi dari akun vendor
AWS AppConfig Agen yang berjalan di akun pengambilan memerlukan izin untuk mengambil data konfigurasi dari akun vendor. Anda memberikan izin kepada 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 IAM izin, IAM peran, dan menambahkan penggantian agen ke manifes.
Sebelum Anda mulai
Kumpulkan informasi berikut sebelum Anda membuat kebijakan izin dan peran di dalamnyaIAM.
-
IDsUntuk 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 IAM peran yang digunakan oleh AWS AppConfig dalam akun pengambilan. Berikut daftar peran yang digunakan oleh AWS AppConfig, secara default:
-
Untuk Amazon Elastic Compute Cloud (AmazonEC2), AWS AppConfig gunakan peran instance.
-
Untuk AWS Lambda, AWS AppConfig menggunakan peran eksekusi Lambda.
-
Untuk Amazon Elastic Container Service (AmazonECS) dan Amazon Elastic Kubernetes Service (EKSAmazon AWS AppConfig ), gunakan peran container.
Jika Anda mengonfigurasi AWS AppConfig Agen untuk menggunakan IAM peran yang berbeda dengan menentukan variabel
ROLE_ARN
lingkungan, catat nama itu. -
Buat kebijakan izin
Gunakan prosedur berikut untuk membuat kebijakan izin menggunakan IAM konsol. Selesaikan prosedur di masing-masing Akun AWS yang akan menjual data konfigurasi untuk akun pengambilan.
Untuk membuat IAM kebijakan
-
Masuk ke AWS Management Console akun vendor.
Buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Di panel navigasi, pilih Kebijakan dan kemudian pilih Buat kebijakan.
-
Pilih JSONopsi.
-
Di editor Kebijakan, ganti default JSON dengan pernyataan kebijakan berikut. Perbarui setiap
example resource placeholder
dengan detail akun vendor.{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "appconfig:StartConfigurationSession", "appconfig:GetLatestConfiguration" ], "Resource": "arn:
partition
:appconfig:region
:vendor_account_ID
:application/vendor_application_ID
/environment/vendor_environment_ID
/configuration/vendor_configuration_ID
" } ] }Inilah contohnya:
{ "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" } ] }
-
Pilih Berikutnya.
-
Di bidang Nama kebijakan, masukkan nama.
-
(Opsional) Untuk Menambahkan tag, tambahkan satu atau beberapa pasangan nilai kunci tag untuk mengatur, melacak, atau mengontrol akses kebijakan ini.
-
Pilih Buat kebijakan. Sistem mengembalikan Anda ke halaman Kebijakan.
-
Ulangi prosedur ini di masing-masing Akun AWS yang akan menjual data konfigurasi untuk akun pengambilan.
Buat IAM peran
Gunakan prosedur berikut untuk membuat IAM peran menggunakan IAM konsol. Selesaikan prosedur di masing-masing Akun AWS yang akan menjual data konfigurasi untuk akun pengambilan.
Untuk membuat IAM peran
-
Masuk ke AWS Management Console akun vendor.
Buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Di panel navigasi, pilih Peran, lalu pilih Buat kebijakan.
-
Untuk jenis entitas Tepercaya, pilih Akun AWS.
-
Di Akun AWSbagian ini, pilih Lain Akun AWS.
-
Di bidang ID Akun, masukkan ID akun pengambilan.
-
(Opsional) Sebagai praktik terbaik keamanan untuk peran asumsi ini, pilih Memerlukan ID eksternal dan masukkan string.
-
Pilih Berikutnya.
-
Pada halaman Tambahkan izin, gunakan bidang Pencarian untuk menemukan kebijakan yang Anda buat di prosedur sebelumnya. Pilih kotak centang di sebelah namanya.
-
Pilih Berikutnya.
-
Untuk nama Peran, masukkan nama.
-
(Opsional) Untuk Deskripsi, masukkan deskripsi.
-
Untuk Langkah 1: Pilih entitas tepercaya, pilih Edit. Ganti kebijakan JSON kepercayaan default dengan kebijakan berikut. Perbarui setiap
example resource placeholder
dengan informasi dari akun pengambilan Anda.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
retrieval_account_ID
:role/appconfig_role_in_retrieval_account
" }, "Action": "sts:AssumeRole" } ] } -
(Opsional) Untuk Tag, tambahkan satu atau beberapa pasangan nilai tag-key untuk mengatur, melacak, atau mengontrol akses untuk peran ini.
-
Pilih Buat peran. Sistem mengembalikan Anda ke halaman Peran.
-
Cari peran yang baru saja Anda buat. Pilih itu. Di ARNbagian ini, salinARN. Anda akan menentukan informasi ini dalam prosedur berikutnya.
Tambahkan penggantian kredensi ke manifes
Setelah Anda membuat IAM peran di akun vendor, perbarui manifes di akun pengambilan. Secara khusus, tambahkan blok kredensional dan IAM peran ARN untuk mengambil data konfigurasi dari akun vendor. Berikut JSON formatnya:
{ "
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: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
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 Menggunakan AWS AppConfig Agen dengan Amazon ECS dan Amazon EKS.
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 terkecil untuk izin sistem file. Untuk informasi selengkapnya, lihat Terapkan akses hak akses paling rendah.
Untuk mengaktifkan konfigurasi tulis salin ke disk
-
Edit manifes.
-
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" } } }
-
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 "konfigurasi INFO tulis 'application
:environment
:configuration
'untuk file_path
“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