AWS Lambdaをデプロイした時のダウンタイム

AWS Lambdaをデプロイした時、ダウンタイムは発生するのかについて。

直接答えとなる記述をドキュメントで見つけることができていないのだが、AWSフォーラムの開発者による回答を見るに、新旧両方のバージョンが動作する時間はあるものの、ダウンタイム自体は理屈のうえではなさそう。

“AWS Lambdaをデプロイした時のダウンタイム” の続きを読む

DynamoDB から DocumentClient で get() した StringSet型 の値を取り出す

AWS DynamoDBで使える型の一つに、StringSetがある。これは文字列の集合だ。JavaScriptでもES6以降にはSet型があるので、それと対応していればよいのだが、残念ながらしていない。

といっても、値を取り出すには、.values でアクセスすればよいだけ。というメモ。普段Python使っているのですぐに忘れる。

“DynamoDB から DocumentClient で get() した StringSet型 の値を取り出す” の続きを読む

AWS Lambda (Python 3.8)から Amazon Elasticsearchを使う(LambdaはSAMで)

LambdaからAmazon Elasticsearchにクエリを投げるためのテンプレメモ。LambdaはSAMで用意するが、Amazon Elasticsearchのドメインは事前に準備しておく。RuntimeはPython 3.8。Elasticsearchの接続にはelasticsearchのモジュールを利用する。

権限周りとかけっこうたいへん。

“AWS Lambda (Python 3.8)から Amazon Elasticsearchを使う(LambdaはSAMで)” の続きを読む

Grafana on EC2 で Let’s Encrypt 使ってSSL

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する受け口をSAM CLI + API Gateway + Lambdaで作る

httpで何かPOSTしてその内容を確認したい時がある。しかしそのためだけにわざわざWebサーバーたてるのも面倒。ということで、API Gateway + Lambdaでさらっと確認できるようの受け口を作りたい。

SAM CLIを使って構築する。楽。

“httpでPOSTする受け口をSAM CLI + API Gateway + Lambdaで作る” の続きを読む

とにかくCloudSearch + boto3で全文検索するために学習する

サイトの全文検索のためにCloudSearchを使う、と決めたのはよいものの、取っ掛かりに苦労したので、とにかく「インスタンスをたてる」→「ドキュメントを登録する」→「検索して結果を取得する」までのなんとなくの流れを超ざっくりとメモ書き。そのうちちゃんとまとめたい。

“とにかくCloudSearch + boto3で全文検索するために学習する” の続きを読む