AWS Chatbotってどんなツール?

はじめに

AWS Chatbotというサービスを聞いたことがありますでしょうか。おそらくないという方が多いでしょう。AWS Chatbotは、AWSが新たに提供を開始した「AWS内で発生したイベントを通知してくれるサービス」です。まだあまり馴染みのないサービスではありますが、AWSユーザーには非常に有益なサービスなので、今回はその機能や特徴をご紹介します。

そもそもAWSとは

まずAWSについて、簡単に解説します。AWSとはAmazon Web Serviceの略称で、クラウドコンピューティングサービスを提供しています。いくつかあるクラウドコンピューティングサービスの中でも、AWSは世界最大規模です。

AWSは圧倒的なサービス数とユーザー数を誇り、サービス数は170以上、ユーザーは世界190ヵ国に数百万人おり、日本でも10万人を超えています。クラウドコンピューティングサービスはオンプレミス型のサービスと比較して情報漏洩のリスクが心配される事がありますが、AWSは元々Amazon社が自社用に開発したシステムを外部向けに公開しているという事で、その機密性の高さから厚い信頼を集めています。なお、AWSのハイレベルな耐久性と可用性を実現しているAWSのデータセンターは世界各地にあり、ユーザーはそのデータセンター の中から自由に選んで利用することが可能です。

Chatbotとは

「チャットボット( Chatbot )」とは「チャット」と「ボット」を組み合わせた言葉です。人工知能を使った「自動会話プログラム」の事です。「チャット」というのは、インターネットを利用したリアルタイムコミュニケーションサービスの事で、主にテキストを双方向でやり取りするという仕組みです。ビジネス向けのクラウドサービスとしては、「Chatwork」や「Slack」といったものがあります。次に「ボット」というのは、「Robot( ロボット )」の略称です。人間の代わりにタスクや処理を自動化するプログラムの事です。不正な処理を組み込まれればウィルスという脅威にもなり、スマホアプリに組み込まれると便利なツールにもなります。作る人間の手によって、脅威にもなりますし、便利なツールにもなります。これらの「Chat」と「bot」を組み合わせたものが「Chatbot」です。人 対 人でやり取りを行うのが「チャット」に対して、「Chatbot」は人 対 人工知能を組み込んだコンピューターとなり、人の代わりとなってやり取りを行います。もちろんですが、人間が組み込んだパターンでしかやり取りは行えません。

AWS Chatbotとは

「AWS Chatbot」とは、簡単に説明すると、複数のAWSサービスをSlackチャンネル及びAmazon Chimeチャットルームと安全に、かつ簡単に統合しChatOps(「Chat」と「Ops」を組み合わせた造語、チャットサービスをベースとして、システム運用を行うという意味があります)を実現できるようになります。また運用イベント、セキュリティ検出結果、予算アラートに関する通知を、チーム全体が確認できるチャットルームで受信することができます。それらに加え、Slackから特定のAWS CLI(AWS Commando Line Interfaceの略称、AWSサービスを管理するための統合ツールの事)コマンドを実行することも可能です。

今までは、AWSで何らかの通知があるとメールやSMSで確認していたユーザーが多い状況でした。しかし、AWS Chatbotを使うと、SlackやAmazon Chime上で通知を確認できるようになります。

どんな機能があるの?

AWS Chatbotは下記のような機能があります。

■色々なAWSサービスの通知が取得できる!

代表的なものとして、下記サービスの通知が取得できます。

Amazon CloudWatch アラーム

通知アラーム例:CPU利用率が80%を超えた時、SSHが切断された時

AWS Healthイベント

通知アラーム例:AWSのメンテナンス情報、障害情報

AWS Security Hubの検出結果

通知アラーム例:AWSアカウントのセキュリティチェック結果

AWS Budgetsアラート

通知アラーム例:AWSの予算請求アラート

部署やチームでSlackかAmazon Chimeを利用しているという場合は、AWS Chatbotで通知アラーム設定をしておくと、発生した通知をメンバー全体で迅速に共有できます。今まではメールやSMSといったように通知手段自体がいくつかの方法に分かれてしまう事もありました。これなら通知経路も1つにまとめられます。

■設定が簡単!

