AWS初めて1か月の初心者がAmazonConnect構築してみた

【概要】
11/1から本格的にAWSに触り始めて、二週間VPCやらEC2やら使ってサーバー構築したりしてた初心者が「AmazonConnectを使用してコールセンターを作る課題」に挑戦してみたので、その時の勉強方法やメモとその時作った設計書とかを備忘録として置いておく。


【本人のスペック】
座学で4カ月勉強してAWSのクラウドプラクティショナーと、ソリューションアーキテクトアソシエイトの資格持ってるちょっと知識がある状態。でもAmazonConnectなんてサービス知らない＆試験範囲じゃなかったので知識ゼロからスタートした。


【どのぐらい時間かかった？】
7日。でも設計にかかる時間が9割9分なので設計書が出来上がってからは1時間もかからなかった。期限が二週間で土日休みの月～金のみ課題挑戦して、二週目の火曜日に終わったので実際の取り組み時間としては7日。


【AmazonConnectってなに？】
簡単に言うと、AWSが提供してる「おてがるかんたんコンタクトセンター開設サービス」
コンタクトセンターとは電話・チャット・タスク機能を使ってお客様のサポートする部署みたいなもの。（対応可能なのが電話だけじゃなくなったから”コールセンター”って呼ばなくなったのかなー）
詳しくは公式のサービス紹介ページを https://aws.amazon.com/jp/connect/


【勉強法とか】
まずざっくりサービスの内容を把握するところからなのと、使い方を知りたいので、公式HPから「デモをリクエスト」
![20221129_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/0e567f4a-52f1-12d7-3587-91129ffb9725.png)
メールアドレス入力して、メールからハンズオンなどが置いてあるページに飛べます。1時間ぐらいのサービス内容について紹介している動画見たあとに、ハンズオン用に配布されている資料（PowerPoint183ページ）DLして、必要だと思った部分だけ実際にポチポチためしにやってみた。（「実際に電話をかけよう！」の段階で、現在は日本の電話番号がなぜかAWSにリクエストしないと使えないので、アメリカの電話番号使用。別のインスタンスも作ってそこから電話をかけて動作検証した。）
半日使ってようやく基礎的な使い方を学んだ。
漫画も置いてあるので勉強しやすいです。
https://aws.amazon.com/jp/campaigns/manga/vol12-1/?sc_icampaign=jp_awareness_awsmanga_connect_ribbon&sc_ichannel=ha&sc_icontent=awssm-4154&sc_iplace=ribbon&trk=ha_awssm-4154_jp_awareness_awsmanga_connect_ribbon

分からなくなったときは管理者ガイドを読むといいけど、「英語→日本語に機械翻訳したんか？」って感じで端から端まで読んでも雰囲気しか伝わってこないところがあるので全部は読んでない。（本当は読まないといけないんだろうけど、集中力がなかった（カス）
特に読んだのは「フローを作成する＞フローブロック定義」の部分。
フローを作るとき100%お世話になるはず。ここだけでもいいから読んだほうがいい。
https://docs.aws.amazon.com/ja_jp/connect/latest/adminguide/amazon-connect-get-started.html
![20221129_8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/68a64821-6d94-c3d0-442c-37a9f63f921f.png)
ここまでで内容をざっくり把握するだけで1日使った。

あとはデフォルトですでに作られている既存のフロー図があるのでそこから「これ、こういう動きしてるのか…」と何となく把握できる。なんならAWS様が「デフォルトのこのフローは、こういう動きになってますよ^^」という解説してるページが「管理者ガイド＞フローを作成する＞デフォルトのフロー」に書いてあるので今回の課題内容に必要そうな部分だけ読んで勉強した。


【今回の課題の要件、検証事項】
・アメリカの直通ダイヤルを使用してください。(個人の端末は使用しないでください)
・AmazonConnectで受発信をして検証してください。
・状態の表示を「offline」「available」から「受電不可」「受電可能」に変更したい。
・ボタン操作で架電先を選択したい(1,2で選択)。
・営業時間内のみ受電できるようにしてほしい。
・営業時間内でも受付オペレーターがいない場合にはコールバックの設定をしてほしい。
・営業時間外には営業時間外を伝えるアナウンスを入れて切断してほしい。
・オペレーターに着信後20秒応答がない場合は電話を切断するようにしてほしい（エージェントフロー）。
・オペレーターがAmazonConnectのマネジメントコンソールで着信履歴を確認できるようにしたい。
・着信履歴の音声の再生は3日間のみにしてほしい。（どこに音声ファイルがはいるのかを確認しよう）
・デフォルトで設定されているボイスメッセージを無音にしたい。

（ムリ！！！！！！！！！！（やるしかない



