ステップ 3: アカウントレベルのサブスクリプションフィルタポリシーを作成する - Amazon CloudWatch ログ

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

ステップ 3: アカウントレベルのサブスクリプションフィルタポリシーを作成する

送信先を作成したら、ログデータの受信者アカウントは、送信先の ARN (arn:aws:logs:us-east-1:999999999999:destination:testDestination) を他の AWS アカウントと共有できるようになります。これにより、これらのアカウントは同じ送信先にログイベントを送信できます。この後、これらの他の送信アカウントのユーザーは、この送信先に対するサブスクリプションフィルタをそれぞれのロググループに作成します。サブスクリプションフィルタは、特定のロググループから特定の送信先へのリアルタイムログデータの送信をすぐに開始します。

注記

サブスクリプションフィルターのためのアクセス許可を組織全体に付与する際は、ステップ 2: IAM ロールを作成する (組織を使用している場合のみ) で作成した IAM ロールの ARN を使用する必要があります。

次の例では、アカウントレベルのサブスクリプションフィルターポリシーが送信アカウントで作成されます。フィルターは送信者アカウント 111111111111 に関連付けられ、フィルターと選択基準に一致するすべてのログイベントが以前に作成した送信先に配信されます。この送信先は、「RecipientStream」という ストリームをカプセル化します。

selection-criteria フィールドはオプションですが、サブスクリプションフィルターから無限のログ再帰を引き起こす可能性のあるロググループを除外するための重要なフィールドです。この問題および除外するロググループを判断する方法については、「ログの再帰防止」を参照してください。現在、NOT IN は selection-criteria でサポートされている唯一の演算子です。

aws logs put-account-policy \ --policy-name "CrossAccountStreamsExamplePolicy" \ --policy-type "SUBSCRIPTION_FILTER_POLICY" \ --policy-document '{"DestinationArn":"arn:aws:logs:region:999999999999:destination:testDestination", "FilterPattern": "", "Distribution": "Random"}' \ --selection-criteria 'LogGroupName NOT IN ["LogGroupToExclude1", "LogGroupToExclude2"]' \ --scope "ALL"

送信者アカウントのロググループと送信先は同じ AWS リージョンに存在している必要があります。ただし、送信先は、別のリージョンに配置された Kinesis データストリームストリームなどの AWS リソースを指すことができます。