AWS Lambdaのロギングを考える

ロギングをどうするかで困っていた。AWS Lambdaでは、プリント出力したものがCloudWatchに保存されてとても便利なのだが、考えもなしにとりあえずポンポン入れていたところ、確かに情報はあるので追えないことはないんだが、地道に時間にあたりをつけて検索するなど、非常に泥臭い作業が要求され、なにかとつらかった。

APIのコール回数など集計したいという要件も出てきて、重い腰をあげてロギングについて頑張って考えました、という話。

“AWS Lambdaのロギングを考える” の続きを読む

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

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

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

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

ブログ歴8年でいまさらクロス投稿を知る

知らなかった。このブログを始めたのが2012年の10月なので、実に8年以上ブログを続けているのだが、クロス投稿という概念を初めて知った。仮にも技術ネタ多めで、恐らく傍からは技術系のブログと目されているのではないかと思うのだが、そんなことも知らなかったのである。やはり僕は阿呆。

“ブログ歴8年でいまさらクロス投稿を知る” の続きを読む

nginx + certbot + Let’s Encrypt で TLSv1.0やTLSv1.1が無効化できない時

TLSv1.0やTLSv1.1は既知の脆弱性があるために、各種ブラウザでも対応が打ち切られています(参考「ついにTLS 1.0/1.1の無効化が決定!影響や確認・対応方法とは? | さくらのSSL」)。なので、もうサーバー側で対応する理由はないわけで、無効化する必要があるのですが、nginxの設定をなんぼいじっても無効化できないと思ったら、certbotでLet’s Encrypt使っている場合そっちの対応もあって半日ハマっていました。

“nginx + certbot + Let’s Encrypt で TLSv1.0やTLSv1.1が無効化できない時” の続きを読む

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で)” の続きを読む

Google DocumentsをWebサイト化するnocode.works の使い方

最近101回目の流行を迎えている気がしないでもないノーコードだが、古より続く伝統のノーコードといえばやはりサイト制作だろう。で、最近出てきたnocode.worksを使うと、Google Documentsを気軽にWebサイト化することができる。

正直まだ始まったばかりでエラー&エラーの不安定っぷり凄まじく、これに金払って本気サイト構築する物好きいるの?という感じなのだが、なんとなく可能性を感じるということもあって、最近ちょこちょこといじっている。そしてなんとなく、ブログというかサイト制作の初心を思い出したりもしている。

本記事はnocode.worksを使って一通りやるためのもの。

“Google DocumentsをWebサイト化するnocode.works の使い方” の続きを読む