XML インポートから作成された既存の Salesforce コンタクトセンターの移行
XML インポート処理を使用してコンタクトセンターを作成した場合は、コンタクトセンターを移行することで使いやすいメンテナンス機能と追加機能を利用できるようになります。移行を実行すると、コンタクトセンターを将来のバージョンに簡単に更新できるようになり、サーバーレスアプリケーションを手動で更新する必要がなくなります。この移行により、より多くの Salesforce Voice 機能にアクセスすることもできます。
必要なエディション
この記事の対象:
- Amazon Connect を使用した Salesforce Voice
- Amazon Connect からのパートナーテレフォニーを使用した Salesforce Voice
| サポートされているエディションを表示する。 |
XML インポートから作成されたコンタクトセンターで使用できない機能または制限される機能のリストについては、「Salesforce Voice の制限と制約」の「XML インポート」を参照してください。
移行には、既存の Amazon Connect インスタンス内に Salesforce Voice コンタクトセンターを作成する必要があります。このマイグレーションでは、Salesforce が自分の代わりに AWS IAM ロールを引き受け、Voice を Amazon Connect と統合します。Voice では、Amazon Connect インスタンスの S3 バケット、取引先責任者レコードデータストリーム、Kinesis 動画ストリーム、Contact Lens ストリームが再利用されます。
コンタクトセンターを作成すると、新しいコンタクトセンターと連携するように事前設定された Amazon Connect コンポーネントも作成されます。たとえば、Lambda 関数の新しいバージョンが含まれています。
コンタクトセンター定義 XML ファイルをインポートして作成するコンタクトセンターについての詳細は、こちらの PDF を参照してください。
- 移行の前提条件作業の実行
コンタクトセンターを作成する前に、既存の Amazon Connect インスタンスで次の作業を完了します。 - 既存のコンタクトセンターの移行
既存の Amazon Connect インスタンス内でコンタクトセンターを移行します。 - 新しいコンタクトセンターのテスト
新しいコンタクトセンターをテストして、機能することを確認します。 - Amazon Connect 環境のクリーンアップ
サーバーレスアプリケーションまたは以前のバージョンの Lambda 関数の古いコードとの競合を回避するため、AWS から AWS サーバーレスアプリケーションと Lambda 関数を削除します。 - 以前の通話記録へのアクセス権の付与
新しいコンタクトセンターの通話記録にアクセスするには、次のタスクを実行します。XML インポートを使用して作成されたコンタクトセンターでは [ユニバーサル通話記録] オプションがサポートされないため、新しいコンタクトセンターのユーザーに以前の記録へのアクセス権を付与するには、次の手作業を実行する必要があります。
移行の前提条件作業の実行
コンタクトセンターを作成する前に、既存の Amazon Connect インスタンスで次の作業を完了します。
-
通話記録の S3 バケットにバケットポリシーがある場合、ポリシーのコピーを保存して削除します。積み上げが作成されたら、そのポリシーを新しいポリシーに追加できます。ポリシーを削除しないと、新しいスタックを作成できません。
- Amazon Connect インスタンスにログインします。
- Amazon Connect の左パネルで [Data Storage (データストレージ)] をクリックし、[Call Recordings (通話記録)] セクションでバケット名を取得します。コンタクトセンターを作成すると、新しい通話記録がこの同じバケットに保存されます。
-
Amazon Connect で、S3 を検索し、S3 オプションにマウスポインターを置いて [Buckets (バケット)] をクリックします。
![[バケット] オプションは S3 サービス内に表示されます。](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-jajp/cec85b40-ee3b-4089-9f83-dbdfd5f84896/support_channels/images/voice/voice_amazons3_buckets_search.png)
- 通話記録の S3 バケットを見つけて開きます。
- [Permissions (権限)] をクリックし、バケットポリシーをコピーして削除します。バケットポリシーがあると、スタックの作成に失敗します。新しいコンタクトセンターの記録にアクセスするには、スタックを作成した後に、生成されたポリシーに古いポリシーを追加します。
-
既存の CTRDataSyncFunction および ContactLensConsumerFunction Lambda 関数の Kinesis 取引先責任者レコードストリームイベントトリガーを無効化します。新しいコンタクトセンターが作成されると、これらのイベントは自動的に新しくプロビジョニングされたバージョンの関数をトリガーします。同じストリームが両方の Lambda 関数をトリガーするのは望ましくありません。
- Amazon Connect で、「Lambda」を検索して [Lambda] をクリックします。
-
「Ctrdata」を検索し、既存のコンタクトセンターから CTRDataSyncFunction Lambda を選択します。関数名の先頭にはコンタクトセンター名が追加されています。

