サブスクリプションを使用したログデータのリアルタイム処理 - Amazon CloudWatch Logs

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

サブスクリプションを使用したログデータのリアルタイム処理

サブスクリプションを使用して、 CloudWatch ログからのログイベントのリアルタイムフィードにアクセスし、Amazon Kinesis ストリーム、Amazon Data Firehose ストリーム、または AWS Lambda カスタム処理、分析、他のシステムへのロードなどの他の サービスに配信できます。ログイベントが宛先サービスに送信されると、base64 でエンコードされ、gzip 形式で圧縮されます。

ログイベントのサブスクリプションを開始するには、Kinesis データストリームなど、イベントを配信する受信リソースを作成します。サブスクリプションフィルターは、 AWS リソースに配信されるログイベントをフィルタリングするために使用するフィルターパターンと、一致するログイベントの送信先に関する情報を定義します。ログイベントは、取り込み直後に受信側リソースに送信されます。通常は 3 分未満です。

注記

サブスクリプションを持つロググループがログ変換を使用する場合、フィルターパターンは変換されたバージョンのログイベントと比較されます。詳細については、「取り込み中のログの変換」を参照してください。

サブスクリプションは、アカウントレベルとロググループレベルで作成できます。各アカウントには、1 つのアカウントレベルのサブスクリプションフィルターを含めることができます。ロググループごとに、最大 2 つのサブスクリプションフィルターを関連付けることができます。

注記

送信先サービスがスロットリング例外や再試行可能なサービス例外 (HTTP例えば 5xx) などの再試行可能なエラーを返した場合、 CloudWatch Logs は最大 24 時間配信を再試行し続けます。エラーが AccessDeniedException や などの再試行不可能なエラーである場合、 CloudWatch Logs は再配信を試みません ResourceNotFoundException。このような場合、サブスクリプションフィルターは最大 10 分間無効になり、 CloudWatch ログは送信先へのログの送信を再試行します。この無効化期間中、ログはスキップされます。

CloudWatch ログは、サブスクリプションへのログイベントの転送に関する CloudWatch メトリクスも生成します。詳細については、「 CloudWatch メトリクスによるモニタリング」を参照してください。

CloudWatch Logs サブスクリプションを使用して、ログデータをほぼリアルタイムで Amazon OpenSearch Service クラスターにストリーミングすることもできます。詳細については、「Amazon OpenSearch Service への CloudWatch ログデータのストリーミング」を参照してください。

サブスクリプションは、標準ログクラスのロググループでのみサポートされます。ログクラスの詳細については、「ログクラス」を参照してください。

注記

サブスクリプションフィルターは、ログイベントをバッチ処理して送信を最適化し、送信先への呼び出しの量を減らすことができます。バッチ処理は必ず行われるわけではありませんが、可能な場合は使用されます。

概念

各サブスクリプションフィルタは以下のキー要素で構成されています。

フィルタパターン

Logs が各 CloudWatch ログイベントのデータを解釈する方法のシンボリックな説明と、送信先 AWS リソースに配信される内容を制限するフィルタリング式。フィルタパターンの構文の詳細については、「メトリクスフィルター、サブスクリプションフィルター、フィルターログイベント、およびライブテールのフィルターパターン構文」を参照してください。

destination arn

サブスクリプションフィードの送信先として使用する Kinesis Data Streams ストリーム、Firehose ストリーム、または Lambda 関数の Amazon リソースネーム (ARN)。

role arn

選択した送信先にデータを配置するために必要なアクセス許可を CloudWatch Logs に付与する IAMロール。 CloudWatch ログは Lambda 関数自体のアクセスコントロール設定から必要なアクセス許可を取得できるため、このロールは Lambda の送信先では必要ありません。

ディストリビューション

送信先にログデータを配信するのに使用する方法。この場合、宛先は Amazon Kinesis Data Streams です。デフォルトでは、ログデータは、ログストリームによってグループ化されています。さらに詳細に分散する場合でも、ログデータはランダムにグループ化することができます。

ロググループレベルのサブスクリプションには、次のキー要素も含まれます。

log group name

サブスクリプションフィルタを関連付けるロググループ。このロググループにアップロードされたすべてのログイベントにはサブスクリプションフィルターが適用され、フィルターに一致するログイベントは、一致するログイベントを受信する宛先サービスに配信されます。

アカウントレベルのサブスクリプションには、次のキー要素も含まれます。

選択基準

アカウントレベルのサブスクリプションフィルターが適用されているロググループを選択するために使用される基準。これを指定しない場合、アカウントレベルのサブスクリプションフィルターは、アカウントのすべてのロググループに適用されます。このフィールドは、無限のログループを防ぐために使用します。無限ログループの問題の詳細については、「ログの再帰防止」を参照してください。

選択基準のサイズ制限は 25 KB です。