メニュー
Amazon CloudWatch ログ
ユーザーガイド

Amazon Elasticsearch Service への CloudWatch Logs データのストリーミング

CloudWatch Logs サブスクリプションを通して、ほぼリアルタイムでAmazon Elasticsearch Service (Amazon ES) クラスターで受け取るCloudWatch Logs ロググループをストリームデータに設定することができます。詳細については、「サブスクリプションを使用したログデータのリアルタイム処理」を参照してください。

注記

大量の CloudWatch Logs データを Amazon ES にストリーミングすると、利用料金が高額になる可能性があります。予想より高い金額にならないように、AWS 請求書を監視することをお勧めします。詳細については、「CloudWatch で予想請求額をモニタリングする」を参照してください。

前提条件

開始する前に、デフォルト設定で Amazon ES ドメインを作成します。後で Amazon ES ドメイン設定を確認し、クラスターが処理するデータの量に基づいてクラスター設定を変更することができます。

Amazon ES の詳細については、「Amazon Elasticsearch Service 開発者ガイド」を参照してください。

Amazon ESドメインの作成方法

コマンドプロンプトで、次の create-elasticsearch-domain コマンドを使用します。

Copy
aws es create-elasticsearch-domain –-domain-name my-domain

Amazon ES へのロググループのサブスクライブ

CloudWatch コンソールを使用すると、ロググループを Amazon ES にサブスクライブできます。

ログ グループを Amazon ES にサブスクライブする方法

  1. https://console.aws.amazon.com/cloudwatch/にある CloudWatch コンソールを開きます。

  2. ナビゲーションペインで [Logs] を選択します。

  3. ロググループを選択してサブスクライブします。

  4. [Actions]、[Stream to Amazon Elasticsearch Service] を選択します。

  5. [Start Streaming to Amazon Elasticsearch Service] 画面の [Amazon ES cluster] ドロップダウンリストで、前のステップで作成したクラスターを選択してから、[Next] を選択します。

  6. [Lambda Function] の [Lambda IAM Execution Role] で、Amazon ES の呼び出し時に Lambda が使用する IAM ロールを選択してから、[Next] を選択します。

    選択する IAM ロールには、次のポリシーが含まれている必要があります。

    Copy
    { "Version": "2012-10-17", "Statement": [ { "Action": [ "es:*" ], "Effect": "Allow", "Resource": "arn:aws:es:us-west-2:123456789012:domain/streaming-logs/*" } ] }
  7. [Configure Log Format and Filters] 画面の [Log Format] で、ログ形式を選択します。

  8. [Subscription Filter Pattern] に、ログイベントで検索する用語やパターンを入力します。これにより、関心のあるデータだけが Amazon ES クラスターに送信されるようになります。詳細については、「ログデータの検索およびフィルタリング」を参照してください。

  9. (オプション) [Select Log Data to Test] を開き、ログストリームを選択し、[Test Pattern] をクリックして、期待通りの結果が出ることを確認します。

  10. [Next] を選択し、[Review & Start Streaming to Amazon Elasticsearch Service] 画面で [Start Streaming] を選択します。