Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Migrasikan ARN layanan singkat Amazon ECS ke ARN yang panjang
Amazon ECS memberikan Nama Sumber Daya Amazon (ARN) unik untuk setiap layanan. Layanan yang dibuat sebelum 2021 memiliki format ARN pendek:
arn:aws:ecs:
region
:aws_account_id
:service/service-name
Amazon ECS mengubah format ARN untuk menyertakan nama cluster. Ini adalah format ARN yang panjang:
arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
Layanan Anda harus memiliki format ARN yang panjang untuk menandai layanan Anda.
Anda dapat memigrasikan layanan dengan format ARN pendek ke format ARN yang panjang tanpa harus membuat ulang layanan. Anda dapat menggunakan API, CLI, atau konsol. Anda tidak dapat membatalkan operasi migrasi.
Jika Anda ingin menggunakan AWS CloudFormation untuk menandai layanan dengan format ARN pendek, Anda harus memigrasikan layanan menggunakan API, CLI, atau konsol. Setelah migrasi selesai, Anda dapat menggunakan AWS CloudFormation untuk menandai layanan.
Jika Anda ingin menggunakan Terraform untuk menandai layanan dengan format ARN pendek, Anda harus memigrasikan layanan menggunakan API, CLI, atau konsol. Setelah migrasi selesai, Anda dapat menggunakan Terraform untuk menandai layanan.
Setelah migrasi selesai, layanan memiliki perubahan berikut:
-
Format ARN yang panjang
arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
-
Saat Anda bermigrasi menggunakan konsol, Amazon ECS menambahkan tag ke layanan dengan kunci disetel ke “ecs: serviceArnMigrated At” dan nilai yang disetel ke stempel waktu migrasi (format UTC).
Tag ini diperhitungkan dalam kuota tag Anda.
-
Ketika
PhysicalResourceId
dalam AWS CloudFormation tumpukan mewakili ARN layanan, nilainya tidak berubah dan akan terus menjadi ARN layanan singkat.
Prasyarat
Lakukan operasi berikut sebelum Anda memigrasikan layanan ARN.
-
Untuk melihat apakah Anda memiliki ARN layanan singkat, lihat detail layanan di konsol Amazon ECS (Anda melihat peringatan ketika layanan memiliki format ARN pendek), atau parameter pengembalian dari.
serviceARN
describe-services
Ketika ARN tidak menyertakan nama cluster, Anda memiliki ARN pendek. Berikut ini adalah format ARN pendek:arn:aws:ecs:
region
:aws_account_id
:service/service-name
-
Perhatikan yang dibuat pada tanggal.
Jika Anda memiliki kebijakan IAM yang menggunakan format ARN pendek, perbarui ke format ARN yang panjang.
Ganti masing-masing
user input placeholder
dengan informasi Anda sendiri.arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
Untuk informasi selengkapnya, lihat Mengedit kebijakan IAM di Panduan AWS Identity and Access Management Pengguna.
Jika Anda memiliki alat yang menggunakan format ARN pendek, perbarui ke format ARN yang panjang.
Ganti masing-masing
user input placeholder
dengan informasi Anda sendiri.arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
-
Aktifkan format ARN panjang layanan. Jalankan
put-account-setting
denganserviceLongArnFormat
opsi yang disetel keenabled
. Untuk informasi selengkapnya, lihat, put-account-settingdi Referensi API Amazon Elastic Container Service.Jalankan perintah sebagai pengguna root ketika layanan Anda memiliki
createdAt
tanggal yang tidak diketahui.aws ecs put-account-setting --name serviceLongArnFormat --value enabled
Contoh Output
{ "setting": { "name": "serviceLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::
123456789012:role/your-role
", "type": user } } -
Aktifkan format ARN tugas yang panjang. Ini memungkinkan tugas yang berjalan sebagai bagian dari layanan memiliki format ARN yang panjang. Jalankan
put-account-setting
dengantaskLongArnFormat
opsi yang disetel keenabled
. Untuk informasi selengkapnya, lihat, put-account-settingdi Referensi API Amazon Elastic Container Service.Jalankan perintah sebagai pengguna root ketika layanan Anda memiliki
createdAt
tanggal yang tidak diketahui.aws ecs put-account-setting --name taskLongArnFormat --value enabled
Contoh Output
{ "setting": { "name": "taskLongArnFormat", "value": "enabled", "principalArn": "arn:aws:iam::
123456789012:role/your-role
", "type": user } }
Prosedur
Gunakan yang berikut ini untuk memigrasikan ARN layanan Anda.
Buka konsol di https://console.aws.amazon.com/ecs/v2
. -
Pada halaman Clusters, pilih cluster.
-
Di bagian Layanan, pilih layanan yang memiliki peringatan di kolom ARN.
Halaman detail layanan muncul.
-
Pilih Migrasi ke ARN panjang.
Kotak dialog Migrasi layanan muncul.
-
Pilih Migrasikan.
Setelah Anda menyelesaikan prasyarat, Anda dapat menandai layanan Anda. Jalankan perintah berikut:
Amazon ECS mempertimbangkan untuk meneruskan format ARN panjang dalam tag-resource
permintaan API untuk layanan dengan ARN pendek sebagai sinyal untuk memigrasikan layanan untuk menggunakan format ARN yang panjang.
aws ecs tag-resource \ --resource-arn arn:aws:ecs:
region
:aws_account_id
:service/cluster-name
/service-name
--tags key=key1
,value=value1
Contoh tag berikut MyService dengan tag yang memiliki kunci disetel ke "TestService" dan nilai yang disetel ke "WebServers:
aws ecs tag-resource \ --resource-arn arn:aws:ecs:us-east-1:123456789012:service/MyCluster/MyService --tags key=TestService1,value=WebServers
Setelah Anda menyelesaikan prasyarat, Anda dapat menandai layanan Anda. Buat aws_ecs_service
sumber daya dan atur tags
referensi. Untuk informasi selengkapnya, lihat Resource: aws_ecs_service
resource "aws_ecs_service" "MyService" { name = "example" cluster = aws_ecs_cluster.MyService.id tags = { "Name" = "MyService" "Environment" = "Production" "Department" = "QualityAssurance" } }
Langkah selanjutnya
Anda dapat menambahkan tag ke layanan. Untuk informasi selengkapnya, lihat Menambahkan tag ke sumber daya Amazon ECS.
Jika Anda ingin Amazon ECS menyebarkan tag dari definisi tugas atau layanan ke tugas, jalankan update-service
dengan parameter. propagateTags
Untuk informasi selengkapnya, lihat update-service di Referensi. AWS Command Line Interface
Pemecahan Masalah
Beberapa pengguna mungkin mengalami kesalahan berikut saat mereka bermigrasi dari format ARN pendek ke format ARN yang panjang.
There was an error while migrating the ARN of service
service-name
. The specified account does not have
serviceLongArnFormat or taskLongArnFormat account settings enabled. Add account
settings in order to enable tagging.
Jika Anda telah mengaktifkan pengaturan serviceLongArnFormat
akun tetapi masih mengalami kesalahan ini, mungkin karena pengaturan akun untuk format ARN yang panjang belum diaktifkan untuk prinsipal IAM tertentu yang awalnya membuat layanan.
-
Identifikasi kepala sekolah yang menciptakan layanan.
Di konsol, informasi tersedia di bidang Dibuat oleh di tab Konfigurasi dan jaringan pada halaman Detail layanan di konsol Amazon ECS.
Untuk AWS CLI, jalankan perintah berikut:
Ganti
user-input
dengan nilai-nilai Anda.aws ecs describe-services --cluster
cluster-name
--servicesservice-name
--query 'services[0].{createdBy: createdBy}'
-
Aktifkan pengaturan akun yang diperlukan untuk prinsipal tertentu. Anda dapat melakukannya dengan salah satu cara berikut:
-
Asumsikan pengguna IAM atau peran untuk prinsipal itu. Lalu lari
put-account-setting
. -
Gunakan pengguna root untuk menjalankan perintah sambil menentukan prinsip pembuatan dengan.
principal-arn
Contoh
Ganti
principal-arn
dengan nilai dari Langkah 1.aws ecs put-account-setting --name serviceLongArnFormat --value enabled --principal-arn
arn:aws:iam::123456789012:role/jdoe
-
Kedua metode mengaktifkan pengaturan serviceLongArnFormat
akun yang diperlukan pada prinsipal yang membuat layanan, yang memungkinkan migrasi ARN untuk melanjutkan.