【前回】AmazonConnectによる自動電話通知(5.EC2/ZABBIXとの連携)
【次回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈概要〉)
【簡易版】AmazonConnectによる自動電話通知(まとめ)
監視サーバーで障害を検知した際に、自動で電話通知できるようにしていきます。ネットワークエンジニアも利用することの多い監視サーバー(Zabbix)で障害検知し、AWS上のAmazonConnectを利用し自動電話を発信します。
今回は自動電話通知に対してユーザーが応答したかどうかを確認する仕組みを導入します。
![AmzonConnectでの自動電話発信と応答確認イメージ](https://infrastructure-engineer.com/wp-content/uploads/2021/10/000-1024x345.jpg)
EC2上でのZabbixの構築はこちらを参照してください。
CloudWatchによるLambdaの実行結果確認
前回までに作成したLambda(AmazonConnectTest-001)の実行結果はCloudWatchで確認できます。
AWSマネジメントコンソール上で、「cloudwatch」を検索します。
![CloudWatchの検索](https://infrastructure-engineer.com/wp-content/uploads/2021/10/001-10-1024x569.jpg)
「ロググループ」から対象のLambda(AmazonConnectTest-001)をクリックします。
![ロググロープの選択](https://infrastructure-engineer.com/wp-content/uploads/2021/10/002-11-1024x538.jpg)
ログストリームから確認したい時間帯のログをクリックします。
![ログストリームの選択](https://infrastructure-engineer.com/wp-content/uploads/2021/10/003-9-1024x315.jpg)
Lambdaの実行結果が表示されます。AmazonConnectTest-001については、開始/終了のログしか残っていないため、実際の電話通知結果がどうだったかはわかりません。
![Lambdaの実行結果ログの
確認](https://infrastructure-engineer.com/wp-content/uploads/2021/10/004-9-1024x538.jpg)
自動電話の結果を確認するLambdaの作成
Lambdaの画面から「関数の作成」をクリックします。
![関数の作成開始](https://infrastructure-engineer.com/wp-content/uploads/2021/10/005-8-1024x538.jpg)
下記の通り入力し、「関数の作成」をクリックします。
オプション:一から作成を選択
関数名:任意の名前を入力 ※ここでは、”AmazonConnectTest-002″としています。
ランタイム:Pythonを選択 ※ここでは、最新版の”Python 3.9″を選択しています。
![関数の作成](https://infrastructure-engineer.com/wp-content/uploads/2021/10/006-8-1024x709.jpg)
Lambdaのコードを記述し、「Deploy」をクリックします。
def lambda_handler(event, context):
destphone = event['Details']['ContactData']['CustomerEndpoint']['Address']
pressnum = event['Details']['ContactData']['Attributes']['pressnum']
if pressnum == "1":
print(destphone + "への通知に成功しました。")
else:
print(destphone + "への通知に失敗しました。")
![関数のコード記述](https://infrastructure-engineer.com/wp-content/uploads/2021/10/007-7-1024x538.jpg)
AmazonConnectへLambdaを登録
AmazonConnectのインスタンスをクリックします。
![AmazonConnectのインスタンスを選択](https://infrastructure-engineer.com/wp-content/uploads/2021/10/008-8-1024x538.jpg)
「問い合わせフロー」の「AWS Lambda」で、作成したLambda関数を選択し、「+ Add Lambda Function」をクリックします。
![Lambda関数を選択](https://infrastructure-engineer.com/wp-content/uploads/2021/10/009-7-1024x538.jpg)
Lambda関数が追加されたことを確認します。
![Lambda関数の追加確認](https://infrastructure-engineer.com/wp-content/uploads/2021/10/010-8-1024x538.jpg)
AmazonConnectの問い合わせフロー作成
下記で作成した問い合わせフローを修正します。
AmazonConnectによる自動電話通知(3.問い合わせフローの作成)
![AmazonConnectの問い合わせフロー修正開始](https://infrastructure-engineer.com/wp-content/uploads/2021/10/011-6-1024x567.jpg)
フローの設置
「操作」から「顧客の入力を取得する」をドラッグ&ドロップします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/012-5-1024x565.jpg)
「設定」から「コンタクト属性の設定」を2つドラッグ&ドロップします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/013-5-1024x567.jpg)
「操作」から「プロンプトの再生」を2つドラッグ&ドロップします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/014-5-1024x567.jpg)
「統合」から「AWS Lambda 関数を呼び出す」をドラッグ&ドロップします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/015-5-1024x567.jpg)
フローの設定
「顧客の入力を取得する」をクリックします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/016-5-1024x567.jpg)
「テキスト読み上げまたはチャットテキスト」と「テキストの入力」にチェックを入れ、下記を入力します。
確認しましたら、1を押してください。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/017-6-1024x567.jpg)
「別の条件を追加」をクリックします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/018-8-1024x554.jpg)
オプションに「1」を入力し、「Save」をクリックします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/019-7-1024x567.jpg)
上側の「コンタクト属性の設定」をクリックします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/020-4-1024x567.jpg)
下記の通り入力し、「Save」をクリックします。
宛先タイプ:ユーザー定義を選択
宛先属性:”pressnum”と入力 ※任意の名前を入力します。
テキストの使用:チェックを入れる
値:”1″を入力
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/021-3-1024x567.jpg)
下側の「コンタクト属性の設定」をクリックします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/022-3-1024x567.jpg)
下記の通り入力し、「Save」をクリックします。
宛先タイプ:ユーザー定義を選択
宛先属性:”pressnum”と入力 ※任意の名前を入力します。
テキストの使用:チェックを入れる
値:”none”を入力
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/023-5-1024x567.jpg)
上側の「プロンプトの再生」をクリックします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/024-4-1024x567.jpg)
「テキスト読み上げまたはチャットテキスト」と「テキストの入力」にチェックを入れ、下記を入力します。※正常に”1″が押された場合のメッセージ内容です。
応答が確認できました。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/025-4-1024x567.jpg)
下側の「プロンプトの再生」をクリックします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/026-4-1024x567.jpg)
「テキスト読み上げまたはチャットテキスト」と「テキストの入力」にチェックを入れ、下記を入力します。※正常に”1″が押されなかった場合のメッセージ内容です。
応答が確認できませんでした。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/027-2-1024x567.jpg)
「AWS Lambda関数を呼び出す」をクリックします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/028-2-1024x567.jpg)
「関数を選択する」にチェックを入れ、作成したLambda関数を選択します。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/029-4-1024x554.jpg)
「パラメーターを追加する」をクリックします。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/030-4-1024x555.jpg)
下記の通り入力し、「Save」をクリックします。
属性を使用する:チェックを入れる
宛先キー:”pressnum”と入力 ※任意の名前を入力します。
タイプ:ユーザー定義
属性:“pressnum”と入力 ※コンタクト属性の設定と合わせます。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/031-2-1024x567.jpg)
設定を再確認します。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/032-2-1024x567.jpg)
フローの接続
「プロンプトの再生」と「切断」の接続を解除します。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/033-2-1024x567.jpg)
下記の通りの接続に変更します。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/034-2-1024x645.jpg)
「公開」をクリックし、正常に保存されることを確認します。
![AmazonConnectの問い合わせフロー修正](https://infrastructure-engineer.com/wp-content/uploads/2021/10/035-3-1024x567.jpg)
AmazonConnectのテスト
下記を参照してAmazonConnectを起動し、想定通りの動作となるか確認します。
AmazonConnectによる自動電話通知(3.問い合わせフローの作成)
AmazonConnectによる自動電話通知(4.Lambdaによる起動)
キーパッドで”1″を押した時と、その他の動作(1以外を押す、何も押さない)の場合で、アナウンスされるメッセージが変わることを確認します。
CloudWatchによるLambdaの実行結果確認(通知成功/失敗)
「ロググループ」から対象のLambda(AmazonConnectTest-002)をクリックします。
![CloudWatchのロググロープ選択](https://infrastructure-engineer.com/wp-content/uploads/2021/10/036-2-1024x538.jpg)
“1”を押した場合は、「通知に成功しました。」というログが表示されています。
![通知成功時のログ確認](https://infrastructure-engineer.com/wp-content/uploads/2021/10/037-2-1024x423.jpg)
その他動作の場合は、「通知に失敗しました。」というログが表示されています。
![通知失敗時のログ確認](https://infrastructure-engineer.com/wp-content/uploads/2021/10/038-2-1024x423.jpg)
以上で、AmazonConnectによる自動電話通知(6.ユーザー入力による応答確認)の説明は完了です。
【前回】AmazonConnectによる自動電話通知(5.EC2/ZABBIXとの連携)
【次回】AmazonConnectによる自動電話通知(7.複数連絡先への電話通知〈概要〉)
【簡易版】AmazonConnectによる自動電話通知(まとめ)