Amazon Q in Connect セルフサービスでの Amazon Lex サービスリンクロールの更新方法

Amazon Q in Connect セルフサービスでの Amazon Lex サービスリンクロールの更新方法

Clock Icon2025.03.12

困っていること

Amazon Q in Connect のカスタマーセルフサービスを構築後、電話をかけて動作を確認したところ、ボットを呼び出す「顧客の入力を取得する」ブロックでエラーが発生し、エラールートへ遷移しました。

Amazon Lex ボットのログおよび Amazon Q in Connect のログは有効化していましたが、ログが出力されませんでした。

また、Amazon Connect フローログは以下の通り出力されましたが、エラーの原因を特定できませんでした。

Connectフローログ
{
  "Results": "Error",
  "ContactId": "a8d97d94-e26f-4e57-b111-d0179de2f86e",
  "ContactFlowId": "arn:aws:connect:ap-northeast-1:111111111111:instance/3ff2093d-af96-43fd-b038-3c07cdd7609c/contact-flow/e9b7c449-5e1f-4a2c-b9af-9d1a4e143dd9",
  "ContactFlowName": "cm-hirai-q-in-connect",
  "ContactFlowModuleType": "GetUserInput",
  "Identifier": "1e79e345-7b31-403f-80ea-9fc535d637ac",
  "Timestamp": "2025-02-14T04:43:22.608Z",
  "ErrorDetails": {
    "ErrorCode": "BadRequestException",
    "Message": "The service cannot process the request"
  }
}

エラーの原因を教えて下さい。

回答

Amazon Lex ボットで Amazon Q in Connect インテントを使用するには、サービスリンクロール(今回は AWSServiceRoleForLexV2Bots_AmazonConnect_111111111111)に、以下のアシスタントIDへのアクセス許可が付与されている必要があります。
cm-hirai-screenshot 2025-03-11 9.04.46

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Sid": "QInConnectAssistantPolicy",
            "Action": [
                "wisdom:CreateSession",
                "wisdom:GetAssistant"
            ],
            "Resource": [
                "arn:aws:wisdom:*:{accountId}:assistant/[assistantId]",
                "arn:aws:wisdom:*:{accountId}:assistant/[assistantId]/*"
            ]
        },
        {
            "Effect": "Allow",
            "Sid": "QInConnectSessionsPolicy",
            "Action": [
                "wisdom:SendMessage",
                "wisdom:GetNextMessage"
            ],
            "Resource": [
                "arn:aws:wisdom:*:{accountId}:session/[assistantId]/*"
            ]
        }
    ]
}

QInConnect インテントが Amazon Lex V2 ボットで使用され、ボットがサービスリンクロール (SLR) を使用している場合、Amazon Lex V2 サービスには、ロールの適切なポリシーを更新して Q In Connect アシスタントと統合するアクセス許可があります。
QInConnect インテントが追加されると、サービスにリンクされたロールは次のアクセス許可で更新されます。QInConnect アクセス用の新しいポリシーが追加されます。
https://docs.aws.amazon.com/ja_jp/lexv2/latest/dg/built-in-intent-qinconnect.html

アシスタントIDは、以下のコマンドで assistantId を確認できます。統合名は amazon-q-in-connect です。

$ aws qconnect list-assistants | jq '.assistantSummaries[] | 
  select(.name == "amazon-q-in-connect")'

{
  "aiAgentConfiguration": {
    "ANSWER_RECOMMENDATION": {
      "aiAgentId": "3025a3fa-5419-4c9c-a040-877213b93f70:4"
    },
    "MANUAL_SEARCH": {
      "aiAgentId": "652f0287-1610-4fee-bbe3-c687c13f5ec3:4"
    },
    "SELF_SERVICE": {
      "aiAgentId": "529207fe-80fd-42be-bcf2-facd2141aec7:1"
    }
  },
  "assistantArn": "arn:aws:wisdom:ap-northeast-1:111111111111:assistant/a1793008-f4de-481b-a9ed-3697ef373ff2",
  "assistantId": "a1793008-f4de-481b-a9ed-3697ef373ff2",
  "capabilityConfiguration": {
    "type": "V2"
  },
  "integrationConfiguration": {
    "topicIntegrationArn": "arn:aws:sns:ap-northeast-1:xxxx:wisdom-78d30d9a-ce3a-4f6f-9312-a1545b31b7d7"
  },
  "name": "amazon-q-in-connect",
  "status": "ACTIVE",
  "tags": {
    "AmazonConnectEnabled": "True"
  },
  "type": "AGENT"
}

サービスリンクロール AWSServiceRoleForLexV2Bots_AmazonConnect_111111111111 には、利用しているアシスタントID a1793008-f4de-481b-a9ed-3697ef373ff2 に対応するアクセス許可が追加されていませんでした。これが本件の原因です。

cm-hirai-screenshot 2025-03-11 9.05.19

このポリシーは本来自動的に追加されるはずですが、なぜ存在しないのかは不明です。

以下の手順を実行することで、サービスリンクロールのポリシーが変更される可能性があります。

  1. 「Amazon Q in Connect のインテント」が有効化されているLexボットを削除する
  2. 「Amazon Connect 管理ウェブサイトで Lex ボット管理を有効にする」のチェックを外し、 「保存」を押下する
    cm-hirai-screenshot 2025-03-11 9.07.06
  3. 「Amazon Connect 管理ウェブサイトで Lex ボット管理を有効にする」のチェックを入れ、 「保存」を押下する
    cm-hirai-screenshot 2025-03-11 9.07.29
  4. 1分ほど待ち、サービスリンクロールのポリシーが変更されているか確認する
    cm-hirai-screenshot 2025-03-11 9.14.39

これで、サービスリンクロールAWSServiceRoleForLexV2Bots_AmazonConnect_111111111111に、アシスタントIDa1793008-f4de-481b-a9ed-3697ef373ff2に対応するアクセス許可が追加されました。

再度、「Amazon Q in Connect のインテント」が有効化されているLexボットを作成します。

この状態で再度電話をかけると、問題なくセルフサービスのLexボットが利用できました。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.