

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

# HTTP エンドポイントを介したログ取り込み
<a name="CWL_HTTP_Endpoints"></a>

Amazon CloudWatch Logs には、シンプルな HTTP POST リクエストを使用して CloudWatch Logs に直接ログを送信できる HTTP エンドポイントが用意されています。これらのエンドポイントは、SigV4 トークン認証とベアラートークン認証の両方をサポートしています。

**重要**  
 AWS SDK 統合が可能なすべての本稼働ワークロードには、SigV4 認証を使用することをお勧めします。SigV4 は短期認証情報を使用し、最も強力なセキュリティ体制を提供します。ベアラートークン (API キー) 認証は、 AWS SDK 統合をサポートしていないサードパーティーのログフォワーダーなど、SigV4 が不可能なシナリオを対象としています。詳細については、*IAM ユーザーガイド*[の「長期アクセスキーの代替](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#bp-workloads-use-roles)」を参照してください。

CloudWatch Logs は、次の HTTP 取り込みエンドポイントをサポートしています。


| Endpoint | パス | Content-Type | 形式 | 
| --- | --- | --- | --- | 
| [OpenTelemetry Logs](CWL_HTTP_Endpoints_OTLP.md) | /v1/logs | application/json、または application/x-protobuf | OTLP JSON または Protobuf | 
| [HLC Logs](CWL_HLC_Endpoint.md) | /services/collector/event | application/json | HLC 形式 | 
| [ND-JSON Logs](CWL_HTTP_Endpoints_NDJSON.md) | /ingest/bulk | application/json、または application/x-ndjson | 改行で区切られた JSON | 
| [Structured JSON Logs](CWL_HTTP_Endpoints_StructuredJSON.md) | /ingest/json | application/json | JSON オブジェクトまたは配列 | 

## 一般的な動作
<a name="CWL_HTTP_Endpoints_Common"></a>

すべての HTTP 取り込みエンドポイントは、次の動作を共有します。

**認証**

すべてのエンドポイントは、SigV4 トークン認証とベアラートークン認証の両方をサポートしています。
+ **SigV4 (推奨)** – 標準 AWS 署名バージョン 4 の署名。アプリケーションまたはインフラストラクチャが AWS SDK をサポートしている場合、またはリクエストに署名できる場合は常に SigV4 を使用します。SigV4 は短期認証情報を使用し、最も安全な認証方法です。
+ **ベアラートークン** – `Authorization: Bearer <ACWL token>`ヘッダーを使用します。
  + トークンは有効な ACWL ベアラートークンである必要があります。セットアップ手順については、「」を参照してください[ベアラートークン認証の設定](CWL_HTTP_Endpoints_BearerTokenAuth.md)。
  + `logs:PutLogEvents` および `logs:CallWithBearerToken` IAM アクセス許可が必要です。

**ロググループとログストリーム**
+ ヘッダー経由で提供: `x-aws-log-group`および `x-aws-log-stream`
+ クエリパラメータ`?logGroup=<name>&logStream=<name>`は、OTLP を除くすべてのエンドポイントでもサポートされています。
+ 同じパラメータにクエリパラメータとヘッダーの両方を使用することはできません。
+ ロググループとログストリームの両方が必要です。

**レスポンス**
+ 成功: 本文`HTTP 200`付き `{}`
+ 検証エラー: `HTTP 400`
+ 認証の失敗: `HTTP 401`

## HTTP 取り込みエンドポイントの比較
<a name="CWL_HTTP_Endpoints_Comparison"></a>


| 機能 | HLC ログ | ND-JSON ログ | 構造化 JSON ログ | OpenTelemetry ログ | 
| --- | --- | --- | --- | --- | 
| パス | /services/collector/event | /ingest/bulk | /ingest/json | /v1/logs | 
| Content-Type | application/json | application/json 、、または application/x-ndjson | application/json | application/json 、、または application/x-protobuf | 
| タイムスタンプフィールド | "time" (秒) | "timestamp" (ミリ秒) | "timestamp" (ミリ秒) | "timeUnixNano" (ナノ秒) | 
| 必須フィールド | "event" | なし | なし | OTLP 構造 ("resourceLogs") | 
| 部分的な成功レスポンス | いいえ | はい | はい | はい | 
| クエリパラメータのサポート | はい  | はい | はい | いいえ (ヘッダーのみ) | 
| エンティティメタデータ | はい  | はい | あり | なし | 
| プリミティブを受け入れます | いいえ | あり | なし | いいえ | 
| ラインベースの解析 | いいえ | あり | なし | いいえ | 
| Protobuf のサポート | いいえ | なし | なし | はい | 
| Retry-After ヘッダー | いいえ | なし | なし | はい | 

## エンドポイントの選択
<a name="CWL_HTTP_Endpoints_Choosing"></a>
+ **HLC 形式を使用しますか?** HLC ログを使用します。既存の HLC ペイロードは最小限の変更で機能します。
+ **ストリーミングline-by-lineログ** ND-JSON ログを使用します。1 行に 1 つのイベントを出力するログパイプラインに最適です。最も柔軟性が高い — 任意の JSON 値タイプを受け入れます。
+ **構造化された JSON ペイロードを送信しますか?** 構造化 JSON ログを使用します。正しい形式の JSON オブジェクトまたは配列を生成するアプリケーションに最適です。
+ **OpenTelemetry を既に使用していますか?** OpenTelemetry Logs を使用します。OTLP JSON または Protobuf 形式を受け入れ、再試行セマンティクスを使用した部分的な成功レスポンスをサポートします。