Elasticsearch・OpenSearch のエラーログ設定の確認

ドメインのエラー調査に必要なログを CloudWatch に配信してください。

説明

Elasticsearch または OpenSearch ドメインのエラーログを収集しないと、クエリ処理、インデックス作成、スナップショットなどの問題を調査しにくくなります。ES_APPLICATION_LOGS はドメインのエラーや警告のログであり、すべての要求やアプリケーション動作を記録する機能ではありません。

監査ログや、検索・インデックス作成のスローログは別の機能です。エラーログの発行だけで、これらのログやアラームが自動的に構成されるわけではありません。

想定される影響

  • 必要なエラー情報が不足し、原因調査や復旧が遅れる場合があります。
  • 保護されていないログからクエリなどの機密情報が漏えいするおそれがあります。

対処方法

ES_APPLICATION_LOGS に実際の CloudWatch Logs ロググループ ARN と Enabled: true を指定してください。サービスのログ配信を許可するリソースポリシーを用意し、実際の記録、保持・アクセス設定を確認してください。監査ログ、スローログ、アラームは目的に合わせて別途構成してください。

例

AWS::Elasticsearch::Domain リソースタイプを使った設定抜粋です。エラーログに対応するエンジン、実際のロググループ、配信権限を別途用意してください。

変更前

yaml
Resources:
  ElasticsearchDomain:
    Type: AWS::Elasticsearch::Domain
    Properties:
      DomainName: my-domain
      LogPublishingOptions:
        ES_APPLICATION_LOGS:
          CloudWatchLogsLogGroupArn: arn:aws:logs:us-east-1:123456789012:log-group:/aws/aes/domains/app
          Enabled: false

エラーログの CloudWatch への発行を無効にします。

変更後

yaml
Resources:
  ElasticsearchDomain:
    Type: AWS::Elasticsearch::Domain
    Properties:
      DomainName: my-domain
      LogPublishingOptions:
        ES_APPLICATION_LOGS:
          CloudWatchLogsLogGroupArn: arn:aws:logs:us-east-1:123456789012:log-group:/aws/aes/domains/app
          Enabled: true

指定したロググループにエラーログを発行する設定です。ARN を実際の値に置き換え、配信を確認してください。

参考資料