kakakakakku blog

Weekly Tech Blog: Keep on Learning!

Lambda

AWS Lambda 関数 (Python) の import 時間を計測しよう / -X importtime オプション or 環境変数 PYTHONPROFILEIMPORTTIME

AWS Lambda の初期化フェーズ (INIT) は「10秒」に制限されている.例えば,AWS Lambda 関数の「ベストプラクティス」を意識してハンドラ外に実装した処理が長くなったり,AWS Lambda 関数 (Python) で機械学習系のライブラリなどを多く import しようとして…

AWS CDK で Amazon CloudWatch Alarm の AWS Lambda アクションを設定する

2023年12月のリリースで Amazon CloudWatch Alarm から直接 AWS Lambda 関数を呼び出して,何かしらのアクション(復旧処理など)を実行できるようになった❗️今までは Amazon SNS と組み合わせて実行する必要があって,今までよりもシンプルに統合できるよう…

AWS CDK で AWS Lambda 関数の高度なログ制御機能(フォーマット・ログレベル・ログ集約)を設定する

2023年11月にリリースされた AWS Lambda 関数の「高度なログ制御機能 (advanced logging controls)」によって,大きく3種類の追加設定ができるようになったどれも AWS Lambda 関数を多く運用しているチームになどに嬉しいアップデートではあるけど,個人的に…

正式リリースになった AWS SAM CLI の Terraform サポート機能を試す

