ロギングをどうするかで困っていた。AWS Lambdaでは、プリント出力したものがCloudWatchに保存されてとても便利なのだが、考えもなしにとりあえずポンポン入れていたところ、確かに情報はあるので追えないことはないんだが、地道に時間にあたりをつけて検索するなど、非常に泥臭い作業が要求され、なにかとつらかった。
APIのコール回数など集計したいという要件も出てきて、重い腰をあげてロギングについて頑張って考えました、という話。
“AWS Lambdaのロギングを考える” の続きを読む見栄を張らない、背伸びをしない。 私はただの阿呆です。 嘘です。 since 2012.10.17.
ロギングをどうするかで困っていた。AWS Lambdaでは、プリント出力したものがCloudWatchに保存されてとても便利なのだが、考えもなしにとりあえずポンポン入れていたところ、確かに情報はあるので追えないことはないんだが、地道に時間にあたりをつけて検索するなど、非常に泥臭い作業が要求され、なにかとつらかった。
APIのコール回数など集計したいという要件も出てきて、重い腰をあげてロギングについて頑張って考えました、という話。
“AWS Lambdaのロギングを考える” の続きを読むAWS Lambdaをデプロイした時、ダウンタイムは発生するのかについて。
直接答えとなる記述をドキュメントで見つけることができていないのだが、AWSフォーラムの開発者による回答を見るに、新旧両方のバージョンが動作する時間はあるものの、ダウンタイム自体は理屈のうえではなさそう。
“AWS Lambdaをデプロイした時のダウンタイム” の続きを読むAWS DynamoDBで使える型の一つに、StringSetがある。これは文字列の集合だ。JavaScriptでもES6以降にはSet型があるので、それと対応していればよいのだが、残念ながらしていない。
といっても、値を取り出すには、.values でアクセスすればよいだけ。というメモ。普段Python使っているのですぐに忘れる。
“DynamoDB から DocumentClient で get() した StringSet型 の値を取り出す” の続きを読むAWSのLambda関数で、S3とかSNSとかのイベントで発火させる時に、event変数に渡されるパラメータのjson形式についてのまとめ。
“AWS Lambda (Python 3.8)でイベント起動した時にeventに渡されるパラメータあれこれ” の続きを読むLambdaからAmazon Elasticsearchにクエリを投げるためのテンプレメモ。LambdaはSAMで用意するが、Amazon Elasticsearchのドメインは事前に準備しておく。RuntimeはPython 3.8。Elasticsearchの接続にはelasticsearchのモジュールを利用する。
権限周りとかけっこうたいへん。
“AWS Lambda (Python 3.8)から Amazon Elasticsearchを使う(LambdaはSAMで)” の続きを読むAWS SAM CLIを使って、 SNS -> Lambda (Python3.8) 起動できるようなテンプレートのメモ。ついでに、S3のイベントでSNSに通知するような場合についても記述する。
“AWS SAM CLIでSNSからLambdaを起動する(Python 3.8)、S3からSNSに通知する” の続きを読むAWSでGrafana用のEC2インスタンスをたてている。AWSならば、ELB経由にすると、ELBにACMで発行した証明書を割り当てられて楽なのだが、今回は漢のEC21本立ちなので、Let’s Encrypt を使って発行することにした。
grafana-serverでcertbotコマンドがうまくいかなかったので、nginxのリバースプロキシ機能を使い、nginx経由にしている。
“Grafana on EC2 で Let’s Encrypt 使ってSSL” の続きを読むhttpで何かPOSTしてその内容を確認したい時がある。しかしそのためだけにわざわざWebサーバーたてるのも面倒。ということで、API Gateway + Lambdaでさらっと確認できるようの受け口を作りたい。
SAM CLIを使って構築する。楽。
“httpでPOSTする受け口をSAM CLI + API Gateway + Lambdaで作る” の続きを読むDynamoDBの設計を始めてからたいていの人が引っかかるであろう、DynamoDBにおける多対多(many-to-many relationship)の対応について、つらつらとメモする。
AWSのドキュメントにベストプラクティスがあるので、それについて書き連ねるだけではある。
“DynamoDBで多対多のテーブル設計” の続きを読むやることはタイトルまんま。まぁAWSのドキュメント見たらあるのだが、けっこうあちこちに情報も散らばっていて、色々と見て回ることになったので、参考URLを残しつつメモ。Webコンソールから操作すること前提。
“S3に指定のバケットにファイル生成したらSQSに通知” の続きを読む