本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Envoy 镜像
AWS App Mesh 是基于 Envo y
您必须将 Envoy 代理添加到亚马逊ECS任务、Kubernetes 容器或由您的 App Mesh 终端节点表示的亚马逊EC2实例(例如虚拟节点或虚拟网关)。App Mesh 出售了一个 Envoy 代理容器镜像,该镜像已修补了最新的漏洞和性能更新。在向你提供新图像之前,App Mesh 会根据 App Mesh 功能集测试每个新的 Envoy 代理版本。
特使图像变体
App Mesh 提供了 Envoy 代理容器镜像的两种变体。两者的区别在于 Envoy 代理如何与 App Mesh 数据平面进行通信,以及 Envoy 代理如何相互通信。一个是标准映像,它与标准 App Mesh 服务端点通信。另一种变体是FIPS兼容的,它与 App Mesh FIPS 服务端点通信,并在 App Mesh 服务之间的通信中强制TLS使用FIPS加密。
您可以从下面的列表中选择一个地区镜像,也可以从我们的公共存储库aws-appmesh-envoy
的镜像。
重要
-
从 2023 年 6 月 30 日起,只有 Envoy 镜像
v1.17.2.0-prod
或更高版本可以与 App Mesh 兼容。对于之前使用 Envoy 镜像的当前客户v1.17.2.0
,尽管现有的 envoy 将继续兼容,但我们强烈建议迁移到最新版本。 -
作为最佳实践,强烈建议定期将 Envoy 版本升级到最新版本。只有最新的 Envoy 版本经过最新安全补丁、功能发布和性能改进的验证。
-
版本
1.17
是对 Envoy 的重大更新。有关更多详细信息,请参阅更新/迁移到 Envoy 1.17。 -
可兼容版本
1.20.0.1
或更高版本ARM64
。 -
如需
IPv6
支持,需要 Envoy 版本1.20
或更高版本。
- 除
me-south-1
、ap-east-1
、ap-southeast-3
、eu-south-1
、il-central-1
和af-south-1
之外的所有受支持地区。你可以更换Region-code
与me-south-1
、、、ap-east-1
ap-southeast-3
eu-south-1
il-central-1
、和以外的任何区域af-south-1
。 -
Standard
840364872350.dkr.ecr.
region-code
.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prodFIPS-符合
840364872350.dkr.ecr.
region-code
.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod-fips me-south-1
-
Standard
772975370895.dkr.ecr.me-south-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod
FIPS-符合
772975370895.dkr.ecr.me-south-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod-fips
ap-east-1
-
Standard
856666278305.dkr.ecr.ap-east-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod
FIPS-符合
856666278305.dkr.ecr.ap-east-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod-fips
ap-southeast-3
-
Standard
909464085924.dkr.ecr.ap-southeast-3.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod
FIPS-符合
909464085924.dkr.ecr.ap-southeast-3.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod-fips
eu-south-1
-
Standard
422531588944.dkr.ecr.eu-south-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod
FIPS-符合
422531588944.dkr.ecr.eu-south-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod-fips
il-central-1
-
Standard
564877687649.dkr.ecr.il-central-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod
FIPS-符合
564877687649.dkr.ecr.il-central-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod-fips
af-south-1
-
Standard
924023996002.dkr.ecr.af-south-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod
FIPS-符合
924023996002.dkr.ecr.af-south-1.amazonaws.com/aws-appmesh-envoy:v1.29.6.1-prod-fips
Public repository
-
Standard
public.ecr.aws/appmesh/aws-appmesh-envoy:v1.29.6.1-prod
FIPS-符合
public.ecr.aws/appmesh/aws-appmesh-envoy:v1.29.6.1-prod-fips
注意
我们建议为 Envoy 容器分配 512 个CPU单元和至少 64 MiB 的内存。Fargate 上可设置的最小内存为 1024 MiB。如果容器洞察或其他指标表明由于负载增加而导致资源不足,则可以增加对 Envoy 容器的资源分配。
注意
从 v1.22.0.0
开始的所有 aws-appmesh-envoy
镜像发布版本都是作为 Distroless Docker 映像构建的。我们进行此项更改是为了缩小映像尺寸并降低映像中未使用的软件包中存在的漏洞暴露风险。如果你在 aws-appmesh-envoy 镜像之上构建,并且依赖一些AL2基础包(例如 yum)和功能,那么我们建议你从镜像内部复制二进制文件,用基础构建一个新的 Docker aws-appmesh-envoy
镜像。AL2
运行此脚本生成带有标签的自定义的 Docker 映像 aws-appmesh-envoy:v1.22.0.0-prod-al2:
cat << EOF > Dockerfile FROM public.ecr.aws/appmesh/aws-appmesh-envoy:v1.22.0.0-prod as envoy FROM public.ecr.aws/amazonlinux/amazonlinux:2 RUN yum -y update && \ yum clean all && \ rm -rf /var/cache/yum COPY --from=envoy /usr/bin/envoy /usr/bin/envoy COPY --from=envoy /usr/bin/agent /usr/bin/agent COPY --from=envoy /aws_appmesh_aggregate_stats.wasm /aws_appmesh_aggregate_stats.wasm CMD [ "/usr/bin/agent" ] EOF docker build -f Dockerfile -t aws-appmesh-envoy:v1.22.0.0-prod-al2 .
在 Amazon ECR 中访问此容器图片的权限由 AWS Identity and Access Management (IAM) 控制。因此,您必须使用IAM来验证您是否拥有对 Amazon 的读取权限ECR。例如,在使用 Amazon 时ECS,您可以为亚马逊任务分配适当的ECS任务执行角色。如果您使用限制访问特定 Amazon ECR 资源的IAM政策,请务必确认您允许访问标识aws-appmesh-envoy
存储库的特定区域的 Amazon 资源名称 (ARN)。例如,在 us-west-2
地区,您允许访问以下资源:arn:aws:ecr:us-west-2:840364872350:repository/aws-appmesh-envoy
。有关更多信息,请参阅 Amazon ECR 托管政策。如果您在亚马逊EC2实例上使用 Docker,请向存储库对 Docker 进行身份验证。有关更多信息,请参阅注册表身份验证。
我们偶尔会发布新的 App Mesh 功能,这些功能依赖于 Envoy 的更改,这些更改尚未合并到上游 Envoy 镜像中。要在上游合并 Envoy 变更之前使用这些新的 App Mesh 功能,您必须使用 App Mesh 提供的 Envoy 容器镜像。有关变更列表,请参阅 App Mesh GitHub 路线图中与Envoy Upstream
标签有关的问题