日: 2019年11月12日

  • Unable to obtain Outpost ARN from EC2 Metadata: EC2MetadataError: failed to make EC2Metadata request

    Unable to obtain Outpost ARN from EC2 Metadata: EC2MetadataError: failed to make EC2Metadata request

    はじめに

    ECSで割り当てたEC2が、クラスタに参加できない場合の対処。

    What to do when EC2 assigned by ECS cannot join the cluster.

    tail -f  /var/log/ecs/ecs-agent.log.2019-11-12-04 
    
    2019-11-12T04:20:19Z [INFO] Restored from checkpoint file. I am running as 'arn:aws:ecs:ap-northeast-1:xxx:container-instance/xxx:container-4f04-xxx:container-9da7-xxx:container' in cluster 'account-web-ec2'
    2019-11-12T04:20:19Z [INFO] Remaining mem: 3885
    2019-11-12T04:20:19Z [ERROR] Unable to register as a container instance with ECS: ClientException: Referenced container instance xxx:container-4f04-xxx:container-9da7-xxx:container not registered.
    	status code: 400, request id: xxx:container-xxx:container-47a3-90a6-xxx:container
    2019-11-12T04:20:19Z [ERROR] Error re-registering: ClientException: Referenced container instance xxx:container-4f04-xxx:container-9da7-xxx:container not registered.
    	status code: 400, request id: ea19fb3f-06e3-47a3-90a6-xxx:container
    
    
    2019-11-12T04:20:35Z [INFO] Loading configuration
    2019-11-12T04:20:35Z [INFO] Image excluded from cleanup: amazon/amazon-ecs-agent:latest
    2019-11-12T04:20:35Z [INFO] Image excluded from cleanup: amazon/amazon-ecs-pause:0.1.0
    2019-11-12T04:20:35Z [INFO] Amazon ECS agent Version: 1.32.1, Commit: 4285f58f
    2019-11-12T04:20:35Z [INFO] Creating root ecs cgroup: /ecs
    2019-11-12T04:20:35Z [INFO] Creating cgroup /ecs
    2019-11-12T04:20:35Z [INFO] Loading state! module="statemanager"
    2019-11-12T04:20:35Z [INFO] Event stream ContainerChange start listening...
    2019-11-12T04:20:35Z [INFO] Restored cluster 'account-web-ec2'
    2019-11-12T04:20:35Z [WARN] Unable to obtain Outpost ARN from EC2 Metadata: EC2MetadataError: failed to make EC2Metadata request

    対処

    待てども待てどもクラスタに参加できない場合は、

    If you can’t join the cluster,

    “` /var/lib/ecs/data/ecs_agent_data.json “`

    を削除(もしくは退避)させることで、クラスタに参加できるようになる。
    成功すると以下の通りになる。

    By deleting (or evacuating), you can join the cluster.
    If successful output is below

     tail -f  /var/log/ecs/ecs-agent.log.2019-11-12-04 
    2019-11-12T04:25:31Z [INFO] Registration completed successfully. I am running as 'arn:aws:ecs:ap-northeast-1:xxxx:container-instance/xxxx-xxxx-xxxx-xxxx-xxxx' in cluster 'account-web-ec2'
    2019-11-12T04:25:31Z [INFO] Saving state! module="statemanager"
    2019-11-12T04:25:31Z [INFO] Beginning Polling for updates
    2019-11-12T04:25:31Z [INFO] Event stream DeregisterContainerInstance start listening...
    2019-11-12T04:25:31Z [INFO] Initializing stats engine

    参考情報

    https://dev.classmethod.jp/etc/ecsec2_cluster_failed/