Sumo LogicでCloudFrontをウォッチしてみた

sumologicでAmazon CloudFrontのアクセスログを取り込みダッシュボードに表示する
2018.03.31

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

おはようございます、加藤です。
今回はSumo LogicでCloudFrontをウォッチしてみたのでその方法をご紹介します。 Sumo Logicについてはこちらのブログをご確認ください。

アカウント作成

下記のブログを参考にアカウントを作成しました。

AWSアカウント側

Sumo LogicでCloudFrontをウォッチする要件は以下の通りです。

  • CloudFrontのログがS3バケットへ出力されていること
  • S3バケットへアクセスする権限を持つIAMユーザが存在すること

CloudFrontのログをS3バケットへ出力

AWS CloudFront Management Consoleを開き、対象のDistributionをクリックする

sumologic-aws-cloudfront015

GeneralタブのEditをクリックする

sumologic-aws-cloudfront016

Loggingを"on"に変更し、Bucket fot Logsに出力先のS3バケット名を入力する

Log Prefixの設定は任意ですが、設定することが推奨されているので、"cf-logs/"と設定

sumologic-aws-cloudfront017

Yes,Editをクリックして設定を確定

IAMユーザ作成

IAM Management Consoleを開き、IAMユーザーの作成を開始

sumologic-aws-cloudfront004

ユーザー名"sumologic-cloudfront"とし、アクセスの種類は"プログラムによるアクセス"のみ選択

sumologic-aws-cloudfront005

"ポリシーの作成"をクリックすると、別画面でポリシーの作成が開く

sumologic-aws-cloudfront006

JSONでポリシーを設定する

YOUR_BUCKET_NAMEは自分のS3バケット名に置換すること

policy.json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "s3:GetObject",
                "s3:GetObjectVersion",
                "s3:ListBucket",
                "s3:ListBucketVersions"
            ],
            "Effect": "Allow",
            "Resource": [
                "arn:aws:s3:::YOUR_BUCKET_NAME/*",
                "arn:aws:s3:::YOUR_BUCKET_NAME"
            ]
        }
    ]
}

sumologic-aws-cloudfront007

ポリシーの名前は"AmazonS3ReadOnlyAccess_CloudFrontLog_sumologic"とした

作成後、IAMユーザー作成画面に戻る(自動では切り替わらない)

sumologic-aws-cloudfront008

ポリシー名"sumologic"でフィルタし、作成したポリシーを選択する

sumologic-aws-cloudfront009

ユーザーを作成する

sumologic-aws-cloudfront010

認証情報のCSVをダウンロードしておく、CSVファイルのフォーマットは以下の通り

User name Password Access key ID Secret access key Console login link
IAMユーザー名 パスワード アクセスキー シークレットアクセスキー IAMユーザー用アクセスURL

sumologic-aws-cloudfront011

Sumo Logic側

Setup Wizard

Sumo Logicへログインする

Setup Wizardをクリックする

sumologic-aws-cloudfront001

Setup Streaming Dataをクリックする

sumologic-aws-cloudfront002

Amazon CloudFrontをクリックする

sumologic-aws-cloudfront003

ダウンロードした認証情報を確認し、以下を参考に入力する

  • Access Key ID
    • ユーザーのアクセスキー
  • Secret Access Key
    • ユーザーのシークレットアクセスキー
  • S3 Bucket Name
    • CloudFrontのログ出力先S3バケット名
  • Path Expression
    • 下記参照

Path ExpressionにはS3バケットから取り込みたいファイルパスをワイルドカード形式で指定する
CloudFrontのLog Prefixを確認すると、適切な設定がわかる

sumologic-aws-cloudfront013

(例) - ルートに存在するcf-logs配下のファイルを全て取り込む - cf-logs/* - ルートのファイルを全て取り込む - *

sumologic-aws-cloudfront012

処理の終了を待つ(最大15分間)

sumologic-aws-cloudfront014

完了したら、Exit Setup Wizardをクリック

CloudFrontのフォルダが作成されていれば正常終了しています

sumologic-aws-cloudfront018

ダッシュボードの作成

メニューのApp CatalogからCloudFrontをクリックします

sumologic-aws-cloudfront019

Add to Libraryをクリック

sumologic-aws-cloudfront020

Source Categoryで"aws/cloudfront"を選択して、Add to Libraryをクリック

sumologic-aws-cloudfront021

メニューに4つのダッシュボードが作成されていれば正常終了しています

sumologic-aws-cloudfront022

ダッシュボードの確認

Overviewを確認してみました。右上で集計期間を変更でき、直近3日間に設定してみました。

sumologic-aws-cloudfront023

このように、ダッシュボードを確認できました!

感想

最初からダッシュボードが容易されていると、とても楽ちんでした。
今回使ったCloudFrontは検証用に作ったS3ウェブサイトホスティングでindex.htmlを1つ置いただけの単純な物なので見応えのあるダッシュボードを堪能しきれず残念です...
実プロダクトのCloudFrontで見てみるととてもおもしろそうです!

Sumo Logicのインフラ活用法セミナーやります!

ちなみに、2018年10月4日(木)にクラスメソッドの共催でSumo Logicジャパン社設立記念セミナーが行われます。Sumo Logicの特徴やAWSなどインフラへの活用方法をレクチャーする内容です。Sumo Logicを使った監視に興味がある方は、こちらのイベントもチェックしてみてください。

SumoLogic181004