

サポート終了通知: 2025 年 9 月 15 日、 AWS は Amazon Lex V1 のサポートを終了します。 V1 2025 年 9 月 15 日を過ぎると、Amazon Lex V1 コンソールまたは Amazon Lex V1 リソースにはアクセスできなくなります。Amazon Lex V2 を使用している場合は、代わりに [Amazon Lex V2 ガイド](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html)を参照してください。

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

# 会話ログ


*会話ログ*を有効にして、ボットとのやりとりを保存します。これらのログを使用して、ボットのパフォーマンスを確認し、会話に関する問題のトラブルシューティングを行うことができます。[PostText](API_runtime_PostText.md) オペレーションのテキストをログに記録できます。[PostContent](API_runtime_PostContent.md) オペレーションのテキストとオーディオの両方を記録できます。会話ログを有効にすると、ユーザーとボットとの会話の詳細ビューが表示されます。

例えば、ボットとのセッションにはセッション ID があります。この ID を使用して、ユーザー発話および対応するボットの応答を含む会話の文字起こしを取得できます。また、発話のインテント名やスロット値などのメタデータも取得します。

**注記**  
児童オンラインプライバシー保護法 (COPPA) の対象となるボットでは、会話ログを使用することはできません。

会話ログは、エイリアスに対して設定されます。各エイリアスで、テキストログとオーディオログに対して異なる設定を使用できます。テキストログ、オーディオログ、またはその両方をエイリアスごとに有効にできます。テキストログでは、テキスト入力、オーディオ入力の書き起こし、および関連するメタデータが CloudWatch Logs に保存されます。オーディオログは、Amazon S3 にオーディオ入力を保存します。 AWS KMS カスタマー管理の CMKs を使用して、テキストログとオーディオログの暗号化を有効にできます。

ログ記録を設定するには、コンソールまたは [PutBotAlias](API_PutBotAlias.md) オペレーションを使用します。ボットの `$LATEST` エイリアス、または Amazon Lex コンソールで利用可能なテストボットの会話をログに記録することはできません。エイリアスの会話ログを有効にすると、[PostContent](API_runtime_PostContent.md)、またはそのエイリアスの [PostText](API_runtime_PostText.md) オペレーションが、設定された CloudWatch Logs ロググループまたは S3 バケット内のテキストまたは音声発話をログに記録します。

**Topics**
+ [

# 会話ログの IAM ポリシー
](conversation-logs-policies.md)
+ [

# 会話ログの設定
](conversation-logs-configure.md)
+ [

# 会話ログの暗号化
](conversation-logs-encrypting.md)
+ [

# Amazon CloudWatch Logs のテキストログの表示
](conversation-logs-cw.md)
+ [

# Amazon S3 のオーディオログへのアクセス
](conversation-logs-s3.md)
+ [

# CloudWatch メトリクスを使用した会話ログのステータスのモニタリング
](conversation-logs-monitoring.md)

# 会話ログの IAM ポリシー


選択したログ記録のタイプに応じて、Amazon Lex には、ログを保存するために Amazon CloudWatch Logs と Amazon Simple Storage Service (S3) バケットを使用するアクセス許可が必要です。Amazon Lex がこれらのリソースにアクセスできるようにするには、 AWS Identity and Access Management ロールとアクセス許可を作成する必要があります。

## 会話ログ用の IAM ロールとポリシーの作成


会話ログを有効にするには、CloudWatch Logs および Amazon S3 の書き込み権限を付与する必要があります。S3 オブジェクトのオブジェクト暗号化を有効にする場合は、オブジェクトの暗号化に使用される AWS KMS キーへのアクセス許可を付与する必要があります。

IAM AWS マネジメントコンソール、IAM API、または を使用して AWS Command Line Interface 、ロールとポリシーを作成できます。これらの手順では AWS CLI 、 を使用してロールとポリシーを作成します。コンソールを使用しての ポリシーの作成の詳細については、*「AWS Identity and Access Management User Guide」*(AWS Identity and Access Management ユーザーガイド) の[「Creating policies on the JSON tab」](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor)(JSON タブでポリシーを作成する) を参照してください。

**注記**  
次のコードは、Linux と MacOS 用にフォーマットされています。Windows の場合、Linux 行連結記号 (\$1) をキャレット (^) に置き換えます。



**会話ログの IAM ロールを作成するには**

