我正在使用X-Ray Daemon with Fargate.不幸的是,在守护进程的日志中,我看到如下错误:
[错误]发送段批失败,原因为:无凭据提供程序:链中没有有效的提供程序。已弃用。有关详细消息传递,请参阅aws.Config.CredentialsChainVerboseErrors警告]将发送其他批延迟0秒
AWS X射线与IAM配合使用:权限:AWSXray完全访问
我已经查过了:
- https://github.com/aws-samples/aws-xray-fargate
- https://docs.amazonaws.cn/en_us/xray/latest/devguide/xray-guide.pdf
{
"name" : "xray-daemon",
"image" : "amazon/aws-xray-daemon",
"user" : "1337",
"essential" : true,
"cpu" : "32",
"memoryReservation" : "256",
"portMappings" : [
{
"containerPort" : 2000,
"protocol" : "udp"
}
]
}
],
"requiresCompatibilities" : [ "FARGATE" ],
"taskRoleArn" : "arn:aws:iam::123456789012:role/ecsTaskRole",
"executionRoleArn" : "arn:aws:iam::123456789012:role/ecsTaskExecutionRole",
"networkMode" : "awsvpc"
}
3条答案
按热度按时间s8vozzvw1#
您应该检查您的角色权限角色,我在执行& taskRoleArn时使用了相同的角色。我的角色包含这些策略
且还检查角色信任关系。我使用了:
hjqgdpho2#
当我的X射线守护程序版本较旧时,出现此错误。
如果X射线守护程序在ECS上运行,请按照以下指导更新X射线守护程序:
https://docs.aws.amazon.com/xray/latest/devguide/xray-daemon-ecs.html
yebdmbv43#
XRay守护程序缺少通过XRay服务器进行身份验证所需的凭据。可以通过多种方式将凭据传递给XRay守护程序,但最常用的方式是:
1.通过环境变量AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY
1.通过~/.aws/凭证文件(请参阅https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)
我猜第一个选择对fargate来说会更容易。
当然,您需要在IAM中生成密钥,请参阅:https://docs.aws.amazon.com/powershell/latest/userguide/pstools-appendix-sign-up.html
您将为其创建访问密钥的用户需要具有使用XRay的权限(AWSXrayFullAccess应该具有)。