【実際に作った設計書】
でかすぎて超みずらいかもしれないけど画像ではります。（エクセルで作ったんだけどqiitaってエクセルデータは貼り付けられないのかな…？）設計書作った後にちょことちょこ「あれ、ここ動かないな、挙動がおかしいな」でAmazonConnectの方いじったのでもしかしたらこれ通りに作ってもどっかおかしいかもしれない。

・コンタクトフロー（インバウンド）
![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/d206fcd6-77ed-c908-ea6f-39afda345449.png)
・顧客フロー
![3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/c493b85c-c0b0-ca79-3151-498374c48986.png)
・設計書
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/c2d535eb-be7c-d345-1aee-27d37e960b8f.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/102df047-afe6-5e8a-5659-28b2ad7bc9ca.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/fe54d5ab-d9ef-a757-88ea-6d689ffac285.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/2514e277-3f42-ed4f-69b0-7472b5082905.png)

【AmazonConnctのコンタクトフロー図】
コンタクトフロー（インバウンド）
![20211129_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/97af2c95-7300-d96c-66fd-5a11c45d7566.png)
顧客フロー
![コンタクトフロー2-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/48ee9f89-6b0c-8e67-ec19-ceec6e02dcd8.png)

【達成事項】
要件に対しては下記のように設定して達成した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/6f65b996-16ec-84a7-7226-3303a2969bf4.png)

【苦労したこと】
まず単語を調べるところからだった。認識が間違っていて設定するまで時間がかかったし、講師へ質問する際も（なにか…私はものすごいとんちんかんなこと言っている気がする…話がかみ合ってない気がする…）が発生したので私が認識失敗してたことを下記に書く。
・ユーザー…AmazonConnect版IAMユーザー的なもの。コンタクトセンター側に所属する人間のことを指すので顧客のことではない。（そりゃそうだ）後述するセキュリティ＆ルーティングプロファイルをとりつける必要がある。権限と部署の配置決めるみたいな感じ。
・Agent…エージェント。電話対応者のこと。オペレーターともいうのだろうか（日本語使ってくれ）（お前が勉強しろ）
・セキュリティプロファイル…ざっくりいって「権限」。AmazonConnect版IAMポリシー兼ロール。会社でいう平社員権限、部長権限、社長権限みたいな感じで使える機能を分けるやつ。「Agent:電話を受けたり、発信したりする権限のみ」「Admin：開発者権限なので全部にアクセスできる」とかそんな感じでデフォルトのものがある。画像のように表から選んでポチポチするだけなので感覚的に取り付け簡単。（個人的「なんだオメーその機能！」と理解するのに苦しんだ、その一）
![20221129_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/a17d86d1-ed2e-2191-d662-7364ae82f56d.png)

・ルーティングプロファイル…ざっくりいって「部署」。電話のみ担当、チャットのみ担当、どっちも担当…といったように担当する仕事を決めることが出来る。後述するキューという窓口をとりつける必要がある。（個人的「なんだオメーその機能！」その二）
・キュー…「待機列兼、窓口」みたいなもの。こいつのイメージが下のような感じだと思っていたんだけど実際には窓口のイメージが近い。
![20211129_9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/e1414b25-27f4-e8d3-7e0e-f336e07f6f12.png)
実際にはこんな感じ↓
![20221129_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/d545a940-c69f-30fe-4549-4e99c57eb34a.png)
キューに対応可能時間を設定する。「朝シフトキュー9:00-12:00」とか「昼シフトキュー12:00-15:00」とかそんな感じでキューに時間をとりつける。でもエージェントに電話をつなげるブロックに「作業ブロックの設定」→「キューへ転送」が必要とは思わなかった。ブロック「電話を転送する」を使って（なぜか挙動がうまくいかない…なぜだ…）を延々と繰り返していた。


【注意すること】
以下はお金がかかるので注意
・電話番号の取得
・電話番号の受発信
特に今回は「アメリカ直通番号」という指定だったので個人のスマホからかけたらとんでもないことになるので、別でインスタンス作ってそこで＋１電話番号取得して検証電話をかけることで達成。（それでも一回当たり0.0数＄かかるはず）


【振り返ってみて】
・最初に作ったフロー図が「ゴミのように見づらい（※実際にはもっとマイルドな表現」との評価だったので、終了ブロックは何個も使っていいので、「他人が見てもわかるように作る」と心がけよう！右にいったら左に戻らない！！
下のはゴミのようなフロー図（そして間違っている）（自分が見てもわからないゴミ図）
![53.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2989326/4bb99b78-eee9-0b60-563a-71294a087f20.png)


資料の検索の仕方が下手すぎて、時間かかった。
もっと早く学べる勉強法あるといいんだけどな…。