1. **LexConversationLogsAssumeRolePolicyDocument.json** という現在のディレクトリにドキュメントを作成し、次のコードを追加して保存します。このポリシードキュメントは、信頼されたエンティティとしてロールに Amazon Lex を追加します。これにより、Lex は、会話ログ用に設定されたリソースにログを配信するロールを引き受けることができます。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "lex.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. で AWS CLI、次のコマンドを実行して、会話ログの IAM ロールを作成します。

   ```
   aws iam create-role \
       --role-name role-name \
       --assume-role-policy-document file://LexConversationLogsAssumeRolePolicyDocument.json
   ```

次に、Amazon Lex が CloudWatch Logs に書き込むことができるロールにポリシーを作成し、アタッチします。

**会話テキストを CloudWatch Logs にログ記録するための IAM ポリシーを作成するには**

1. **LexConversationLogsCloudWatchLogsPolicy.json** という現在のディレクトリにドキュメントを作成し、次の IAM ポリシーを追加して保存します。

1. で AWS CLI、CloudWatch Logs ロググループに書き込みアクセス許可を付与する IAM ポリシーを作成します。

   ```
   aws iam create-policy \
       --policy-name cloudwatch-policy-name \
       --policy-document file://LexConversationLogsCloudWatchLogsPolicy.json
   ```

1. 会話ログ用に作成した IAM ロールにポリシーをアタッチします。

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/cloudwatch-policy-name \
       --role-name role-name
   ```

オーディオを S3 バケットにログ記録する場合は、Amazon Lex がバケットに書き込むことを可能にするポリシーを作成します。

**S3 バケットへのオーディオログ記録のための IAM ポリシーを作成するには**

1. **LexConversationLogsS3Policy.json** という現在のディレクトリにドキュメントを作成し、次のポリシーを追加して保存します。

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
             "Effect": "Allow",
             "Action": [
                 "s3:PutObject"
             ],
             "Resource": "arn:aws:s3:::bucket-name/*"
         }
     ]
   }
   ```

------

1. で AWS CLI、S3 バケットへの書き込みアクセス許可を付与する IAM ポリシーを作成します。

   ```
   aws iam create-policy \
       --policy-name s3-policy-name \
       --policy-document file://LexConversationLogsS3Policy.json
   ```

1. 会話ログ用に作成したロールにポリシーをアタッチします。

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/s3-policy-name \
       --role-name role-name
   ```

## IAM ロールを渡すアクセス許可の付与


コンソール、、 AWS Command Line Interfaceまたは AWS SDK を使用して会話ログに使用する IAM ロールを指定する場合、会話ログ IAM ロールを指定するユーザーには、ロールを Amazon Lex に渡すアクセス許可が必要です。ユーザーが Amazon Lex サービスにロールを渡すには、ユーザー、ロール、またはグループに `PassRole` アクセス許可を付与する必要があります。

次のポリシーは、ユーザー、ロール、またはグループに付与するアクセス許可を定義します。`iam:AssociatedResourceArn` 条件キーと `iam:PassedToService` 条件キーを使用して、アクセス許可の範囲を制限できます。詳細については、[「 ユーザーガイド」の AWS 「 サービスにロールを渡すアクセス許可をユーザーに付与](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html)する」および[「IAM および AWS STS 条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html)」を参照してください。 *AWS Identity and Access Management *

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role-name",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "lex.amazonaws.com"
                },
                "StringLike": {
                    "iam:AssociatedResourceARN": "arn:aws:lex:region:123456789012:bot:bot-name:bot-alias"
                }
            }
        }
    ]
}
```

------

# 会話ログの設定


会話ログを有効または無効にするには、コンソールまたは `PutBotAlias` オペレーションの `conversationLogs` フィールドを使用します。オーディオログ、テキストログ、またはその両方をオンまたはオフにできます。新しいボットセッションでログ記録が開始されます。ログ設定への変更は、アクティブなセッションでは反映されません。

テキストログを保存するには、 AWS アカウントで Amazon CloudWatch Logs ロググループを使用します。任意の有効なロググループを使用できます。ロググループは、Amazon Lex ボットと同じリージョンに存在する必要があります。CloudWatch Logs ロググループの詳細については、*「Amazon CloudWatch Logs User Guide」*(Amazon CloudWatch Logs ユーザーガイド) の[「Working with Log Groups and Log Streams」](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)(ロググループとログストリームの使用) を参照してください。

