AWS Lambda

AWS Lambda を Graviton2/Arm に切り替え最大 34% のコスト削減を行う

営業部 佐竹です。本日は、Lambda アーキテクチャが AWS Graviton2 プロセッサで動作可能になったことをお知らせするとともに、実際にアーキテクチャの設定変更を行い問題が起きないことを確認します。皆様も是非 Lambda Function を Graviton2 (Arm) へ移行…

Zappa で内部 ALB を作成するまでの道のり

はじめに こんにちは。アプリケーションサービス部の保田(ほだ)です。 たまに Python 製の軽量サーバーレスアプリケーションのデプロイツールである Zappa を使う場面があるのですが、誰も Frank Zappa の話をしないので少し寂しいです。 ちなみに Pound f…

Serverless Framework で Lambda の Provisioned Concurrency を設定する

はじめに こんにちは。アプリケーションサービス部の柳田です。 Serverless Framework を使って、Lambda の Provisioned Concurrency を設定する機会があったため、設定手順と確認したことを記載します。 また、細かい説明は省略しますが「Serverless Framew…

Lambda でバッチ処理を構築する際のエラー通知パターン 5選

はじめに パターン1. 直接Publish パターン メリット デメリット パターン2. DLQパターン メリット デメリット パターン3. 失敗時送信先パターン メリット デメリット パターン4. メトリクスフィルターパターン メリット デメリット パターン5. サブスクリプ…

Lambda@Edgeを作成する際にハマったポイント

こんにちは、SRE1課の古川です。最近は豆腐にマジックソルトをかけて食べるのが好きです。 今回はLambda@Edge作成時にとある部分でハマってしまったので、備忘録としてブログに書こうと思います。 Lambda@Edgeとは ハマったポイント エラー原因 このエラー…

CloudWatch Alarm でバッチ処理が起動していないときだけ通知したい!

はじめに 要約 導入 毎日ほぼ決まった時刻に外部から実行される Lambda 関数の Invocations メトリクスを監視したい だが、ちょっと待ってほしい 欠落データの扱い パターン 1. 欠落データを不正(しきい値を超えている)として処理 パターン 2. 欠落データ…

DatadogでAWS Lambdaの拡張メトリクスを取得する

はじめに DatadogでLambdaの監視を検討する際、以下のような情報の管理を考えると思います。 (番号は本記事のために便宜的に付与したもの) 標準的なメトリクスの収集 拡張Lambdaメトリクスの収集 ログの収集 カスタムメトリクスの収集 トレースの収集 本記…

Provisioned Concurrency を設定した Lambda 関数を ALB にぶら下げるときの注意点

結論 Provisioned Concurrency は関数のバージョンではなくエイリアスに対して設定しよう ドキュメントにもあるように関数のエイリアスをロードバランサーのターゲットグループに登録しよう ロードバランサーが常に現行バージョンの Lambda 関数を呼び出せる…

AWS LambdaにおけるNode.js 10のサポート終了に伴うWafCharm製品の対象Lambda関数の更新対応について

概要 当エントリーではLambda関数で使用されるNode.js 10 ランタイムのサポート終了に伴い、 WafCharm製品をご利用のAWSアカウントにて対象関数があった場合の更新手順について記載します。 Node.js 10サポート終了について AWSからも対象アカウントをお持ち…

【初心者必見】Serverless FrameworkでAWS環境作りたいやつはこれを参考にしろ!

こんにちは。 サーバーワークスの松井です。 今回は、Serverless Framework使ってAWSリソースをコマンドで一発で立ち上げたいけどserverless.ymlの書き方がいまいち公式ドキュメント読んでもわからないという人向けに参考となるサンプルコードを提供したいと…

AWS IoT Greengrass でパブリックコンポーネントをGreengrass コアデバイスへのデプロイ

はじめに Classic (v1)ではLambdaをデプロイできたり、コネクタという機能でAWSやそのほかのクラウドへ接続できましたが、v2ではコンポーネントという機能になったのでしょうか?? docs.aws.amazon.com コンポーネントというのは、利用者側で開発したアプリ…

AWS Compute Optimizer が AWS Lambda の推奨に対応しました

SRE部 佐竹です。 AWS Compute Optimizer のアップデートについて記載します。本日、AWS Compute Optimizer によるコストパフォーマンスの推奨対象に AWS Lambda が仲間入りしました。

【Node.js】 CloudFront にきた特定ホスト向けのリクエストを、 Lambda@Edgeで URI を維持しながらリダイレクトするコードを書いてみる

