Amazon CloudWatch Logs
ユーザーガイド

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

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

注記

大量の CloudWatch Logs データを Amazon ES にストリーミングすると、利用料金が高額になる可能性があります。請求情報とコスト管理コンソールで予算を作成することをお勧めします。詳細については、「予算によるコストの管理」を参照してください。

前提条件

開始する前に、Amazon ES ドメインを作成します。Amazon ES ドメインではパブリックアクセスまたは VPC アクセスが可能ですが、その場合はドメインの作成後にアクセスのタイプを変更することはできません。後で Amazon ES ドメイン設定を確認し、クラスターが処理するデータの量に基づいてクラスター設定を変更することができます。

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

Amazon ESドメインの作成方法

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

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. [アクション]、[Amazon Elasticsearch Service にストリーミング] を選択します。

  5. [Amazon Elasticsearch Service へのストリーミングを開始する] 画面の [Amazon ES クラスター] ドロップダウンリストで、前のステップで作成したクラスターを選択してから、[次へ] を選択します。

  6. [Lambda 関数] の [Lambda IAM 実行ロール] で、Amazon ES の呼び出し時に Lambda が使用する IAM ロールを選択してから、[次へ] を選択します。

    選択した IAM ロールは、これらの要件を満たす必要があります。

    • 信頼関係に lambda.amazonaws.com が含まれている必要があります。

    • 以下のポリシーが含まれている必要があります。

      { "Version": "2012-10-17", "Statement": [ { "Action": [ "es:*" ], "Effect": "Allow", "Resource": "arn:aws:es:region:account-id:domain/target-domain-name/*" } ] }
    • ターゲットの Amazon ES ドメインで VPC アクセスを使用する場合、ロールには AWSLambdaVPCAccessExecutionRole ポリシーがアタッチされている必要があります。Amazon が管理するこのポリシーにより、お客様の VPC へのアクセスが Lambda に許可され、Lambda は VPC の Amazon ES エンドポイントに書き込むことができます。

  7. [Configure Log Format and Filters] 画面の [Log Format] で、ログ形式を選択します。

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

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

  10. [次へ] を選択し、[Amazon Elasticsearch Service へのストリーミングを確認し開始する] 画面で [ストリーミングの開始] を選択します。