

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

# 集中型、または分散型アカウントで CloudWatch を使用する
<a name="cloudwatch-centralized-distributed-accounts"></a>

CloudWatch は 1 つのアカウントとリージョンのサービス AWS またはリソースをモニタリングするように設計されていますが、中央アカウントを使用して複数のアカウントとリージョンからログとメトリクスをキャプチャできます。複数のアカウント、またはリージョンを使用する場合は、集中型アカウントのアプローチを使用するか、個々のアカウントを使用してログとメトリクスを取得するかを評価する必要があります。通常、セキュリティ、分析、運用、ワークロードの所有者の要件をサポートするために、マルチアカウント、およびマルチリージョンデプロイにはハイブリッドアプローチが必要です。

次の表は、集中型、分散型、またはハイブリッドアプローチを選択する際に考慮すべき事項を示しています。


****  

|  |  | 
| --- |--- |
| アカウント構造 | 組織では、特定の環境内の単一のアプリケーションに対して複数の個別のアカウント（例えば、非本番ワークロードと本番ワークロードのアカウントなど）または数千のアカウントがある場合があります。ワークロードが実行されるアカウントでアプリケーションのログとメトリクスを管理し、ワークロードの所有者がログとメトリクスにアクセスできるようにすることを推奨します。これにより、ロギングとモニタリングでアクティブなロールを持つことができます。また、分析、集計、傾向、および集中操作のために、すべてのワークロードログを集約する別のログ用アカウントを使用することを推奨します。個別のログ記録アカウントは、セキュリティ、アーカイブとモニタリング、および分析にも使用できます。 | 
| アクセス要件 | チームメンバー（たとえば、ワークロード所有者や開発者）は、トラブルシューティングや改善のためにログやメトリクスにアクセスする必要があります。ログは、アクセスやトラブルシューティングを容易にするために、ワークロードのアカウントで管理する必要があります。ログと測定基準をワークロードとは別のアカウントで管理する場合、ユーザーは、定期的にアカウントを交互に切り替える必要があるかもしれません。集中型アカウントを使用すると、ワークロードアカウントへのアクセスを許可せずに、承認されたユーザーにログ情報が提供されます。これにより、複数のアカウントで実行されているワークロードから集約が必要な分析ワークロードのアクセス要件を簡素化できます。集中型ログ記録アカウントには、Amazon OpenSearch Service クラスターなどの代替の検索および集約オプションも使用できます。Amazon OpenSearch Service [は、ログのフィールドレベルまできめ細かなアクセスコントロール](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/fgac.html)を提供します。特殊なアクセスや許可を必要とする機密データを扱う場合、きめ細かなアクセス制御が重要になります。 | 
| オペレーション | 多くの組織では、集中管理された運用・セキュリティチームや、運用支援のための外部組織があり、モニタリングのためのログへのアクセスが必要です。ログとモニタリングを一元化することで、すべてのアカウントとワークロードの傾向の把握、検索、集計、分析の実行が容易になります。組織が DevOps のために「[構築し、実行する](https://aws.amazon.com//blogs/enterprise-strategy/enterprise-devops-why-you-should-run-what-you-build/)」アプローチを使用している場合、ワークロードの所有者は自分のアカウントでログとモニタリング情報を必要とします。分散したワークロードの所有権に加えて、中央の運用と分析を満足させるには、ハイブリッドなアプローチが必要になるかもしれません。 | 
| 環境 |  セキュリティ要件とアカウントのアーキテクチャに応じて、本番用アカウントではログとメトリクスを中央でホストし、その他の環境（例えば、開発またはテスト）ではログとメトリクスを同じアカウントまたは別のアカウントに保持することを選択できます。これにより、本番環境で作成された機密データが、より多くのユーザーによってアクセスされることを防ぐことができます。   | 

CloudWatch は、CloudWatch サブスクリプションフィルタでリアルタイムにログを処理するための [複数のオプション](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/Subscriptions.html) を提供します。サブスクリプションフィルターを使用して、ログを AWS サービスにリアルタイムでストリーミングし、カスタム処理、分析、他のシステムにロードできます。これは、集中管理されたアカウントとリージョンだけでなく、個々のアカウントとリージョンでもログと測定基準を利用できるハイブリッドアプローチをとっている場合に特に役立ちます。次のリストは、このために使用できる AWS サービスの例を示しています。
+ [Amazon Data Firehose](https://docs.aws.amazon.com//firehose/latest/dev/what-is-this-service.html) – Firehose は、生成されるデータボリュームに基づいて自動的にスケーリングおよびサイズ変更するストリーミングソリューションを提供します。Amazon Kinesis データストリーム内のシャード数を管理する必要はなく、追加のコーディングなしで Amazon Simple Storage Service (Amazon S3)、Amazon OpenSearch Service、または Amazon Redshift に直接接続できます。Firehose は、これらの AWS サービスにログを一元化する場合に効果的なソリューションです。
+ [Amazon Kinesis Data Streams](https://docs.aws.amazon.com//streams/latest/dev/introduction.html) – Firehose がサポートしていないサービスと統合し、追加の処理ロジックを実装する必要がある場合、Kinesis Data Streams は適切なソリューションです。中央アカウントで Kinesis データストリームを指定するアカウントとリージョンに Amazon CloudWatch Logs 送信先を作成し、ストリームにレコードを配置するアクセス許可を付与する AWS Identity and Access Management (IAM) ロールを作成できます。Kinesis Data Streams は、ログデータのための柔軟でオープンエンドなランディングゾーンを提供し、その後、さまざまなオプションで使用することができます。Kinesis Data Streams のログデータをアカウントに読み込み、前処理を行い、選択した宛先にデータを送信することができます。

  ただし、生成されるログデータに合わせて適切なサイズになるように、ストリーミングのシャードを構成する必要があります。Kinesis Data Streams は、ログデータの一時的な仲介またはキューとして機能し、データを Kinesis ストリーム内に 1 ～ 365 日間保存できます。Kinesis Data Streams は再生機能もサポートしており、使用されなかったデータを再生することができます。
+ [Amazon OpenSearch Service](https://docs.aws.amazon.com//opensearch-service/latest/developerguide/what-is.html) – CloudWatch Logs は、ロググループのログを、個別または一元化されたアカウントの OpenSearch クラスターにストリーミングできます。OpenSearch クラスターにデータをストリーミングするようにロググループを設定すると、ロググループと同じアカウントとリージョンに Lambda 関数が作成されます。Lambda 関数には、OpenSearch クラスターとのネットワーク接続が必要です。Lambda 関数をカスタマイズして、Amazon OpenSearch Service への取り込みをカスタマイズするだけでなく、追加の前処理を実行することもできます。Amazon OpenSearch Service による一元的なログ記録により、クラウドアーキテクチャの複数のコンポーネントにわたる問題の分析、検索、トラブルシューティングが容易になります。
+ [Lambda](https://docs.aws.amazon.com//lambda/latest/dg/welcome.html) - Kinesis Data Streams を使用する場合、ストリーミングからデータを消費するコンピューティングリソースをプロビジョニングおよび管理する必要があります。これを回避するには、処理のためにログデータを直接 Lambda にストリーミングし、ロジックに基づいて送信先に送信します。つまり、受信データをを処理するためのコンピューティングリソースをプロビジョニングして管理する必要がありません。Lambda を使用することを選択した場合、ソリューションが [Lambda クォータ](https://docs.aws.amazon.com//lambda/latest/dg/gettingstarted-limits.html) と互換性があることを確認してください。

CloudWatch Logs にファイル形式で保存されているログデータを処理または共有する必要がある場合があります。特定の日付または時間範囲のロググループを [Amazon S3 にエクスポートする](https://docs.aws.amazon.com//AmazonCloudWatch/latest/logs/S3Export.html) エクスポートタスクを作成することができます。例えば、分析や監査のために、Amazon S3 に毎日ログをエクスポートすることを選択することができます。Lambda を使用すると、このソリューションを自動化することができます。また、このソリューションを Amazon S3 レプリケーションと組み合わせることで、複数のアカウントやリージョンから 1 つの集中アカウントやリージョンにログを出荷し、一元管理することができます。

CloudWatch エージェントの設定では、`credentials`[セクション](https://docs.aws.amazon.com//AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-Configuration-File-Details.html#CloudWatch-Agent-Configuration-File-Agentsection) に `agent` フィールドを指定することも可能です。これは、メトリクスやログを別のアカウントに送信する際に使用する IAM ロールを指定するものです。指定した場合、このフィールドは `role_arn` パラメータが含まれています。このフィールドは、特定の集中型アカウントおよびリージョンで集中ロギングとモニタリングのみが必要な場合に使用できます。

[AWS SDK](https://aws.amazon.com/developer/tools/) を使用して、任意の言語で独自のカスタム処理アプリケーションを記述したり、アカウントからログやメトリクスを読み取ったり、データを一元管理されたアカウントや他の送信先に送信して、さらなる処理やモニタリングを行ったりすることもできます。