はじめに

本記事では、Oracle Cloud Infrastructure(OCI)の Load Balancer(LB)で取得するアクセスログ・エラーログを、Logging サービスに保存する場合と Object Storage に保存する場合の違い、それぞれの設定方法、およびコスト面での比較について解説します。

※本記事の価格・試算は説明のための参考例です。OCI の価格は改定される可能性があり、リージョンによる価格差はなくグローバルで同一とされています。表示通貨(JPY / USD 等)や為替により見え方が変わるため、最新は公式の価格表をご確認ください。

LB ログの扱い方と、本記事で扱う「保存」の2パターン

OCI の Load Balancer は、Access Log / Error Log を「有効化」した場合に OCI Logging にログを出力します。
Logging に届いたログは、Connector Hubを使って、さまざまなターゲットに転送できます。Object Storage(アーカイブ・長期保存)、Streaming(リアルタイム配信)、Logging Analytics(高度なログ分析)、Notifications(通知)、Monitoring(メトリック)、Functions(任意処理)などです。用途に応じて「保存」「配信」「分析」「アラート」などに振り分けることが可能です。
そのなかで、ログを蓄積・保存するという目的に絞ると、主な選択肢は次の2つになります。

保存先 概要 主な用途
Logging サービスのみ LB のログをそのまま Logging のロググループに保存。コンソール・API で検索・参照可能。 検索・監視・短期保存
Object Storage Connector Hub 経由で Logging → Object Storage に転送。gzip 圧縮されたオブジェクトとして保存。 長期保存・コスト削減・監査・バックアップ

各方式の特徴と料金モデル

Logging サービスで保存する場合

  • 料金(公式価格表を参照。通貨・為替により表示が変わります。)
    • ストレージ: 無料枠(月10GBまで)を超える保存容量が課金対象。超過分の例として 月額¥7.75/GB(円建て表示の場合)。
    • 公式価格表では、主にログの保存容量(ストレージ)が課金対象として示されています。
  • 特徴
    • LB から直接ロググループへ出力されるため、追加の転送コンポーネントが不要。
    • コンソールや API でログの検索・フィルタ・ダッシュボード連携がしやすい。
    • 保持期間はログ設定で変更可能(※上限は仕様・ログ種別等で変わり得るため、コンソール表示や公式仕様をご確認ください)。

※参考ドキュメント: Logging for Load BalancersLogging Pricing

Object Storage で保存する場合

  • 料金(公式価格表を参照。通貨・為替により表示が変わります)
    • Standard: 月額 ¥3.9525/GB。Object Storage側にも無料枠(月10GBまで)がある場合があり、少量ログでは Logging との差が出にくいです。
    • Infrequent Access: 月額 ¥1.55/GB。最低保持期間31日があり、取得(retrieval)時に追加課金が発生する場合があります。
    • Archive: 月額 ¥0.403/GB。即時参照はできず、restore(復元)が必要(最大で約 1 時間かかることがあります)。最低保持期間 90 日があり、早期削除時は課金上の注意があります。
  • 特徴
    • 保存単価が Logging より安く、大量ログの長期保存ではコスト優位になりやすい。
    • オブジェクトは gzip 圧縮で保存され、ストレージ容量(課金対象は圧縮後サイズ)を抑えられます。
    • 監査・バックアップ・外部分析に適しています。
    • 検索やリアルタイム監視は Logging ほど手軽ではなく、必要なら別途ツールやスクリプトが必要です。

参考: Object Storage TiersCost Estimator

ユースケースに応じた保存方法の目安

ユースケース 推奨 理由
直近のトラブルシュート・検索をコンソールで行いたい Logging のみ 検索・フィルタが容易で、設定も簡単。
ログ量が少ない(例: 月 10 GB 未満) Logging のみ 無料枠内に収まり、運用が楽。
長期保存(監査・コンプライアンス・履歴分析) Object Storage 単価が安く、Archive 等でさらにコスト削減可能。
ログ量が多く、ストレージコストを抑えたい Object Storage 単価差と gzip 圧縮で、大量ログで有利。
検索もしたいが長期保存もしたい 併用(Logging / Object Storage) 短期は Logging(短い保持期間)、長期は Object Storage。

コスト観点で、長期/大量保存であれば Object Storage、少量/短期/検索重視なら Logging のみという整理になります。

コスト比較の目安(試算)

