アプリケーショントレースデータを使用して Amazon ECS 最適化の機会を特定する - Amazon Elastic Container Service

アプリケーショントレースデータを使用して Amazon ECS 最適化の機会を特定する

Amazon ECS は OpenTelemetry 用 AWS Distro と統合して、アプリケーションからトレースデータを収集します。Amazon ECS は OpenTelemetry サイドカーコンテナ用の AWS Distroを使用して、トレースデータを収集し、AWS X-Ray にルーティングします。詳細については、「Amazon ECS の OpenTelemetry Collector 用 AWS Distro の設定」を参照してください。そして、AWS X-Ray を使用してエラーや例外の特定、パフォーマンスのボトルネックや応答時間の分析を行うことができます。

OpenTelemetry Collector 用 AWS Distro がトレースデータを AWS X-Ray に送信するため、アプリケーションがトレースデータを作成できるように設定する必要があります。詳細については、「AWS X-Rayデベロッパーガイド」の「AWS X-Ray用にアプリケーションを計測する」を参照してください。

AWS X-Ray を使用した AWS Distro for OpenTelemetry の統合に必要な IAM 権限

Amazon ECS と OpenTelemetry 用 AWS Distro の統合には、タスク用 IAM ロールを作成し、タスク定義でロールを指定する必要があります。OpenTelemetry サイドカー用 AWS Distro サイドカーを、CloudWatch ログに対するルートコンテナログにも構成することをお勧めします。これには、タスク実行 IAM ロールを作成して、タスク定義でも指定する必要があります。Amazon ECS コンソールは、ユーザーに代わってタスク実行 IAM ロールを処理しますが、タスク IAM ロールは手動で作成する必要があります。タスク実行用の IAM ロールを作成する方法の詳細については、「Amazon ECS タスク実行IAM ロール」を参照してください。

重要

アプリケーションメトリクスの収集に、AWS Distro for OpenTelemetry の統合も使用している場合は、タスク用の IAM ロールに対してその統合に必要な権限も含まれていることを確認してください。詳細については、「アプリケーションメトリクスを使用して Amazon ECS アプリケーションのパフォーマンスを相関させる」を参照してください。

Elastic Container Service のサービスロールを作成するには (IAM コンソール)
  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. IAM コンソールのナビゲーションペインで、[ロール]、[ロールを作成] を選択します。

  3. 信頼できるエンティティタイプ で、AWS のサービス を選択します。

  4. [サービスまたはユースケース][エラスティックコンテナサービス] を選択し、次に [エラスティックコンテナのサービスタスク] を選択します。

  5. [Next] を選択します。

  6. [アクセス許可を追加] セクションで [AWSDistroOpenTelemetryPolicyForXray] を検索し、そのポリシーを選択します。

  7. (オプション) アクセス許可の境界を設定します。このアドバンスド機能は、サービスロールで使用できますが、サービスにリンクされたロールではありません。

    1. [アクセス許可の境界の設定] セクションを開き、[アクセス許可の境界を使用してロールのアクセス許可の上限を設定する] を選択します。

      IAM には、アカウント内の AWS 管理ポリシーとカスタマー管理ポリシーのリストがあります。

    2. アクセス許可の境界として使用するポリシーを選択します。

  8. [Next] を選択します。

  9. このロールの目的を識別しやすいロール名またはロール名サフィックスを入力します。

    重要

    ロールに名前を付けるときは、次のことに注意してください。

    • ロール名は AWS アカウント内で一意である必要があります。ただし、大文字と小文字は区別されません。

      例えば、PRODROLEprodrole の両方の名前でロールを作成することはできません。ロール名がポリシーまたは ARN の一部として使用される場合、ロール名は大文字と小文字が区別されます。ただし、サインインプロセスなど、コンソールにロール名がユーザーに表示される場合、ロール名は大文字と小文字が区別されません。

    • 他のエンティティがロールを参照する可能性があるため、ロールを作成した後にロール名を編集することはできません。

  10. (オプション) [説明] にロールの説明を入力します。

  11. (オプション) ロールのユースケースとアクセス許可を編集するには、[ステップ 1: 信頼されたエンティティを選択] または [ステップ 2: アクセス権限を追加] のセクションで [編集] を選択します。

  12. (オプション) ロールの識別、整理、検索を簡単にするには、キーと値のペアとしてタグを追加します。IAM でのタグの使用に関する詳細については、『IAM ユーザーガイド』の「IAM リソースにタグを付ける」を参照してください。

  13. ロールを確認したら、[Create role] (ロールを作成) を選択します。