Edge Security Acceleration (ESA) のリアルタイムログ配信機能を有効にすると、システムログ、アプリケーションログ、またはデバイスの操作ログをリアルタイムで収集し、指定された宛先に配信して保存および分析できます。これにより、ビジネスの監視とデータの保護に役立ちます。リアルタイムログに基づいて問題のトラブルシューティングを行い、コンテンツ配信のパフォーマンスを向上させることができます。
事前準備
ESA から Simple Log Service (SLS) へのリアルタイムログの配信:Simple Log Service が有効化されていることを確認してください。Simple Log Service によってトラフィック料金とストレージ料金が課金されます。詳細については、「課金の概要」をご参照ください。
ESA から Object Storage Service (OSS) へのリアルタイムログの配信:OSS が有効化されていることを確認してください。OSS によってトラフィック料金とストレージ料金が課金されます。詳細については、「課金」をご参照ください。
ESA から Alibaba Cloud 以外のプラットフォームへのリアルタイムログの配信:サードパーティの要件をご参照ください。
リアルタイムログ配信タスクの作成
ほとんどの場合、リアルタイムログ配信のレイテンシーは 5 分以内です。次のフローチャートは、リアルタイムログ配信タスクの作成方法を示しています。
ログを AWS S3 や S3 互換ストレージサービスなどのサードパーティのオブジェクトストレージサービスに配信する場合、システムの所有権が検証され、データのセキュリティが確保されます。
ログカテゴリの選択
のログはアカウント内のすべてのサイトで収集されますが、他のカテゴリのログはサイトごとに収集されます。
そのため、リアルタイムログ配信タスクを作成する際には、ログカテゴリを選択する必要があります。
Function and Pages ログと Edge Container ログ
ESA コンソールにログインします。左側のナビゲーションウィンドウで、を選択します。
リアルタイムログ ページで、配信タスクの作成 をクリックします。

表示されるウィザードの ログカテゴリの選択 ステップで、タスク名を入力し、ログカテゴリを選択します。次に、次へ をクリックします。

アクセスログとオリジンログ、ファイアウォールログ、TCP/UDP プロキシログ、DNS ログ
ESA コンソールで、サイト管理 を選択します。サイト 列で、対象のウェブサイトをクリックします。
左側のナビゲーションウィンドウで、を選択します。
配信タスク タブで、配信タスクの作成 をクリックします。

表示されるウィザードの ログカテゴリの選択 ステップで、タスク名を指定し、ログカテゴリを選択します。次に、次へ をクリックします。

ログフィールドの選択
ログフィールドの選択 ステップで、パラメーターを設定し、次へ をクリックします。

パラメーターは次のとおりです:
ログフィールド:収集するフィールドを選択します。詳細については、「ログフィールドの説明」をご参照ください。
サンプリングレート:サンプリングレートを指定して、配信されるログの数を減らし、ストレージコストを削減します。サンプリングレートを設定すると、ESA は指定された割合に基づいてログをランダムにサンプリングし、宛先に配信します。
フィルター:配信するログをフィルタリングするための条件を指定します。最大 20 個のフィルター条件を追加できます。
コンテナー名:デプロイしたコンテナーを選択します。最大 19 個のコンテナー名を追加できます。
宛先の選択
宛先の選択 ステップで、ログを配信する宛先を選択し、次へ をクリックします。

宛先は次のとおりです:
ログ分析サービス:
Alibaba Cloud Simple Log Service
オブジェクトストレージサービス:
Alibaba Cloud OSS
Amazon S3
S3 互換ストレージ
カスタムサービス:
HTTP サーバー
Kafka
宛先の詳細設定
Alibaba Cloud Simple Log Service
宛先の詳細設定 ステップで、パラメーターを設定し、OK をクリックします。

パラメーターは次のとおりです:
収集元:ESA がログを収集する場所を選択します。
SLS リージョン:ログが配信される SLS リージョンを選択します。
権限付与:ESA に SLS へのアクセスを承認します。システムは自動的に AliyunServiceRoleForESARealtimeLogPushSLS サービスリンクロールを作成し、必要な権限をそのロールに付与します。これにより、ESA はそのロールを偽装して SLS にアクセスできます。ロールの詳細については、「RAM ロール」をご参照ください。
Alibaba Cloud OSS
宛先の詳細設定 ステップで、パラメーターを設定し、OK をクリックします。

パラメーターは次のとおりです:
収集元:ESA がログを収集する場所を選択します。
バケットリージョン:宛先バケットが配置されているリージョンを選択します。
- 説明
ログストレージ用のバケットを作成していない場合は、OSS コンソールに移動してバケットを作成してください。
バケット名:アカウント内の既存のバケットを選択します。
承認:ESA に Alibaba Cloud OSS へのアクセスを承認します。システムは自動的に AliyunESARealtimeLogPushOSSRole サービスリンクロールを作成し、必要な権限をそのロールに付与します。これにより、ESA はそのロールを偽装して OSS にアクセスできます。
Amazon S3
宛先の詳細設定 ステップで、パラメーターを設定し、次へ をクリックします。

