Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Amazon S3 を有効にする

最終更新 Markdown で表示Agent セットアップ

Cloudflare Logpush は、Cloudflare ダッシュボードまたは API から、ログを Amazon S3 へ直接送信できます。AWS GovCloud のロケーションを使うお客様は、Amazon S3 endpoint ではなく S3-compatible endpoint を使います。

Cloudflare ダッシュボードで管理する

  1. Cloudflare ダッシュボードで、アカウントまたはドメイン(ゾーンとも呼ばれます)の Logpush ページを開きます。

    アカウントの場合: Logpush を開く ↗

    ドメイン(ゾーン)の場合: Logpush を開く ↗

  2. 選んだ範囲に応じて、それぞれ アカウントスコープのデータセットゾーンスコープのデータセット を利用できます。

  3. Create a Logpush job を選択します。

  1. Select a destination で、Amazon S3 を選びます。

  2. 次の送信先情報を入力または選択します。

    • Bucket - S3 バケット名
    • Path - ストレージコンテナ内のバケットの場所
    • Organize logs into daily subfolders(推奨)
    • Bucket region
    • ポリシーで AWS SSE-S3 AES256 Server Side Encryption が必要な場合。
    • Grant Cloudflare access to upload files to your bucket では、バケットに ポリシー があることを確認します(未追加の場合)。
      • JSON ポリシーをコピーし、Amazon S3 コンソールでバケットを開いて Permissions > Bucket Policy に貼り付け、Save を選択します。

送信先の詳細を入力したら、Continue を選択します。

  1. 所有権の証明のため、Cloudflare は指定した送信先へファイルを送ります。トークンを確認するには、所有権チャレンジファイルの Overview タブで Open ボタンを選び、内容を Cloudflare ダッシュボードに貼り付けてバケットへのアクセスを検証します。Ownership Token を入力し、Continue を選択します。

  2. ストレージサービスへ送信するデータセットを選びます。

  3. 次のステップで、Logpush ジョブを設定します。

    • Job name を入力します。
    • If logs match では、ログに含めるイベントと除外するイベントを選べます。詳細は Filters を参照してください。このオプションがないデータセットもあります。
    • Send the following fields では、すべてのログを送信先へ送るか、送るログを選ぶかを選べます。
  4. Advanced Options では、次の設定ができます。

    • ログ内のタイムスタンプフィールドの形式を選びます(RFC3339(デフォルト)、UnixUnixNano)。
    • ログの サンプリングレート を選ぶか、ランダムに抽出した割合のログを送信します。
    • CVE-2021-44228 の秘匿化を有効にします。このオプションは、${ の出現箇所をすべて x{ に置き換えます。
  5. Logpush ジョブの設定が終わったら、Submit を選択します。

S3 バケットの作成とアクセス権の付与

Cloudflare は、Amazon Identity and Access Management(IAM)を使って S3 バケットへアクセスします。Cloudflare の IAM ユーザーには、バケットに対する PutObject 権限が必要です。

ログは、S3 Access Control List(ACL)の Bucket-owner-full-control 権限で、gzip 圧縮されたオブジェクトとしてバケットに書き込まれます。

例として、burritobot バケットの logs ディレクトリにログを保存する場合を考えます。S3 URL は s3://burritobot/logs になります。

Logpush ジョブの読み取りや設定の前に、Log Share の権限が有効になっていることを確認してください。詳細は Roles のセクション を参照してください。


Amazon S3 への Logpush を有効にするには、次の手順を行います。

  1. S3 バケットを作成します。手順は Amazon のドキュメント を参照してください。

  2. 次のポリシーを編集し、S3 > Bucket > Permissions > Bucket Policy に貼り付けます。Resource の値は、自分のバケットパスに置き換えます。AWSPrincipal は Cloudflare が所有しています。この値は変更しません。

{
	"Id": "<POLICY_ID>",
	"Version": "2012-10-17",
	"Statement": [
		{
			"Sid": "Stmt1506627150918",
			"Action": ["s3:PutObject"],
			"Effect": "Allow",
			"Resource": "arn:aws:s3:::burritobot/logs/*",
			"Principal": {
				"AWS": ["arn:aws:iam::391854517948:user/cloudflare-logpush"]
			}
		}
	]
}

役に立ちましたか?