2023年9月5日に AWS SAM CLI の Terraform サポート機能が GA (正式リリース)になった Amazon API Gateway や AWS Lambda 関数などサーバーレス関連のコンポーネントは Terraform で統一的に管理しつつも,AWS SAM CLI の開発支援機能(sam local invoke …

Lambda の運用面でのベストプラクティスを学べる「AWS Lambda Operator Guide」を読んだ

AWS の公式ドキュメント「AWS Lambda Operator Guide」を読んだ❗️AWS Lambda を軸にサーバーレスアプリケーションを構築するときに意識しておくべき "運用面のポイント・ベストプラクティス" がまとまっていて,とても良いドキュメントだった 内容的には AWS…

LocalStack と samlocal コマンドで SQS x Lambda 構成をローカル環境で実行する

開発中に AWS Lambda 関数をローカル環境で実行するなら AWS SAM CLI の sam local invoke -e event.json コマンドを使えば良く,また AWS Lambda 関数のベストプラクティスに載っている Lambda ハンドラーをコアロジックから分離します。 を意識して実装す…

blank-go: Go で動く AWS Lambda 関数に入門しよう

AWS Lambda 関数を Go ランタイムで動かす Hello World レベルの初学者コンテンツを探していて,ドキュメントにも載っている blank-go プロジェクトがお手軽に使えて良かったので紹介したいと思う❗️初学者に教えるときに使えるぞ〜 \( 'ω')/ github.com ち…

CircleCI 2.0 + Apex で Lambda をデプロイする

Lambda をデプロイする場合,最近だと Serverless Framework もしくは AWS Serverless Application Model を使う場面が多いけど,他の AWS サービスに依存せず Lambda だけをデプロイしたい場合には Apex も積極的に使っている.要件がシンプルな場合に特に…

Lambda / Kinesis / DynamoDB / X-Ray などを組み合わせた実装を学べる「サーバーレスアプリケーション開発ガイド」を読んだ

今月発売されたばかりの「サーバーレスアプリケーション開発ガイド」を読んだので,書評をまとめたいと思う.著者の西谷さん,献本ありがとうございます! Amazon Web Servicesを使ったサーバーレスアプリケーション開発ガイド作者:西谷 圭介発売日: 2018/03…

CROSS 2017 : Serverless Ninja Warriors でパネルディスカッションに参加してきた

今日 9/8 に横浜で開催された CROSS 2017 で,パネルディスカッションに参加してきた.テーマは Serverless Ninja Warriors で,サーバレスのガチ勢に囲まれて緊張したけど,楽しかったし,モチベーションも高まった.ありがとうございました! 2017.cross-p…

Lambda (Python) をローカル環境で実行できる python-lambda-local を試した

Lambda (Python) のローカル環境を整えるため,python-lambda-local を試した.python-lambda-local を使うと,Python コードを Lambda にデプロイすることなく動作確認ができるようになる.Apex を使っていれば apex invoke でお手軽に実行することもできる…

AWS をフル活用して「サーバレス」な SPA を実装できる「サーバーレスシングルページアプリケーション」を読んだ

6月末に O'Reilly から出版された「サーバーレスシングルページアプリケーション」を読んだ.ただ読むだけじゃ理解度が浅くなってしまうかもしれないなと感じて,今回は全ての実装を写経してみた.そのため少し時間はかかってしまったけど,フロントエンドに…

Apex の --env オプションを使って Lambda を複数環境にデプロイする

最近仕事で必要になり,CircleCI + Apex を使って,Lambda を複数環境 (prd / stg / dev など) にデプロイできる仕組みを作ったので,実現したかったこと,工夫したことなどを紹介したいと思う.ちなみに,以前も似たような事例で CloudWatch Events + Lambd…

Lambda を軸にサーバレスを解説した「実践 AWS Lambda」を読んだ

AWS Summit Tokyo 2017 の先行発売でゲットした「実践 AWS Lambda」をさっそく読んだ.Lambda の解説だけではなく,サーバレスの文脈で導入事例が増えてきたアーキテクチャ(ユースケース)の紹介がされていたり,サーバレスのデプロイツールとして AWS SAM …

Lambda + Apex 事例紹介 ~ 全ては AWS コスト削減のために ~

今日は社内の別プロダクトと合同勉強会があって,Lambda + Apex 便利だよ!という発表をしてきた. タイトルは「Lambda + Apex 事例紹介 ~ 全ては AWS コスト削減のために ~」で,発表内容としては,大きく3点にフォーカスした. CloudWatch Events + Lambda…

CloudWatch Events + Lambda + CircleCI + Apex で Lambda をサーバレスに実行 & デプロイする

先週,プロダクトで開発合宿を企画して実施してきた.今回のテーマは「開発効率/運用効率の改善」だったので,僕はインフラチームとして先輩と一緒に開発に取り組んだ.お題は「AWS コスト削減」にした.開発合宿で開発したツールで学んだことを簡単にまと…

独自ドメインの取得が必須だった「JAWS-UG 朝会 #6」に参加して SES + Lambda を試した

「JAWS-UG 朝会」に参加してきた.今回で4回目! 自己紹介をしたときに,主催の @tcsh さんから「朝会の参加ブログを見ましたよー」と言ってもらえて嬉しかった! jawsug-asa.connpass.com テーマ 今回のテーマは Lambda BluePrint の "inbound-ses-spam-fil…

「JAWS-UG 朝会 #5」で Slack のスラッシュコマンドを実装した

毎月楽しみにしている 「JAWS-UG 朝会」に参加してきた.今回で3回目! jawsug-asa.connpass.com テーマ Slash Commands | Slack 今回のテーマは Slack のスラッシュコマンド(独自に拡張できる /xxx コマンド)をサーバレスアーキテクチャ(API Gateway + L…

「実践 SERVERLESS」に参加して Lambda 管理ツールの多さに驚いた

募集開始になってすぐ申し込んだ「実践 SERVERLESS」に参加してきた. classmethod.connpass.com Introducing Serverless Computing / @Keisuke69 AWS で Serverless と言うと Lambda 特徴はアーキテクチャ上に EC2 が出てこないこと Alexa と Slack と連携…

早起きをして「JAWS-UG 朝会 #4」に参加してきた

先月に引き続きで,朝 7:30 から開催される「JAWS-UG 朝会 #4」に参加してきた!前回「アルコタワー」と「アネックス」を間違えてご迷惑をお掛けした反省を活かして,今回は時間に余裕を持って目黒に到着して,目黒川付近で朝ポケモンを楽しんでいた. jawsu…

月曜朝から AWS を学べる最高の勉強会「JAWS-UG 朝会 #3」に参加してきた

今日は朝 7:30 から「JAWS-UG 朝会 #3」に参加してきた!出勤前に開催される勉強会って個人的には初だったけど,早起きできるし,スッキリした時間帯にインプットができるし,最高なのでは?という感じだった.何よりも,朝から意識が高まって,気持よく仕事…

API Gateway + Lambda で Marvel のキャラクター画像を自動返答する Slack Bot を作った

温泉ハッカソンの中で Marvelite Gem を使ったスクリプト を書いてみたんだけど,せっかくなら最近気になってた API Gateway + Lambda を試してみようと思って,Node から Marvel Comics API を叩く方向性に変えた.結果的に Marvel Comics API を使って Sla…

Lambda から Slack にポストする

Lambda から Slack にポストしてみた. とは言え Lambda から Slack の Incoming Webhooks にリクエストを叩いてるだけだから簡単だけど! イメージ コード ザックリと. exports.handler = function(event, context) { var exec = require('child_process')…

AWS Lambda を使って LGTM 画像を生成する lambda-lgtm

昨日プロダクトで LT 大会があって,そこで発表した資料 + 詳細をまとめてみた. 一言で言うと,3時間で AWS Lambda を使って LGTM 画像を生成する lambda-lgtm を作ってみたって話で,コードは以下に Push してある. Kakakakakku/lambda-lgtm · GitHub LT …