0
0

More than 3 years have passed since last update.

VPCのログをLambdaで読み込む

Posted at

やりたいこと
・クロスアカウント環境下で他アカウントのVPCログを特定アカウントに集約する
・S3にログを集約してファイル作成ごとにLambdaでファイルを読み込む
 (外部への一定バイト以上の通信を検知して通知するような監視に利用する)

別記事でクロスアカウントにおけるログ集約は記載しましたので
その部分は割愛し、ファイル作成時にLambdaで読み込む部分を記載します。

ファイル出力するS3のバケットとキー
kaikusakari-test-vpc/AWSLogs/123456789012/vpcflowlogs/ap-northeast-1/   

Lambdaの設定

イベントのトリガー
イベントタイプ: PUT
バケット名:kaikusakari-test-vpc
プレフィックス: AWSLogs/123456789012/vpcflowlogs/ap-northeast-1/
(vpcのログはバケット名のみ指定してキー階層はデフォルトです)

ロール

Lambdaの実行
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Resource": "arn:aws:logs:ap-northeast-1:123456789012:log-group:/aws/lambda/test:*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": "logs:CreateLogGroup",
            "Resource": "arn:aws:logs:ap-northeast-1:123456789012:*"
        }
    ]
}
S3アクセス用ポリシー
{
   "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:GetLifecycleConfiguration",
                ・・・中略・・・
                "s3:GetObjectVersion"
            ],
            "Resource": "arn:aws:s3:::kaikusakari-test-vpc/*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:GetAccessPoint",
                "s3:GetAccountPublicAccessBlock",
                "s3:ListAllMyBuckets",
                "s3:ListAccessPoints",
                "s3:ListJobs",
                "s3:HeadBucket"
            ],
            "Resource": "*"
        }
    ]
}

言語でAWS SDKを使ってS3のオブジェクトを読み込み可能です。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0