AWS X-Ray サンプルアプリケーション - AWS X-Ray

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

AWS X-Ray サンプルアプリケーション

GitHub で入手できるAWSX-Rayeb-java-scorekeepサンプルアプリはAWSX-Ray、受信 HTTP 呼び出しDynamoDB、SDK クライアント、および HTTP クライアントを計測する SDK の使用方法を示しています。このサンプルアプリケーションでは、AWS Elastic Beanstalk 機能を使用して DynamoDB テーブルを作成し、Java コードをオンインスタンスでコンパイルして、設定を追加せずに X-Ray デーモンを実行します。


      Scorekeep は AWS X-Ray SDK を使用して、受信 HTTP 呼び出しDynamoDB SDK クライアント、および HTTP クライアントを計測します。

このサンプルは、AWSLabs にある Scorekeep プロジェクトの計測済みバージョンです。これには、フロントエンドのウェブアプリ、それが呼び出す API、データの保存に使用する DynamoDB テーブルが含まれています。移植しやすくデプロイが簡単なように、コンポーネントはすべて Elastic Beanstalk 環境でホストされます。

フィルタプラグイン実装された AWS SDK クライアントを使用した基本的な計測は、プロジェクトの xray-gettingstarted ブランチに表示されます。これは、入門ガイドチュートリアルでデプロイするブランチです。このブランチには基本情報しか含まれていないので、master ブランチと比較すると、基本をすばやく理解できます。

同じアプリケーションで、次のファイルの基本計測も説明します。

アプリケーションの xray ブランチは、HTTPClient注釈SQL クエリカスタムサブセグメント、実装された AWS Lambda 関数、および実装された初期化コードとスクリプトの使用を追加します。 このサービスマップは、接続された SQL データベースなしで実行されている xray ブランチを示しています。

ブラウザでのユーザーログインと AWS SDK for JavaScript の使用をサポートするため、xray-cognito ブランチは Amazon Cognito を追加してユーザーの認証と許可をサポートします。また、Amazon Cognito から認証情報を取得すると、ウェブアプリケーションはトレースデータを X-Ray に送信してクライアントの観点からリクエスト情報を記録します。ブラウザクライアントは、サービスマップ上に独自のノードとして表示され、ユーザーが表示しているページの URL やユーザーの ID などの追加情報を記録します。

最後に、xray-worker ブランチは、個別に実行され、Lambda キューの項目を処理する、実装された Python Amazon SQS 関数を追加します。Scorekeep は、ゲームが終了するたびに項目をキューに追加します。Lambda によりトリガーされる CloudWatch イベント ワーカーは、数分ごとにキューから項目を取得し、それらの項目を処理して分析のためにゲームレコードを Amazon S3 に保存します。

すべての機能が有効になっている場合、Scorekeep のサービップマップは次のようになります。

X-Ray でサンプルアプリケーションを使用する手順については、「入門チュートリアル」を参照してください。チュートリアルで説明されている X-Ray SDK for Java の基本的な使用方法に加えて、サンプルでは次の機能の使用方法も説明しています。