宛先バケットがリクエスタ支払いバケットでないことを確認してください。そうでない場合、ログの配信に失敗する可能性があります。
パラメーターは次のとおりです:
収集元:ESA がログを収集する場所を選択します。
バケットパス:ご利用のバケットのパスを入力します。
バケットリージョン:宛先バケットが配置されているリージョンを選択します。
バケットポリシーで暗号化が必要:
いいえ:ご利用のバケットでサーバー側暗号化が強制されていない場合にこのオプションを選択します。
はい。ポリシーで AWS SSE-S3 AES256 サーバー側暗号化が必要です:ご利用のバケットでサーバー側暗号化が強制されている場合にこのオプションを選択します。
ESA にファイルのアップロードを承認:ESA がご利用のバケットにリアルタイムログを配信する権限を持っていることを確認するために、必要な権限を付与するためのコードが提供されます。Amazon S3 バケット > 宛先バケット > 権限 > バケットポリシーに移動し、編集 をクリックしてから、コードを ポリシー セクションにコピーする必要があります。
所有権の検証
Amazon S3 の宛先の詳細を設定した後、システムは .txt ファイル名拡張子を持つトークンファイルを、ご利用のバケット内のログが保存されているディレクトリに送信します。
所有権の証明 の右側にある指示に従って、Amazon S3 で TXT ファイルを見つけ、その内容を トークン フィールドにコピーしてから、OK をクリックします。
S3 互換ストレージ
宛先の詳細設定 ステップで、パラメーターを設定し、次へ をクリックします。

パラメーターは次のとおりです:
収集元:ESA がログを収集する場所を選択します。
S3 互換バケットパス:ご利用のバケットのパスを入力します。システムは、現在の日付に基づいてバケットパス内にサブディレクトリを自動的に生成し、ログを保存します。
バケットリージョン:ご利用のバケットが配置されているリージョンを入力します。
アクセスキー ID:アクセスキー ID を入力します。
シークレットアクセスキー:シークレットアクセスキーを入力します。
エンドポイント URL:使用する S3 互換サーバーの URL を入力します。URL には、ご利用のバケットの名前やパスは含まれません。
所有権の検証
S3 互換ストレージの宛先情報を設定した後、システムは .txt ファイル名拡張子を持つトークンファイルを、ご利用のバケット内のログが保存されているディレクトリに送信します。
所有権の証明 の右側にある指示に従って、S3 互換ストレージで TXT ファイルを見つけ、その内容を 所有権トークン フィールドにコピーしてから、OK をクリックします。
HTTP サーバー
宛先の詳細設定 ステップで、パラメーターを設定し、OK をクリックします。

パラメーターは次のとおりです:
収集元:ESA がログを収集する場所を選択します。
配信先:HTTP サーバーの URL を入力します。URL には http:// または https:// を含める必要があります。
圧縮方法:ドロップダウンリストから圧縮方法を選択します。
gzip
zlib
snappy
no
サーバー認証:サーバーが暗号化された署名を必要とするかどうかを指定します。このパラメーターを [暗号化された署名] に設定した場合は、次のパラメーターを設定する必要があります:
PrivateKey:認証値を計算するために使用される秘密鍵を入力します。
ExpiredTime:署名の有効期間を入力します。
サーバー認証の仕組みと例については、「サーバー認証」をご参照ください。
PrivateKey:認証値を計算するために使用される秘密鍵。キーは 6〜18 文字の長さで、文字と数字を含めることができます。
ExpiredTime:署名の有効期間。単位:秒。
カスタム HTTP リクエストヘッダー (オプション):最大 20 個のカスタム HTTP リクエストヘッダーを追加できます。
カスタム URL パラメーター (オプション):最大 20 個のカスタム URL パラメーターを追加できます。
ログ本文プレフィックス (オプション):ログ本文のカスタムプレフィックスを入力します。
ログ本文サフィックス (オプション):ログ本文のカスタムサフィックスを入力します。
Kafka
宛先の詳細設定 ステップで、次の表で説明されているパラメーターを設定し、OK をクリックします。

パラメーター | 説明 |
収集元 | ESA がログを収集する場所を選択します。 |
Kafka トピック | Kafka トピックを入力します。 |
ブローカーアドレス | Kafka ブローカーのアドレスを入力します。
説明 |
圧縮方法 | ドロップダウンリストから圧縮方法を選択します。
|
サーバー認証 | サーバーが暗号化された署名を必要とするかどうかを指定します。このパラメーターを [暗号化された署名] に設定した場合は、次のパラメーターを設定する必要があります:
|
ロードバランサー | ロードバランサーの実装を選択します。
|
カスタムフィールドの追加
追加のログフィールドを追加して、特定の情報を記録できます。これにより、ログデータをさらに監視および分析できます。
アクセスログとオリジンログのみが、CustomField という名前のカスタムログフィールドをサポートしています。
ESA コンソールで、サイト管理 を選択します。サイト 列で、対象のウェブサイトをクリックします。
左側のナビゲーションウィンドウで、を選択します。
リアルタイムログ ページで、カスタムフィールド タブをクリックします。カスタムフィールド タブで、カスタムフィールドの追加 をクリックします。
カスタムフィールドの追加 ダイアログボックスで、フィールドタイプ と フィールド名 を設定し、OK をクリックします。

パラメーターは次のとおりです:
リクエストヘッダー:リクエストヘッダーは、クライアントからサーバーに送信される HTTP リクエストの一部です。リクエストに関する詳細が含まれています。リクエストヘッダーは、サーバーがリクエストをより適切に処理するのに役立つコンテキスト情報を提供します。
レスポンスヘッダー:レスポンスヘッダーは、サーバーからクライアントに送信される HTTP リクエストの一部です。レスポンスに関する詳細が含まれています。レスポンスヘッダーは、クライアントがレスポンスをより適切に処理するのに役立つコンテキスト情報を提供します。
Cookie:Cookie は、クライアント (通常はブラウザ) に保存される小さなテキストファイルです。Cookie はセッションステータスを維持するために使用されます。