Amazon Q in Connectの無効化手順をまとめてみた
はじめに
Amazon ConnectインスタンスにおけるAmazon Q in Connectの有効化方法はAWSドキュメントにありますが、無効化手順は載っていなかったため、本記事では、マネジメントコンソールとCLIそれぞれの無効化手順をまとめました。
なお、Amazon Q in Connectの無効化は、マネジメントコンソールだけでは完結せず、一部の削除作業にはCLIの使用が必要である点にご注意ください。
Amazon Q in Connect における各コンポーネントの関係性
1. Amazon Connect インスタンス
- 役割: コンタクトセンターの基盤となるサービス
- 関係: ドメインと関連付けられる
2. ドメイン(アシスタント)
- 役割: 実際にAI支援機能を提供するエンティティ
- 概要: エージェントからの質問に対して回答を生成する。Connect管理ページで作成可能なAIエージェントやAIプロンプト、ガードレールが保存される。
- 関係: 単一のナレッジベースで構成される
- クォータ: アカウント全体で最大5個
3. ナレッジベース(統合)
- 役割: ドメインが参照する情報源
- 概要: FAQ、製品情報、手順書などのデータソース
- 関係: ドメインとナレッジベースは多対多の関係(1つのドメインが複数のナレッジベースを参照可能、1つのナレッジベースを複数のドメインが共有可能)
4. データ統合
- 役割: 外部データソースをナレッジベースに取り込む設定
- 概要: S3、Salesforce、ServiceNow、Zendesk、SharePoint Online、Web crawler等からのデータ統合
- 関係: ナレッジベース作成時に、データ統合も作成される
関係図
Amazon Connect インスタンス
↕ (N:1関係)
ドメイン(アシスタント)
↕ (N:N関係)
ナレッジベース(統合)
↕ (データ統合)
データソース(S3、Salesforce、ServiceNow等)
ポイント
- N:1関係: Connectインスタンス ↔ ドメイン(複数のConnectインスタンスが1つのドメインに関連付け可能、但し1つのConnectインスタンスは1つのドメインのみ)
- N:N関係: ドメイン ↔ ナレッジベース(1つのドメインが複数のナレッジベースを参照可能、1つのナレッジベースを複数のドメインが共有可能)
- 複数データソース使用時: Amazon S3でデータを収集してからS3統合を使用することが推奨
マネジメントコンソールでの表記とAPIの名前が異なるものは以下のとおりです。
ドメイン(アシスタント)
- マネジメントコンソール:ドメイン
- API名:アシスタント(assistant)
ナレッジベース(統合)
- マネジメントコンソール:統合
- API名:ナレッジベース(knowledge-bases)
特に統合とデータ統合は、異なる役割ですので注意してください。
削除前の準備(有効化)
削除手順を確認するため、まずはマネジメントコンソールで有効化します。
new-domain
という名前でドメイン(アシスタント)を作成します。
new-integration
で統合(ナレッジベース)を作成します。
作成が完了しました。
なお、統合(ナレッジベース)を作成した際、データ統合も同じ名前new-integration
で自動作成されます。マネジメントコンソール上ではデータ統合は確認できません。
マネジメントコンソールでの削除
マネジメントコンソールから削除します。
統合(ナレッジベース)を削除します。
ドメイン(アシスタント)を削除します。
削除が完了しました。
ただし、これだけでは完了ではありません。
データ統合は、マネジメントコンソール上では削除できないため、CLIで削除する必要があります。
データ統合は、リージョンごとの作成可能数が上限10個です。これは上限緩和可能です。
上限に達しないよう、データ統合も削除する必要があります。
AWS CloudShellから以下のコマンドを実行すると削除できます。
//データ統合一覧を確認
$ aws appintegrations list-data-integrations
{
"assistantSummaries": [
{
"assistantArn": "arn:aws:wisdom:ap-northeast-1:アカウントID:assistant/d3e16ae7-2c7c-4cf8-9678-95011f7a8ea9",
"assistantId": "d3e16ae7-2c7c-4cf8-9678-95011f7a8ea9",
"integrationConfiguration": {
"topicIntegrationArn": "arn:aws:sns:ap-northeast-1:721038445438:wisdom-49019593-7d3a-4813-a70f-ce844259a9f3"
},
"name": "new-domain",
"status": "ACTIVE",
"tags": {
"AmazonConnectEnabled": "True"
},
"type": "AGENT"
}
]
}
//データ統合を削除(一般的な書き方)
$ aws appintegrations delete-data-integration --data-integration-identifier <統合名>
//実際の実行例
$ aws appintegrations delete-data-integration --data-integration-identifier new-integration
なお、統合(ナレッジベース)を削除していない場合、以下のエラーになりますので、統合(ナレッジベース)を先に削除するようにしましょう。
$ aws appintegrations delete-data-integration --data-integration-identifier new-integration
An error occurred (InvalidRequestException) when calling the DeleteDataIntegration operation: Failed to delete DataIntegration with name: new-integration. An DataIntegration with DataIntegrationAssociations cannot be deleted.
このエラーは、削除しようとしているDataIntegration(データ統合)に関連付けられたDataIntegrationAssociation(データ統合の関連付け)が存在するため、削除できないことを示しています。削除を行うには、まず関連付けを削除してからDataIntegration本体を削除する必要があります。
これで削除完了です
CLIでの削除
統合(ナレッジベース)を削除します。
// 統合(ナレッジベース)一覧を確認
$ aws wisdom list-knowledge-bases
{
"knowledgeBaseSummaries": [
{
"knowledgeBaseArn": "arn:aws:wisdom:ap-northeast-1:アカウントID:knowledge-base/b8405725-7b47-4067-9088-23e7f7102260",
"knowledgeBaseId": "b8405725-7b47-4067-9088-23e7f7102260",
"knowledgeBaseType": "EXTERNAL",
"name": "new-integration",
"serverSideEncryptionConfiguration": {
"kmsKeyId": "arn:aws:kms:ap-northeast-1:アカウントID:key/6d61c6ea-806d-4b5a-83f9-3537fb3975ff"
},
"sourceConfiguration": {
"appIntegrations": {
"appIntegrationArn": "arn:aws:app-integrations:ap-northeast-1:アカウントID:data-integration/09db70d8-4a9d-4431-a640-fe8b02ecef71",
"objectFields": []
}
},
"status": "ACTIVE",
"tags": {
"AmazonConnectEnabled": "True"
}
}
]
}
//統合(ナレッジベース)を削除(一般的な書き方)
$ aws wisdom delete-knowledge-base --knowledge-base-id <knowledge-base-id>
//実際の実行例
$ aws wisdom delete-knowledge-base --knowledge-base-id b8405725-7b47-4067-9088-23e7f7102260
削除後、マネジメントコンソール上では、以下のエラー表示になります。
Knowledge Base does not exist.
ドメイン(アシスタント)を削除します。
// ドメイン(アシスタント)一覧を取得
$ aws wisdom list-assistants
{
"assistantSummaries": [
{
"assistantArn": "arn:aws:wisdom:ap-northeast-1:アカウントID:assistant/2f3f7884-111c-47cd-9747-d5396e380466",
"assistantId": "2f3f7884-111c-47cd-9747-d5396e380466",
"integrationConfiguration": {
"topicIntegrationArn": "arn:aws:sns:ap-northeast-1:721038445438:wisdom-bab208a8-ca14-46eb-8594-b92dcf6e5c7d"
},
"name": "new-domain",
"status": "ACTIVE",
"tags": {
"AmazonConnectEnabled": "True"
},
"type": "AGENT"
}
]
}
//ドメイン(アシスタント)を削除(一般的な書き方)
$ aws wisdom delete-assistant --assistant-id <assistant-id>
//実際の実行例
$ aws wisdom delete-assistant --assistant-id 2f3f7884-111c-47cd-9747-d5396e380466
削除後、マネジメントコンソール上では、以下のエラー表示になります。
Assistant does not exist.
最後に、先ほど同様にデータ統合を削除します。
//データ統合一覧を確認
$ aws appintegrations list-data-integrations
{
"DataIntegrations": [
{
"Arn": "arn:aws:app-integrations:ap-northeast-1:アカウントID:data-integration/09db70d8-4a9d-4431-a640-fe8b02ecef71",
"Name": "new-integration",
"SourceURI": "s3://amazon-connect-e642d0d8f21a"
}
]
}
//データ統合を削除(一般的な書き方)
$ aws appintegrations delete-data-integration --data-integration-identifier <統合名>
//実際の実行例
$ aws appintegrations delete-data-integration --data-integration-identifier new-integration
これで削除完了です。
最後に
Amazon Q in Connectの無効化には、マネジメントコンソールとCLIの両方を使用する必要があります。特に、データ統合の削除はCLIでのみ実行可能な点にご注意ください。
削除の順序も重要で、統合(ナレッジベース)を先に削除してからデータ統合を削除する必要があります。この順序を守らないとエラーが発生しますので、手順に従って削除を実行してください。
参考