外部syslogサーバを使用する場合の考慮事項
外部 syslog サーバは、 StorageGRID の外部にあるサーバであり、 1 箇所でシステム監査情報を収集できます。外部のsyslogサーバを使用すると、管理ノードのネットワークトラフィックを軽減し、情報をより効率的に管理できます。StorageGRIDの場合、発信syslogメッセージパケット形式はRFC 3164に準拠しています。
外部 syslog サーバに送信できる監査情報のタイプは次のとおりです。
-
通常のシステム運用中に生成された監査メッセージを含む監査ログ
-
ログインやルートへのエスカレーションなど、セキュリティ関連のイベント
-
アプリケーションログ:発生した問題 のトラブルシューティングのためにサポートケースをオープンする必要がある場合に要求されることがあります
外部syslogサーバを使用する状況
外部のsyslogサーバは、大規模なグリッドを使用する場合、複数のタイプのS3アプリケーションを使用する場合、またはすべての監査データを保持する場合に特に役立ちます。外部 syslog サーバに監査情報を送信すると、次のことが可能になります。
-
監査メッセージ、アプリケーションログ、セキュリティイベントなどの監査情報をより効率的に収集および管理します。
-
監査情報はさまざまなストレージノードから外部syslogサーバに直接転送されるため、管理ノードのネットワークトラフィックを削減します。管理ノードを経由する必要はありません。
外部syslogサーバにログを送信すると、8、192バイトを超える単一のログがメッセージの最後で切り捨てられ、外部syslogサーバの実装における一般的な制限事項に準拠します。 外部syslogサーバに障害が発生した場合にフルデータリカバリのオプションを最大限に活用するために、(`localaudit.log`各ノードに最大20GBのローカル監査レコードが保持されます。
外部syslogサーバの設定方法
外部syslogサーバの設定方法については、を参照してください"監査メッセージと外部syslogサーバの設定"。
TLSまたはRELP/TLSプロトコルを使用するように設定する場合は、次の証明書が必要です。
-
サーバCA証明書:PEMエンコードで外部syslogサーバを検証するための1つ以上の信頼されたCA証明書。省略すると、デフォルトの Grid CA 証明書が使用されます。
-
クライアント証明書:PEMエンコードによる外部syslogサーバへの認証用のクライアント証明書。
-
クライアント秘密鍵:PEMエンコードでのクライアント証明書の秘密鍵。
クライアント証明書を使用する場合は、クライアント秘密鍵も使用する必要があります。暗号化された秘密鍵を指定する場合は、パスフレーズも指定する必要があります。暗号化された秘密鍵を使用した場合、セキュリティ上の大きなメリットはありません。これは、鍵とパスフレーズを格納する必要があるためです。暗号化されていない秘密鍵を使用することを推奨します(使用可能な場合)。
外部 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(GET)に対する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 )。
ここでは、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 サーバで処理する必要がある監査ログのボリュームを見積もることができます。これは、監査レベルをデフォルト( 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 の割合でアプリケーションログデータを受信(格納)できるようにする必要があります。
ワークロードの詳細がわかっている場合は、より正確な概算が可能です。アプリケーションログの場合、最も重要な追加変数は、データ保護戦略(レプリケーションとイレイジャーコーディング)、S3処理の割合(GETとその他)、および次の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 サーバで処理可能なアプリケーションログのボリュームを推定できます。
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 )。
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 サーバで処理可能なアプリケーションログのボリュームを推定できます。
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%のPUTになり、S3アカウント名、バケット名 オブジェクト名の平均は90バイトです。外部syslogサーバは、1秒あたり2、250個のアプリケーションログをサポートするようにサイズを設定し、1秒あたり0.6MBの速度でアプリケーションデータを受信(格納)できるようにする必要があります。