Bối rối bởi yêu cầu vai trò của ECS


13

Tôi đang cố gắng thiết lập một ECS nhưng cho đến nay tôi đã gặp phải một vài vấn đề về quyền mà tôi đã tạo ra một số câu hỏi trên diễn đàn này.

Tôi nghĩ rằng tôi bị mắc kẹt cho đến nay bởi vì thành thật mà nói tôi không thể tìm ra tất cả các yêu cầu vai trò này ở một nơi chính xác.

Có vẻ như tôi cần xác định ít nhất hai vai trò:

1) Container ECS http://docs.aws.amazon.com/AmazonECS/latest/developerguide/instance_IAM_role.html

2) Nhiệm vụ ECS http://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html#enable_task_iam_roles

Nó có đúng không?

Tôi đã bỏ lỡ bất cứ điều gì? Có yêu cầu IAM đặc biệt nào không?


Không rõ vấn đề là gì. Bạn có thể chỉnh sửa câu hỏi của bạn để bao gồm chi tiết cụ thể?
EEAA

Câu trả lời:


24

Vai trò cần thiết duy nhất là vai trò IAM Container Instance . Vai trò này cho phép tác nhân ECS (chạy trên phiên bản EC2 của bạn) giao tiếp với Amazon ECS.

Có năm vai trò khác mà bạn cũng có thể thấy hữu ích cho các mục đích khác nhau:

  • Vai trò được liên kết với dịch vụ ECS (SLR) - Vai trò này cho phép Amazon ECS quản lý nhiều loại tài nguyên AWS được liên kết với ứng dụng của bạn thay mặt bạn. Khi sử dụng Dịch vụ , vai trò này cho phép Amazon ECS quản lý bộ cân bằng tải (Bộ cân bằng tải cổ điển, Bộ cân bằng tải ứng dụng và Bộ cân bằng tải mạng) và khám phá dịch vụ (với Tuyến 53 ) được liên kết với dịch vụ của bạn. Khi sử dụng mạng tác vụ , vai trò này cho phép Amazon ECS đính kèm và tách Giao diện mạng đàn hồi (ENI) vào các tác vụ của bạn. Vai trò này là bắt buộc khi sử dụng AWS Fargate .
  • Vai trò IAM của Bộ lập lịch dịch vụ - Trước khi giới thiệu vai trò Liên kết dịch vụ ECS (SLR), vai trò này đã được sử dụng cùng với Dịch vụ để cho phép Amazon ECS quản lý bộ cân bằng tải được liên kết với dịch vụ của bạn. Nếu bạn muốn sử dụng Bộ cân bằng tải đàn hồi (cho dù là Bộ cân bằng tải cổ điển, Bộ cân bằng tải ứng dụng hoặc Bộ cân bằng tải mạng) với dịch vụ ECS của bạn, bạn có thể sử dụng vai trò này. Giờ đây, ECS SLR đã có sẵn, bạn có thể sử dụng một trong hai vai trò, nhưng bạn vẫn có thể muốn sử dụng vai trò này nếu bạn muốn hạn chế các quyền được cấp cho Amazon ECS để trang trải các tài nguyên cân bằng tải cụ thể.
  • Vai trò tự động mở rộng IAM - Vai trò này được sử dụng cùng với Dịch vụ và cho phép dịch vụ Tự động nhân rộng ứng dụng để chia tỷ lệ số lượng dịch vụ bạn muốn vào hoặc ra.
  • Vai trò Nhiệm vụ IAM - Vai trò này có thể được sử dụng với bất kỳ Nhiệm vụ nào (bao gồm cả Nhiệm vụ do Dịch vụ khởi chạy ). Vai trò này rất giống với hồ sơ cá thể EC2 , nhưng cho phép bạn liên kết các quyền với các Tác vụ riêng lẻ thay vì với đối tượng EC2 cơ bản đang lưu trữ các Tác vụ đó. Nếu bạn đang chạy một số ứng dụng khác nhau trên cụm ECS của mình với các quyền khác nhau được yêu cầu, bạn có thể sử dụng vai trò Nhiệm vụ IAM để cấp quyền cụ thể cho từng Tác vụ thay vì đảm bảo rằng mọi phiên bản EC2 trong cụm của bạn đều có bộ quyền kết hợp mà bất kỳ ứng dụng sẽ cần.
  • Vai trò thực thi tác vụ - Vai trò này được yêu cầu khi sử dụng AWS Fargate và thay thế vai trò IAM Container Instance , không khả dụng cho FARGATEloại khởi chạy. Vai trò này cho phép AWS Fargate lấy hình ảnh container của bạn từ Amazon ECR và chuyển tiếp nhật ký của bạn đến Nhật ký Amazon CloudWatch . Vai trò này cũng được sử dụng (trên cả hai loại khởi chạy Fargate và EC2) để cho phép xác thựcbí mật đăng ký riêng tư từ AWS Secrets Manager và AWS Systems Manager Parameter Store .

1

Ngoài lời giải thích rất hay về @ samuel-karp, hôm nay tôi gặp phải một vấn đề khi chuyển từ ELB cổ điển sang ALB kết hợp tùy chỉnh task_role_arncho các dịch vụ ECS.

Mặc dù tôi đã làm theo các hướng dẫn được mô tả đằng sau liên kết Task IAM role, Lỗi là

Không thể đảm nhận vai trò và xác thực mục tiêu được chỉ định. Vui lòng xác minh rằng vai trò dịch vụ ECS được thông qua có quyền thích hợp.

Điều này là dịch vụ dường như tự đăng ký tại bộ cân bằng tải. Nó chỉ hoạt động khi tôi trao đổi Hiệu trưởng từ ecs.amazonaws.comsang

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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.