Skip to main content
本製品の最新リリースがご利用いただけます。
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

StorageGRIDの外部syslogサーバー

外部syslogサーバーは、StorageGRID の外部にあるサーバーで、システム監査情報を一箇所に集約するために使用できます。外部syslogサーバーを使用すると、管理ノードのネットワーク トラフィックを削減し、情報をより効率的に管理できます。StorageGRID では、アウトバウンドsyslogメッセージパケットのフォーマットは RFC 3164 に準拠しています。

外部 syslog サーバーに送信できる監査情報の種類には次のものがあります:

  • 通常のシステム運用中に生成された監査メッセージを含む監査ログ

  • ログインやroot権限への昇格など、セキュリティ関連のイベント

  • 発生した問題のトラブルシューティングのためにサポートケースを開く必要がある場合に要求される可能性のあるアプリケーションログ

外部syslogサーバを使用するタイミング

外部syslogサーバーは、大規模なグリッドを使用している場合、複数の種類のS3アプリケーションを使用している場合、またはすべての監査データを保持したい場合に特に役立ちます。監査情報を外部syslogサーバーに送信することで、以下のことが可能になります:

  • 監査メッセージ、アプリケーションログ、セキュリティイベントなどの監査情報をより効率的に収集・管理します。

  • 監査情報がさまざまなストレージノードから外部 syslog サーバーに直接転送されるため、管理ノードを経由する必要がなく、管理ノードのネットワーク トラフィックを削減できます。

    注意 ログが外部 syslog サーバーに送信される場合、8,192 バイトを超える単一のログは、外部 syslog サーバー実装の一般的な制限に準拠するために、メッセージの末尾で切り捨てられます。
    メモ 外部 syslog サーバーに障害が発生した場合にデータを完全に復旧するためのオプションを最大限に確保するために、監査レコードのローカルログ最大 20 GB (localaudit.log)が各ノードで維持されます。

外部syslogサーバの設定方法

外部 syslog サーバーの設定方法については、"ログ管理と外部 syslog サーバの設定"を参照してください。

TLSまたはRELP/TLSプロトコルを使用するように設定する場合は、以下の証明書が必要です。

  • サーバー CA 証明書:PEM エンコーディングで外部 syslog サーバーを検証するための、1 つ以上の信頼できる CA 証明書。省略した場合、デフォルトの Grid CA 証明書が使用されます。

  • クライアント証明書:外部 syslog サーバーへの認証に使用するクライアント証明書(PEM エンコーディング)。

  • クライアント秘密鍵:PEM エンコーディングのクライアント証明書の秘密鍵。

    メモ クライアント証明書を使用する場合は、クライアント秘密鍵も使用する必要があります。暗号化された秘密鍵を提供する場合は、パスフレーズも提供する必要があります。暗号化された秘密鍵を使用しても、鍵とパスフレーズを保存する必要があるため、セキュリティ上の大きなメリットはありません。シンプルさの観点から、可能であれば暗号化されていない秘密鍵を使用することをお勧めします。

外部 syslog サーバのサイズを見積もる方法

通常、グリッドのサイズは、1秒あたりのS3操作数または1秒あたりのバイト数で定義される、必要なスループットを達成するように設定されます。例えば、グリッドが毎秒1,000件のS3操作、または毎秒2,000MBのオブジェクトの取り込みと取得を処理する必要がある、といった要件があるかもしれません。グリッドのデータ要件に応じて、外部のsyslogサーバーのサイズを設定する必要があります。

このセクションでは、外部 syslog サーバーが処理できる必要があるさまざまなタイプのログメッセージのレートと平均サイズを推定するのに役立つヒューリスティックな式をいくつか紹介します。これらは、グリッドの既知または望ましいパフォーマンス特性(1 秒あたりの S3 操作数)で表されます。

推定式では、1秒あたりのS3操作数を使用します。

グリッドのサイズが1秒あたりのバイト数で表されるスループットに基づいて設定されている場合、推定式を使用するには、このサイズを1秒あたりのS3操作数に変換する必要があります。グリッドスループットを変換するには、まず平均オブジェクトサイズを決定する必要があります。これは、既存の監査ログとメトリック(存在する場合)の情報を使用するか、StorageGRID を使用するアプリケーションに関する知識を活用して行うことができます。例えば、グリッドが2,000 MB/秒のスループットを達成するように設計されていて、平均オブジェクトサイズが2 MBの場合、グリッドは1秒あたり1,000回のS3操作を処理できるように設計されていることになります(2,000 MB / 2 MB)。