オーディオログを保存するには、 AWS アカウントで Amazon S3 バケットを使用します。任意の有効な S3 バケットを使用できます。バケットは Amazon Lex ボットと同じリージョンにある必要があります。S3 バケットの作成の詳細については、*「Amazon Simple Storage Service Getting Started Guide」*(Amazon Simple Storage Service 入門ガイド) の[「Create a Bucket」](https://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html)(バケットの作成) を参照してください。

設定済みのロググループまたはバケットへの Amazon Lex による書き込みを有効にするポリシーのある IAM ロールを指定する必要があります。詳細については、「[会話ログ用の IAM ロールとポリシーの作成](conversation-logs-policies.md#conversation-logs-role-and-policy)」を参照してください。

を使用してサービスにリンクされたロールを作成する場合は AWS Command Line Interface、次のように `custom-suffix`オプションを使用してロールにカスタムサフィックスを追加する必要があります。

```
aws iam create-service-linked-role \
    --aws-service-name lex.amazon.aws.com \
    --custom-suffix suffix
```

会話ログを有効にするために使用する IAM ロールには、`iam:PassRole` アクセス許可が必要です。以下のポリシーをロールにアタッチする必要があります。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::111122223333:role/role"
        }
    ]
}
```

------

## 会話ログの有効化


**コンソールを使用してログを有効にするには**

1. Amazon Lex コンソール ([https://console.aws.amazon.com/lex](https://console.aws.amazon.com/lex)) を開きます。

1. リストからボットを選択します。

1. **[Settings]** (設定) タブを選択し、左側のメニューから **[Conversation logs]** (会話ログ) を選択します。

1. エイリアスのリストで、会話ログを設定するエイリアスの設定アイコンを選択します。

1. テキスト、オーディオ、またはその両方をログに記録するかどうかを選択します。

1. テキストログの場合は、Amazon CloudWatch Logs のロググループ名を入力します。

1. オーディオのログ記録の場合は、S3 バケット情報を入力します。

1. オプション。オーディオログを暗号化するには、暗号化に使用する AWS KMS キーを選択します。

1. 必要な権限を持つ IAM ロールを選択します。

1. **[Save]** (保存) を選択して、会話のログ記録を開始します。

**API を使用してテキストログを有効にするには**

1. `conversationLogs` フィールドの `logSettings` メンバーのエントリを使用して [PutBotAlias](API_PutBotAlias.md) オペレーションを呼び出す
   + `destination` メンバーを `CLOUDWATCH_LOGS` に設定する
   + `logType` メンバーを `TEXT` に設定する
   + ログの送信先である CloudWatch Logs ロググループの Amazon リソースネーム (ARN) に `resourceArn` メンバーを設定する

1. `conversationLogs` フィールドの `iamRoleArn` メンバーを、指定したリソースで会話ログを有効にするために必要なアクセス権限を持つ IAM ロールの Amazon リソースネーム (ARN) に設定します。

**API を使用してオーディオログを有効にするには**

1. `conversationLogs` フィールドの `logSettings` メンバーのエントリを使用して [PutBotAlias](API_PutBotAlias.md) オペレーションを呼び出す
   + `destination` メンバーを `S3` に設定する
   + `logType` メンバーを `AUDIO` に設定する
   + `resourceArn` メンバーをオーディオログが保存されている Amazon S3 バケットの ARN に設定する
   + オプション。特定の AWS KMS キーを使用してオーディオログを暗号化するには、暗号化に使用されるキーの ARN `kmsKeyArn`のメンバーを設定します。

1. `conversationLogs` フィールドの `iamRoleArn` メンバーを、指定したリソースで会話ログを有効にするために必要なアクセス権限を持つ IAM ロールのAmazon リソースネーム (ARN) に設定します。

## 会話ログの無効化


**コンソールを使用してログをオフにするには**

1. Amazon Lex コンソール ([https://console.aws.amazon.com/lex](https://console.aws.amazon.com/lex)) を開きます。

1. リストからボットを選択します。

1. **[Settings]** (設定) タブを選択し、左側のメニューから **[Conversation logs]** (会話ログ) を選択します。

1. エイリアスのリストで、会話ログを設定するエイリアスの設定アイコンを選択します。

1. ログ記録をオフにするには、テキスト、オーディオ、またはその両方からチェックを外します。

1. 会話のログ記録を停止するには、[**Save**] (保存) を選択します。

**API を使用してログをオフにするには**
+ `conversationLogs` フィールドを使用しないで `PutBotAlias` オペレーションを呼び出します。

**API を使用してテキストログを無効にするには**
+ 
  + オーディオをログ記録する場合
    + `AUDIO` の `logSettings` エントリのみを使用して [PutBotAlias](API_PutBotAlias.md) オペレーションを呼び出します。
    + `PutBotAlias` オペレーションの呼び出しには、`TEXT` の `logSettings` エントリを含めることはできません。
  + オーディオをログ記録しない場合
    + `conversationLogs` フィールドを使用しないで [PutBotAlias](API_PutBotAlias.md) オペレーションを呼び出します。

**API を使用してオーディオログをオフにするには**
+ 
  + テキストをログ記録する場合
    + `TEXT` の `logSettings` エントリのみを使用して [PutBotAlias](API_PutBotAlias.md) オペレーションを呼び出します。
    + `PutBotAlias` オペレーションの呼び出しには、`AUDIO` の `logSettings` エントリを含めることはできません。
  + テキストをログ記録していない場合
    + `conversationLogs` フィールドを使用しないで [PutBotAlias](API_PutBotAlias.md) オペレーションを呼び出します。

# 会話ログの暗号化


暗号化を使用すると、会話ログの内容を保護できます。テキストログとオーディオログの場合、 AWS KMS カスタマー管理の CMKs を使用して CloudWatch Logs ロググループと S3 バケット内のデータを暗号化できます。

**注記**  
Amazon Lex は、シンメトリック CMKのみをサポートします。非対称 CMK を使用して、データを暗号化することはできません。

Amazon Lex がテキストログに使用する CloudWatch Logs ロググループの AWS KMS キーを使用して暗号化を有効にします。ログ設定で AWS KMS キーを指定して、ロググループの AWS KMS 暗号化を有効にすることはできません。詳しくは、*Amazon CloudWatch Logs ユーザーガイド*の「[AWS KMSを使用して CloudWatch Logs のログデータを暗号化する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/encrypt-log-data-kms.html)」を参照してください。

オーディオログの場合、S3 バケットでデフォルトの暗号化を使用するか、 AWS KMS キーを指定してオーディオオブジェクトを暗号化します。S3 バケットがデフォルトの暗号化を使用している場合でも、オーディオオブジェクトを暗号化するために別の AWS KMS キーを指定できます。詳細については、*Amazon Simple Storage Service 開発者ガイド*の「[S3 バケットの Amazon S3 デフォルト暗号化](https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)」を参照してください。

オーディオログの暗号化を選択した場合、Amazon Lex には アクセス AWS KMS 許可が必要です。会話ログに使用する IAM ロールに追加のポリシーをアタッチする必要があります。S3 バケットでデフォルトの暗号化を使用する場合、ポリシーはそのバケットに設定された AWS KMS キーへのアクセスを許可する必要があります。オーディオログ設定で AWS KMS キーを指定する場合、 はそのキーへのアクセスを許可する必要があります。

会話ログのロールを作成していない場合は、「[会話ログの IAM ポリシー](conversation-logs-policies.md)」を参照してください。

**オーディオログの暗号化に AWS KMS キーを使用するための IAM ポリシーを作成するには**

1. **LexConversationLogsKMSPolicy.json** という現在のディレクトリにドキュメントを作成し、次のポリシーを追加して保存します。

1. で AWS CLI、オーディオログの暗号化に AWS KMS キーを使用するアクセス許可を付与する IAM ポリシーを作成します。

   ```
   aws iam create-policy \
       --policy-name kms-policy-name \
       --policy-document file://LexConversationLogsKMSPolicy.json
   ```

1. 会話ログ用に作成したロールにポリシーをアタッチします。

   ```
   aws iam attach-role-policy \
       --policy-arn arn:aws:iam::account-id:policy/kms-policy-name \
       --role-name role-name
   ```

# Amazon CloudWatch Logs のテキストログの表示


Amazon Lex では、Amazon CloudWatch Logs で会話のテキストログが保存されます。ログを表示するには、CloudWatch Logs コンソールまたは API を使用します。詳細については、「*Amazon CloudWatch Logs ユーザーガイド*」の「[フィルターパターンを使用したログデータの検索](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SearchDataFilterPattern.html)」と「[CloudWatch Logs インサイトクエリ構文](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/CWL_QuerySyntax.html)」を参照してください。

**Amazon Lex コンソールを使用してログを表示するには**

1. Amazon Lex コンソール ([https://console.aws.amazon.com/lex](https://console.aws.amazon.com/lex)) を開きます。

1. リストからボットを選択します。

1. [**Settings**] (設定) タブを選択し、左側のメニューから [**Conversation logs**] (会話ログ) を選択します。

1. **[Text logs]** (テキストログ) の下のリンクを選択して、エイリアスのログを CloudWatch コンソールに表示します。

CloudWatch コンソールまたは API を使用してログエントリを表示することもできます。ログエントリを見つけるには、エイリアスに対して設定したロググループに移動します。Amazon Lex コンソールでログのログストリームプレフィックスを見つけるか、[GetBotAlias](API_GetBotAlias.md) オペレーションを使用します。

ユーザー発話のログエントリは、複数のログストリームにあります。会話内の発話には、指定されたプレフィックスを持つログストリームの 1 つにエントリがあります。ログストリームのエントリには、次の情報が含まれます。

```
{
   "messageVersion": "1.0",
   "botName": "bot name",
   "botAlias": "bot alias",
   "botVersion": "bot version",
   "inputTranscript": "text used to process the request",
   "botResponse": "response from the bot",
   "intent": "matched intent",
   "nluIntentConfidence": "number",
   "slots": {
       "slot name": "slot value",
       "slot name": null,
       "slot name": "slot value"
       ...
   },
   "alternativeIntents": [
       {
           "name": "intent name",
           "nluIntentConfidence": "number",
           "slots": {
               "slot name": slot value,
               "slot name": null,
               "slot name": slot value
               ...
           }
       },
       {
           "name": "intent name",
           "nluIntentConfidence": number,
           "slots": {}
       }
   ],
   "developerOverride": "true" | "false",
   "missedUtterance": true | false,
   "inputDialogMode": "Text" | "Speech",
   "requestId": "request ID",
   "s3PathForAudio": "S3 path to audio file",
   "userId": "user ID",
   "sessionId": "session ID",
   "sentimentResponse": {
       "sentimentScore": "{Positive: number, Negative: number, Neutral: number, Mixed: number}",
       "sentimentLabel": "Positive" | "Negative" | "Neutral" | "Mixed"
   },
   "slotToElicit": "slot name",
   "dialogState": "ElicitIntent" | "ConfirmIntent" | "ElicitSlot" | "Fulfilled" | "ReadyForFulfillment" | "Failed",
   "responseCard": {
       "genericAttachments": [
           ...
       ],
       "contentType": "application/vnd.amazonaws.card.generic",
       "version": 1
    },
   "locale": "locale",
   "timestamp": "ISO 8601 UTC timestamp",
   "kendraResponse": {
      "totalNumberOfResults": number,
      "resultItems": [
          {
              "id": "query ID",
              "type": "DOCUMENT" | "QUESTION_ANSWER" | "ANSWER",
              "additionalAttributes": [
                  {
                     ...
                  }
              ],
              "documentId": "document ID",
              "documentTitle": {
                  "text": "title",
                  "highlights": null
              },
              "documentExcerpt": {
                  "text": "text",
                  "highlights": [
                      {
                          "beginOffset": number,
                          "endOffset": number,
                          "topAnswer": true | false
                      }
                  ]
              },
              "documentURI": "URI",
              "documentAttributes": []
          }  
      ],
      "facetResults": [],
      "sdkResponseMetadata": {
          "requestId": "request ID"
      },
      "sdkHttpMetadata": {
          "httpHeaders": {
              "Content-Length": "number",
              "Content-Type": "application/x-amz-json-1.1",
              "Date": "date and time",
              "x-amzn-RequestId": "request ID"
          },
          "httpStatusCode": 200
      },
      "queryId": "query ID"
   },
   "sessionAttributes": {
       "attribute name": "attribute value"
       ...
    },
   "requestAttributes": {
       "attribute name": "attribute value"
       ...
    }
}
```

ログエントリの内容は、トランザクションの結果、およびボットとリクエストの設定によって異なります。
+ `missedUtterance` フィールドが `true` の場合、`intent`、`slots`、および `slotToElicit` フィールドはエントリに表示されません。
+ オーディオログが無効になっている場合、または `inputDialogMode` フィールドが `Text` の場合、`s3PathForAudio` フィールドは表示されません。
+ `responseCard` フィールドは、ボットの応答カードを定義した場合にのみ表示されます。
+ `requestAttributes` マップは、リクエストでリクエスト属性を指定した場合にのみ表示されます。
+ この `kendraResponse` フィールドが存在するのは、`AMAZON.KendraSearchIntent` Amazon Kendra インデックスを検索するリクエストを作成したときのみです。
+ ボットの Lambda 関数で代替インテントが指定されている場合、この `developerOverride` フィールドは true です。
+ `sessionAttributes` マップは、リクエストでセッション属性を指定した場合にのみ表示されます。
+ `sentimentResponse` マップは、センチメント値を返すようにボットを設定した場合のみ表示されます。

**注記**  
入力形式は変わる場合があり、この変更は対応する `messageVersion` に反映されないことがあります。新しいフィールドが追加されても、コードでエラーがスローされないようにします。

Amazon Lex の CloudWatch Logs への書き込みを有効にするロールとポリシーが必要です。詳細については、「[会話ログの IAM ポリシー](conversation-logs-policies.md)」を参照してください。

# Amazon S3 のオーディオログへのアクセス


Amazon Lex は、会話のオーディオログを S3 バケットに保存します。

**コンソールを使用してオーディオログにアクセスするには**

1. Amazon Lex コンソール ([https://console.aws.amazon.com/lex](https://console.aws.amazon.com/lex)) を開きます。

1. リストからボットを選択します。

1. [**Settings**] (設定) タブを選択し、左側のメニューから [**Conversation logs**] (会話ログ) を選択します。

1. **[Audio logs]** (オーディオログ) の下のリンクを選択して、Amazon S3 コンソールでエイリアスのログにアクセスします。

Amazon S3 コンソールまたは API を使用してオーディオログにアクセスすることもできます。オーディオファイルの S3 オブジェクトキープレフィックスは、Amazon Lex コンソールまたは `GetBotAlias` オペレーションレスポンスの `resourcePrefix` フィールドに表示されます。

# CloudWatch メトリクスを使用した会話ログのステータスのモニタリング


会話ログの配信メトリクスをモニタリングするために Amazon CloudWatch を使用します。メトリクスにアラームを設定して、ログに問題が発生した場合にその問題を認識できます。

Amazon Lex は、会話ログ用の `AWS/Lex` 名前空間に 4 つのメトリクスを提供します。
+ `ConversationLogsAudioDeliverySuccess`
+ `ConversationLogsAudioDeliveryFailure`
+ `ConversationLogsTextDeliverySuccess`
+ `ConversationLogsTextDeliveryFailure`

詳細については、「[会話ログの CloudWatch メトリクス](monitoring-aws-lex-cloudwatch.md#cloudwatch-metrics-for-logging)」を参照してください。

成功のメトリクスは、Amazon Lex がオーディオログまたはテキストログを送信先に正常に書き込んだことを示しています。

失敗のメトリクスは、Amazon Lex が指定された送信先にオーディオログまたはテキストログを配信できなかったことを示しています。通常、これは設定エラーです。失敗のメトリクスがゼロを超える場合は、次の点を確認してください。
+ Amazon Lex が IAM ロールの信頼されたエンティティであることを確認します。
+ テキストログ記録の場合は、CloudWatch Logs ロググループが存在することを確認します。オーディオログ記録の場合は、S3 バケットが存在することを確認します。
+ Amazon Lex が CloudWatch Logs ロググループまたは S3 バケットにアクセスするために使用する IAM ロールに、ロググループまたはバケットに対する書き込み権限があることを確認します。
+ S3 バケットが Amazon Lex ボットと同じリージョンに存在し、アカウントに属していることを確認します。
+ S3 暗号化に AWS KMS キーを使用している場合は、Amazon Lex がキーを使用することを妨げるポリシーがないことを確認し、指定した IAM ロールに必要な AWS KMS アクセス許可があることを確認してください。詳細については、「[会話ログの IAM ポリシー](conversation-logs-policies.md)」を参照してください。