ECS'nin rol gereksinimi ile karıştırılmıyor


14

Bir ECS kurmaya çalışıyorum, ancak şu ana kadar bu forumda bazı sorular oluşturduğum birkaç izin sorunu ile karşılaştım.

Sanırım şu ana kadar sıkışıp kaldım çünkü dürüst olmak gerekirse tüm bu rol gerekliliklerini kısaca bulamıyorum.

En az iki rol tanımlamam gerekiyor gibi görünüyor:

1) ECS kapsayıcısı http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html

2) ECS görevi http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles

Doğru mu?

Bir şey kaçırdım mı? Özel bir IAM gereksinimi var mı?


Sorunun ne olduğu belli değil. Sorunuzu ayrıntıları içerecek şekilde düzenleyebilir misiniz?
EEAA

Yanıtlar:


26

Gereken tek rol, Kapsayıcı Örneği IAM rolüdür . Bu rol ECS aracısının (EC2 yönetim ortamınızda çalışan) Amazon ECS ile iletişim kurmasına izin verir.

Farklı amaçlar için de faydalı bulabileceğiniz beş rol daha vardır:

  • ECS Hizmetine Bağlı rol (SLR) - Bu rol, Amazon ECS'nin sizin adınıza uygulamanızla ilişkili çeşitli AWS kaynaklarını yönetmesini sağlar. Bir Hizmet kullanırken , bu rol Amazon ECS'nin hizmetinizle ilişkili yük dengeleyicisini (Klasik Yük Dengeleyiciler, Uygulama Yük Dengeleyiciler ve Ağ Yük Dengeleyiciler) ve hizmet keşfini ( Route 53 ile ) yönetmesine olanak tanır . Görev ağını kullanırken , bu rol Amazon ECS'nin görevlerinize Elastik Ağ Arabirimleri (ENI) eklemesine ve ayırmasına izin verir . Bu rol AWS Fargate kullanılırken gereklidir .
  • Hizmet Zamanlayıcı IAM rolü - ECS Hizmetine Bağlı rolün (SLR) kullanılmasından önce, bu rol Amazon ECS'nin hizmetinizle ilişkili yük dengeleyicisini yönetmesini sağlamak için bir Hizmetle birlikte kullanıldı . ECS hizmetinizle birlikte bir Elastik Yük Dengeleyici (Klasik Yük Dengeleyici, Uygulama Yük Dengeleyici veya Ağ Yük Dengeleyici) kullanmak istiyorsanız, bu rolü kullanabilirsiniz. Artık ECS SLR kullanılabilir olduğundan, iki rolden birini kullanabilirsiniz, ancak belirli yük dengeleyici kaynaklarını kapsamak için Amazon ECS'ye verilen izinleri kısıtlamak istiyorsanız bu rolü kullanmak isteyebilirsiniz.
  • Otomatik Ölçekleme IAM rolü - Bu rol bir Hizmet ile birlikte kullanılır ve Uygulama Otomatik Ölçeklendirme hizmetinin Hizmetinizin istenen sayısını içeri veya dışarı ölçeklendirmesini sağlar.
  • Görev IAM rolü - Bu rol herhangi bir Görevle (bir Hizmet tarafından başlatılan Görevler dahil ) kullanılabilir. Bu rol, bir EC2 yönetim ortamı profiline çok benzer , ancak izinleri, bu Görevleri barındıran temel EC2 yönetim ortamıyla değil, tek tek Görevlerle ilişkilendirmenize olanak tanır. ECS kümenizde farklı izinler gerektiren bir dizi farklı uygulama çalıştırıyorsanız, kümenizdeki her EC2 örneğinin herhangi bir izin kümesine sahip olmasını sağlamak yerine, her Görev için belirli izinler vermek üzere Görev IAM rolünü kullanabilirsiniz. uygulama gerekir.
  • Görev yürütme rolü - Bu rol AWS Fargate kullanılırken gereklidir ve başlatma türü için kullanılamayan Kapsayıcı Örneği IAM rolünün yerini alır FARGATE. Bu rol AWS Fargate adresinin konteyner görüntüleri çekmeye olanak Amazon ECR ve sizin günlükleri iletmek için Amazon CloudWatch Günlükleri . Bu rol, AWS Secrets Manager ve AWS Systems Manager Parameter Store'dan özel kayıt kimlik doğrulamasını ve sırlarını etkinleştirmek için (hem Fargate hem de EC2 başlatma türlerinde) kullanılır .

1

@ Samuel-karp'ın bu çok iyi açıklamasına ek olarak, bugün klasik ELB'den ALS'ye geçiş yaparken task_role_arnECS hizmetleri için özel kombinasyonda bir sorunla karşılaştım .

Bağlantının arkasında açıklanan talimatları izlememe rağmen Task IAM role, Hata

Rol alınamıyor ve belirtilen targetGroupArn doğrulanamıyor. Lütfen aktarılan ECS hizmet rolünün uygun izinlere sahip olduğunu doğrulayın.

Mesele, hizmetin yük dengeleyicisinde kendini kaydetmiş gibi görünmesidir. Sadece Müdür ecs.amazonaws.comile

"Principal": { "Service": "ecs-tasks.amazonaws.com" }

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.