-
[Configuration (設定)] タブを選択し、[Triggers (トリガー)] サブタブを選択します。
![[Triggers (トリガー)] タブで、Kinesis トリガーが有効であることが表示されています。](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-jajp/cec85b40-ee3b-4089-9f83-dbdfd5f84896/support_channels/images/voice/voice_amazon_lambda_triggers.png)
- Kinesis トリガーの横にあるチェックボックスをオンにして、[Edit (編集)] をクリックします。
- トリガーを無効にするには、[Activate trigger (トリガーを有効化)] をオフにして、[Save (保存)] をクリックします。
- ContactLensConsumerFunction Lambda 関数を無効化するには、上記の手順を繰り返します。
- Salesforce のコンタクトセンターの詳細ページで、既存のコンタクトセンターからすべてのエージェント、スーパーバイザー、システム管理者を削除します。コンタクトセンターが作成されたら、これらのユーザーを新しいコンタクトセンターに追加します。各ユーザーは 1 つのコンタクトセンターにのみ割り当てることができます。
- IAM ロールを作成します。このロールにプロビジョニングポリシーを追加する場合は、GitHub からポリシーを取得し、すべてのパラメーターを置き換えます。たとえば、<BYOAC_CUSTOM_S3_BUCKET> パラメーターを通話記録の S3 バケットの名前に置き換えます。IAM ロールの作成とプロビジョニングポリシーの適用についての詳細は、「Voice の AWS Identity and Access Management (IAM) ロールの設定」を参照してください。
既存のコンタクトセンターの移行
既存の Amazon Connect インスタンス内でコンタクトセンターを移行します。
- こちらのヘルプ記事の手順に従って、Salesforce でコンタクトセンターを作成します。インスタンスの詳細を入力して既存の Amazon Connect インスタンスを使用します。ステップ 9 より後の作業は無視します。
-
Amazon Connect で、最新の Lambda 関数を使用するように既存の Amazon Connect フローを変更します。古い関数を切り替えるには、フローの [Invoke AWS Lambda function (AWS Lambda 関数を呼び出す)] ブロックで参照を更新します。最新の関数の名前には、新しいコンタクトセンターの内部名が付加されています。フローの更新が完了したら、保存して公開します。
![フローの [Invoke AWS Lambda function (AWS Lambda 関数を呼び出す)] は現在古いバージョンの Lambda 関数を実行するように設定されています。](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-service-support_channels-264-0-0-production-jajp/cec85b40-ee3b-4089-9f83-dbdfd5f84896/support_channels/images/voice/voice_amazon_flows_select_lambda.png)
- Amazon Connect インスタンスからすべてのユーザーを削除します。手順は、「Amazon Connect インスタンスからのユーザーの削除」を参照してください。
-
Salesforce のコンタクトセンターの詳細ページで、新しいコンタクトセンターにユーザーを追加してクイック接続を作成します。ユーザーをコンタクトセンターに追加すると、自動的にユーザーは Amazon Connect にも追加されます。
ヒント これが正しく行われていることを確認するには、まず数人のユーザーを追加してから、テストを実行して、ユーザーが電話をかけたり受けたりできることを確認します。その他の機能もテストします。残りのユーザーを追加します。手順は、「コンタクトセンターでのリモートユーザーの追加と削除」を参照してください。 - コンタクトセンターの詳細ページで、新しいコンタクトセンターを設定します。古いコンタクトセンターに適用されたのと同じ変更を使用して新しいコンタクトセンターを変更します。たとえば、キューとプレゼンス状況の対応付けを再適用し、コンタクトセンターチャネルとグループを追加します。
新しいコンタクトセンターのテスト
新しいコンタクトセンターをテストして、機能することを確認します。
- 着信通話、発信通話、転送通話、折り返し通話を行い、Amazon Connect フローが正常に機能することを確認します。
- 新しいコンタクトセンターのキューの対応付け、コンタクトセンターチャネル、プレゼンス状況の対応付け、コンタクトセンターグループが正常に機能することを確認します。
Amazon Connect 環境のクリーンアップ
サーバーレスアプリケーションまたは以前のバージョンの Lambda 関数の古いコードとの競合を回避するため、AWS から AWS サーバーレスアプリケーションと Lambda 関数を削除します。
- Amazon Connect で、「Serverless」 (サーバーレス) を検索して [Serverless Application Repository (サーバーレスアプリケーションリポジトリ)] をクリックします。
- サーバーレスアプリケーションを選択して、[Delete (削除)] をクリックします。
- コンタクトセンターの表示ラベルを「DO NOT DELETE <contact center name>」 (<contact center name> を削除しないでください) などに変更します。既存の音声通話が関連付けられているため、以前のコンタクトセンターを削除することはできません
以前の通話記録へのアクセス権の付与
新しいコンタクトセンターの通話記録にアクセスするには、次のタスクを実行します。XML インポートを使用して作成されたコンタクトセンターでは [ユニバーサル通話記録] オプションがサポートされないため、新しいコンタクトセンターのユーザーに以前の記録へのアクセス権を付与するには、次の手作業を実行する必要があります。
-
新しいコンタクトセンターで以前のコンタクトセンターの以前の音声通話記録にアクセスするには、以前のコンタクトセンターで [ユニバーサル通話記録] を有効にします。有効化するには、以前のコンタクトセンター定義 XML ファイルの reqhvcc セクションで次のパラメーターを設定します。
パラメーター 値 Universal_Call_Recording true に設定します。 Region 新しいコンタクトセンターのリージョンに設定します。 TrustedRoleArn 作成した IAM ロールに設定します。 次に、追加する項目の例を示します。
<sections> <items> <label>Universal Call Recording Access</label> <name>reqUniversalCallRecordingAccess</name> <value>true</value> </items><items> <label>Region</label> <name>reqRegion</name> <value>us-west-2</value> </items><items> <label>Trusted Role ARN</label> <name>reqTrustedRoleARN</name> <value>arn:aws:iam::547100965505:role/ProvisioningRole</value> </items> <name>reqHvcc</name> </sections>詳細は、こちらの PDF の「Enable Universal Call Recording in an Existing Contact Center (既存のコンタクトセンターでのユニバーサル通話記録の有効化)」を参照してください。
- 以前のバケットポリシーを通話記録の S3 バケットに対して新しく生成されたバケットポリシーに追加します。以前のポリシーは、前提条件の手順を実行したときにコピーしました。
- Amazon Connect で、前提条件の手順で IAM ロールを作成したときと同じように、「<contact_center_internal_name>-SCVS3Role」という命名規則を使用して SCVS3Role ロールを作成します。
-
SCVS3Role ロールを作成したら、次のインラインポリシーを追加します。このポリシーの中で、<BYOAC_CUSTOM_S3_BUCKET> は通話記録の S3 バケット名に置き換えてください。
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject", "kms:Decrypt", "s3:ListBucket" ], "Resource": [ arn:aws:s3:::<BYOAC_CUSTOM_S3_BUCKET> ], "Effect": "Allow", "Sid": "byoacSCVS3Sid" } ] }
