【前回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築⑤〉)
【次回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築⑦〉)
【簡易版】AmazonConnectによる自動電話通知(まとめ)
監視サーバーで障害を検知した際に、自動で電話通知できるようにしていきます。ネットワークエンジニアも利用することの多い監視サーバー(Zabbix)で障害検知し、AWS上のAmazonConnectを利用し自動電話を発信します。
今回は下記の条件を満たせるようにAWSの各サービスを利用して自動電話通知の仕組みを導入します。
- 複数の通知先を登録した連絡先リストを持たせる。
- 連絡先リストに優先度(通知順)を設定する。
- 優先度が高い人に最初に電話する。
- 応答が無かった場合、次の優先度の人に順番に電話する。
- 連絡先リストの最後まで電話しても応答が無かった場合、最初に戻って継続する。
自動電話通知フロー
電話に応答した場合のフロー
![電話に応答した場合のフロー](https://infrastructure-engineer.com/wp-content/uploads/2021/10/001-12-1024x524.jpg)
- EC2上の監視サーバーで障害を検知し、S3へトリガーファイルを格納
- S3のイベント通知機能で、SQS_1にメッセージを送信
- SQS_1をトリガーとして、Lambda_1を起動
- Lambda_1がDynamoDB_1から連絡先を取得し、AmazonConnectを起動
- Lambda_1がAmazonConnectを起動すると同時に、SQS_2へメッセージを送信
- AmazonConnectがユーザーへ自動電話通知を実施
- ユーザが正常応答し、AmazonConnectがLambda_2を起動
- Lambda_2が応答結果をDynamoDB_2に保存(応答OK)
- 60秒後にSQS_2をトリガーとしてLambda_3を起動
- Lambda_3がDynamoDB_2の応答結果を確認(正常応答しているため、何もせずに処理完了)
電話に応答しなかった場合のフロー
![電話に応答しなかった場合のフロー](https://infrastructure-engineer.com/wp-content/uploads/2021/10/002-13-1024x524.jpg)
- EC2上の監視サーバーで障害を検知し、S3へトリガーファイルを格納
- S3のイベント通知機能で、SQS_1にメッセージを送信
- SQS_1をトリガーとして、Lambda_1を起動
- Lambda_1がDynamoDB_1から連絡先を取得し、AmazonConnectを起動
- Lambda_1がAmazonConnectを起動すると同時に、SQS_2へメッセージを送信
- AmazonConnectがユーザーへ自動電話通知を実施
- ユーザが正常応答せず、AmazonConnectがLambda_2を起動
- Lambda_2が応答結果をDynamoDB_2に保存(応答NG ※実際にはステータスを変更しない)
- 60秒後にSQS_2をトリガーとしてLambda_3を起動
- Lambda_3がDynamoDB_2の応答結果を確認
- 正常応答していないため、再度AmazonConnectを起動(以降、5から繰り返し)
AmazonConnectの問い合わせフロー修正
構築③で作成した問い合わせフローを修正します。
AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築③〉)
Lambdaの登録
AmazonConnectの画面から対象のインスタンスをクリックします。
![対象のインスタンスをクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/091-1024x631.jpg)
左メニューから「問い合わせフロー」を選択し、「AWS Lambda」の登録画面を開きます。
![問い合わせフローを選択](https://infrastructure-engineer.com/wp-content/uploads/2021/11/092-1024x571.jpg)
Lambda_2(AmazonConnectの通知結果を保存する関数)を選択し、「+ Add Lambda Function」をクリックします。
![対象のLambdaを選択し追加](https://infrastructure-engineer.com/wp-content/uploads/2021/11/093-1024x571.jpg)
対象のLambdaが追加されたことを確認します。
![Lambdaの追加確認](https://infrastructure-engineer.com/wp-content/uploads/2021/11/094-1024x571.jpg)
問い合わせフロー修正
問い合わせフローを修正していきます。
![問い合わせフローの修正開始](https://infrastructure-engineer.com/wp-content/uploads/2021/11/095-1024x662.jpg)
「操作」を展開し、「顧客の入力を取得する」を2つ、ドラッグ&ドロップします。
![「操作」を展開し、「顧客の入力を取得する」を2つ、ドラッグ&ドロップ](https://infrastructure-engineer.com/wp-content/uploads/2021/11/096-1024x662.jpg)
「設定」を展開し、「コンタクト属性の設定」を2つ、ドラッグ&ドロップします。
![「設定」を展開し、「コンタクト属性の設定」を2つ、ドラッグ&ドロップ](https://infrastructure-engineer.com/wp-content/uploads/2021/11/097-1024x662.jpg)
「操作」を展開し、「プロンプトの再生」を2つ、ドラッグ&ドロップします。
![「操作」を展開し、「プロンプトの再生」を2つ、ドラッグ&ドロップ](https://infrastructure-engineer.com/wp-content/uploads/2021/11/098-1024x662.jpg)
「統合」を展開し、「AWS Lambda 関数を呼び出す」をドラッグ&ドロップします。
![「統合」を展開し、「AWS Lambda 関数を呼び出す」をドラッグ&ドロップ](https://infrastructure-engineer.com/wp-content/uploads/2021/11/099-1024x662.jpg)
上側の「顧客入力を取得する」をクリックします。
![上側の「顧客入力を取得する」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/100-1024x662.jpg)
「テキスト読み上げまたはチャットテキスト」→「テキストの入力」を選択し、「確認しましたら、1を押してください」と入力します。
![「テキスト読み上げまたはチャットテキスト」→「テキストの入力」を選択し、「確認しましたら、1を押してください」と入力](https://infrastructure-engineer.com/wp-content/uploads/2021/11/101-1-1024x662.jpg)
「別の条件の追加」をクリックします。
![「別の条件の追加」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/101-2-1024x662.jpg)
オプションに「1」を入力し、「Save」をクリックします。
![オプションに「1」を入力し、「Save」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/102-1024x662.jpg)
下側の「顧客入力を取得する」をクリックします。
![下側の「顧客入力を取得する」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/103-1024x662.jpg)
「テキスト読み上げまたはチャットテキスト」→「テキストの入力」を選択し、「入力が確認できませんでした。確認しましたら、1を押してください」と入力します。※最初のアナウンスで応答が確認できなかった時に、再度確認を行うためのフローです。
![「テキスト読み上げまたはチャットテキスト」→「テキストの入力」を選択し、「入力が確認できませんでした。確認しましたら、1を押してください」と入力](https://infrastructure-engineer.com/wp-content/uploads/2021/11/104-1-1024x662.jpg)
「別の条件の追加」をクリックします。
![「別の条件の追加」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/104-2-1024x662.jpg)
オプションに「1」を入力し、「Save」をクリックします。
![オプションに「1」を入力し、「Save」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/105-1024x662.jpg)
上側の「コンタクト属性の設定」をクリックします。
![上側の「コンタクト属性の設定」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/106-1024x662.jpg)
下記の通り入力し、「Save」をクリックします。
宛先タイプ:ユーザー定義を選択
宛先属性:”pressnum”と入力 ※任意の名前を入力します。
テキストの使用:チェックを入れる
値:”1″を入力
![入力し、「Save」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/107-1024x662.jpg)
下側の「コンタクト属性の設定」をクリックします。
![下側の「コンタクト属性の設定」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/108-1024x662.jpg)
下記の通り入力し、「Save」をクリックします。
宛先タイプ:ユーザー定義を選択
宛先属性:”pressnum”と入力 ※任意の名前を入力します。
テキストの使用:チェックを入れる 値:”none”を入力
![入力し、「Save」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/109-1024x662.jpg)
上側の「プロンプトの再生」をクリックします。
![上側の「プロンプトの再生」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/110-1024x662.jpg)
「テキスト読み上げまたはチャットテキスト」→「テキストの入力」を選択し、「入力を確認しました。障害発生通知完了です。」と入力します。※正常に”1″が押された場合のメッセージ内容です。
![「テキスト読み上げまたはチャットテキスト」→「テキストの入力」を選択し、「入力を確認しました。障害発生通知完了です。」と入力](https://infrastructure-engineer.com/wp-content/uploads/2021/11/111-1024x659.jpg)
下側の「プロンプトの再生」をクリックします。
![下側の「プロンプトの再生」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/112-1024x662.jpg)
「テキスト読み上げまたはチャットテキスト」→「テキストの入力」を選択し、「入力を確認しました。障害発生通知完了です。」と入力します。※正常に”1″が押されなかった場合のメッセージ内容です。
![「テキスト読み上げまたはチャットテキスト」→「テキストの入力」を選択し、「入力を確認しました。障害発生通知完了です。」と入力](https://infrastructure-engineer.com/wp-content/uploads/2021/11/113-1024x662.jpg)
「AWS Lambda 関数を呼び出す」をクリックします。
![「AWS Lambda 関数を呼び出す」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/114-1024x662.jpg)
「関数を選択する」にチェックを入れ、作成したLambda関数を選択します。
![「関数を選択する」にチェックを入れ、作成したLambda関数を選](https://infrastructure-engineer.com/wp-content/uploads/2021/11/115-1-1024x662.jpg)
「パラメータを追加する」をクリックします。
![「パラメータを追加する」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/115-2-1024x662.jpg)
下記の通り入力し、「Save」をクリックします。
属性を使用する:チェックを入れる
宛先キー:”pressnum”と入力 ※任意の名前を入力します。
タイプ:ユーザー定義
属性:“pressnum”と入力 ※コンタクト属性の設定と合わせます。
![入力し、「Save」をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/116-1024x662.jpg)
下記の通りの接続に変更します。
![フローの接続を変更](https://infrastructure-engineer.com/wp-content/uploads/2021/11/117-1024x806.jpg)
「公開」をクリックし、問い合わせフローを保存します。
![公開をクリック](https://infrastructure-engineer.com/wp-content/uploads/2021/11/118-1024x662.jpg)
以上で、AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築⑥〉)の説明は完了です!
【前回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築⑤〉)
【次回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈構築⑦〉)
【簡易版】AmazonConnectによる自動電話通知(まとめ)