ElasticとAWS Serverless Application Repository(SAR):Amazon S3からスムーズにログインジェストを行い、アクショナブルなインサイトをすばやく取得

blog-thumb-cloud-aws.png

企業はAmazon Web Services(AWS)のクラウドプラットフォームとサービスを活用して、業務を効率化し、製品を市場投入しています。そのため、多くの場合、ログはAmazon Simple Storage Service(Amazon S3)に格納され、そこから外部の監視および分析ソリューションに送信されます。AWSユーザーは、AWS Lambdaアプリケーションである新しいElastic Serverless Forwarderを使用して、Amazon S3に格納されているログをすばやくインジェストし、他のログやメトリックと合わせてElastic Stackで表示できるようになりました。

VMのプロビジョニングや、データシッパーのインストールといった時間がかかる処理は必要ありません。また、直接AWSからElasticにデータをインジェストするため、管理の負荷も削減されます。

このブログでは、AWS Serverless Application Repository(SAR)で公開されているElasticのサーバーレス転送機能について説明します。この機能を使用して、アーキテクチャーを簡素化し、ログをElasticに送信することで、マルチクラウド環境とオンプレミス環境を監視して保護する方法について説明します。

AWS環境の正常性とパフォーマンスを監視する

複雑化するハイブリッドとマルチクラウドのエコシステムでは、Enterprise Management Associates(EMA)グループによる調査報告に「オブザーバビリティがビジネスに不可欠なイニシアチブとなっており、またDevOpsにおける最大の課題として浮上している」という指摘があることはさほど意外ではありません。多数の組織がコンテナーからサーバーレスコンピューティングまでさまざまな技術を選び、製品の市場化までの時間を短縮したり、負荷を削減したりしているため、すべてのアーキテクチャーに対応するオブザーバビリティソリューションの必要性に注目することが重要です。EMAの調査はまた、包括的なオブザーバビリティソリューションを確立させているチームの場合、機能数が4倍豊富な製品の開発を従来の70%の期間で達成し、製品をハイペースにリリースすることも明らかにしています。

Elasticオブザーバビリティはログ、メトリック、APMトレースを統合し、1つのスタックで大規模に、ハイブリッドAWS環境全体とオンプレミスのデータセットを完全に状況を取り入れながら可視化します。パフォーマンスを追跡し、AWS Lambda、Amazon Elastic Compute Cloud(EC2)、Amazon Elastic Container Service(ECS)、Amazon Elastic Kubernetes Service(EKS)、Amazon S3などのさまざまなAWSサービス全体で監視します。

Elasticオブザーバビリティプラットフォームの詳細と機能

クラウド規模で迅速に脅威を食い止める能力をセキュリティチームに与える

委託されたForresterの調査によると、顧客はElastic Securityとオブザーバビリティソリューションを併用することで、最大75%のコスト削減を実現し、その実現には既存のソリューションの約10分の1の時間しかかかりませんでした。Elastic Common Schemaと一元化されたリポジトリを使用することで、Amazon S3や他のデータセットから収集したオブザーバビリティデータをそのままXDR(eXtended Detection and Response、拡張検出および応答)にも使用して、平均検出時間をゼロに近づけることができます。Elastic SecurityにはSIEMとエンドポイントセキュリティ機能が搭載されており、組織は多様なソースから大量のデータをインジェスト、保持できるほか、データを長期に格納、検索して検知と機械学習を活用する脅威ハンティングを強化できます。データサイロを排除し、アラート疲れを軽減して、組織が環境全体でセキュリティ脅威をすばやく阻止できる体制を整えます。

費用対効果の高い方法でデータを格納し、迅速な検索と将来の分析を実現する

Amazon S3を活用してコスト効率を実現するには、もう一つ方法があります。Elasticを使用すれば、S3に格納されたログをElasticにインジェストするだけではなく、Amazon S3などの低コストのオブジェクトストレージを使用して大量の履歴データを保持しつつ、データをアクティブで検索可能な状態に保つことができます。あらゆる粒度のAWSデータとオンプレミスのデータを任意の期間にわたって保管でき、データ量の増加に合わせて拡張できます。データ管理ティアリングは、インデックスライフサイクル管理と自動スケーリングの機能を通じて、組織のデータパフォーマンス、レジリエンス、保持期間の要件に基づいて自動化されます。

データインジェストの簡素化

LambdaアプリケーションのElasticサーバーレス転送ツールは、Amazon S3バケットに格納されているログのインジェストをサポートし、ログをElasticに送信します。Amazon S3のSQSキューイベント通知は、Lambda関数のトリガーとして機能します。新しいログファイルがAmazon S3バケットに書き込まれ、条件を満たすと、Lambda関数をトリガーする通知が生成されます。

S3バケットにSQS関数トリガーを設定し、Elastic接続情報を入力すると、ログを転送し、Kibanaの構築済みダッシュボードと包括的な分析機能を使用して、ログデータを活用できます。

アーキテクチャー図:

アーキテクチャー図

最初の一歩

このセクションでは、Elasticサーバーレス転送機能を使用して、Elastic StackでAmazon Virtual Private Cloud(Amazon VPC)のフローログを分析する方法について、段階的なチュートリアルを用いて説明します。

Elasticサーバーレス転送機能の詳細な手順については、ドキュメントを参照してください。

