我需要为windows容器启用任务角色。我的集群是通过ECS控制台启动的:
AMI: UserData (更改为通过ECS控制台创建的原始数据):
<powershell>
[Environment]::SetEnvironmentVariable("ECS_ENABLE_TASK_IAM_ROLE", $TRUE, "Machine")
[Environment]::SetEnvironmentVariable("ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST", $TRUE, "Machine")
Initialize-ECSAgent -Cluster cluster -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]'
</powershell>EC2角色:全面管理
安全组:所有TCP开放
ECS代理日志:
创建
代理凭据规则: 2021-01-14T11:16:56Z -INFO:防火墙规则找到。名称值?指向入站LocalPort 51679 DisplayName允许入站端口51679协议TCP动作允许2021-01-14T11:16:56Z -INFO:防火墙规则找到。名称值?操作允许DisplayName允许入站169.254.170.2:80 LocalPort 80方向入站LocalAddress 169.254.170.2协议TCP 2021-01-14T11:17:01Z - INFO:netsh接口端口代理显示所有2021-01-14T11:17:01Z - INFO: 2021-01-14T11:17:01Z -INFO:设置新的ipv4接口代理转发流量.2021-01-14T11:17:01Z - INFO: 169.254.170.2:80 2021-01-14T11:17:01Z - INFO: 127.0.0.1:51679 2021-01-14T11:17:01Z - INFO: 2021-01-14T11:17:01Z -INFO:检查端口转发2021-01-14T11:17:04Z - INFO:netsh接口端口代理显示所有2021-01-14T11:17:04Z - INFO: 2021-01-14T11:17:04Z -信息:收听ipv4:连接到ipv4: 2021-01-14T11:17:04Z - INFO: 2021-01-14T11:17:04Z -INFO:地址端口2021-01-14T11:172021-01-14T11:17:04Z - INFO:ECS主机安装完成。2021-01-14T11:17:04Z -INFO:创建初始化-ECSHostReboot ScheduledTask 2021-01-14T11:17:05Z -INFO:ECSHostReboot已创建。2021-01-14T11:17:05Z -INFO:任务IAM角色已启用。将AmazonECS服务启动更改为手动。
故障排除命令:
Command: netsh interface portproxy show all
Listen on ipv4: Connect to ipv4:
Address Port Address Port
--------------- ---------- --------------- ----------
169.254.170.2 80 127.0.0.1 51679
Command: netstat -an | select-string 169.254.170.2
TCP 169.254.170.2:80 0.0.0.0:0 LISTENING
Command: ping 169.254.170.2
Pinging 169.254.170.2 with 32 bytes of data:
Reply from 169.254.170.2: bytes=32 time<1ms TTL=128
Reply from 169.254.170.2: bytes=32 time<1ms TTL=128
Reply from 169.254.170.2: bytes=32 time<1ms TTL=128预期行为:我的ECS实例获取属性:com.amazonaws.ecs.capability.Task-能够运行任务
观察到的行为:ECS实例不获取属性。
如有任何帮助,敬请见谅。
非常感谢
发布于 2021-01-14 16:53:56
经过更多的研究后,我运行了aws列表- attribute,我注意到com.amazonaws.ecs.capability.Task-iam-角色是ok的,属性缺失的是ecs.capability.Execution-角色-awslog,并且使用ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE envonriment变量修正了de问题。
https://stackoverflow.com/questions/65718975
复制相似问题