2017-12-25 114 views
5

Tôi đang cố gắng thiết lập tác vụ theo lịch với ECS Fargate nhưng tôi không thể hiểu tại sao nó không chạy. Tôi có thể xác nhận nhiệm vụ hoạt động chính xác bằng cách sử dụng RunTask nhưng khi tôi cố gắng kích hoạt nó trên một lịch trình tất cả tôi nhận được là một loạt các 'FailedInvocations' không có lời giải thích.ECS Fargate Task Scheduled không chạy

Tôi biết rằng quy tắc đang được kích hoạt nên đây là một dấu hiệu tốt. Xem ảnh chụp màn hình dưới đây:

enter image description here

Nhưng mọi lúc nó được kích hoạt có chỉ là một 'FailedInvocation'. Dưới đây là các quy tắc lập kế hoạch:

enter image description here

Và các điều khoản mặc định trên ecsEventRole chỉ với ecs:runTask:

enter image description here

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "ecs:RunTask" 
      ], 
      "Resource": [ 
       "*" 
      ] 
     } 
    ] 
} 

linh cảm của tôi nói rằng ecsEventsRole này không có đủ quyền truy cập. Tôi có nên cố gắng cho nó những cái mà ecsTaskExecutionRole có?

Cảm ơn

+0

Bất kỳ bản cập nhật? Tôi đang ở chính xác cùng một chỗ và bị mắc kẹt –

+0

Không. Tôi vẫn bị mắc kẹt: (Dựa trên tất cả các lựa chọn – coolboyjules

+2

Tôi đã nói chuyện với AWS hỗ trợ, nó chưa được hỗ trợ. Không ETA –

Trả lời

0

Dưới đây là một cách giải quyết có thể: sử dụng một hàm lambda như mục tiêu cho sự cai trị cloudwatch và tạo ra các nhiệm vụ trong các mã chức năng lambda.

Dưới đây là một ví dụ mã cho hàm lambda: https://lobster1234.github.io/2017/12/03/run-tasks-with-aws-fargate-and-lambda/

Các liên kết mô tả cách đóng gói phiên bản boto mới với chức năng lambda nhưng điều này là không cần thiết nữa kể từ AWS đã được cập nhật phiên bản lambda boto đến 1,4 .8

Tôi đã thử nghiệm và hoạt động.

0

Tôi đã gặp phải sự cố tương tự khi Công việc theo lịch ECS thông thường không hoạt động.

cuối cùng tôi giải quyết nó bằng cách thêm một chính sách bổ sung để ecsEventsRole mà cho phép CloudWatch kiện để vượt qua vai trò IAM để ECS Nhiệm vụ:

{ 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
      "Effect": "Allow", 
      "Action": [ 
       "iam:ListInstanceProfiles", 
       "iam:ListRoles", 
       "iam:PassRole" 
      ], 
      "Resource": "*" 
     } 
    ] 
} 
Các vấn đề liên quan