amazon-web-services - AWS APP MESH ENVOY sidecar [错误] 无法从实例元数据中检索凭证列表
问题描述
我将 AWS App Mesh 与 ECS Fargate 一起使用。不幸的是,在特使边车的日志中,我看到如下错误:
[error][aws] [source/extensions/common/aws/credentials_provider_impl.cc:94] Could not retrieve credentials listing from the instance metadata
[1][warning][config] [bazel-out/k8-opt/bin/source/common/config/_virtual_includes/grpc_stream_lib/common/config/grpc_stream.h:93] StreamAggregatedResources gRPC config stream closed: 16, Missing Authentication Token
权限:AWSAppMeshFullAccess
我已经查看了AWS App Mesh 用户指南
{
"name" : "envoy",
"image" : "840364872350.dkr.ecr.us-west-2.amazonaws.com/aws-appmeshenvoy:v1.15.1.0-prod",
"essential" : true,
"environment" : [
{
"name" : "APPMESH_VIRTUAL_NODE_NAME",
"value" : "mesh/apps/virtualNode/serviceB"
},
{
"name": "ENABLE_ENVOY_XRAY_TRACING",
"value": "1"
}
],
"healthCheck" : {
"command" : [
"CMD-SHELL",
"curl -s http://localhost:9901/server_info | grep state | grep -q LIVE"
],
"interval" : 5,
"retries" : 3,
"startPeriod" : 10,
"timeout" : 2
},
"memory" : "500",
"user" : "1337",
"portMappings": [
{
"containerPort": 9901,
"protocol": "tcp"
},
{
"containerPort": 15000,
"protocol": "tcp"
},
{
"containerPort": 15001,
"protocol": "tcp"
}
],
"ulimits": [
{
"softLimit": 15000,
"hardLimit": 15000,
"name": "nofile"
}
],
"requiresCompatibilities" : [ "FARGATE" ],
"taskRoleArn" : "arn:aws:iam::XXXXXXXXXXXX:role/ecsTaskRole",
"executionRoleArn" : "arn:aws:iam::XXXXXXXXXXXX:role/ecsTaskExecutionRole",
"networkMode" : "awsvpc"
}
解决方案
您是否为 ECS 任务配置了代理配置以忽略元数据 IP?
它类似于这个
proxy_configuration=ecs.AppMeshProxyConfiguration(
container_name='envoy',
properties=ecs.AppMeshProxyConfigurationProps(
app_ports=[80],
proxy_egress_port=15001,
proxy_ingress_port=15000,
ignored_uid=1337,
egress_ignored_i_ps=[
'169.254.170.2', '169.254.169.254'
]
)
)
推荐阅读
- c# - 如何将 Serilog 添加到我的单元测试的服务集合中
- c++ - 如何在程序启动时自动隐式创建类的实例?
- reactjs - 如何将 React Material ui Link 与 React Router Link 集成
- laravel - 在 axios 方法提交成功结果后重定向
- c# - 通过 double 往返 DateTime 而不会损失精度
- python - 如何从单词的开头删除任意数量的非字母符号?
- java - 如何在 Java 中使用 Makefile 编译指定目标?
- python - 变量未在函数内部定义
- razor - C# Razor 页面 - 在 _Layout 中包含 @section 脚本(点网核心)
- javascript - 在 XPage 中使用 jsSha