AWS CloudFront¶
AWS CloudFront のメトリクス、ログデータを収集
設定¶
AWS CloudFront の主なパフォーマンス指標には、リクエスト総数、データ転送量、HTTP エラー率、キャッシュヒット率、レイテンシーが含まれ、これらはコンテンツ配信ネットワークの性能評価と最適化に役立ちます。
Func のインストール¶
Guance の統合 - 拡張 - マネージド版 Func の開通を推奨します。前提条件はすべて自動でインストールされるため、スクリプトのインストールを続けてください。
Func を自前でデプロイする場合は、Func の自前デプロイ を参照してください
インストールスクリプト¶
ヒント:要件を満たす AWS AK を事前に準備してください(簡単のため、グローバル読み取り専用権限
ReadOnlyAccessを直接付与してもかまいません)
マネージド版の開通スクリプト¶
- Guance コンソールにログインします
- 【統合】メニューをクリックし、【クラウドアカウント管理】を選択します
- 【クラウドアカウントを追加】をクリックし、【AWS】を選択して、画面に必要な情報を入力します。以前にクラウドアカウント情報を設定済みの場合は、この手順をスキップします
- 【テスト】をクリックし、成功したら【保存】をクリックします。失敗した場合は関連する設定情報が正しいか確認し、再度テストしてください
- 【クラウドアカウント管理】一覧で追加済みのクラウドアカウントを確認できます。該当するクラウドアカウントをクリックして詳細ページに入ります
- クラウドアカウント詳細ページの【統合】ボタンをクリックし、
未インストールリストでAWS CloudFrontを見つけ、【インストール】ボタンをクリックして、表示されたインストール画面でインストールします。
手動開通スクリプト¶
-
Func コンソールにログインし、【スクリプトマーケット】をクリックして Guance スクリプトマーケットに入り、
integration_aws_cloudfrontを検索します -
【インストール】をクリックした後、該当するパラメータを入力します。AWS AK ID、AK Secret、およびアカウント名です。
-
【デプロイして起動スクリプトを開始】をクリックすると、システムが自動的に
Startupスクリプトセットを作成し、対応する起動スクリプトを自動で設定します。 -
有効化後は、「管理 / 自動トリガー設定」で対応する自動トリガー設定を確認できます。【実行】をクリックすると、定期実行を待たずに即時で 1 回実行できます。しばらくしてから、実行タスクの記録と対応するログを確認できます。
検証¶
- 「管理 / 自動トリガー設定」で対応するタスクに自動トリガー設定が存在するか確認し、同時に該当タスクの記録とログを確認して異常がないかチェックします
- Guance の「インフラストラクチャ / カスタム」で資産情報が存在するか確認します
- Guance の「メトリクス」で対応する監視データがあるか確認します
メトリクス¶
Amazon CloudWatch を設定すると、デフォルトのメトリクスセットは以下のとおりです。設定により、より多くのメトリクスを収集できます。Amazon CloudWatch メトリクス詳細
監視メトリクス¶
| 指標英文名 | 指標中文名 | 含义 |
|---|---|---|
| Requests | リクエスト数 | CloudFront が受信したすべての HTTP メソッド、および HTTP と HTTPS リクエストのビューアリクエスト総数。 |
| Bytes downloaded | ダウンロードバイト数 | ビューアが GET、HEAD、OPTIONS リクエストでダウンロードした総バイト数。 |
| Bytes uploaded | アップロードバイト数 | ビューアが POST および PUT リクエストを使用して、CloudFront 経由でオリジンにアップロードした総バイト数。 |
| 4xx error rate | 4xx エラー数 | 応答の HTTP ステータスコードが 4xx のすべてのビューアリクエストの割合。 |
| 5xx error rate | 5xx エラー数 | 応答の HTTP ステータスコードが 5xx のすべてのビューアリクエストの割合。 |
| Total error rate | 総エラー数 | 応答の HTTP ステータスコードが 4xx または 5xx のすべてのビューアリクエストの割合。 |
ロギング¶
CloudFront¶
ログ収集方法¶
- CloudFront を設定してログファイルを作成し、CloudFront が受信する各ユーザー(ビューア)リクエストの詳細情報を含めて S3 バケットに保存できます。これらのログは標準ログとも呼ばれ、アクセスログとも呼ばれます。
- S3 が Event をトリガーして Lambda 関数を呼び出し、DataKit または DataWay を通じてデータをプラットフォームへ報告します(DataWay による直接アップロードを推奨します)
CloudFront ログを S3 バケットに書き込む¶
- 対応する
CloudFrontディストリビューションを選択し、詳細ページに入ります - 【Logging】ページの【設定】で【編集】をクリックします
- 【標準ログの保存先】セクションを選択し、【Add】をクリックして
Amazon S3を選択します。 - ログファイル用に作成した S3 バケットを選択し、必要なログフィールド(
DistrubtionId、c-countryなどのフィールドを追加可能)を選択し、出力形式としてJSONを選択します。 - 【Submit】をクリックして設定を保存します。
Lambda の設定¶
ログ解析¶
Guance には CloudFront ログ解析が組み込まれています。【ログ】 - 【Pipelines】 - 【Pipeline 公式ライブラリ】で CloudFront を選択し、タイプを 中心 Pipeline に追加して保存すれば、新しく報告されるデータに対して有効になります。
オブジェクト¶
報告されるデータの例は以下のとおりです。
{
"measurement": "aws_cloudfront",
"tags": {
"ARN": "arn:aws-cn:cloudfront::F",
"DomainName": "d3q33pv83.cloudfront.cn",
"Id": "E183FMUG1QDCZF",
"Status": "Deployed",
"name": "E183FMUG1ZF"
},
"fields": {
"CreatedDate" : "2022-03-09T06:13:31Z",
"ApiKeySelectionExpression": "$request.header.",
"DisableSchemaValidation" : "xxxxx",
"Description" : "Created by AWS Lambda"
}
}
注意:
tags、fields内のフィールドは、今後の更新により変更される可能性があります