Amazon Connectで再生する音声ファイルの選択肢にAmazon S3が追加されました

2022.04.07

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Amazon Connectのコネクトインスタンス毎に音声ファイルの登録が不要になるぞ!

はじめに

本日、AWSからのアップデート情報でAmazon Connectの音声ファイルをAmazon S3から指定できるようになりました。

これまでとこれから

Amazon Connectのコンタクトフローのプロンプトの再生ブロックでは、コネクトインスタンスに事前登録された音声ファイルを指定することができました。本番環境と開発環境のコネクトインスタンスを分離している場合はそれぞれで事前に登録する必要がありました。登録する際は、一括で登録したりできない為、コネクトインスタンスにログインして1個ずつ登録する必要があります。

今回のアップデートにより、Amazon S3バケットにある音声ファイルを再生できるようになります。

やってみる

早速試してみました。まずはAmazon S3バケットを用意します。コネクトインスタンスのData Storageで管理するデータ種別(通話録音は機密情報扱いなど)として異なる為、音声ファイルを格納するAmazon S3バケットの分離をおすすめします。
用意したバケットにAmazon Connectからアクセスできるようにバケットポリシーを設定します。

{
    "Version": "2012-10-17",
    "Id": "Policy1234",
    "Statement": [
        {
            "Sid": "Stmt1234",
            "Effect": "Allow",
            "Principal": {
                "Service": "connect.amazonaws.com"
            },
            "Action": [
                "s3:GetObject",
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::用意したバケット名",
                "arn:aws:s3:::用意したバケット名/*"
            ],
            "Condition": {
                "StringEquals": {
                    "aws:SourceAccount": "AWSアカウントID",
                    "aws:SourceArn": "arn:aws:connect:ap-northeast-1:AWSアカウントID:instance/コネクトインスタンスID"
                }
            }
        }
    ]
}

次に音声ファイルをバケットにアップロードします。AWSがサンプルの音声ファイルを用意してますのでご利用ください。
コネクトインスタンスのコンタクトフローでプロンプトの再生ブロックでS3バケットから音声ファイルを指定(手動)して公開します。指定方法は、S3 URI または、 オブジェクト URL どちらかが指定できます。

オブジェクト URL: https://S3 URI.s3.ap-northeast-1.amazonaws.com/customer-jaz.wav S3 URI: s3://S3バケット名/customer-jaz.wav

コンタクトフローを電話番号に紐づけて準備が完了です。電話をしてみて音声ファイルが流れれば成功です。音声ファイルが流れるまで、事前に登録されたプロンプトの音声ファイルと遜色ありませんでした。

何が違う?

再生という観点では事前に登録したプロンプトを指定することと差異はありません。Amazon S3バケットを利用した音声ファイルを管理する場合の注意点として、SSE-S3デフォルトの暗号化がされていると音声ファイルが再生できない(CMKで管理する必要あり)、Amazon S3の使用量が課金される、アクセス元の変更によるバケットポリシーの管理が発生します。これらの注意点があるにしても複数のコネクトインスタンスを利用中で音声ファイルが重複している場合は、利用する価値はあると思います。