ログの圧縮形式の変更
最終更新日 2021-02-03
Fastly のリアルタイムログストリーミング機能では、ファイルベースのログエンドポイントの圧縮形式とオプションを指定することができます。これらには、Azure Blob、FTP、Google Cloud Storage、Kafka、OpenStack、Amazon S3、SFTP、Digital Ocean、Cloud Filesのログエンドポイントが含まれます。
利用可能なログ圧縮形式
デフォルトでは圧縮を行わないように設定されていますが、いくつかの圧縮メカニズムの中から選択することが可能です。
- RFC 8478 で定義されている圧縮アルゴリズムの Zstandard
- 多くの Google 製品で使用されている圧縮・解凍ライブラリの Snappy。詳細は Snappy 圧縮形式の説明をご覧ください。
- RFC 1952 および RFC 1951 で定義されている圧縮ユーティリティの Gzip
コントロールパネルを使用してログの圧縮形式を変更する
コントロールパネルでログファイルに適用する圧縮コーデックを選択することができます。
Gzip 圧縮を使用している場合、コントロールパネルがデフォルトで Gzip 圧縮レベル3のものになってります。そのため、変更できるのはログAPIを使用したときのみです。Gzip 圧縮レベルをAPI コールを介した3
以外の値に設定する場合、そのレベルはリードのみの値として表示されます。
コントロールパネルを使用してファイルベースのログエンドポイントの圧縮形式を更新するには、以下の手順に従ってください。
- Fastly コントロールパネルにログインします。
- Home ページから、適切なサービスを選択します。検索ボックスで ID、名称、ドメインによる検索が行えます。
- Edit configuration ボタンをクリックし、アクティブなバージョンをクローンするオプションを選択します。Domains ページが表示されます。
Logging リンクをクリックします。Logging endpoints 設定画面が表示されます。
編集するファイルベースのログエンドポイントの名前をクリックします。Edit this endpoint ページが表示されます。
ページの下部にあるAdvanced optionsをクリックします。Advanced options が表示されます。
Compressionセクションでログエンドポイントの圧縮形式を選択します。
Updateボタンをクリックします。
- Activate ボタンをクリックして設定変更をデプロイします。
API を使用してログの圧縮形式を変更する
ファイルベースのログエンドポイントの場合、Logging API を使用して圧縮形式を更新することができます。
API には、ログファイルの圧縮オプションを指定するためのcompression_codec
とgzip_level
のフィールドがあります。
compression_codec
は、ログを圧縮するために使用する codec を指定する文字列です。以下の点のうち、1つです:gzip_level
は圧縮しないことを意味する0から、最大の圧縮率を意味する9までの整数です。
注意
gzip の圧縮レベルを 3 以外の値に設定する必要がない限り、gzip_level
よりもcompression_codec
の使用を推奨します。
リクエストのペイロードに関して以下の点にご注意ください。
compression_codec
の 1 つのみ、またはgzip_level
がリクエストペイロードに含まれます。両方を指定すると、エラーが発生します。compression_codec
を「gzip」に設定すると、gzip_level
はデフォルトで3に設定されます。compression_codec
がリクエストのペイロードで指定されておらず、かつgzip_level
に0以外の値が設定されている場合、compression_codec
はデフォルトで「gzip」に設定されます。- リクエストで
compression_codec
とgzip_level
のいずれも指定されていない場合、ログファイルに圧縮が適用されず、compression_codec
はデフォルトでnull
に設定されます。
例えば、サービスの SFTP ログエンドポイントの圧縮形式を Snappy 圧縮コーデックを使用するように更新する場合、curl コマンドは以下のようになります。
$ curl -X PUT -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json" -d "compression_codec=snappy" https://api.fastly.com/service/SU1Z0isxPaozGVKXdv0eY/version/5/logging/sftp/sftp-log
compression_codec
のフィールドを使用して Azure Blob Storage のログエンドポイントに gzip 圧縮を適用する場合、curl コマンドは以下のようになります。
$ curl -X PUT -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json" -d "compression_codec=gzip" https://api.fastly.com/service/SU1Z0isxPaozGVKXdv0eY/version/7/logging/azureblob/azure-log
gzip_level
のフィールドを使用して Google Cloud Storage のログエンドポイントの圧縮形式のレベルを1に変更する場合、curl コマンドは以下のようになります。
$ curl -X PUT -H "Fastly-Key: YOUR_FASTLY_TOKEN" -H "Accept: application/json" -d "gzip_level=1" https://api.fastly.com/service/SU1Z0isxPaozGVKXdv0eY/version/4/logging/gcs/gcs-log