【AWS】Amazon Elasticsearch Serviceについて解説します。
「Elasticsearch」とは、Elastic社が提供しているオープンソースの全文検索エンジンです。 大容量のデータの中から必要なデータを高速で取り出すことができます。今回は、AWSでのElasticsearchについて解説していきます。
■Elasticsearch
ElasticsearchとはElastic社によって開発されたデータの格納&解析ツールで、分類的にはNoSQLにわけられます。Apacheライセンスで公開されており、利用者はサポートが必要なければ無料で利用でき、再配布や改変も自由に行えます。
■Kibana
KibanaとはElastic社によって開発されたデータの可視化ツールで、Elasticsearchと連携をして棒グラフや円グラフなど様々なグラフを出力できるツールです。セットアップもとても簡単にできるように設計されており、Elasticsearchと同じくApacheライセンスで提供されています。
■Amazon Elasticsearch Service
Amazon Elasticsearch Service(Amazon ES)は、AWSクラウドのElasticsearchクラスターを、簡単にデプロイ、運用、スケールするマネージド型サービスです。Amazon ESを使用するとElasticsearchのAPIに直接アクセスできるため、既存のコードとアプリケーションをシームレスに連携することができます。
■Amazon Elasticsearch Serviceの利点
- 【デプロイと管理が簡単】
- Amazon ESを使用すれば、Elasticsearchクラスターを数分でデプロイできます。このサービスは、ハードウェアプロビジョニング、ソフトウェアのインストールとパッチ適用、障害復旧、バックアップ、モニタリングといった管理タスクを簡素化します。クラスターをモニタリングするために、Amazon ESには組み込みのイベントモニタリングとアラートが含まれているため、データの変更に関する通知を受け取り、問題を事前に対処することが可能になります。
- 【高度なスケーラブル】
- Amazon ESを使用すると、単一クラスターに最大3PBのデータを保存できます。そのため、単一のKibanaインターフェースを介して大規模なログ分析ワークロードを実行できます。クラスターを簡単にスケールアップまたはスケールダウンするには、APIコールを1回実行するか、AWSコンソールでクリックを数回するだけです。Amazon ESはマルチAZ配置を使用して高い可用性を確保するように設計されているため、同じリージョン内の3つのアベイラビリティーゾーン間でデータをレプリケートできます。
- マルチAZ配置:必要に応じて(または自動フェイルオーバー向けに)、プライマリDBインスタンスが別のアベイラビリティーゾーンにあるスタンバイインスタンスに同期的にレプリケートを可能にした構造。
- 【高い安全性】
- Amazon ESでデータを使用して実現できるのは、Amazon VPCによるネットワーク隔離であり、AWS KMSを使用して作成、制御するキーによる保存時または転送中のデータ暗号化、そしてAmazon CognitoおよびAWS IAMポリシーによる認証とアクセスコントロールの管理です。また、Amazon ESはHIPAAに適合しているほかPCI DSS、SOC、ISO、FedRamp標準に準拠しており、業界固有の要件または法規制要件の適合を支援しています。
- HIPAA:医療情報の電子化の推進とそれに関係するプライバシー保護やセキュリティ確保について定めた法律。
- PCI DSS:事業規模の大きさに関わらず、クレジットカードによる決済を受け付ける全ての事業者を対象に、カード情報の受付、保管、処理、伝送に至るまでのプロセスを安全に行うために策定された基準。
- SOC:企業などにおいて情報システムへの脅威の監視や分析などを行う、役割や専門組織。
- ISO:国際標準化機構、各国の国家標準化団体で構成される非政府組織。
- FedRamp:米国連邦政府クラウドの統一セキュリティ基準。
- 【優れた費用対効果】
- Amazon ESでは、実際に消費したリソースに対してのみ料金が発生します。前払いや長期契約がないオンデマンド料金や、リザーブドインスタンス料金を選択してコストを大幅に削減できます。Amazon ESは、完全マネージド型サービスとして、クラスターを監視および管理する専任Elasticsearch専門家チームの必要性を取り除くことで、運用の総コストをさらに削減します。
- オンデマンド料金:長期契約なしで、時間または秒単位 (最低 60 秒) で支払う、従量課金。
- リザーブドインスタンス料金:一定期間継続して利用することを前提に、大幅な割引を受けられる料金形態。
■Amazon Elasticsearch Serviceの機能
Amazon ESには、以下の特徴があります。
- ◇スケール
- ・インスタンスタイプと呼ばれる、CPU、メモリ、ストレージ容量が複数設定可能
- ・最大3PB のアタッチ済みストレージ
- ・読み取り専用データ用のコストパフォーマンスに優れたUltraWarmストレージ
- ◇セキュリティ
- ・AWS Identity and Access Management(IAM)アクセスコントロール
- ・Amazon VPCおよびVPCセキュリティグループと簡単に統合
- ・保管時のデータの暗号化およびノード間の暗号化
- ・Amazon CognitoまたはKibanaのHTTP基本認証
- ・インデックスレベル、ドキュメントレベル、フィールドレベルのセキュリティ
- ・Kibanaマルチテナンシー
- ◇安定性
- ・リージョンおよびアベイラビリティーゾーンと呼ばれる、リソース用の複数の地理的場所
- ・マルチAZ配置による、同じAWSリージョン内の複数のAZにまたがるノード割り当て
- ・クラスター管理タスクをオフロードする専用マスターノード
- ・Amazon ESドメインをバックアップおよび復元する自動スナップショット
- ◇柔軟性
- ・ビジネスインテリジェンス(BI)アプリケーションとの統合のためのSQLサポート
- ・検索結果を改善するためのカスタムパッケージ
- ◇人気のあるサービスとの統合
- ・Kibanaを使用したデータの可視化
- ・Amazon ESドメインメトリクスのモニタリングとアラームの設定のためのAmazon CloudWatchとの統合
- ・Amazon ESドメインへの設定API呼び出しを監査するためのAWS CloudTrailとの統合
- ・Amazon ESにストリーミングデータをロードするためのAmazon S3、Amazon Kinesis、Amazon DynamoDBとの統合
- ・データが特定の閾値を超えたときのAmazon SNSからのアラート
■Amazon Elasticsearch Serviceのユースケース
- アプリケーションのモニタリング
- アプリケーションとインフラストラクチャのログデータを保存、分析、および相関させて、問題をより迅速に発見して修正し、アプリケーションのパフォーマンスを向上させます。アプリケーションのパフォーマンスが低下している場合は、自動化されたアラートが届き、問題を事前に対処できます。
- オンライン旅行会社で例えるなら、Amazon ESを使用してアプリケーションのログを分析し、パフォーマンスのボトルネックや可用性の問題を特定して解決し、合理化された予約エクスペリエンスを確保することが可能になります。
- セキュリティ情報とイベント管理(SIEM)
- リアルタイムの脅威を検出してインシデントを管理するために、ネットワーク全体の異なるアプリケーションとシステムからのログを集中化して分析します。
- 通信会社で例えるなら、Amazon ESとKibanaを使用して、ルーター、アプリケーション、その他のデバイスのログをすばやくインデックス化、検索、視覚化します。これにより、データ侵害、不正ログイン試行、DoS攻撃、詐欺などのセキュリティ脅威を発見して防止することができます。
- 検索
- アプリケーション、ウェブサイト、データレイクカタログ向けに高速でパーソナライズされた検索エクスペリエンスを提供しています。Elasticsearchのすべての検索APIにアクセスして、自然言語検索、オートコンプリート、ファセット検索、位置認識検索をサポートし、ユーザーが関連データをすばやく検索できるようにします。
- 不動産ビジネスで例えるなら、Amazon ESを使用して、消費者が希望する場所にある数百万件の不動産の中から特定の価格帯の家を見つけられるように支援します。
- インフラストラクチャのモニタリング
- サーバー、ルーター、スイッチ、仮想マシンからログとメトリックを収集して、インフラストラクチャを包括的に可視化することができます。そして、平均検出時間(MTTD)と平均解決時間(MTTR)に関する問題を減らし、システムのダウンタイムを短縮します。
- ゲーム会社で例えるなら、Amazon ESを使用してサーバーログを監視および分析し、アプリケーションのダウンタイムにつながるサーバーパフォーマンス問題を特定できます。
■まとめ
Elasticsearchは奥が深く、規模を大きくする場合は調整も色々必要になりますが、高速でスケーラブル、しかも多様なコンテンツをインデックスすることができ、幅広い場面で便利なツールです。Amazon ESや全文検索システムに触れたことがない方、または興味はあるけどサーバ構築に手間がかかると思っている方、Amazon ESではすぐに試せるのでこの機会に挑戦してみるのはいかがでしょうか。