

# Firehose でのカスタム設定
<a name="CloudWatch-metric-streams-setup-datalake"></a>

このメソッドを使用してメトリクスストリームを作成し、それを (CloudWatch メトリクスを必要な場所に配信する) Amazon Data Firehose 配信ストリームに転送します。これらは、Amazon S3 などのデータレイク、または、サードパーティプロバイダーを含め Firehose でサポートされる任意の送信先またはエンドポイントにストリーミングすることができます。

ネイティブでサポートされるのは JSON 形式、OpenTelemetry 1.0.0 形式、OpenTelemetry 0.7.0 形式です。また、Firehose 配信ストリームで変換を設定すると、データを Parquet などの別の形式に変換することもできます。メトリクスストリームにより、モニタリングデータの継続的な更新ができます。あるいは、この CloudWatch メトリクスデータを請求やパフォーマンスに関するデータと組み合わせることで、豊富なデータセットを作成できます。その後、Amazon Athena などのツールを使用して、コストの最適化、リソースのパフォーマンス、およびリソースの使用率に関するインサイトを得ることができます。

CloudWatch コンソール、AWS CLI、AWS CloudFormation、または AWS Cloud Development Kit (AWS CDK) を使用して、メトリクスストリームを設定できます。

メトリクスストリームに使用する Firehose 配信ストリームは、メトリクスストリームを設定したのと同じアカウントかつ同じリージョンに存在する必要があります。別のアカウントまたは別のリージョンにある最終配信先にストリーミングするように Firehose 配信ストリームを設定すれば、クロスリージョン機能を実現できます。

## CloudWatch コンソール
<a name="CloudWatch-metric-streams-setup-datalake-console"></a>

このセクションでは、CloudWatch コンソールで Firehose を使用したメトリクスストリームの設定方法について説明します。

**Firehose を使用してカスタムメトリクスストリームを設定するには**

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. ナビゲーションペインで、 **[Metrics]** (メトリクス)、**[Streams]** (ストリーム) の順に選択します。**[Create metric stream]** (メトリクスストリームの作成) を選択します。

1. (オプション) CloudWatch クロスアカウントオブザーバビリティのモニタリングアカウントとしてセットアップされたアカウントにサインインしている場合は、リンクされたソースアカウントからのメトリクスをこのメトリクスストリームに含めるかどうかを選択できます。ソースアカウントからのメトリクスを含めるには、**[Include source account metrics]** (ソースアカウントメトリクスを含める) を選択します。

1. **[Firehose でカスタム設定]** を選択します。

1. **[Kinesis Data Firehose ストリームを選択する]** で、使用する Firehose 配信ストリームを選択します。同じアカウントに存在する必要があります。このオプションのデフォルトの形式は OpenTelemetry 0.7.0 ですが、後でこの形式を変更することもできます。

   次に、**[Firehose 配信ストリームを選択する]** で、使用する Firehose 配信ストリームを選択します。

1. (オプション) CloudWatch に新しいロールを作成させる代わりに、**[既存のサービスロールを選択]** を選択して既存の IAM ロールを使用できます。

1. (オプション) シナリオのデフォルトの形式から出力形式を変更するには、[**出力形式を変更**] を選択します。サポートされている形式は、JSON、OpenTelemetry 1.0.0、OpenTelemetry 0.7.0 です。

1. **メトリクスをストリーミングする**には、**[すべてのメトリクス]** または **[メトリクスを選択]** を選択します。

   **[すべてのメトリクス]** を選択した場合には、このアカウントのすべてのメトリクスがストリームに含まれます。

   すべてのメトリクスをストリーミングするかどうかを慎重に検討してください。ストリーミングするメトリクスが多いほど、メトリクスストリームの料金は高くなります。

   **[メトリクスを選択]** を選択した場合には、以下のいずれかの操作を行います。
   + ほとんどのメトリクス名前空間をストリーミングするには、**[除外]** を選択し、除外する名前空間またはメトリクスを選択します。**[除外]** で名前空間を指定すると、オプションで、除外する特定のメトリクスをその名前空間から選択できます。メトリクスを選択せずに名前空間の除外のみを選択した場合には、その名前空間からすべてのメトリクスが除外されます。
   + メトリクスストリームにメトリクス名前空間またはメトリクスをいくつか含めるには、**[含める]** を選択し、含める名前空間またはメトリクスを選択します。メトリクスを選択せずに名前空間を含めるよう選択した場合には、その名前空間のすべてのメトリクスが含まれます。