メモ 以下のセクションで説明する外部 syslog サーバーのサイジングの計算式は、最悪の場合の見積もりではなく、一般的な場合の見積もりを示しています。構成とワークロードによっては、計算式が予測するよりも高いまたは低いレートの syslog メッセージ、またはより多くの syslog データが生成される場合があります。これらの計算式はあくまで目安としてご利用ください。

監査ログの推定式

グリッドがサポートすると予想される1秒あたりのS3操作数以外にS3ワークロードに関する情報がない場合は、監査レベルをデフォルト値(ストレージを除くすべてのカテゴリが「Normal」に設定され、ストレージは「Error」に設定されている)のままにしておくことを前提として、以下の数式を使用して、外部syslogサーバーが処理する必要がある監査ログの量を推定できます。

Audit Log Rate = 2 x S3 Operations Rate
Audit Log Average Size = 800 bytes

例えば、グリッドが毎秒 1,000 回の S3 操作に対応するように設計されている場合、外部 syslog サーバーは毎秒 2,000 件の syslog メッセージをサポートできる規模にする必要があり、毎秒 1.6 MB の速度で監査ログデータを受信(および通常は保存)できる必要があります。

自分の作業量についてより詳しく把握していれば、より正確な見積もりが可能になります。監査ログに関して、最も重要な追加変数は、S3操作のうちPUT操作(GET操作との比較)の割合と、以下のS3フィールドの平均サイズ(バイト単位)です(表で使用されている4文字の略語は、監査ログのフィールド名です):

Code フィールド 説明

SACC

S3テナントアカウント名(リクエスト送信者)

リクエストを送信したユーザーのテナントアカウント名。匿名リクエストの場合は空欄です。

SBAC

S3テナントアカウント名(バケット所有者)

バケット所有者のテナントアカウント名。クロスアカウントまたは匿名アクセスを識別するために使用されます。

S3BKを使用したチャンク アップロード署名要求がサポートされるようになりました。

S3バケット

S3バケット名。

S3KYを使用したチャンク アップロード署名要求がサポートされるようになりました。

S3キー

バケット名を含まない、S3キー名。バケットに対する操作には、このフィールドは含まれません。

S3操作のうちPUT操作の割合をPで表すとします。0 ≤ P ≤ 1です(つまり、PUTワークロードが100%の場合はP = 1、GETワークロードが100%の場合はP = 0となります)。

S3アカウント名、S3バケット、S3キーの合計の平均サイズをKで表すことにしましょう。S3アカウント名は常にmy-s3-account(13バイト)で、バケット名は/my/application/bucket-12345(28バイト)のような固定長で、オブジェクトのキーは5733a5d7-f069-41ef-8fbd-13247494c69c(36バイト)のような固定長であるとします。すると、Kの値は90(13+13+28+36)になります。

PとKの値を決定できれば、監査レベルをデフォルト設定のまま(ストレージを除くすべてのカテゴリが「通常」に設定され、ストレージは「エラー」に設定されている)にしておくことを前提として、以下の数式を使用して、外部 syslog サーバーが処理する必要がある監査ログの量を推定できます。

Audit Log Rate = ((2 x P) + (1 - P)) x S3 Operations Rate
Audit Log Average Size = (570 + K) bytes

例えば、グリッドのサイズが毎秒 1,000 回の S3 操作で、ワークロードが 50% PUT であり、S3 アカウント名、バケット名、オブジェクト名の平均が 90 バイトである場合、外部 syslog サーバーは毎秒 1,500 件の syslog メッセージをサポートできるようにサイズを設定する必要があり、監査ログデータを約 1 MB/秒の速度で受信(および通常は保存)できる必要があります。

非デフォルト監査レベルの推定式

監査ログに提供される数式は、デフォルトの監査レベル設定(ストレージを除くすべてのカテゴリが「通常」に設定され、ストレージは「エラー」に設定)を使用することを前提としています。デフォルト以外の監査レベル設定における監査メッセージの発生頻度と平均サイズを推定するための詳細な計算式は提供されていません。ただし、以下の表を使用してレートを概算することができます。監査ログ用に提供されている平均サイズ計算式を使用することもできますが、「追加」監査メッセージは平均してデフォルトの監査メッセージよりも小さいため、過大評価になる可能性が高いことに注意してください。

条件 計算式

レプリケーション:監査レベルはすべてデバッグまたは通常に設定されています

監査ログの取得率 = 8 × S3 運用率

イレイジャー コーディング:監査レベルはすべて Debug または Normal に設定されています

デフォルト設定と同じ数式を使用する

セキュリティイベントの推定式

セキュリティイベントは S3 の操作とは関連しておらず、通常はごくわずかな量のログとデータしか生成しません。これらの理由から、推定式は提供されていません。

アプリケーションログの推定式

