ログストリーミング: Oracle Cloud ストレージ

Fastly のリアルタイムログストリーミング機能は、Oracle Cloud の S3 Compatibility API の接続オプションを使用して、Oracle Cloud ストレージにログファイルを送信することができます。Oracle Cloud ストレージは開発者や IT チームによって使用される静的ファイルストレージサービスです。

注意

Fastly ではサードパーティのサービスに関する直接のサポートは行っておりません。詳細については、Fastly のご利用規約をご覧ください。

前提条件

Oracle Cloud ストレージを Fastly サービスのログエンドポイントとして追加する前に、Access KeySecret Key で構成される Oracle の Customer Secret Key が必要です。これらには、バケットに対する読み取りと書き込みの許可が必要です。

また、バケットに割り当てられている名前空間識別子も必要です。バケットをクリックして Bucket Information タブで名前空間を見つけることができます (以下の例では decafbaddeadbeef)。

Oracle Cloud ストレージバケットの詳細

Oracle Cloud ストレージをログエンドポイントとして追加する

Oracle Cloud ストレージのアカウントを登録して Access Key を作成した後、 以下の手順に従って Oracle Cloud ストレージをログエンドポイントとして追加します。

  1. リモートログストリーミングの設定に関するガイドをご確認ください。
  2. Amazon Web Services S3 のロゴをクリックします。Create an Amazon S3 endpoint ページが表示されます。
  3. 以下の要領で Create an Amazon S3 endpoint ページの各フィールドに入力します。
    • Name フィールドに分かりやすいエンドポイントの名前を入力します。
    • Placement セクションでは、生成される VCL にログコールが配置される場所を選択します。有効な値は Format Version Defaultwaf_debug (waf_debug_log)None です。詳細については、ログ配置の変更に関するガイドをご覧ください。
    • Log format フィールドには、ログ形式に使用する Apache 形式の文字列や VCL 変数を任意で入力します。詳細については、形式例のセクションをご覧ください。
    • Timestamp format フィールドに、ログファイルのタイムスタンプ形式を任意で入力します。デフォルトでは strftime 互換文字列です。詳細については、ログファイルの書き込み先の変更に関するガイドをご覧ください。
    • Access method のセクションで User Credentials を選択します。
    • Bucket name フィールドに、ログを保存する Oracle Cloud ストレージのバケット名を入力します。
    • Access key フィールドに、Oracle アカウントに関連付けられたアクセスキーを入力します。
    • Secret key フィールドに、Oracle アカウントに関連付けられた秘密鍵を入力します。
    • Period フィールドに、ログファイルのローテーションの頻度をコントロールするための間隔 (秒単位) を任意で入力します。ローテーションにより、1つのファイルオブジェクトが完了すると、新たなファイルオブジェクトが作成されます。以前に作成されたファイルオブジェクトが削除されることはありません。デフォルトでは3600秒に設定されています。
  4. Create a new S3 endpoint ページの Advanced options をクリックします。
  5. Create an Amazon S3 endpoint ページの Advanced options の残りの部分を以下のように入力します。
    • Path フィールドには、ファイルを保存するバケット内のパスを任意で入力します。パスの末尾にスラッシュを付けます。このフィールドを空にすると、ファイルはバケットのルートパスに保存されます。詳細については、ログファイルの書き込み先の変更に関するガイドをご覧ください。
    • Domain フィールドに <namespace>.compat.objectstorage.<region>.oraclecloud.com と入力します。
    • PGP public key フィールドには、ログファイルをディスクに書き込む前に暗号化するために Fastly が使用する PGP 公開鍵を任意で入力します。秘密鍵で復号化することによってのみ、コンテンツを読み取ることができます。PGP 公開鍵は PEM (Privacy-Enhanced Mail) 形式でなければなりません。詳細については、ログの暗号化に関するガイドをご覧ください。
    • Select a log line format のセクションで、ログメッセージのログライン形式を選択します。詳細については、ログライン形式の変更に関するガイドをご覧ください。
    • Compression フィールドに、ログファイルに適用する圧縮形式を任意で選択します。詳細については、ログ圧縮オプションの変更に関するガイドをご覧ください。
    • Redundancy level メニューから、設定を選択します。有効な値は Standard および Infrequent Access です。デフォルトでは Standard に設定されています。
    • Server side encryption のセクションでは、Fastly が Oracle Cloud ストレージバケットに書き込むファイルを保護するための暗号化方法を任意で選択します。有効な値は None および AES-256 です。詳細については、この機能に関する Oracle のガイドをご参照ください。鍵管理サービスがサポートされていないことを除けば、この機能は Amazon の実装と機能的には同じです。
  6. Create ボタンをクリックすると、新しいログエンドポイントが作成されます。
  7. Activate ボタンをクリックして設定変更をデプロイします。
注意

Fastly は Oracle Cloud にログを継続的にストリーミングしていますが、Oracle Cloud の Web サイトおよび API からは、アップロードが完了するまでファイルにアクセスできません。

の形式例

以下に示すのは、Oracle Cloud Storage にデータを送信する書式の例です。書式の詳細については、こちらをご覧ください。

1{
2 "timestamp": "%{strftime(\{"%Y-%m-%dT%H:%M:%S%z"\}, time.start)}V",
3 "client_ip": "%{req.http.Fastly-Client-IP}V",
4 "geo_country": "%{client.geo.country_name}V",
5 "geo_city": "%{client.geo.city}V",
6 "host": "%{if(req.http.Fastly-Orig-Host, req.http.Fastly-Orig-Host, req.http.Host)}V",
7 "url": "%{json.escape(req.url)}V",
8 "request_method": "%{json.escape(req.method)}V",
9 "request_protocol": "%{json.escape(req.proto)}V",
10 "request_referer": "%{json.escape(req.http.referer)}V",
11 "request_user_agent": "%{json.escape(req.http.User-Agent)}V",
12 "response_state": "%{json.escape(fastly_info.state)}V",
13 "response_status": %{resp.status}V,
14 "response_reason": %{if(resp.response, "%22"+json.escape(resp.response)+"%22", "null")}V,
15 "response_body_size": %{resp.body_bytes_written}V,
16 "fastly_server": "%{json.escape(server.identity)}V",
17 "fastly_is_edge": %{if(fastly.ff.visits_this_service == 0, "true", "false")}V
18}

翻訳についての注意事項
このガイドは役に立ちましたか?

このフォームを使用して機密性の高い情報を送信しないでください。サポートが必要な場合は、サポートチームまでご連絡ください