1. クラウドストレージのバケット作成
まず始めにアクセスログを保存するクラウドストレージのバケットを作成します。
「クラウドストレージ申し込みからオブジェクトアップロードまでの流れ」を参考に、バケットを作成してください。
2. サービスの作成
次にCDNでサービスを作成します。
「CDNの申し込みについて」を参考に、サービスを作成してください。
サービスを有効化し正常に配信されていることが確認できたら、クローンを行ってください。
クローンを行うと、「Draft」ステータスのバージョンが作成されます。
このバージョンに対してログストリーミングの設定を行っていきます。
3. 設定パラメータの準備
ログストリーミングの設定には次のパラメータが必要となります。
①名前
②バケット名
③メールアドレス
④プライベートキー
⑤ログローテーション間隔
①名前
作成するログストリーミングルールに任意の名前を設定します。
例:setting-logstream-test
②バケット名
「2. クラウドストレージのバケット作成」で作成した、ログの保存先バケットの名前を設定します。
例:logstream-test-idcf
③メールアドレス
ここで設定するメールアドレスはIDCFに登録したメールアドレスではなく、GCPのサービスアカウントIDになります。次の手順でGCPのサービスアカウントを作成してください。
※GCPのサービスアカウント作成はマスターユーザーのみ可能です。
クラウドコンソール右上から「アカウント設定」→左メニューの「連携アカウント」をクリック後、タブで「Google Cloud Platform」を選択してください。
ページ下部の「GCPサービスアカウント管理」からGCPサービスアカウントを追加してください。
項目 | 値 |
---|---|
サービスアカウントID | 英字で始まる任意の半角英数字 (大文字およびidcf-から始まるIDは使用不可) |
名前 | 任意の名前(タグ) |
役割 | 「クラウドストレージ」→「ストレージ管理者」 を選択 |
最後に右端の+マークをクリックしてサービスアカウントを追加します。
ログストリーミングに設定するメールアドレスは作成したサービスアカウントIDの@以下も含めたものを利用してください。
追加が完了すると、jsonファイルのダウンロード画面が表示されます。このjsonファイルは設定に必要なパラメータであるプラベートキーが記載されていますので、ダウンロードして大切に保管してください。
④プライベートキー
プライベートキーは③の手順でダウンロードしたjsonファイル内に、”private_key”という項目で記載されています。その値をコピーしてそのまま貼り付けてください。
例:-----BEGIN PRIVATE KEY-----¥nABCD … 1234¥n-----END PRIVATE KEY-----¥n
⑤ログローテーション間隔
CDNがログを貯め、バケットに出力する間隔を指定します。
デフォルトは3600秒(1時間)です。
例:1800
4. ログストリーミングの設定
CDNの設定画面から「ログストリーミング」→「ログストリーミング先を追加する」をクリックしてログストリーミングの設定を行います。
③で用意したパラメータを次のように設定します。
設定例
ログフォーマット、タイムスタンプ、オプションの設定は必要に応じて行なってください。
特に指定がなければデフォルトの設定のまま「追加するボタン」をクリックしてログストリーミングを作成してください。
実行後、設定が投入されているかクラウドコンソールからも確認します。
対象のサービス名を選択し、「Show VCL」をクリックします。
# gcs setting_logstream_test で始まる行の下に、投入した設定が記述されていることが確認できます。
5. サービスの有効化、確認
最後にサービスを有効化し、正常にコンテンツが配信されているかどうか確認してください。
ログストリーミングが正しく設定されている場合、⑤ログローテーション間隔で指定した秒数が経過すると、クラウドストレージのバケットにログファイルがストリーミングで保存されます。
ファイルをダウンロードし、正常にアクセスログが保存されていることを確認してください。
ログのファイルは次のような形式で保存されています。
<134>2020-02-03T01:31:55Z cache-itm18830 logstreaming-test[206076]: 158.205.143.164 "-" "-" [03/Feb/2020:01:31:55 +0000] "GET /index.html HTTP/1.1" 304 "-"
参考:ログの設定例
ログフォーマットの設定例
設定例
%h %H %v %t %r %>s
各設定項目の意味
%h リモート IP アドレス
%H リクエストのプロトコル
%v リクエストのドメイン名
%t リクエストが受信された時刻。標準の英語形式(例 01/Jan/1970:00:00:00 -0700)最後の数字は GMT からのタイムゾーンオフセットを示します。
"%r" リクエストの最初の行。
%>s 最後のリクエストのステータス
出力
<134>2020-02-25T07:04:53Z cache-itm18840 gui_log[128665]: 158.205.143.164 HTTP/1.1 cert.kogura.sa.egg.jp [25/Feb/2020:07:04:52 +0000] GET / HTTP/1.1 304
※設定可能な項目はこちらを参照ください。
※タイムスタンプの形式はISO 8601に準拠します。strftimeと互換性がありますのでこちらを参照して任意の設定を行うことが可能です。
ログ出力形式の変更など、ログストリーミングのAPI詳細に関してはこちらをご確認ください。