1. (オプション) これらのメトリクスの一部について、Minimum (最小値)、Maximum (最大値)、SampleCount (サンプル数)、Sum (合計) 以外の追加の統計情報をストリーミングするには、**[統計をさらに追加]** を選択します。**[Add recommended metrics]** (推奨メトリクスを追加する) を選択してよく使用される統計情報を追加するか、名前空間とメトリクス名を手動で選択して追加の統計情報をストリーミングするかのどちらかを行います。次に、ストリーミングする追加の統計情報を選択します。

   別の追加の統計情報のセットをストリーミングする別のメトリクスグループを選択するには、**[Add additional statistics]** (統計情報の追加) を選択します。各メトリクスには最大 20 個の追加の統計情報を含めることができ、メトリクスストリーム内の最大 100 個のメトリクスに追加の統計情報を含めることができます。

   追加の統計情報をストリーミングすると、より多くの料金が発生します。詳細については、「[ストリーミングできる統計情報](CloudWatch-metric-streams-statistics.md)」を参照してください。

   追加の統計情報の定義については、「[CloudWatch 統計定義](Statistics-definitions.md)」を参照してください。

1. (オプション) [**メトリクスストリーム名**] で新しいメトリクスストリームの名前をカスタマイズします。

1. **[メトリクスストリームの作成]** を選択します。

## AWS CLI または AWS API
<a name="CloudWatch-metric-streams-setup-datalake-CLI"></a>

CloudWatch メトリクスストリームを作成するには、次の手順に従います。

**AWS CLI または AWS API を使用してメトリクスストリームを作成するには**

1. Amazon S3 にストリーミングする場合は、まずバケットを作成します。詳細については、「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」を参照してください。

1. Firehose 配信ストリームを作成します。詳細については、「[Creating a Firehose stream](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)」をご参照ください。

1. CloudWatch が Firehose 配信ストリームに書き込むことを可能にする IAM ロールを作成します。このロールの内容の詳細については、「[CloudWatch と Firehose 間の信頼](CloudWatch-metric-streams-trustpolicy.md)」を参照してください。

1. `aws cloudwatch put-metric-stream` CLI コマンドまたは `PutMetricStream` API を使用して、CloudWatch メトリクスストリームを作成します。

## AWS CloudFormation
<a name="CloudWatch-metric-streams-setup-datalake-CFN"></a>

CloudFormation を使用して、メトリクスストリームを設定できます。詳細については、「[AWS::CloudWatch::MetricStream](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)」を参照してください。

**CloudFormation を使用してメトリクスストリームを作成するには**

1. Amazon S3 にストリーミングする場合は、まずバケットを作成します。詳細については、「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」を参照してください。

1. Firehose 配信ストリームを作成します。詳細については、「[Creating a Firehose stream](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)」をご参照ください。

1. CloudWatch が Firehose 配信ストリームに書き込むことを可能にする IAM ロールを作成します。このロールの内容の詳細については、「[CloudWatch と Firehose 間の信頼](CloudWatch-metric-streams-trustpolicy.md)」を参照してください。

1. CloudFormation でストリームを作成します。詳細については、「[AWS::CloudWatch::MetricStream](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html)」を参照してください。

## AWS Cloud Development Kit (AWS CDK)
<a name="CloudWatch-metric-streams-setup-datalake-CDK"></a>

AWS Cloud Development Kit (AWS CDK) を使用して、メトリクスストリームを設定できます。

**AWS CDK を使用してメトリクスストリームを作成するには**

1. Amazon S3 にストリーミングする場合は、まずバケットを作成します。詳細については、「[バケットの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html)」を参照してください。

1. Firehose 配信ストリームを作成します。詳細については、「[Creating an Amazon Data Firehose Delivery Stream](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)」を参照してください。

1. CloudWatch が Firehose 配信ストリームに書き込むことを可能にする IAM ロールを作成します。このロールの内容の詳細については、「[CloudWatch と Firehose 間の信頼](CloudWatch-metric-streams-trustpolicy.md)」を参照してください。

1. メトリクスストリームを作成します。メトリクスストリームのリソースは、`CfnMetricStream` という名前の Level 1 (L1) Constructとして AWS CDK で使用できます。詳細については、「[L1 Construct の使用](https://docs.aws.amazon.com/cdk/latest/guide/constructs.html#constructs_l1_using.html)」を参照してください。