0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon Connect からのパートナーテレフォニーを使用した Service Cloud Voiceの新規作成・更新時プロビジョニングの仕組み v19.0

Last updated at Posted at 2025-11-04

本ドキュメントは、「Amazon Connect からのパートナーテレフォニーを使用した Service Cloud Voice」をパートナーテレフォニーのコンタクトセンターを作成画面から作成した際のプロビジョニング時に行われるデプロイ処理について説明したドキュメントです。

前提
Amazon Connect からのパートナーテレフォニーを使用した Service Cloud Voice バージョン 19.0 のプロビジョニングのアーキテクチャです。

プロビジョニング完了後のCloudFormationスタックのデプロイ状況、Cloud Trailのログを参照した結果に基づいています。
公式で示された内容ではないため、実際の環境と相違がある可能性や将来変更に伴い差異が発生する可能性がある点に注意してください。

デプロイされるリソース群

デプロイされるリソース群と、CloudFormationのカスタムリソースで処理される内容の概要図を以下に示します。

プロビジョニング_概要
プロビジョニング_概要

プロビジョニングアーキテクチャ V19.0向け
プロビジョニングアーキテクチャ_v19.0

SCVBYOATenantStack

まず初めに、us-east-1 (固定)に SCVBYOATenantStack デプロイされます。
このスタックの責務は、

  • ネストされたスタック SCVManagedPolicyStack
  • CloudTrailの証跡
    • scvBYOACloudTrail名前で固定です
    • マルチリージョンの証跡が有効になっているため、us-east-1 の1つだけだけが作成されます
    • CloudTrailの出力先のS3バケット
  • IAM の IDプロバイダーを作成するためのカスタムリソース
    • ProviderCreator の名前が付くLambda関数
    • SalesforceServiceVoiceIdp の固定名で、IAM ID プロバイダが作成されます
  • Lambda関数のためのIAMロール
    • 各種固定名で IAM ロールが作成されます
SCVManagedPolicyStack

us-east-1 (固定)に デプロイされます。
- Lambda関数のための管理されたIAMポリシー
- 各種固定名で IAM ポリシーが作成されます

${コンタクトセンターAPI参照名}-SCVBYOAContactCenterStack

Service Cloud Voiceのセットアップで指定したリージョンにデプロイされます。
これは、Amazon Connectとの連携で使用するベースとなるスタックです。

  • ネストされたスタック
    • ConnectConfigurationStack
    • EventRulesStack
    • RealtimeAlertStack
    • VoiceMailStack
  • S3バケット
    • S3Bucket: Amazon Connectインスタンスに設定される 通話記録、Contact Lensの分析結果格納先
  • Lambda関数
  • 各種Lambda関数のLayer
  • Kinesis Data Stream
    • CTRStream
    • ContactLensStream
  • パラメータストア
    • CustomSSMResource: CloudFormationのカスタムリソースから以下のパラメータストアを作成
      • ${コンタクトセンターAPI参照名}-salesforce-rest-api-access-token
      • ${コンタクトセンターAPI参照名}-salesforce-rest-api-auth-consumer-key
      • ${コンタクトセンターAPI参照名}-salesforce-rest-api-access-token
      • ${コンタクトセンターAPI参照名}-salesforce-rest-api-audience
      • ${コンタクトセンターAPI参照名}-salesforce-rest-api-subject
  • KMSキー
    • ScvDataStreamIdKey: (使われていない)
    • LiveMediaStreamKmsKey: Kinesis Video Stream用の鍵

${コンタクトセンターAPI参照名}-SCVBYOAContactCenterStack-VoiceMailStack

Service Cloud Voiceのセットアップで指定したリージョンにデプロイされます。
これは、Voicemail(留守録)の機能のためのスタックです。

${コンタクトセンターAPI参照名}-SCVBYOAContactCenterStack-ConnectConfigurationStack

