AWS X-Ray
開発者ガイド

Amazon ECS アプリケーションの作成

xray-ecs ブランチで、Scorekeep サンプルアプリケーションは、Amazon Elastic Container Service (Amazon ECS) で動作するアプリケーションを作成する方法を示しています。ブランチでは、AWS Elastic Beanstalk のマルチコンテナの Docker 環境で Docker イメージを作成、アップロード、実行するためのスクリプトと設定ファイルが提供されています。

このプロジェクトには、API、フロントエンド、および X-Ray デーモンコンポーネント用のコンテナイメージを定義する 3 つの Dockerfiles が含まれています。

  • /Dockerfile – Scorekeep API。

  • /scorekeep-frontend/Dockerfile – Angular ウェブアプリケーションクライアント、および着信トラフィックをルーティングする 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.dualstack.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 でコンテナを実行するために、ブランチには、Elastic Beanstalk でマルチコンテナの Docker 環境にデプロイできる Dockerrun.aws.json ファイルを生成するスクリプトが含まれています。スクリプトが使用するテンプレートは、Amazon ECS のコンテナ間のネットワークを構成するタスク定義を記述する方法を示しています。

注記

Dockerrun.aws.json は、Amazon ECS タスク定義ファイルの Elastic Beanstalk バージョンです。Elastic Beanstalk を使用して Amazon ECS クラスターを作成しない場合は、ファイルから AWSEBDockerrunVersion キーを削除して、Amazon ECS 上で直接実行するように Dockerrun.aws.json ファイルを変更できます。

Scorekeep を Amazon ECS にデプロイする方法については、ブランチの README を参照してください。