ECS agent not available on Amazon ECS optimised AMI

0

AMI ID: amzn2-ami-ecs-hvm-2.0.20200115-x86_64-ebs (ami-03f05a4c7314d92be)
Symptom: from console, see attached file. When click on 'update agent' button, it came back with 'There is no update available for your container agent.'

SSH onto the EC2 Instance

$ sudo yum update -y ecs-init
Loaded plugins: priorities, update-motd, upgrade-helper
amzn2-core                                                                                                                                                                                                                                               | 2.4 kB  00:00:00     
No packages marked for update
[ec2-user@ip-10-215-20-34 ~]$ service docker restart && sudo start ecs
Redirecting to /bin/systemctl restart docker.service
Failed to restart docker.service: The name org.freedesktop.PolicyKit1 was not provided by any .service files
See system logs and 'systemctl status docker.service' for details.
[ec2-user@ip-10-215-20-34 ~]$ which ecs-init
/usr/bin/which: no ecs-init in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin:/home/ec2-user/bin)
[ec2-user@ip-10-215-20-34 ~]$ sudo docker -v
Docker version 18.09.9-ce, build 039a7df

So ecs-init is missing from this AMI
Ref: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/agent-update-ecs-ami.html
Ref: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-install.htmlw

Edited by: Nemoisme on Feb 12, 2020 5:15 AM
Edit for clarity and add references

已提問 4 年前檢視次數 668 次
1 個回答
0

AMI ID: amzn2-ami-ecs-hvm-2.0.20200115-x86_64-ebs (ami-03f05a4c7314d92be)
1.
I add this role 'AmazonEC2ContainerServiceforEC2Role' to the ECS Task Executioner (Cloud Formation ECS service stack). Delete and rerun create-stack

  TaskExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      Path: /
      AssumeRolePolicyDocument:
        Version: 2012-10-17
        Statement:
          - Action: sts:AssumeRole
            Effect: Allow
            Principal:
              Service: ecs-tasks.amazonaws.com
      ManagedPolicyArns:
        - arn:aws:iam::aws:policy/service-role/AmazonECSTaskExecutionRolePolicy
        - arn:aws:iam::aws:policy/service-role/AmazonEC2ContainerServiceforEC2Role

(ssh onto the instance, then)
2 install ecs and starts it
$ sudo amazon-linux-extras install -y ecs
$ sudo yum update -y ecs-init
Loaded plugins: priorities, update-motd, upgrade-helper
No packages marked for update
Note:
The way in https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-install.html to start ecs doesn't work for me.

$ service docker restart && sudo start ecs
sudo: start: command not found

3 Test launching tasks
From AWS ECS Console, I then manually launched new task like the one created & stopped by CF stack.

  1. The tasks stopped again.
    Task failed to start
    Nginx, webapp tasks does have any Cloud Watch Log. But mysql task does ping down to some settings problem, so I fixed it there.
已回答 4 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南