S3上のCSVをRDS(PostgreSQL)にインポートするLambda

 S3上のCSVファイルをRDS(PostgreSQL)にインポートするという「あるある」パターンのLambda。(Python3.9, エラー処理抜き) ...

June 11, 2024

RDS(PostgreSQL)のデータをS3にエクスポートするLambda

 RDSのデータをS3にエクスポートするLambdaという「あるある」パターン。DBはPostgreSQL、Python3.9、エラー処理抜き。 ...

June 11, 2024

CloudWatchLogsのログ監視 - サブスクリプションフィルタ + Lambdaでメール送信(3)

約1年前の記事 CloudWatchLogsのログ監視 - サブスクリプションフィルタ + Lambdaでメール送信(2) の改良版の話。 ...

December 25, 2022

AWS Lambdaのログ監視方法を考えてみる

AWS Lambdaは関数が呼び出されると自動でCloudWatch Logsにログを吐く。このログの監視についてベストプラクティスを考えてみた。 ...

January 23, 2022

AWS Lambda関数をダウンロードする

AWS Lambdaでサイズがでかいリソースをアップロードすると、こんなメッセージが表示されてコードが見れないことがある。 ...

December 26, 2021

AWSイベント監視 - Config + EventBridge + Lambdaでメールカスタマイズ

過去に類似のテーマで、CloudTrailによるイベント監視 + 通知メールカスタマイズをしてみた。今回はイベントソースをAWS Configにしてみる。 ...

December 26, 2021

CloudWatch LogsからS3にエクスポート(Lambda/Python)

CloudWatch Logsから、LmabdaでログをS3にエクスポートする。対象のロググループとバケット内の第一階層を引数で指定するようにした。今回の事例ではエクスポートの範囲は「前日0時〜実行当日の0時」となる。 参考 boto3 API Reference LambdaよりCloudWatchログをS3に保存方法紹介 ちなみに過去マネコンから実行する手順書いた。 CloudWatchLogsからS3へログをエクスポートする 今回の検証に使用したアイテム(個人メモ) アイテム 名称 Lambda用IAMロール lambda_basic_execution Lambda関数 log-export-function S3バケット log-export-xxxxxxxx Lambda用IAMロールの権限はlogsフルアクセスのみ。S3もいると思ってたがなくてもできた。バケットポリシー側で許可しているからか。S3バケット名は環境変数で指定した。ちなみに対象バケットは、動作不可になるためオブジェクトロックを設定しないこと。 S3バケットポリシー(log-export-xxxxxxxx) { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "logs.ap-northeast-1.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::log-export-xxxxxxxx" }, { "Effect": "Allow", "Principal": { "Service": "logs.ap-northeast-1.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::log-export-xxxxxxxx/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } } ] } Lambdaコード(Python3.9) import boto3 import collections from datetime import datetime, date, time, timedelta import os def lambda_handler(event, context): log_g = event....

December 19, 2021