Amazon VPCフローログをElasticにインジェストすると、次の方法で、Amazon VPC内でネットワークトラフィックを監視および分析し、十分な情報に基づいた意思決定を行えます。

  • ログをすばやく検索、表示、フィルタリングする機能を利用して、Kibanaでフローログデータを分析する
  • セキュリティグループのルールを評価し、セキュリティギャップを明らかにする
  • 特定の種類のトラフィックが検知された場合に通知するアラートを設定する
  • レイテンシーの問題を特定してベースラインを確立し、パフォーマンスの一貫性を保つ

はじめに

  1. Elasticを初めて使用する場合は、Elastic Cloudで、ホスティングされたElasticsearch Serviceを使用して、デプロイを作成します。デプロイには、データを格納して検索するためのElasticsearchクラスターと、データを可視化して管理するためのKibanaが含まれます。詳細については、Elastic Stackの導入を参照してください。
  2. AWS VPCフローログをS3バケットに送信できるようにします。まだ設定していない場合は、簡単にS3バケットを作成し、VPCフローログをそのバケットに送信できます。基本的には、次のステップを行います。
    • S3バケット(例:vpc-flow-logs)を作成する
    • EC2コンソールで、特定のネットワークインターフェースを選択し、アクションメニューで[フローログの作成]を選択します。前のステップで作成したS3バケットとして、送信先を選択します。詳細については、AWSドキュメントをご確認ください。
  3. それでは、シンプルなSQSキュー(例:flow-logs-queue)を作成し、S3からのS3イベント通知がキューに送信されるように、適切なアクセスポリシーを設定しましょう。S3バケット(vpc-flow-logs)で、すべてのオブジェクトのイベント通知"create events"がSQSキュー(flow-logs-queue)に送信されるように構成します。詳細については、AWSドキュメントをご確認ください。
  4. 次に、KibanaのWeb UIからElastic AWS統合機能をそのままインストールします。この統合機能には、事前構築済みダッシュボードやインジェストノード設定、インジェストするログを最大活用する上で役立つその他のアセットも搭載されています。Kibanaで統合に移動し、AWSを検索します。AWS統合をクリックすると、詳細が表示されます。設定を選択して、AWSアセットのインストールをクリックすると、すべてのAWS統合アセットがインストールされます。
AWSアセットのインストール

5.次に、新しいS3バケットと、elastic-serverless-forwarder が入力ソースと送信先情報に関するElastic接続を認識するために使用する構成ファイルを作成します。

S3バケット

次に、サンプル構成ファイルを示します。

構成ファイル

Elastic Cloudに移動し、Elasticクラウドコンソールから“cloud_id”パラメーターで指定するクラウドIDをコピーします。Kibanaに移動し、Base64でエンコードされた認証用のAPIキーを作成し、"api_key"パラメーターに指定します。機密性の高い値はAWS Secrets Managerに保存し、構成ファイルから参照してください。

6.AWS SARからelastic-serverless-forwarderをデプロイして、Lambda関数の適切な構成を指定し、ElasticへのVPCのフローログのインジェストを開始します。

LambdaコンソールからFunctions->Create a functionを選択します。Browse serverless app repositoryを選択して、elastic-serverless-forwarderを検索し、そのアプリケーションを選択します。

構成

アプリケーションのReview, configure and deployページで、以下のフィールドを入力します。

  1. ElasticServerlessForwarderS3Buckets で、VPCフローログが送信されているS3バケットを指定します。値はステップ2で作成したS3バケットのARNです。
  2. ElasticServerlessForwarderS3ConfigFileで構成ファイルパスを指定します。値は、ステップ5で作成した構成ファイル(sarconfig.yaml)を参照する"s3://bucket-name/config-file-name"形式のS3 URLです。
  3. ElasticServerlessForwarderS3SQSEventsで、Lambda関数のトリガーとして使用するS3 SQS Notificationsキューを指定します。値はステップ3で作成したSQSキューのARNです。

上記の値は、最小限のIAMポリシーを作成し、Lambda関数が適切に実行されるための環境変数を設定するために、Lambdaデプロイによって使用されます。

デプロイされたLambdaは、S3バケットに書き込まれたVPCのフローログファイルを読み取り、Elasticに送信します。

7.Kibanaを開き、[Logs AWS]VPCフローログ概要ダッシュボードで解析、可視化されたログを確認します。

VPCフローログ

まとめ

Elasticは常にスムーズ顧客エクスペリエンスを提供し、いつでも、どこからでもアクセスできるようにしています。その最新の例が、このAWSとの統合の合理化です。詳細については、elastic-serverless-forwarderドキュメントを参照するか、AWS向けElasticオブザーバビリティガイドをダウンロードしてください。

まずは無料トライアルでお試しください。

AWS Marketplaceから登録すると、7日間の無料トライアルをご利用いただけます。世界中のあらゆるAWSのElastic Cloudリージョンで、すぐにデプロイをお試しください。AWS Marketplaceで購入したElastic製品は月次の一括請求書に記載され、AWSの確約利用割引が適用されます。

本記事に記述されているあらゆる機能ないし性能のリリースおよびタイミングは、Elasticの単独裁量に委ねられます。現時点で提供されていないあらゆる機能ないし性能は、すみやかに提供されない可能性、または一切の提供が行われない可能性があります。