AWS CloudTrail による Amazon Lex API コールのモニタリング - Amazon Lex V1

Amazon Lex V2 を使用している場合は、代わりに Amazon Lex V2 ガイドを参照してください。

 

Amazon Lex V1 を使用している場合は、ボットを Amazon Lex V2 にアップグレードすることをお勧めします。V1 には新機能を追加されませんので、すべての新しいボットには V2 を使用することを強くお勧めします。

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

AWS CloudTrail による Amazon Lex API コールのモニタリング

Amazon Lex は、AWS CloudTrail と統合されています。これは、Amazon Lex のユーザー、ロール、または AWS のサービスで実行されたアクションを記録するためのサービスです。CloudTrail は、Amazon Lex コンソールからの呼び出しと Amazon Lex API へのコード呼び出しを含む、Amazon Lex の API コールのサブセットをイベントとしてキャプチャします。証跡を作成する場合は、Amazon Lex のイベントなど、Amazon S3 バケットへの CloudTrail イベントの継続的な配信を有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの [Event history] (イベント履歴) で最新のイベントを表示できます。CloudTrail で収集された情報を使用して、Amazon Lex に対するリクエスト、リクエスト元の IP アドレス、リクエスト者、リクエスト日時などの詳細を確認できます。

設定や有効化の方法など、CloudTrail の詳細については、「AWS CloudTrail ユーザーガイド」を参照してください。

CloudTrail 内の Amazon Lex 情報

AWS アカウントを作成すると、そのアカウントに対して CloudTrail が有効になります。Amazon Lexでサポートされているイベントアクティビティが発生すると、そのアクティビティは [Event history] (イベント履歴) の他の AWS のサービスのイベントとともに CloudTrail イベントに記録されます。最近のイベントは、AWS アカウントで表示、検索、ダウンロードできます。詳細については、「Viewing Events with CloudTrail Event History」(CloudTrail イベント履歴でのイベントの表示) を参照してください。

Amazon Lex のイベントなど、AWS アカウントのイベントを継続的に記録するには、証跡を作成します。証跡により、CloudTrail はログファイルを Amazon Simple Storage Service (Amazon S3) バケットに配信できます。デフォルトでは、コンソールで作成した証跡がすべての AWS リージョンに適用されます。証跡では、AWS パーティションのすべてのリージョンからのイベントがログに記録され、指定した S3 バケットにログファイルが配信されます。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づく対応するためにその他の AWS のサービスを設定できます。詳細については、次を参照してください。

Amazon Lex は、CloudTrail ログファイルのイベントとして以下のオペレーションのログ付けをサポートします。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。この情報は以下のことを確認するのに役立ちます:

  • リクエストが、ルートと ユーザー認証情報のどちらを使用して送信されたか

  • リクエストが、ロールとフェデレーティッドユーザーのどちらの一時的なセキュリティ認証情報を使用して送信されたか

  • リクエストが、別の AWS のサービスによって送信されたかどうか

詳細については、CloudTrail userIdentity エレメントを参照してください。

CloudTrail ログに記録される Amazon Lex アクションの詳細については、「Amazon Lex Model·Building·Service」を参照してください。例えば PutBotGetBot、の各 DeleteBot オペレーションへのコールは、CloudTrail ログファイル内にエントリを生成します。「Amazon Lex Runtime Service」、「PostContent」、「PostText」に記載されているアクションはログに記録されません。

例: Amazon Lex ログファイルのエントリ

証跡は、指定した S3 バケットにイベントをログファイルとして配信するように設定できます。CloudTrail ログファイルには、1 つ以上のログエントリがあります。イベントはあらゆるソースからの単一のリクエストを表し、リクエストされたアクション、アクションの日時、リクエストのパラメータなどの情報が含まれます。CloudTrail ログファイルは、公開 API コールの順序付けられたスタックトレースではないため、特定の順序では表示されません。

次の CloudTrail ログエントリの例は、PutBot オペレーションへの呼び出しの結果を示しています。

{ "eventVersion": "1.05", "userIdentity": { "type": "AssumedRole | FederatedUser | IAMUser | Root | SAMLUser | WebIdentityUser", "principalId": "principal ID", "arn": "ARN", "accountId": "account ID", "accessKeyId": "access key ID", "userName": "user name" }, "eventTime": "timestamp", "eventSource": "lex.amazonaws.com", "eventName": "PutBot", "awsRegion": "region", "sourceIPAddress": "source IP address", "userAgent": "user agent", "requestParameters": { "name": "CloudTrailBot", "intents": [ { "intentVersion": "11", "intentName": "TestCloudTrail" } ], "voiceId": "Salli", "childDirected": false, "locale": "en-US", "idleSessionTTLInSeconds": 500, "processBehavior": "BUILD", "description": "CloudTrail test bot", "clarificationPrompt": { "messages": [ { "contentType": "PlainText", "content": "I didn't understand you. What would you like to do?" } ], "maxAttempts": 2 }, "abortStatement": { "messages": [ { "contentType": "PlainText", "content": "Sorry. I'm not able to assist at this time." } ] } }, "responseElements": { "voiceId": "Salli", "locale": "en-US", "childDirected": false, "abortStatement": { "messages": [ { "contentType": "PlainText", "content": "Sorry. I'm not able to assist at this time." } ] }, "status": "BUILDING", "createdDate": "timestamp", "lastUpdatedDate": "timestamp", "idleSessionTTLInSeconds": 500, "intents": [ { "intentVersion": "11", "intentName": "TestCloudTrail" } ], "clarificationPrompt": { "messages": [ { "contentType": "PlainText", "content": "I didn't understand you. What would you like to do?" } ], "maxAttempts": 2 }, "version": "$LATEST", "description": "CloudTrail test bot", "checksum": "checksum", "name": "CloudTrailBot" }, "requestID": "request ID", "eventID": "event ID", "eventType": "AwsApiCall", "recipientAccountId": "account ID" } }