AWS Chatbotを使う時の設定は、AWS Chatbotコンソール(管理画面)で、Amazon ChimeやSlackで設定を行い、チャンネルもしくはチャットルームに AWS Chatbotを追加すれば完了です。数分でできてしまいます。

■AWS Chatbotを使用してどのようなコマンドを実行できるのか

AWS Chatbotでは、AWSの様々なサービスの読み取り専用コマンドをサポートしています。Slackからコマンドを実行して、診断情報を取得、Lambda関数を呼び出し、ワークフローの開始、AWSサポートケースを作成するといったようなことをできます。AWS Chatbotコマンドでは、馴染みのあるAWSコマンドラインインターフェイスの構文が使用されます。

AWS Chatbotを使用してのコマンド実行方法

Slackチャンネルでコマンドを実行するには、AWS Chatbotのコンソールを用いて、Slackチャンネルを作成し、「@aws」と入力します。その後にAWS コマンドラインインターフェイスを使用したコマンドを入力することでコマンドを実行することが可能となっております。

AWS ChatbotとAmazon Lexとはどう違うの?

AWSでは「Amazon Lex」というチャットボットを作成できるサービスもあります。この2つのサービスはどのような違いがあるのでしょうか。以下にそれぞれの特徴を挙げて見ていきましょう。

AWS Chatbotの特徴

各種AWSサービスのアラーム取得、診断情報をリクエスト、リソース状況のモニタリングと操作を目的として設計された、構築済みの双方向のエージェント( ChatOps )という特徴があります。

Amazon Lexの特徴

自動音声認識と自然言語理解機能を持ち、音声や文章での対話型チャットインターフェイスを作成できるので、洗練された自然言語による対話ができるチャットボットの構築をスムーズに行うことが可能です。

「AWS Chatbot」という名称の影響で。Amazon Lexと同じようにチャットボットを作れると考えられがちですが、こうして比較してみると明らかな違いがあるということが分かりますね。

どういう場合にAWS Chatbotを使用すればよいか

AWS Chatbotを使用すると、AWSで実行されているアプリケーションの運用イベント、セキュリティ検出結果、予算に関するアラートをチーム全員が常に最新の状態を確認して、対応することが可能です。イベントが発生すると、チームのエンジニアがイベント内容を確認して、議論や、診断情報を取得するというようなことが可能となるわけです。このようにチームでの仕事を行う場合だととても便利なサービスですね。

AWS Chatbotが利用できるリージョン

リージョンとは、データセンターの設置している独立したエリアの事をリージョンと呼びます。では、AWS Chatbotが利用できるリージョンはどこなのかというと、AWS Chatbotはグローバルサービスとなっており、全てのAWSリージョンで使用することができます。

AWS Chatbotでサポートされているサービス

AWS Chatbotでは、AWSの多くのサービスがサポートされています。そのアクセス許可範囲は、AWS Chatbotの設定で使用する「IAMロール」によって定義されます。注意点としては、「IAMロール」のアクセス許可範囲にかかわらず、AWS IAMやAWS KMSなどの特定のサービスなどへのアクセスは無効となっております。

AWS Chatbotのセキュリティについて

AWS Chatbotの設定でIAMロールを設定することにより、アクセスキーやシークレットキーを使用することなくアクセス権限を管理することが可能です。IAMロールを設定すると、上記に書いたアクセスキーやシークレットキーといった「キー」の流失するリスクがゼロとなるのでAWS Chatbotのセキュリティ面強化へとつながります。また、キーの変更や管理といった手間も省くことが出来るのでユーザーの負担も軽減することが可能となっております。

料金は?

気になる料金ですが、なんとAWS Chatbotには利用料金はありません。同じように最低月額料金も必要ありません。なお、Amazon CloudWatchやAWS Security Hubといった併用するサービスの料金のみ請求されます。お試し感覚でも気軽に利用することができます。

まとめ

いかがでしたでしょうか?今回はAWS Chatbotについてご紹介をさせていただきました。AWSを利用されている方なら、通知をまとめて確認できるのはかなり便利ですよね。本記事で興味を持っていただけた方はぜひチェックしてみてください。最後までご覧頂き、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です