Amazon Connectのトラブルシューティング【一般論編】- Amazon Connect アドベントカレンダー 2022
📅 2022-12-13
この記事はAmazon Connect Advent Calendar 2022の13日目の記事です。
Amazon Connect Advent Calendar 2022は、ギークフィードとクラスメソッドさんの有志によるブログ投稿企画です。とても参考になる記事が多いのでぜひ読んでみてください!
また、この記事はAWSの無料デジタルトレーニング、「Troubleshooting: Amazon Connect」の日本語解説となります。トレーニングは2022年12月現在英語のみの提供になります。AWS Skillbuilder上で完了するとCertificationがもらえますよ。
今回は前半のパートである、対応フローや情報収集といった一般論についての記事になります。
Troubleshooting: Amazon Connect
コースの概要
コースではAmazon Connectに関する情報を収集し、一般的なトラブルシューティングに対応する方法を学習します。また、AWSサポートへエスカレーションをする必要がある場合に、効果的にサポートへ情報を提供する方法も学習します。
コースを通して以下を学びます。
- Amazon Connectの問題を認識し、解決する
- Amazon Connectの問題を調査する際に、トラブルシューティングのベストプラクティスを採用する
- Amazon Connectの問題に対して、利用可能なAWSサポートドキュメントを探して適用する
- Amazon Connectの問題をAWSサポートにエスカレートするための関連情報を認識して記録する
平たく言うと、Amazon Connect上で問題が発生した際に、問題を認識するところから調査、解決、エスカレーションまでの手法を学ぼうというコースになります。Amazon Connectを運用するシステム管理者は知っておきたい知識です。
AWSマネジメントコンソール上で情報を収集する
【ベストプラクティス】アーキテクチャ図を使用する
アーキテクチャ図を使用すると主要なコンポーネントを理解し、全体構成を把握することができます。また特定の問題をトラブルシューティングする際に、事象発生時のフローをビジュアライズすることができます。AWS上で構築作業をする前にアーキテクチャ図を書くことは一般的になっていますが、改めて書くように心がけましょう。
下記の図はとても抽象度の高いアーキテクチャ図です。それぞれ主要なコンポーネントについて見ていきましょう。
番号 | コンポーネント名 | 説明 |
---|---|---|
1 | エンドカスタマー | Amazon Connectへ電話をかける顧客や企業 |
2 | PSTN(公衆電話網) | 複数のキャリアから構成されるキャリア回線は、通話元を通話先へルーティングします |
3 | SIP | SIP(Session Initiation Protocol)は、音声、ビデオ、メッセージアプリケーションにおけるセッションの開始、維持、終了に利用されるプロトコルです |
4 | AWSリソース | 複数のAWSサービスがAmazon Connectとともに動作しています |
5 | エージェント側 | AWSとエージェントの間にはインターネットや企業の専用回線があります |
AWSのUI上でAmazon Connectの情報を探す方法
インスタンスレベルの設定
AWSマネジメントコンソールからAmazon Connectのサービスコンソールへアクセスすると、インスタンスレベルの設定を確認することができます。
コンタクトフローログ
AWSマネジメントコンソールからCloudWatchのサービスコンソールへアクセスすると、コンタクトフローログを確認することができます。
インスタンス内の設定
Amazon Connectへログインすると、インスタンス内の設定を確認することができます。
AWS CLIで情報を収集する
AWS CLI(AWS Command Line Interface)を利用することで、Amazon Connectインスタンスにおけるメトリクスやアラームの詳細情報を収集することができます。
Amazon ConnectのCLIコマンドは下記のフォーマットです。
$ aws connect [各種コマンド]
CLIを利用するには?
一番手軽のはAWS CloudShellを利用してAWSマネジメントコンソール上でCLIを実行する方法です。
ログインしているユーザー・ロールの権限を利用してコマンドを実行します。無料です。
このように実行することができます。
コマンド紹介
- list-instances
AWSアカウント内のアクティブ、作成中、失敗ステータスのインスタンスリストを取得可能です。正常に作成されなかったインスタンスは作成リクエスト後24時間のみ取得可能です。
- describe-instance
指定したインスタンスの現在の状態を取得することができます。作成中のインスタンスをトラッキングし、エラーが発生している場合には情報を返します。
上記2つはインスタンス作成時のエラーを調査する際に利用できそうですが、私は利用したことがありません。
- list-users
- list-queues
- list-routing-profiles
- list-phone-numbers-v2
指定インスタンスのユーザー、キュー、ルーティングプロファイル、電話番号のリストを取得することができます。
- search-available-phone-numbers
- claim-phone-number
トラブルシューティングからはそれてしまいますが、電話番号に関するこちらの2つのAPIは面白いです。詳しくはこちらのブログを確認ください!
Amazon Connectの電話番号がAPIで取得できるようになったのでさっそく試してみました
CLI関連のドキュメント
AWS CLIのコマンド一覧とリクエスト・レスポンスパラメータを確認することができます。
Amazon Connectを監視する
なぜ監視がトラブルシューティングにおいて重要なのか?
複数箇所でトラブルが発生した場合、AWSソリューション上のすべての箇所の監視データを収集することがトラブルシューティングする上で重要です。しかし、実際に監視を行う前に監視計画を立てましょう。
- 監視を行うゴールはなにか?
- どのリソースを監視するのか?
- どのくらいの頻度で監視するのか?
- 監視ツールは何を使うのか?
- 誰が監視を実行するのか?
- なにか問題が発生した場合に誰に通知するのか?
Amazon Connectのリソースを監視する方法
CloudWatch
Amazon CloudWatchを利用することで簡単にAmazon Connectリソースを監視することができます。CloudWatchはAmazon Connectから生データを収集、処理して視覚的なニアリアルタイムのメトリクス情報を生成します。メトリクスデータは自動的に1分ごとに送信されます。
Amazon ConnectとCloudWatchに関する情報は下記のブログからどうぞ!
- ConnectのCloudWatchメトリクス
- CloudWatchアラームでAmazon Connectを監視・通知する
- Monitor and trigger alerts using Amazon CloudWatch for Amazon Connect
CloudTrail
CloudTrailを利用することで、誰がいつどういった変更を行ったかという監査データを取得することができます。
CloudTrailの利用は初心者には少しハードルが高いですが、トラブルシューティング時に大活躍するので下記ブログを参考にして環境を作ってみることをおすすめします!
Amazon Connectのユーザ管理ログをAthenaで取得してみた- Amazon Connect アドベントカレンダー 2022
一般的な問題特定方法
多くの問題はありがちな問題でドキュメント化されているため、発生している事象や症状から問題を特定して解決策を考えるのは簡単です。
今回はトラブルシューティングを行う際の最初のステップを紹介します。
Step1: 問題を特定する
特徴的な症状から問題を分類します。
- コンソールやログファイル内にどういったエラーメッセージが出ているか? - ブラウザ上にどういったエラーメッセージが出ているか? - エラーメッセージやエラーコードを
Step2: データを収集する
事象発生後の診断データを収集したり、問題を再現してログやトレースデータなどを収集する。サービスの各種ログ、トレース、監視機能を有効にしている場合は問題発生時に情報を取得することができます。
機能を有効にしていない場合は設定を行い、可能であれば事象を再現させます。
Step3: データを分析する
Step2で取得したデータを分析し根本的な問題を特定します。場合によっては手動で関連するログファイルやトレースデータを調査する必要があるかもしれません。
大量のデータを調査する場合にはツールを利用して効率的に分析を行いましょう。
- CloudWatch Logs Insights こちらのブログで解説!
- Amazon Athena
- Amazon OpenSearch Service
Step4: ドキュメントを確認する
サービスドキュメント上に既知の問題として掲載されているか、役に立つ解決策があるかを確認する。まずは下記のドキュメントリストを確認してみましょう。
Step5: 既知の解決策を試す
ドキュメントにのっている既知の解決策を試します。同時に複数の策を実施するのではなく、一度に一つづつ解決策を実施・テストすることが重要です。
おわりに
今回はトラブルシューティングに対応するフローと関連リソースの取得方法という一般的な話でした。Amazon Connectでよくある問題とトラブルシューティングについては今後まとめていきます!
質問等はTwitter(@ippei2480)でしていただいても大丈夫です!