外部 syslog サーバに関する考慮事項
必要な外部 syslog サーバのサイズを見積もるには、次のガイドラインに従います。
外部 syslog サーバとは何ですか?
外部 syslog サーバは、 StorageGRID の外部にあるサーバであり、 1 箇所でシステム監査情報を収集できます。外部 syslog サーバを使用すると、監査情報のデスティネーションを設定して、管理ノードのネットワークトラフィックを減らしたり、情報をより効率的に管理したりすることができます。外部 syslog サーバに送信できる監査情報のタイプは次のとおりです。
-
通常のシステム運用中に生成された監査メッセージを含む監査ログ
-
ログインやルートへのエスカレーションなど、セキュリティ関連のイベント
-
アプリケーションログ:発生した問題 のトラブルシューティングのためにサポートケースをオープンする必要がある場合に要求されることがあります
外部 syslog サーバのサイズを見積もる方法
通常、グリッドは、 1 秒あたりの S3 処理数または 1 秒あたりのバイト数で定義される、必要なスループットを達成するようにサイジングされます。たとえば、 1 秒あたりの S3 処理数が 1 、 000 件、つまり 1 秒あたり 2 、 000 MB のオブジェクトの取り込みと読み出しをグリッドで処理する必要があるとします。外部 syslog サーバのサイズは、グリッドのデータ要件に応じて決定する必要があります。
このセクションでは、外部 syslog サーバが処理可能である必要があるさまざまなタイプのログメッセージのレートと平均サイズを、グリッドの既知または望ましいパフォーマンス特性( 1 秒あたりの S3 処理数)で見積もるためのヒューリスティック計算式をいくつか示します。
1 秒あたりの S3 処理数を推定式で使用します
グリッドをスループット用に 1 秒あたりのバイト数で表した場合、試算式を使用するには、このサイジングを 1 秒あたりの S3 処理に変換する必要があります。グリッドのスループットを変換するには、最初に平均オブジェクトサイズを確認する必要があります。これには、既存の監査ログと指標の情報を使用するか(存在する場合)、 StorageGRID を使用するアプリケーションに関する知識が必要です。たとえば、グリッドのサイズが 2 、 000 MB/ 秒で、平均オブジェクトサイズが 2MB の場合、 1 秒あたり 1 、 000 S3 処理可能なサイズ( 2 、 000 MB/ 秒)になるようにグリッドをサイジングしました。
以降のセクションで説明する外部 syslog サーバのサイジングの計算式は、一般的な推定値(ワーストケースの見積もり値ではありません)を示しています。設定やワークロードによっては、 syslog メッセージや syslog データの量が、式で予測される値よりも増減することがあります。式はガイドラインとしてのみ使用することを意図しています。 |
監査ログの推定式
グリッドでサポートされる 1 秒あたりの S3 処理数以外の S3 ワークロードに関する情報がない場合は、次の式を使用して、外部 syslog サーバで処理する必要がある監査ログのボリュームを推定できます。 監査レベルをデフォルト値のままにしておくという前提では、次のようになります( [ エラー ] に設定されている [ ストレージ ] を除くすべてのカテゴリは [ 通常 ] に設定されています)。
Audit Log Rate = 2 x S3 Operations Rate Audit Log Average Size = 800 bytes
たとえば、グリッドのサイズが 1 秒あたり 1 、 000 S3 処理の場合、 1 秒あたり 2 、 000 件の syslog メッセージをサポートするように外部 syslog サーバをサイジングし、 1 秒あたり 1.6 MB の割合で監査ログデータを受信(通常は格納)できるようにする必要があります。
ワークロードの詳細がわかっている場合は、より正確な概算が可能です。監査ログの場合、最も重要な追加変数は、 PUT される S3 処理の割合(とが表示されます。次の S3 フィールドの平均サイズ(バイト)(このテーブルで使用される 4 文字の省略形は監査ログのフィールド名)も表示されます。
コード | フィールド | 説明 |
---|---|---|
SACC |
S3 テナントアカウント名(要求の送信者) |
要求を送信したユーザのテナントアカウントの名前。匿名の要求の場合は空です。 |
SBAC |
S3 テナントアカウント名(バケット所有者) |
バケット所有者のテナントアカウント名。クロスアカウントアクセスまたは匿名アクセスの識別に使用します。 |
S3BK |
S3 バケット |
S3 バケット名。 |
S3KY |
S3 キー |
バケット名を除く S3 キーの名前。バケットに対する処理ではこのフィールドは記録されません。 |
P を使用して、 PUT の S3 処理の割合を表します。ここでは、 0 ≤ P ≤ 1 である( 100% PUT ワークロードの場合は P = 1 、 100% GET ワークロードの場合は P = 0 )。
次に、 K を使用して S3 アカウント名、 S3 バケット、 S3 キーの合計の平均サイズを表します。S3 アカウント名が常に my-s3 アカウント( 13 バイト)、バケット名が /my-application/bucket-12345 ( 28 バイト)のような固定長の名前、オブジェクト名が 5733a5d7-f069-41ef-8fbd-132474c69c ( 36 バイト)のような固定長のキーを持つとします。K の値は 90 ( 13+13+28+36 )です。
P と K の値を決定できる場合は、次の式を使用して、外部 syslog サーバで処理する必要がある監査ログのボリュームを見積もることができます。これは、監査レベルをデフォルト( Storage を除くすべてのカテゴリは Normal に設定されたまま)にしておくことを前提としています。 エラーに設定されているもの):
Audit Log Rate = ((2 x P) + (1 - P)) x S3 Operations Rate Audit Log Average Size = (570 + K) bytes
たとえば、グリッドのサイズが 1 秒あたり 1 、 000 S3 処理の場合、ワークロードの配置は 50% で、 S3 アカウント名やバケット名は オブジェクト名の平均値は 90 バイトで、 1 秒あたり 1 、 500 の syslog メッセージをサポートするように外部 syslog サーバをサイジングし、 1 秒あたり約 1MB の割合で監査ログデータを受信(通常は格納)できるようにする必要があります。
デフォルト以外の監査レベルの推定式
監査ログ用に提供される式では、デフォルトの監査レベル設定(「 Error 」に設定されているストレージを除く、すべてのカテゴリが「 Normal 」に設定されている)を使用するものとします。デフォルト以外の監査レベル設定で監査メッセージのレートおよび平均サイズを見積もるための詳細な計算式は使用できません。ただし、次の表を使用して概算レートを概算することができます。 監査ログに表示される平均サイズの計算式を使用できますが、「追加」の監査メッセージは、デフォルトの監査メッセージよりも平均して小さいため、推定値が超過する可能性が高いことに注意してください。
条件 | 計算式 |
---|---|
レプリケーション:すべての監査レベルをデバッグまたは通常に設定します |
監査ログの速度 = 8 x S3 処理の速度 |
イレイジャーコーディング:すべての監査レベルをデバッグまたは正常に設定 |
デフォルト設定と同じ式を使用します |
セキュリティイベントの推定式
セキュリティイベントは S3 処理には関連しないため、通常はログやデータのボリュームがごくわずかしか生成されません。そのため、計算式は提供されません。
アプリケーションログの推定式
グリッドでサポートされる 1 秒あたりの S3 処理数以外の情報が S3 ワークロードにない場合は、次の式を使用して、外部 syslog サーバで処理する必要があるアプリケーションログのボリュームを推定できます。
Application Log Rate = 3.3 x S3 Operations Rate Application Log Average Size = 350 bytes
たとえば、グリッドの 1 秒あたりの S3 処理数が 1 、 000 の場合、 1 秒あたりのアプリケーションログ数が 3 、 300 になるように外部 syslog サーバをサイジングし、 1 秒あたり約 1.2 MB の割合でアプリケーションログデータを受信(格納)できるようにする必要があります。
ワークロードの詳細がわかっている場合は、より正確な概算が可能です。アプリケーションログの場合、最も重要な追加変数はデータ保護戦略(レプリケーションとイレイジャーコーディング)。 PUT の S3 処理の割合(対GET / OTHER )と、次の S3 フィールドの平均サイズ(バイト)(テーブルで使用される 4 文字の略語は監査ログのフィールド名)です。
コード | フィールド | 説明 |
---|---|---|
SACC |
S3 テナントアカウント名(要求の送信者) |
要求を送信したユーザのテナントアカウントの名前。匿名の要求の場合は空です。 |
SBAC |
S3 テナントアカウント名(バケット所有者) |
バケット所有者のテナントアカウント名。クロスアカウントアクセスまたは匿名アクセスの識別に使用します。 |
S3BK |
S3 バケット |
S3 バケット名。 |
S3KY |
S3 キー |
バケット名を除く S3 キーの名前。バケットに対する処理ではこのフィールドは記録されません。 |
サイジング試算の例
このセクションでは、次のデータ保護方法でグリッドの推定式を使用する方法の例を説明します。
-
レプリケーション
-
イレイジャーコーディング
レプリケーションをデータ保護に使用する場合
P は、 PUT の S3 処理の割合を表します。ここでは、 0 ≤ P ≤ 1 である( 100% PUT ワークロードの場合は P = 1 、 100% GET ワークロードの場合は P = 0 )。
S3 アカウント名、 S3 バケット、 S3 キーの合計の平均サイズを K で表します。S3 アカウント名が常に my-s3 アカウント( 13 バイト)、バケット名が /my-application/bucket-12345 ( 28 バイト)のような固定長の名前、オブジェクト名が 5733a5d7-f069-41ef-8fbd-132474c69c ( 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 秒あたり 1 、 000 S3 処理の場合、ワークロードの配置が 50% で、 S3 アカウント名、バケット名、オブジェクト名の平均値が 90 バイトの場合、 1 秒あたりのアプリケーションログ数が 1800 になるように外部 syslog サーバをサイジングする必要があります。 そして、アプリケーションデータを 0.5 MB/ 秒のレートで受信(通常は保存)します。
イレイジャーコーディングをデータ保護に使用する場合
P は、 PUT の S3 処理の割合を表します。ここでは、 0 ≤ P ≤ 1 である( 100% PUT ワークロードの場合は P = 1 、 100% GET ワークロードの場合は P = 0 )。
S3 アカウント名、 S3 バケット、 S3 キーの合計の平均サイズを K で表します。S3 アカウント名が常に my-s3 アカウント( 13 バイト)、バケット名が /my-application/bucket-12345 ( 28 バイト)のような固定長の名前、オブジェクト名が 5733a5d7-f069-41ef-8fbd-132474c69c ( 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 秒あたり 1 、 000 S3 処理の場合、ワークロードの配置は 50% で、 S3 アカウント名やバケット名は オブジェクト名の平均値は 90 バイトです。外部 syslog サーバは、 1 秒あたり 2 、 250 のアプリケーションログをサポートするようにサイズを設定する必要があります。これにより、 1 秒あたり 0.6 MB のレートでアプリケーションデータを受信(通常は格納)できるようになります。
監査メッセージレベルおよび外部 syslog サーバの設定の詳細については、次のドキュメントを参照してください。