问题标签 [aws-app-mesh]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
367 浏览

amazon-web-services - 如何在不使用 AWS 容器的情况下创建服务网格?

我希望使用 gRPC 进行微服务通信。这些服务部署在 AWS ec2 实例上。我发现 ELB 并不能真正平衡 Http 2.0 流量的负载。我寻找替代方案并偶然发现了服务网格。由于 AWS 支持 App Mesh 使用 envoy 代理在微服务之间进行服务发现和负载平衡,我认为这将是实现负载平衡通信的正确解决方案。但是,我们没有使用容器,我想知道我们如何以 sidecar 模式部署代理来实现服务网格?除了服务网格之外,还有其他方法可以在服务之间进行负载平衡的 grpc 通信吗?

0 投票
0 回答
160 浏览

amazon-web-services - AWS App Mesh 跨区域服务通信

我可以使用 AWS App Mesh在位于不同 AWS 区域的 2 项服务之间实现通信吗?也许,意图本身是错误的(如果是,为什么?)但我在 AWS 方面的经验太少,无法理解。提前致谢。

0 投票
1 回答
405 浏览

amazon-web-services - 如何使用 AWS CDK 创建 AWS App Mesh

我正在尝试为(当前)9 个 .NET Core 微服务创建一个堆栈,以在 ECS Fargate 中运行并通过 App Mesh 相互通信。我计划创建一个基础设施堆栈,用于创建 App Mesh 资源和 ECS 集群,以及一个微服务堆栈,为每个服务创建资源并将它们添加到 App Mesh 和 ECS 集群。

我目前有这个代码:

这似乎没问题 - 它在 Route53 中创建了一个托管区域。

当我Service为 Cloud Map 创建时,我正在使用以下代码:

这是我第一次使用 App Mesh & Cloud Map,但我希望为 Cloud Map 命名空间和 Cloud Map Service 命名空间使用相同的私有托管区域。

这是正确的方法吗?

0 投票
1 回答
64 浏览

amazon-ecs - ECS 任务定义 App Mesh 虚拟节点名称未通过控制台设置

我正在创建一个使用 App Mesh 的任务定义。我正在尝试使用控制台设置虚拟名称。

UI 清楚地显示我可以选择虚拟节点名称。

设置虚拟节点名称

但是,在我创建新修订后,如果我从中创建一个修订,我会看到虚拟节点名称已空白。

缺少虚拟节点示例

这是有问题的,因为我的容器没有通过 ELB 健康检查,因为边车的行为不正常。

0 投票
1 回答
562 浏览

amazon-web-services - 我的应用程序如何发现 AWS App Mesh(具有动态端口的 ECS/Fargate)上的 *local* envoy sidecar 代理的地址/端口?

如果我在 AWS App Mesh / ECS(不是 Kubernetes)上运行 - 我的应用程序从哪里获取本地(它自己的)Envoy sidecar 的地址/端口,以便与网格上的其他服务进行通信?

鉴于这是 ECS (Fargate) 并且我正在使用动态端口运行,所以我不能调用例如 localhost:some_known_port_here。

所以,当我的应用程序运行时:

我的应用程序 (1) -> 本地特使边车 (2) -> 远程特使边车 (3) -> 远程应用程序 (4)

如何从 1 跳到 2?不知道那个地址来自哪里。

0 投票
1 回答
780 浏览

amazon-web-services - 如何使用 App Mesh 和 Cloud Map 在 ECS 服务之间发送 http 请求

我尝试做什么

我不能做什么

  • 当应用程序网关向应用程序后端发送 http 请求时,它会显示“ENOTFOUND”。(DNS 查找失败?)

细节

  • 我在同一个 VPC 下的 ECS 上有两个最小应用程序(应用程序网关和应用程序后端。用 Node.js 编写)。他们独立运行良好。
    • Envoy 代理由 ECS 控制台以默认配置注入。
  • 我定义了一个 App Mesh,它有一个到后端服务的路由器。
  • AWS Cloud Map 由 ECS 创建。似乎实例已在每个服务上正确注册。
  • 我使用 3000 作为除 ALB 之外的每个定义的侦听端口。(它使用 80。)

