分析 Amazon ECS 应用程序 - AWS X-Ray
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

分析 Amazon ECS 应用程序

xray-ecs 分支中,Scorekeep 示例应用程序演示如何检测在 Amazon Elastic Container Service (Amazon ECS) 中运行的应用程序。分支提供脚本和配置文件,用于在 AWS Elastic Beanstalk 的多容器 Docker 环境中创建、上传和运行 Docker 映像。

该项目包括三个 Dockerfile,用于为 API、前端和 X-Ray 守护程序组件定义容器映像。

  • /Dockerfile – Scorekeep API。

  • /scorekeep-frontend/Dockerfile – Angular Web 应用程序客户端,以及路由传入流量的 nginx 代理。

  • /xray-daemon/Dockerfile – X-Ray 守护程序。

X-Ray 守护程序 Dockerfile 根据运行 X-Ray 守护程序的 Amazon Linux 创建映像。在 Docker Hub 上下载完整的示例映像

例 Dockerfile – Amazon Linux

FROM amazonlinux RUN yum install -y unzip RUN curl -o daemon.zip https://s3.us-east-2.amazonaws.com/aws-xray-assets.us-east-2/xray-daemon/aws-xray-daemon-linux-3.x.zip RUN unzip daemon.zip && cp xray /usr/bin/xray ENTRYPOINT ["/usr/bin/xray", "-t", "0.0.0.0:2000", "-b", "0.0.0.0:2000"] EXPOSE 2000/udp EXPOSE 2000/tcp

同一目录中的 makefile 定义用于构建映像、将映像上传到 Amazon ECR 以及本地运行映像的命令。

要在 Amazon ECS 上运行容器,分支中需要包括生成 Dockerrun.aws.json 文件的脚本,您可以将该文件部署到 Elastic Beanstalk 中的多容器 Docker 环境。脚本使用的模板演示如何编写任务定义,以配置 Amazon ECS 中的容器之间的联网

注意

Dockerrun.aws.json 是 Amazon ECS 任务定义文件的 Elastic Beanstalk 版本。如果您不想使用 Elastic Beanstalk 创建 Amazon ECS 集群,可以修改 Dockerrun.aws.json 文件,从文件中移除 AWSEBDockerrunVersion 键,这样该文件就可以直接在 Amazon ECS 上运行。

有关如何将 Scorekeep 部署到 Amazon ECS 的说明,请参阅分支 README