グリッドがサポートすると予想される1秒あたりのS3オペレーション数以外にS3ワークロードに関する情報がない場合は、次の数式を使用して、外部syslogサーバーが処理する必要があるアプリケーションログの量を推定できます。

Application Log Rate = 3.3 x S3 Operations Rate
Application Log Average Size = 350 bytes

例えば、グリッドが毎秒 1,000 回の S3 操作に対応できるサイズであれば、外部 syslog サーバーは、毎秒 3,300 件のアプリケーションログを処理できる規模で、毎秒約 1.2 MB の速度でアプリケーションログデータを受信(および保存)できる必要があります。

自分のワークロードについてより詳しく把握していれば、より正確な見積もりが可能になります。アプリケーション ログの場合、最も重要な追加変数はデータ保護戦略(レプリケーション vs. イレイジャー コーディング)、S3 操作のうち PUT 操作の割合(GET 操作やその他の操作との比較)、および以下の S3 フィールドの平均サイズ(バイト単位)です(表で使用されている 4 文字の略語は監査ログフィールド名です):

Code フィールド 説明

SACC

S3テナントアカウント名(リクエスト送信者)

リクエストを送信したユーザーのテナントアカウント名。匿名リクエストの場合は空欄です。

SBAC

S3テナントアカウント名(バケット所有者)

バケット所有者のテナントアカウント名。クロスアカウントまたは匿名アクセスを識別するために使用されます。

S3BKを使用したチャンク アップロード署名要求がサポートされるようになりました。

S3バケット

S3バケット名。

S3KYを使用したチャンク アップロード署名要求がサポートされるようになりました。

S3キー

バケット名を含まない、S3キー名。バケットに対する操作には、このフィールドは含まれません。

サイズ見積もりの例

このセクションでは、以下のデータ保護方法を用いたグリッドの推定式の使用方法の例を説明します。

  • レプリケーション

  • イレイジャー コーディング

データ保護にレプリケーションを使用する場合

PはS3操作のうちPUTである割合を表し、0 ≤ P ≤ 1とする(つまり、PUTワークロードが100%の場合はP = 1、GETワークロードが100%の場合はP = 0となる)。

Kを、S3アカウント名、S3バケット、およびS3キーの合計の平均サイズとします。S3アカウント名は常にmy-s3-account(13バイト)で、バケット名は/my/application/bucket-12345(28バイト)のような固定長で、オブジェクトのキーは5733a5d7-f069-41ef-8fbd-13247494c69c(36バイト)のような固定長であるとします。すると、Kの値は90(13+13+28+36)になります。

PとKの値を決定できれば、次の数式を使用して、外部syslogサーバーが処理できる必要があるアプリケーションログの量を推定できます。

Application Log Rate = ((1.1 x P) + (2.5 x (1 - P))) x S3 Operations Rate
Application Log Average Size = (P x (220 + K)) + ((1 - P) x (240 + (0.2 x K))) Bytes

例えば、グリッドのサイズが毎秒 1,000 回の S3 操作で、ワークロードが 50% PUT であり、S3 アカウント名、バケット名、オブジェクト名の平均が 90 バイトである場合、外部 syslog サーバーは毎秒 1,800 件のアプリケーションログをサポートできる規模である必要があり、毎秒 0.5 MB の速度でアプリケーションデータを受信(および通常は保存)します。

データ保護にイレイジャー コーディングを使用する場合

PはS3操作のうちPUTである割合を表し、0 ≤ P ≤ 1とする(つまり、PUTワークロードが100%の場合はP = 1、GETワークロードが100%の場合はP = 0となる)。

Kを、S3アカウント名、S3バケット、およびS3キーの合計の平均サイズとします。S3アカウント名は常にmy-s3-account(13バイト)で、バケット名は/my/application/bucket-12345(28バイト)のような固定長で、オブジェクトのキーは5733a5d7-f069-41ef-8fbd-13247494c69c(36バイト)のような固定長であるとします。すると、Kの値は90(13+13+28+36)になります。

PとKの値を決定できれば、次の数式を使用して、外部syslogサーバーが処理できる必要があるアプリケーションログの量を推定できます。

Application Log Rate = ((3.2 x P) + (1.3 x (1 - P))) x S3 Operations Rate
Application Log Average Size = (P x (240 + (0.4 x K))) + ((1 - P) x (185 + (0.9 x K))) Bytes

例えば、グリッドのサイズが毎秒 1,000 回の S3 操作で、ワークロードが 50% PUT であり、S3 アカウント名、バケット名、オブジェクト名の平均が 90 バイトである場合、外部 syslog サーバーは毎秒 2,250 件のアプリケーションログをサポートできる規模である必要があり、毎秒 0.6 MB の速度でアプリケーションデータを受信(および通常は保存)できる必要があります。