AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築③〉)

AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築③〉)

【前回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築②〉)
【次回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築④〉)
【簡易版】AmazonConnectによる自動電話通知(まとめ)

監視サーバーで障害を検知した際に、自動で電話通知できるようにしていきます。ネットワークエンジニアも利用することの多い監視サーバー(Zabbix)で障害検知し、AWS上のAmazonConnectを利用し自動電話を発信します。

今回は下記の条件を満たせるようにAWSの各サービスを利用して自動電話通知の仕組みを導入します。

前提条件
  • 複数の通知先を登録した連絡先リストを持たせる。
  • 連絡先リストに優先度(通知順)を設定する。
  • 優先度が高い人に最初に電話する。
  • 応答が無かった場合、次の優先度の人に順番に電話する。
  • 連絡先リストの最後まで電話しても応答が無かった場合、最初に戻って継続する。
目次

自動電話通知フロー

電話に応答した場合のフロー

電話に応答した場合のフロー
  1. EC2上の監視サーバーで障害を検知し、S3へトリガーファイルを格納
  2. S3のイベント通知機能で、SQS_1にメッセージを送信
  3. SQS_1をトリガーとして、Lambda_1を起動
  4. Lambda_1がDynamoDB_1から連絡先を取得し、AmazonConnectを起動
  5. Lambda_1がAmazonConnectを起動すると同時に、SQS_2へメッセージを送信
  6. AmazonConnectがユーザーへ自動電話通知を実施
  7. ユーザが正常応答し、AmazonConnectがLambda_2を起動
  8. Lambda_2が応答結果をDynamoDB_2に保存(応答OK)
  9. 60秒後にSQS_2をトリガーとしてLambda_3を起動
  10. Lambda_3がDynamoDB_2の応答結果を確認(正常応答しているため、何もせずに処理完了)

電話に応答しなかった場合のフロー

電話に応答しなかった場合のフロー
  1. EC2上の監視サーバーで障害を検知し、S3へトリガーファイルを格納
  2. S3のイベント通知機能で、SQS_1にメッセージを送信
  3. SQS_1をトリガーとして、Lambda_1を起動
  4. Lambda_1がDynamoDB_1から連絡先を取得し、AmazonConnectを起動
  5. Lambda_1がAmazonConnectを起動すると同時に、SQS_2へメッセージを送信
  6. AmazonConnectがユーザーへ自動電話通知を実施
  7. ユーザが正常応答せず、AmazonConnectがLambda_2を起動
  8. Lambda_2が応答結果をDynamoDB_2に保存(応答NG ※実際にはステータスを変更しない)
  9. 60秒後にSQS_2をトリガーとしてLambda_3を起動
  10. Lambda_3がDynamoDB_2の応答結果を確認
  11. 正常応答していないため、再度AmazonConnectを起動(以降、5から繰り返し)

AmazonConnectの問い合わせフロー作成

ダッシュボードの左メニューから「ルーティング」→「問い合わせフロー」をクリックします。

AmazonConnectの問い合わせフロー画面へ遷移

「コンタクトフローの作成」をクリックします。

問い合わせフローの作成開始

問い合わせフローの名前を入力します。

問い合わせフローの名前を入力

「設定」を展開します。

「設定」を展開

「音声の設定」をドラッグ&ドロップします。

「音声の設定」をドラッグ&ドロップ

「操作」を展開します。

「操作」を展開

「プロンプトの再生」をドラッグ&ドロップします。

「プロンプトの再生」をドラッグ&ドロップ

「終了/転送」を展開します。

「終了/転送」を展開

「切断」をドラッグ&ドロップします。

「切断」をドラッグ&ドロップ

「音声の設定」をクリックします。

「音声の設定」をクリック

言語と音声を選択します。日本語の場合、音声はMizukiさんかTakumiさんを選択できます。

言語と音声を選択

「プロンプトの再生」をクリックします。

「プロンプトの再生」をクリック

「テキスト読み上げまたはチャットテキスト」→「テキストの入力」を選択し、読み上げる文章を入力します。ここでは、「AmazonConnectからの障害発生通知です。」と入力しました。(日本語でも流暢に読み上げてくれます。)

読み上げるテキストを入力

それぞれのボックスをドラッグして接続します。

それぞれのボックスを結合

作成した問い合わせフローを利用できるようにするために、「公開」をクリックします。

問い合わせフローを公開

「公開」をクリックします。

「公開」をクリック

正常に保存され、公開済みとなればOKです。

公開済みを確認

「追加のフロー情報の表示」を展開しARNを表示します。instanceの後ろの文字列がインスタンスID、contact-flowの後ろの文字列が問い合わせフローIDとなりますので、メモしておきます。

問い合わせフローのARN(インスタンスIDと問い合わせフローID)を確認

以上で、AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築③〉)の説明は完了です!

【前回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築②〉)
【次回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築④〉)
【簡易版】AmazonConnectによる自動電話通知(まとめ)

  • URLをコピーしました!
  • URLをコピーしました!
目次