はじめに CloudFront にきた特定ホスト向けのリクエストを、 Lambda@Edge(以後L@E) で URI を維持しながらリダイレクトするコードを Node.js で書いてみました。 記事目安...5分~10分 コードについて サンプルコードは こちら をご覧ください。 サンプルでは…

pipenv + aws-sam-cli + python-dotenv でチーム開発

1. はじめに クラウドインテグレーション部の千葉です。 Python が好きなので、Lambda を使った開発の際は Serverless Framework に aws-python3 のテンプレートを当てて使っています。 ただ、Serverless Framework 自体が Node.js で動いているので、ちょっ…

Lambdaのコンテナイメージサイズでスピンアップ速度はどれくらい変わるのか #awsreinvent

こんにちは。てるいです。 AWS Lambdaでカスタムランタイムを利用する方法として、Docker(OCI)コンテナイメージがサポートされました。 aws.amazon.com さて、ここでやはり気になるのはイメージサイズがLambdaのスピンアップ(初回起動・コールドスタート)…

Amazon Connect暗号化した入力値をPythonで復号して利用する

概要 Amazon Connectの問い合わせフローでは、AWS Lamdaと組み合わせることで顧客の入力した番号による処理を実装することができます たとえば、クレジットカード番号や、取引暗証番号の入力に利用するケースが考えられます Amazon Connectでは顧客入力情報…

pytest と moto で優勝する

はじめに 前提知識 導入 pytest moto 状況設定 テスト対象のコード テストメソッドを書く フィクスチャーを書く moto だ…! テストを実行してみる おまけ まとめ 参考 はじめに こんにちは、技術4課の保田(ほだ)です。 皆様は現在話題沸騰中の映画 TENET …

Serverless Framework で別リージョンの SNS トピックをサブスクライブする

こんにちは。技術4課の保田(ほだ)です。 最近 Uber Eats にお世話になり倒しています。 近くのユーザーと同時配達することで配送手数料が0円になるシステム、あれは素晴らしいと思います。 背景 さて突然ですが、 Lambda で別リージョンの Simple Notifica…

Serverless Framework で最大イベント経過時間と最大再試行回数をカスタマイズする

はじめに こんにちは。技術4課の保田(ほだ)です。こんにちは。 あれ?「こんにちは。」って二回言ってる?まるでこれは Lambda の自動リトライ機能のようですね?? というわけで本日はそういう話です。 要約 非同期呼び出しの「最大イベント経過時間」と…

CloudWatch Logsでフィルターを使ってみる

こんにちは、SWX3人目の熊谷(悠)です。 下図のような流れでアプリケーションログをSlackへ通知する仕組みが既にあるとします。 この仕組み上で通知するログの種類をフィルタリングする場合はLambdaトリガー設定時のフィルタかLambda関数内になるかと思いま…

Amplify CLI を用いて定期実行の Lambda 関数をデプロイする

こんにちは、技術1課の加藤です。 今回は、AWS Amplify のお話。簡単にアプリケーションが構築できちゃう超便利サービスな Amplify なわけですが、一定の型から外れようとするとなかなか苦労する印象がありました。 しかし機能の拡充は進み、今となってはバ…

Swift の Lambda カスタムランタイムを使ってHello World してみる

こんにちは、技術1課の加藤です。 現在、iOS アプリケーションの言語といえば Swift なわけですが、この Swift を Lambda で動かすことができるカスタムランタイムが出ました。 というわけで早速触ってみます。 著者のレベル Lambda は業務で触っています La…

打刻したかどうかをSlackに通知するBotを作った話

こんにちは! 今月から技術2課に配属になりました濱岡です。 先日、Nintendo Switchでどうぶつの森が発売になりましたね! 業務以外はほぼどうぶつの森をやってます。 お金を稼いで借金生活から脱却したいです。 さて今回は、打刻したかどうかSlackに通知す…

AWS Lambda の Provisioned Concurrency について調べてみた

はじめに こんにちは、技術一課の山中です。 もう春ですね。春は好きです。こんな時だからこそ、春を感じて過ごしたいです。 Provisioned Concurrency とは 2019 年 12 月に発表された機能です。 https://aws.amazon.com/jp/about-aws/whats-new/2019/12/aws…

Lambda ランタイムの Python 2系が廃止になる件について今更まとめてみる

こんにちは、技術1課の加藤です。 Python 2.7 が 2020年1月1日をもってサポート終了となりました。 Sunsetting Python 2 | Python.org これに伴い Lambda のランタイムからも Python 2系が使えなくなるのでは…!? とザワザワしていたわけですが、どうやら継続…

