はじめに
Amazon ConnectのキューとルーティングプロファイルをCloudFormationで作成できるようになりました。
キューとは、エージェントが応答するまでの待機エリアです。
ルーティングプロファイルとは、どのキューを受けるかを設定し、ユーザーに紐付けることができます。
ルーティングプロファイルとキューは、Connectを利用する際、確実に作成しますので、今回のアップデートによって手動設定によるヒューマンエラーのリスクを低減できます。
コードによる適切なインフラ運用をすることで、運用管理が効率化します。
CloudFormationでキューとルーティングプロファイルを作成する場合、下記のAWSドキュメントのリファレンスにプロパティ情報の記載があります。
- https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-queue.html
- https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-connect-routingprofile.html
リファレンスを元に作成してみます。
各リソースのARNを確認
まず、ConnectインスタンスのARNとオペレーション時間のARNをコピーします。
ConnectインスタンスのARNは、AWSマネジメントコンソールのConnectインスタンスから確認できます。
オペレーション時間のARNは、Connectのコンソール上で[オペレーション時間]をクリック後、URLにARNが確認できます。
URLをコピーします。
URLをコピーすると以下のように値になりますので、arn:aws:connect:ap-northeast-1:アカウントID:instance/xxxxxx-xxxx-xxxx-xxxx-xxxxxx/operating-hours/22473730-e154-4d21-97b0-b46c9a84ce1f
をコピーします
https://インタンス名.awsapps.com/connect/operating-hours/manage?id=arn:aws:connect:ap-northeast-1:アカウントID:instance/xxxxxx-xxxx-xxxx-xxxx-xxxxxx/operating-hours/22473730-e154-4d21-97b0-b46c9a84ce1f
テンプレートの解説
ルーティングプロファイルのテンプレートの書式は以下の通りです
Type: AWS::Connect::RoutingProfile
Properties:
DefaultOutboundQueueArn: String
Description: String
InstanceArn: String
MediaConcurrencies:
- MediaConcurrency
Name: String
QueueConfigs:
- RoutingProfileQueueConfig
Tags:
- Tag
プロパティは以下の通りです。
プロパティ | 内容 | 必須 |
---|---|---|
DefaultOutboundQueueArn | ルーティングプロファイルのデフォルトの送信キューのARN | ○ |
Description | 説明 | ○ |
InstanceArn | Amazon Connect インタンスのARN | ○ |
MediaConcurrencies | エージェントが扱えるチャネル(音声、チャット、タスク) | ○ |
Name | ルーティングプロファイル名 | ○ |
QueueConfigs | ルーティングプロファイルに割り当てるキュー | × |
Tags | タグ | × |
Description
は、記載が不要のこともありますが、ルーティングプロファイルは、記載が必須ですので注意してください。
DefaultOutboundQueueArn
は、Connectのコンソールから[キュー]を選択すると確認できます。
次にキューのテンプレートの書式は以下の通りです
Type: AWS::Connect::Queue
Properties:
Description: String
HoursOfOperationArn: String
InstanceArn: String
MaxContacts: Integer
Name: String
OutboundCallerConfig:
OutboundCallerConfig
QuickConnectArns:
- String
Status: String
Tags:
- Tag
プロパティは以下の通りです。
プロパティ | 内容 | 必須 |
---|---|---|
Description | 説明 | × |
HoursOfOperationArn | オペレーション時間のARN | ○ |
InstanceArn | Amazon Connect インタンスのARN | ○ |
MaxContacts | キュー内の最大問い合わせ数の上限 | × |
Name | キュー名 | ○ |
OutboundCallerConfig | 顧客に表示される発信者ID名、ID番号、ウィスパーフロー | × |
QuickConnectArns | このキューを使用しているエージェントが利用できるクイック接続のARN | × |
Status | キューのステータス(有効•無効) | × |
Tags | タグ | × |
キューの場合、Description
は、なくても構いません
QuickConnectArns
は、インスタンスのARNに、/transfer-destination/クイック接続ID
を加えたものです。
クイック接続IDの確認方法は、CLIやConnectのコンソールから[クイック接続]を選択すると、URLにIDが表示されます。
これらを合わせるとQuickConnectArns
の具体的な値は、以下のようになります。
arn:aws:connect:ap-northeast-1:アカウントID:instance/xxxxxx-xxxx-xxxx-xxxx-xxxxxx/transfer-destination/0071477c-c998-4f34-b234-760c9caf3f82
今回のテンプレート
今回使用するテンプレートは、以下です。
パラメータには、ConnectインスタンスARNとオペレーション時間のARNが選択できるようにしております。
AWSTemplateFormatVersion: '2010-09-09'
Description: connect
Parameters:
InstanceArn:
Type: String
HoursOfOperation:
Type: String
Resources:
RoutingProfile:
Type: AWS::Connect::RoutingProfile
Properties:
DefaultOutboundQueueArn: !GetAtt Queue.QueueArn
Description: update-test
InstanceArn: !Ref InstanceArn
MediaConcurrencies:
- Channel: VOICE
Concurrency: 1
Name: cm-hirai-update-test
QueueConfigs:
- Delay: 0
Priority: 1
QueueReference:
Channel: VOICE
QueueArn: !GetAtt Queue.QueueArn
Queue:
Type: AWS::Connect::Queue
Properties:
Description: update-test
HoursOfOperationArn: !Ref HoursOfOperation
InstanceArn: !Ref InstanceArn
MaxContacts: 2
Name: cm-hirai-update-test
Status: ENABLED
スタックの作成
先程のテンプレートを使用しスタックを作成します。
パラメータは、ConnectインスタンスARNとオペレーション時間のARNを貼り付けます。
キューとルーティングプロファイルがテンプレート通り作成できました。
最後に
今回のアップデートで、テンプレートを利用し、ルーティングプロファイルとキューを作成することができました。
Connectのオペレーション時間のARNやキューのARNは、確認方法が異なるため、気をつける必要があります。
また、先日、CloudFormation で ForEach 組み込み関数を使ってループ処理ができるようになったため、ルーティングプロファイル名を変えて、大量に作成することもできますので、ぜひ使ってみてください。
[アップデート] CloudFormation で ForEach 組み込み関数を使ってループが定義出来るようになりました