Service Cloud Voiceのセットアップで指定したリージョンにデプロイされます。
これは、Amazon Connectインスタンスと紐づくリソース群の構成を行うスタックです。

  • 事前定義された属性
    • Routing
  • 承認済みオリジン
    • https://***.my.salesforce.com
    • https://***.lightning.force.com
  • Lambda関数
    • ConnectConfiguration
      • 承認済みオリジンが重複でエラーにならないように事前に削除する
      • コンタクトフローから呼び出すLambda関数の登録が重複でエラーにならないように事前に削除する
      • マルチパーティコールを設定する (OFFするパラメータが渡される)
      • S3バケットの紐付け
      • ライブメディアストリーミングの設定を追加する
      • CTR 向け Kinesis Data Streams の紐付け
      • Contact Lens 向け Kinesis Data Streams の紐付け
      • エージェントのカスタムステータスを追加 (sfdc_pendingが渡される)
  • Lambda関数の連携
    • InvokeTelephonyLambda: InvokeTelephonyIntegrationApiFunction 関数 を紐付ける
    • KvsConsumerTrigger: kvsConsumerTrigger 関数を紐付ける
    • InvokeSfRestApi: InvokeSalesforceRestApiFunction を紐づける
    • ContactLensConsumer: ContactLensConsumerFunction を紐づける
      • Contact Lens の Kinesis Data から呼び出される前提のLambda関数であるため、コンタクトフローから呼び出すためのこの登録は、現在は無意味である

${コンタクトセンターAPI参照名}-SCVBYOAContactCenterStack-EventRulesStack

Service Cloud Voiceのセットアップで指定したリージョンにデプロイされます。
これは、EventBridgeのルールをまとめたスタックです。

  • EventBridge
    • HandleContactEvents関数を実行する
      • PSR (PendingServiceRouting)をクリアする
      • 再ルーティング指示
        • オムニチャネルの統合ルーティングを有効にしている必要があります
    • 5分ごとに 空の Telephony Integration API のLambda関数をコール
      • コールドスタートにならないよう、ウォーム状態 を保つための機能

${コンタクトセンターAPI参照名}-SCVBYOAContactCenterStack-RealtimeAlertStack

Service Cloud Voiceのセットアップで指定したリージョンにデプロイされます。
これは、監視向けのアラート関連の機能をまとめたスタックです。

  • Lambda 関数
    • RealtimeAlertLambda: CloudWatch Alarmが発火したとき、Rest APIをコールするLambda関数
  • Lambda 関数の Layer: RealtimeAlertLambda向けのLayer
  • SNS Topic
    • Cloud Watch Alarmが発火をサブスクライブして、RealtimeAlertLambdaへパブリッシュする
  • Cloud Watch Alarm群
  • Cloud Watch Dashboard
    • Amazon Connectを監視するためのダッシュボード
    • Lambda関数を監視するためのダッシュボード

${コンタクトセンターAPI参照名}-SCVBYOACContactCenterStack-BYOACConfigurationStack (既存インスタンス:BYOAのみ)

Service Cloud Voiceのセットアップで、指定したリージョンに新規ではなく既存のAmazon Connectインスタンスを利用することを選択した場合のみデプロイされます。
これは、Amazon Connectインスタンスと紐づくリソース群の構成を行うスタックです。

  • カスタムリソース
    • S3バケットポリシーにルートアカウントからのアクセスとTranscribeサービスからのアクセスを許可するバケットポリシーを追加
    • 既存のKMSキーにタグ resourceOwner: scv を追加する
      • ライブメディアストリーミング(LMS)のKinesis Video Streamを暗号化する時に使用されるキー向け
    • IAMポリシー SCVKinesisDataStreamAccessPolicy に CTR, Contact Lens向けのKinesis Data Streamsへのアクセス許可を追加する
      • CloudFormationパラメータで指定したKinesis Data StreamsのARNが追加される

複数組織

デプロイの手順については、TODO

${コンタクトセンターAPI参照名}-SCVBYOAContactCenterStack-SecretManagerStack

  • カスタムリソース
    • Secrets Manager
      • salesforce-secret: REST API, Integration API 向けの秘密鍵、コンシューマー鍵などを格納する
      • alesforce-access-secret: アクセストークンをキャッシュするための

${コンタクトセンターAPI参照名}-SCVBYOAContactCenterStack

${コンタクトセンターAPI参照名}-SCVBYOAContactCenterStack-VoiceMailStack

その他細かなv18 -> v19差分

  • Lambda関数で利用するNode.js のランタイムが 20.x から 22.x へ移行
  • 秘匿情報をパラメータストアのSecureStringの利用から、Secrets Managerの利用へ変更
  • 手動でデプロイ時、Lambda関数に接頭辞がつけられるように変更

参考URL

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?