Tiga IAM Role untuk ECS
Dalam kerangka kerja ECS, terdapat tiga role IAM utama yang menentukan bagaimana kontainer beroperasi. Setiap role ini memiliki tujuan yang unik dan digunakan pada tahap yang berbeda dalam siklus hidup kontainer.
IAM Role Instans Kontainer
Dalam konteks non-Fargate, role IAM ini diberikan kepada instans EC2 yang mendukung menjalankan kontainer. Hal ini ditentukan saat membuat kluster ECS. IAM Role Instans Kontainer memungkinkan instans EC2 yang mendasarinya untuk melakukan panggilan API ke layanan AWS lainnya.
Role Eksekusi Task
Role Eksekusi Task adalah role IAM yang memungkinkan ECS melakukan panggilan ke layanan lain atas nama Anda untuk mengelola resource aplikasi Anda. Role ini tidak digunakan oleh proses kontainer itu sendiri, tetapi oleh Agen ECS. Role ini memfasilitasi berbagai operasi, seperti menarik gambar kontainer dari ECR, membuat dan mengelola aliran log CloudWatch, dan mengambil nilai dari Secret Manager atau SSM Parameter Store. Harap diperhatikan bahwa ruang lingkup role ini dapat bervariasi tergantung pada jenis peluncuran, apakah EC2 atau Fargate.
Role Task
Role Task adalah role IAM lain yang digunakan oleh aplikasi yang diterkontainerisasi yang berjalan pada ECS. Role ini sering digunakan ketika aplikasi perlu berinteraksi dengan layanan AWS lainnya, seperti melakukan operasi pada file di S3 atau membaca dan menulis data dari DynamoDB. Berbeda dengan Role Eksekusi Task, perilaku Role Task tidak bervariasi berdasarkan jenis peluncuran.
Perbedaan Perilaku Berdasarkan Jenis Peluncuran
IAM Role untuk ECS dapat berperilaku berbeda tergantung pada jenis peluncuran yang dipilih, yaitu EC2 atau Fargate.
Jenis Peluncuran: EC2
-
IAM Role Instans Kontainer
Dalam konteks jenis peluncuran EC2, IAM Role Instans Kontainer utamanya memfasilitasi menarik gambar dari ECR saat task dimulai dan mengekspor log kontainer ke CloudWatchLogs. -
Role Eksekusi Task
Role Eksekusi Task dalam EC2 mencakup fungsi seperti otentikasi registri pribadi dan pengambilan rahasia. Hal ini memungkinkan pengambilan data rahasia dari Secrets Manager atau SSM Parameter Store dan mengaturnya sebagai variabel lingkungan. -
Role Task
Role Task digunakan untuk menjalankan semua panggilan API AWS yang diinisiasi dari aplikasi yang berjalan di dalam kontainer. Ini dapat mencakup operasi seperti manipulasi file di S3 atau membaca dan menulis data dari DynamoDB.
Jenis Peluncuran: Fargate
-
IAM Role Instans Kontainer
Untuk jenis peluncuran Fargate, tidak ada spesifikasi untuk IAM Role Instans Kontainer. -
Role Eksekusi Task
Role Eksekusi Task dalam Fargate memiliki tanggung jawab yang lebih luas, mencakup area yang biasanya ditangani oleh IAM Role Instans Kontainer dalam jenis peluncuran EC2. Ini termasuk menarik gambar dari ECR saat task dimulai, mengekspor log kontainer ke CloudWatchLogs, otentikasi registri pribadi, dan pengambilan rahasia. -
Role Task
Sama seperti jenis peluncuran EC2, Role Task dalam Fargate digunakan untuk menjalankan semua panggilan API AWS yang diinisiasi dari aplikasi yang berjalan di dalam kontainer.
Role Eksekusi Task dalam Fargate
Arsitektur serverless Fargate tidak memungkinkan Anda mengelola instans EC2 yang mendasarinya secara langsung. Hal ini berarti tanggung jawab yang biasanya ditaskkan kepada IAM Role Instans Kontainer dalam jenis peluncuran EC2 dialihkan ke Role Eksekusi Task dalam konteks Fargate.
Referensi