トランザクション検索の有効化 - Amazon CloudWatch

トランザクション検索の有効化

コンソールまたは API を使用して トランザクション検索 を有効にできます。トランザクション検索はアカウント全体に対して設定され、X-Ray を通じたすべてのスパンの取り込みを、Amazon CloudWatch 料金表を適用したコスト効率の高い収集モードに切り替えます。デフォルトでは、分析用のトレース概要として、取り込まれたスパンの 1% についても無料でインデックス作成されますが、トランザクション検索を通じて取り込まれたすべてのスパンに対してエンドツーエンドの完全なトレース可視性が得られていることを考えると、通常は十分であると言えます。

コンソールでのトランザクション検索の有効化

次の手順では、コンソールでトランザクション検索を有効にする方法について説明します。

CloudWatch コンソールでトランザクション検索を有効にするには
  1. CloudWatch コンソールの https://console.aws.amazon.com/cloudwatch/ を開いてください。

  2. ナビゲーションペインの [Application Signals] で、[トランザクション検索] を選択します。

  3. [トランザクション検索の有効化] を選択します。

  4. 構造化ログとしてスパンを取り込むボックスを選択し、インデックスを作成するスパンの割合を入力します。無料で span の 1% をインデックス作成できます。パーセンテージは、要件に応じて後で変更できます。

API を使用してトランザクション検索を有効にする

次の手順では、API を使用してトランザクション検索を有効にする方法について説明します。

ステップ 1. CloudWatch Logs でスパンを取り込むアクセスを許可するポリシーを作成する

AWS CLI または SDK を使用してトランザクション検索を有効にする場合は、PutResourcePolicy でリソースベースのポリシーを使用してアクセス許可を設定する必要があります。

ポリシーの例

次のポリシー例では、X-Ray が CloudWatch Logs にトレースを送信することを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TransactionSearchXRayAccess", "Effect": "Allow", "Principal": { "Service": "xray.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": [ "arn:partition:logs:region:account-id:log-group:aws/spans:*", "arn:partition:logs:region:account-id:log-group:/aws/application-signals/data:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:xray:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ] }
コマンドの例

次の例は、PutResourcePolicy を使用して AWS CLI コマンドをフォーマットする方法を示しています。

aws logs put-resource-policy --policy-name MyResourcePolicy --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "TransactionSearchXRayAccess", "Effect": "Allow", "Principal": { "Service": "xray.amazonaws.com" }, "Action": "logs:PutLogEvents", "Resource": [ "arn:partition:logs:region:account-id:log-group:aws/spans:*", "arn:partition:logs:region:account-id:log-group:/aws/application-signals/data:*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:logs:region:account-id:*" }, "StringEquals": { "aws:SourceAccount": "account-id" } } } ]}'

ステップ 2. トレースセグメントの送信先を設定する

UpdateTraceSegmentDestination を使用してスパンの取り込みを設定します。

コマンドの例

次の例は、UpdateTraceSegmentDestination を使用して AWS CLI コマンドをフォーマットする方法を示しています。

aws xray update-trace-segment-destination --destination CloudWatchLogs

ステップ 3. インデックスを作成するスパンの量を設定する

UpdateIndexingRule で必要なサンプリングの割合を設定する

コマンドの例

次の例は、UpdateIndexingRule を使用して AWS CLI コマンドをフォーマットする方法を示しています。

aws xray update-indexing-rule --name "Default" --rule '{"Probabilistic": {"DesiredSamplingPercentage": number}}'
注記

トランザクション検索を有効にすると、スパンが検索と分析に使用できるようになるまでに 10 分かかる場合があります。

ステップ 4. スパンが検索と分析に使用できることを確認する

スパンが検索と分析に使用できることを確認するには、GetTraceSegmentDestination を使用します。

コマンドの例

次の例は、GetTraceSegmentDestination を使用して AWS CLI コマンドをフォーマットする方法を示しています。

aws xray get-trace-segment-destination
レスポンスの例

次の例は、トランザクション検索がアクティブの場合に予想されるレスポンスを示しています。

{ "Destination": "CloudWatchLogs", "Status": "ACTIVE" }