Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan gambar AWS non-kontainer di Amazon ECS
Gunakan registri pribadi untuk menyimpan kredensyal Anda AWS Secrets Manager, dan kemudian mereferensikannya dalam definisi tugas Anda. Ini menyediakan cara untuk mereferensikan gambar kontainer yang ada di pendaftar pribadi di luar AWS yang memerlukan otentikasi dalam definisi tugas Anda. Fitur ini didukung oleh tugas yang dihosting di Fargate, EC2 instans Amazon, dan instans eksternal menggunakan Amazon ECS Anywhere.
penting
Jika definisi tugas Anda mereferensikan gambar yang disimpan di Amazon ECR, topik ini tidak berlaku. Untuk informasi selengkapnya, lihat Menggunakan Gambar Amazon ECR dengan Amazon ECS di Panduan Pengguna Amazon Elastic Container Registry.
Untuk tugas yang dihosting di EC2 instans Amazon, fitur ini memerlukan versi 1.19.0
atau yang lebih baru dari agen penampung. Akan tetapi, kami merekomendasikan untuk menggunakan versi agen kontainer terbaru. Untuk informasi tentang cara memeriksa versi agen Anda dan memperbarui ke versi terbaru, lihatMemperbarui agen kontainer Amazon ECS.
Untuk tugas yang dihosting di Fargate, fitur ini memerlukan versi platform 1.2.0
atau yang lebih baru. Untuk informasi, lihat Versi platform Fargate untuk Amazon ECS.
Dalam definisi kontainer Anda, tentukan repositoryCredentials
objek dengan detail rahasia yang Anda buat. Rahasia yang direferensikan dapat berasal dari akun yang berbeda Wilayah AWS atau berbeda dari tugas yang menggunakannya.
catatan
Saat menggunakan Amazon ECS API, AWS CLI, atau AWS SDK, jika rahasia ada Wilayah AWS sama dengan tugas yang Anda luncurkan maka Anda dapat menggunakan ARN lengkap atau nama rahasia. Jika rahasia ada di akun yang berbeda, ARN penuh rahasia harus ditentukan. Saat menggunakan AWS Management Console, ARN penuh rahasia harus ditentukan selalu.
Berikut ini adalah cuplikan definisi tugas yang menunjukkan parameter yang diperlukan:
Gantikan parameter berikut:
-
private-repo
dengan nama host repositori pribadi -
private-image
dengan nama gambar arn:aws:secretsmanager:region:aws_account_id:secret:secret_name
dengan nama sumber daya Amazon rahasia (ARN)
"containerDefinitions": [ { "image": "
private-repo/private-image
", "repositoryCredentials": { "credentialsParameter": "arn:aws:secretsmanager:region:aws_account_id:secret:secret_name
" } } ]
catatan
Metode lain untuk mengaktifkan otentikasi registri pribadi menggunakan variabel lingkungan agen penampung Amazon ECS untuk mengautentikasi ke pendaftar pribadi. Metode ini hanya didukung untuk tugas yang dihosting di EC2 instans Amazon. Untuk informasi selengkapnya, lihat Mengonfigurasi instans penampung Amazon ECS untuk gambar Docker pribadi .
Untuk menggunakan registri pribadi
-
Definisi tugas harus memiliki peran eksekusi tugas. Hal ini mengizinkan agen kontainer untuk menarik citra kontainer. Untuk informasi selengkapnya, lihat Peran IAM eksekusi tugas Amazon ECS.
Autentikasi registri pribadi memungkinkan tugas Amazon ECS Anda menarik gambar kontainer dari pendaftar pribadi di luar AWS (seperti Docker Hub, Quay.io, atau registri pribadi Anda sendiri) yang memerlukan kredensyal otentikasi. Fitur ini menggunakan Secrets Manager untuk menyimpan kredensyal registri Anda dengan aman, yang kemudian direferensikan dalam definisi tugas Anda menggunakan parameter.
repositoryCredentials
Untuk informasi selengkapnya tentang mengonfigurasi autentikasi registri pribadi, lihat Menggunakan gambar AWS non-kontainer di Amazon ECS.
Untuk menyediakan akses ke rahasia yang berisi kredensyal registri pribadi Anda, tambahkan izin berikut sebagai kebijakan inline ke peran eksekusi tugas. Untuk informasi selengkapnya, lihat Menambahkan dan Menghapus Kebijakan IAM.
-
secretsmanager:GetSecretValue
—Diperlukan untuk mengambil kredensi registri pribadi dari Secrets Manager. -
kms:Decrypt
—Wajib hanya jika rahasia Anda menggunakan kunci KMS khusus dan bukan kunci default. Nama Sumber Daya Amazon (ARN) untuk kunci kustom Anda harus ditambahkan sebagai sumber daya.
Berikut ini adalah contoh kebijakan inline yang menambahkan izin.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kms:Decrypt", "secretsmanager:GetSecretValue" ], "Resource": [ "arn:aws:secretsmanager:<region>:<aws_account_id>:secret:secret_name", "arn:aws:kms:<region>:<aws_account_id>:key/key_id" ] } ] }
-
-
Gunakan AWS Secrets Manager untuk membuat rahasia untuk kredensyal registri pribadi Anda. Untuk informasi tentang cara membuat rahasia, lihat Membuat AWS Secrets Manager rahasia di Panduan AWS Secrets Manager Pengguna.
Masukkan kredensyal registri pribadi Anda menggunakan format berikut:
{ "username" : "
privateRegistryUsername
", "password" : "privateRegistryPassword
" } -
Mendaftarkan ketentuan tugas. Untuk informasi selengkapnya, lihat Membuat definisi tugas Amazon ECS menggunakan konsol.