Ambil parameter Systems Manager melalui variabel lingkungan Amazon ECS - Amazon Elastic Container Service

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

Ambil parameter Systems Manager melalui variabel lingkungan Amazon ECS

Amazon ECS memungkinkan Anda untuk menyuntikkan data sensitif ke dalam container Anda dengan menyimpan data sensitif Anda dalam AWS Systems Manager parameter Parameter Store dan kemudian mereferensikannya dalam definisi container Anda.

Pertimbangkan hal berikut saat menggunakan variabel lingkungan untuk menyuntikkan rahasia Systems Manager ke dalam wadah.

  • Data sensitif disuntikkan ke dalam kontainer Anda ketika kontainer awalnya dimulai. Jika rahasia kemudian diperbarui atau diputar, kontainer tidak akan menerima nilai yang diperbarui secara otomatis. Anda harus menjalankan tugas baru atau jika tugas Anda adalah bagian dari layanan Anda dapat memperbarui layanan dan menggunakan Memaksa deployment baru untuk memaksa layanan untuk meluncurkan tugas baru.

  • Untuk tugas Amazon ECS aktif AWS Fargate, hal-hal berikut harus dipertimbangkan:

    • Untuk menyuntikkan konten penuh rahasia sebagai variabel lingkungan atau dalam konfigurasi log, Anda harus menggunakan versi 1.3.0 platform atau yang lebih baru. Untuk informasi, lihat Versi platform Fargate Linux untuk Amazon ECS.

    • Untuk menyuntikkan kunci JSON tertentu atau versi rahasia sebagai variabel lingkungan atau dalam konfigurasi log, Anda harus menggunakan versi platform 1.4.0 atau yang lebih baru (Linux) atau 1.0.0 (Windows). Untuk informasi, lihat Versi platform Fargate Linux untuk Amazon ECS.

  • Untuk tugas Amazon ECS di EC2, hal-hal berikut harus dipertimbangkan:

    • Untuk menyuntikkan rahasia menggunakan kunci JSON atau versi rahasia tertentu, instans kontainer Anda harus memiliki versi 1.37.0 agen kontainer atau yang lebih baru. Namun, kami merekomendasikan untuk menggunakan versi agen kontainer terbaru. Untuk informasi tentang memeriksa versi agen Anda dan memperbarui ke versi terbaru, lihat Memperbarui agen kontainer Amazon ECS.

      Untuk menyuntikkan konten penuh rahasia sebagai variabel lingkungan atau untuk menyuntikkan rahasia dalam konfigurasi log, instans kontainer Anda harus memiliki versi 1.22.0 agen kontainer atau yang lebih baru.

  • Gunakan titik akhir VPC antarmuka untuk meningkatkan kontrol keamanan. Anda harus membuat titik akhir VPC antarmuka untuk Systems Manager. Untuk informasi tentang titik akhir VPC, lihat Meningkatkan keamanan instans EC2 dengan menggunakan titik akhir VPC untuk Systems Manager di Panduan Pengguna.AWS Systems Manager

  • Definisi tugas Anda harus menggunakan peran eksekusi tugas dengan izin tambahan untuk Secrets Manager. Untuk informasi selengkapnya, lihat Peran IAM eksekusi tugas Amazon ECS.

  • Untuk tugas Windows yang dikonfigurasi untuk menggunakan driver pencatatan awslogs, Anda juga harus mengatur variabel lingkungan ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE pada instans kontainer Anda. Gunakan sintaks berikut:

    <powershell> [Environment]::SetEnvironmentVariable("ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE", $TRUE, "Machine") Initialize-ECSAgent -Cluster <cluster name> -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]' </powershell>

Buat parameter Systems Manager

Anda dapat menggunakan konsol Systems Manager untuk membuat parameter Systems Manager Parameter Store untuk data sensitif Anda. Untuk informasi selengkapnya, lihat Membuat parameter Systems Manager (konsol) atau Membuat parameter Systems Manager (AWS CLI) di Panduan AWS Systems Manager Pengguna.

Tambahkan variabel lingkungan ke definisi wadah

Dalam definisi kontainer Anda dalam definisi tugas, tentukan secrets dengan nama variabel lingkungan yang akan disetel dalam wadah dan ARN lengkap dari parameter Systems Manager Parameter Store yang berisi data sensitif yang akan ditampilkan ke wadah. Untuk informasi selengkapnya, lihat secrets.

Berikut ini adalah cuplikan definisi tugas yang menunjukkan format saat mereferensikan parameter Systems Manager Parameter Store. Jika parameter Systems Manager Parameter Store ada di Region yang sama dengan tugas yang Anda luncurkan, maka Anda dapat menggunakan ARN lengkap atau nama parameter. Jika parameter ada di Wilayah yang berbeda, maka tentukan ARN lengkap.

{ "containerDefinitions": [{ "secrets": [{ "name": "environment_variable_name", "valueFrom": "arn:aws:ssm:region:aws_account_id:parameter/parameter_name" }] }] }

Untuk informasi tentang cara membuat definisi tugas dengan rahasia yang ditentukan dalam variabel lingkungan, lihatMembuat definisi tugas Amazon ECS menggunakan konsol.

Perbarui aplikasi Anda untuk mengambil rahasia Systems Manager Parameter Store secara terprogram

Untuk mengambil data sensitif yang disimpan dalam parameter Systems Manager Parameter Store, lihat Contoh kode untuk Systems Manager menggunakan AWS SDK di AWS SDK Code Examples Code Library.