[アップデート] Amazon ConnectのキューとルーティングプロファイルがCloudFormationで作成できるようになりました

2023.07.28

はじめに

Amazon ConnectのキューとルーティングプロファイルをCloudFormationで作成できるようになりました。

キューとは、エージェントが応答するまでの待機エリアです。

ルーティングプロファイルとは、どのキューを受けるかを設定し、ユーザーに紐付けることができます。

ルーティングプロファイルとキューは、Connectを利用する際、確実に作成しますので、今回のアップデートによって手動設定によるヒューマンエラーのリスクを低減できます。

コードによる適切なインフラ運用をすることで、運用管理が効率化します。

CloudFormationでキューとルーティングプロファイルを作成する場合、下記のAWSドキュメントのリファレンスにプロパティ情報の記載があります。

リファレンスを元に作成してみます。

各リソースの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 組み込み関数を使ってループが定義出来るようになりました