本記事で記載する料金・試算は説明用の例です。OCI はグローバルで同一価格のため、表示通貨(JPY / USD 等)や為替により見え方が変わります。最新は公式の価格表をご確認ください。
また、以下の試算は保存容量のみを対象としており、リクエスト料金・取得/復元料金・データ転送料金は含めていません。

  • Logging: 無料枠(月10GBまで)を超える分が課金。超過分の月額 ¥7.75/GB
  • Object Storage Standard: Object Storage にも無料枠(月10GBまで)がある場合があります。超過分の月額 ¥3.9525/GB

月間保存量に応じたコスト比較のイメージは以下の通りです(※両者とも10GBの無料枠を考慮した例)。

月間ログ量(保存) Logging のみ(例) Object Storage Standard(例)
10 GB 無料 無料
50 GB (50-10)×¥7.75 = 約 ¥310 (50-10)×¥3.9525 = 約 ¥158
100 GB 90×¥7.75 = 約 ¥698 90×¥3.9525 = 約 ¥356
500 GB 490×¥7.75 = 約 ¥3,798 490×¥3.9525 = 約 ¥1,937
1 TB 990×¥7.75 = 約 ¥7,673 990×¥3.9525 = 約 ¥3,913

単月だけ見ると、1TBでも差は数千円程度ですが、長期で積み上がると差が大きくなります。Object Storageは、長期保存が必要な場合にメリットが大きいといえます。Logging の保持期間の上限は6ヶ月のため、1 年〜数年分を残す要件がある場合は Object Storageへの転送を検討してください。Infrequent Access や Archive は「最低保持期間」「取り出し/復元」「即時参照不可」などの制約があるため、参照要件を踏まえて階層を選んでください。

Logging のみでLBログを保存する

LB のログは、コンソールから Access Log / Error Log を「有効化」することで、指定したロググループに保存されます。

1. ロググループの準備
[ロギング] → [ログ・グループ] で、LB 用のロググループを作成します。

ロググループ
2. LBでログを有効化
[ロードバランサ] → 対象LBの選択 → [モニタリング] → Access Log / Error Log の 三点リーダ から[ログの有効化]を選択 → 作成したロググループを指定 → ログ名を設定して保存します。

ログ有効化

3. ログの出力を確認
アクセスログ

エラーログ
参考ドキュメント: Enabling a Load Balancer LogDetails for Load Balancer Logs

Object Storageに保存する

LBログは一旦 Logging に出力されるため、Object Storageに保存するには Connector Hub を利用して、Logging からObject Storageへ転送します。

前提

  • LB のログ(Access / Error)がすでに Logging に出力されていること(LB 側でログを有効化済みであること)。
  • Object Storage に、ログ保存用のバケットを作成済みであること。

設定手順

1. サービス・コネクタの作成
[コネクタ・ハブ] → [コネクタの作成] → コネクタ名の設定 → ソース(ロギング)、ターゲット(オブジェクト・ストレージ)を選択 → 作成したロググループを指定 → ターゲット構成の「オブジェクト名の接頭辞」でストレージの階層を指定 → 作成
※Access Log / Error Log用それぞれ作成します。

サービス・コネクタ1

サービス・コネクタ2

2. ログの出力を確認
ログが出力されると、接頭辞の設定が反映されたパス配下にオブジェクトが作成されます。

オブジェクトストレージ

参考: Creating a Connector with a Logging SourceScenario: Archiving Logs to Object Storage

実装時に役立つ Tips

  • ログの保持期間の調整
    • Logging の保持は最大 6 か月のため、それ以上残す場合は Object Storage が必要です。
    • 併用する場合は、直近を Logging・長期分を Object Storage と役割分担し、Logging の保持期間を 1 か月など短くすると、料金を抑えつつ検索は直近に絞れて扱いやすくなります。
  • Object Storage のライフサイクルで長期保存コストを抑える
    • 参照頻度が下がるログは、ライフサイクルで一定期間後に Infrequent Access や Archive へ移行するとコスト最適化できます。
    • 注意:Infrequent Access は最低保持 31 日・取得課金あり。Archive は即時参照不可・restore 必要・最低保持 90 日です。参照要件に合わせて選んでください。
  • Connector Hub のログ有効化
    • コネクタで「Enable logs」を有効にすると、転送の成功・失敗や遅延を Connector Hub のログで確認できます。
    • 失敗検知用のアラートを用意すると、取りこぼしリスクを下げられます。

おわりに

本記事では、LB ログの保存先として Logging に置くか、Connector Hub で Object Storage に転送するかの 2 パターンと、それぞれの設定手順・コストの目安を整理しました。選定時は、コスト比較だけでなく「検索のしやすさ」「保持期間」「取り出し要件(即時性)」「階層ごとの制約(最低保持・restore・取得課金)」も踏まえて、最適な保存先を選んでいただければ幸いです。