Serverless Framework で Lambda Layers のバージョンを指定せずにデプロイする方法

はじめに こんにちは、技術一課の山中です。 Lambda Layers を AWS Lambda で利用する場合に、デプロイ時の最新の Layer を常に利用したいことがあったので、どのようにすればよいのか考えたことを以下に記します。 Lambda Layers のデプロイ 現在、Lambda L…

Pipfile で管理しているライブラリの依存関係をレイヤーに含めて Lambda Layers にデプロイする

はじめに こんにちは、技術一課の山中です。 最近になって、 pipenv を使って開発をし始めたのですが、 Pipfile で管理しているライブラリレイヤーに含めてデプロイするにはどのようにすればよいでしょうか。 Lambda Layers のデプロイに必要な構成 Lambda L…

CloudFront と Lambda@Edge による S3 内コンテンツの Basic 認証を Serverless Framework で実現する

はじめに 技術一課の山中です。 S3 のコンテンツに対して CloudFront と Lambda@Edge を利用して Basic 認証をかけたいとの要望があったので、検証してみました。 事前準備 S3 バケットの作成 静的コンテンツを配置するための S3 バケットを作成してください…

PowerShellでLambdaを実装しよう!~SlackのBotを実装してみた~

技術4課のPowerShellおじさんこと、鎌田です。社内でPowerShellを実装できる人が増えてきたので、ちょっと焦りも感じつつ。 先のブログで、LambdaをPowerShellで実装しデプロイまでを解説しました。 せっかくLambdaをPowerShellで実装できる準備をしたので、…

AWS IoTのLambda呼び出しアクションを検証してみた

こんにちは、技術1課の中村です。 今日は、AWS IoTのRule Actionについてのお話です。 AWS IoTのRule Actionといえば、S3やSQS、DynamoDB、さらには SalesforceなどのSaaSとの連携もこなしてくれる、すごいヤツです。 今回は、AWS IoTのRule Actionの中のLam…

AWS Lambda Layers でライブラリを共通化する

はじめに こんにちは、技術一課の山中です。 re:Invent 2018 にて AWS Lambda Layers が発表されました! 新機能 – AWS Lambda :あらゆるプログラム言語への対応と一般的なコンポーネントの共有 | Amazon Web Services ブログ 例えば ロギングモジュール等、…

LambdaでPHPが動いた! PHP Layer For AWS Lambdaを使って、kokexaの画像を動的にランダム表示 #reInvent #kokexa #lambda #php

こんにちは、サーバーワークスのこけしの人、坂本(@t_sakam)です。 re:Invent 2018のキーノートでLambdaの「Custom Runtimes」と「Layers」が発表されました。これにより、AWS公式での言語サポートではありませんが、パートナーの「Stackery」が公開してい…

AWS Lambdaのタイムアウトが15分になったので試してみた

最近、暖かくなったり寒くなったりと体調を崩しがちですが、なんとか元気にやってます、技術課の森です。 今回は、AWSのForumにLambdaのタイムアウト値が15分になったとありましたので、ちょっと試してみました。 ちなみに、公式ドキュメントも15分の記載に…

Lambda@EdgeでSorryページを実装してみた

技術4課の鎌田(裕)です。 元々プログラマーだった経歴がある私、時々コードを書きたくなる時があります。 そんな私が遭遇した問題が、「CloudFrontで429のステータスを受けた時に、エラーページを返したい」というもの。 Cloud Frontはエラーページの設定が…

API Gateway + Lambdaでバイナリダウンロード

こんにちは。技術3課の森です。 先日、ゴルフに行ったのですが、初めてみるグリーンに驚きを隠せませんでした。何が驚くかというとどこからみてもグリーンがうねってるんです。なので、パターで打ってもどこにいくかわからないので、とりあえず打つ戦法で切…

API GatewayとAWS LambdaでSlackのBOTを作ってみた~癒やしの筋肉編~

こんにちは。技術1課の高橋です。 API GatewayとAWS LambdaでSlackのBOTを作ってみました。 今回その作成方法をご紹介します。

AWS LambdaとS3で全世界ファイルサーバを作ってみた 〜おじさんの夢をかなえたろかスペシャル〜

こんにちは。サーバレスアーキテクチャにハマっている高橋です。 以前にご紹介したとおり、Amazon S3にクロスリージョンレプリカ機能が追加されました。 S3クロスリージョンレプリケーションで全世界ファイルサーバの夢を見る このブログを読んで頂ければ分…