建筑学

ECS

  • mymesh(ECS 集群)
    • app-gateway(ECS服务。任务定义由envoy代理注入。)
    • app-backend(ECS服务。任务定义由envoy代理注入。)

AWS 应用网格

  • app-backend.mymesh.local(虚拟服务。provider=app-backend(虚拟路由器))
  • app-gateway.mymesh.local(虚拟服务。provider=app-gateway(虚拟节点))
  • app-backend(虚拟路由器。它有一条到 app-backend(虚拟节点)的路由。)
  • 应用后端(虚拟节点。服务发现=AWS 云地图,命名空间=mymesh.local,服务名称=应用后端)
  • app-gateway(虚拟节点。服务发现=AWS Cloud Map,命名空间=mymesh.local,服务名称=app-gateway,后端=app-backend.mymesh.local)

AWS 云地图

  • mymesh.local(命名空间)
    • app-backend (Service. 它有一个ECS注册的实例)
    • app-gateway (Service. 它有一个ECS注册的实例)

53 号公路

  • mymesh.local(私有主机区域。它与 VPC 关联。它是我在 ECS 上定义第一个服务时创建的。)
    • app-backend.mymesh.local(一条记录。值是ECS任务运行的IP地址。)
    • app-gateway.mymesh.local(一条记录。值是ECS任务运行的IP地址。)

ALB

  • app-gateway(app-gateway 服务的公共端点。它运行良好。)
    • app-gateway(目标组。目标由 ECS 注册。)

根据这个示例应用程序,我认为我可以通过app-backend.mymesh.local这样方式访问应用程序后端。但这会引发错误。

请告诉我是否应该提供更多细节。(我会通过文字或屏幕截图告诉他们。)

如何使用 App Mesh 在 ECS 服务之间成功发起 http 请求?

0 投票
1 回答
304 浏览

amazon-web-services - gRPC 状态码 16 - 我们计算的请求签名与您提供的签名不匹配

我正在设置 aws appmesh 并在每个特使代理的日志中看到此错误:

我在(ECS Fargate)上托管代理的计算资源附加了一个 IAM 角色,该角色arn:aws:iam::aws:policy/AWSAppMeshEnvoyAccess根据文档附加了策略。

我正在使用 aws 提供的特使图像:xxxx.dkr.ecr.region.amazonaws.com/aws-appmesh-envoy:v1.15.0.0-prod

任何帮助,将不胜感激!马特

0 投票
0 回答
277 浏览

spring-boot - 使用 EC2 在 AWS Appmesh 上部署 Spring Boot 微服务

我正在尝试使用 Appmesh 和 EC2 使用 Docker 部署 Spring Boot 微服务。我已经部署了两个示例微服务(https://github.com/amitgct/appmesh-hello),即:在单个 EC2 实例上使用 docker 的 caller-service 和被调用服务,并按照指南https://docs 相应地配置了 appmesh。 aws.amazon.com/app-mesh/latest/userguide/getting-started-ec2.html. 目前,我的应用程序正在 ec2 上运行,但它们无法相互通信,并且在从调用者服务(即未知主机)调用被调用服务时出错。谁能告诉我如何指定主机名并在 EC2 和 App 网格上向该主机注册服务。(注:我不想用kubernetes、ECS、AWS cloud map、AWS Route53)。如果能提供例子也非常感谢你。请帮忙。

0 投票
1 回答
387 浏览

amazon-web-services - AWS APP MESH ENVOY sidecar [错误] 无法从实例元数据中检索凭证列表

我将 AWS App Mesh 与 ECS Fargate 一起使用。不幸的是,在特使边车的日志中,我看到如下错误:

权限:AWSAppMeshFullAccess

我已经查看了AWS App Mesh 用户指南

0 投票
0 回答
72 浏览

amazon-web-services - 用于内部通信的 ECS 服务发现与 ECS App Mesh

我在 AWS ECS [ec2] 中设置了微服务。目前,容器通过面向公众的 ALB 进行通信。我想在他们之间建立内部沟通。

我正在考虑以下 ECS 内置选项,即

1. 应用网格

2.服务发现

我想知道哪个更好?