Amazon Web Services ブログ AWS Lambda レスポンスストリーミングの紹介 本記事は、Introducing AWS Lambda response streaming の翻訳です。 本日 (2023年4月7日)、AWS Lambda はレスポンスペイロードストリーミングのサポートを発表しました。レスポンスストリーミングは、関数がレスポンスペイロードを段階的にクライアントに返すことができる新しい呼び出しパターンです。 Lambda のレスポンスペイロードストリーミングを使用すると、レスポンスデータが利用可能になった時点で呼び出し元にデータを送信することができます。これにより、Web アプリケーションやモバイルアプリケーションのパフォーマンスを向上させることができます。また、レスポンスストリーミングによって、より大きなペイロードを返す関数や、進捗状況を段階的に報告し
AWS Lambda 上で Perl を動かす AWS::Lambda で、 AWSの分散アプリケーションの分析サービスである AWS X-Ray をサポートしました! AWS X-Ray って何? Perl からどう使うの? という人は @fujiwara さんの記事とYAPC::Tokyo 2019での発表スライドをどうぞ。 第56回 AWS X-Rayによる分散トレーシング―マイクロサービスのボトルネック,障害箇所の特定(1) 第56回 AWS X-Rayによる分散トレーシング―マイクロサービスのボトルネック,障害箇所の特定(2) 第56回 AWS X-Rayによる分散トレーシング―マイクロサービスのボトルネック,障害箇所の特定(3) 使ってみる Perl Runtime だけでなくX-Ray SDK 側でも対応が必要だったので、プルリクエストを送って取り込んでもらいました。 このプ
関数を用意 入力イベントをそのまま返すだけの Lambda 関数を用意します。 def lambda_handler(event, context): return event 設定方法 Lambda 関数の宛先を選択し、成功・失敗のステータスに応じてターゲットを選択するだけです。 成功・失敗のステータスごとに指定できるターゲットは一つだけです。 ターゲットを SNS か EventBridge にしておくと、将来の Fan Out がかんたんになります。 今回は 成功・失敗それぞれに対して専用の SNS トピックを用意し、JSON-Email で受け取るようにしました。 実行例 Lambda 関数を非同期に呼び出します。 $ aws lambda invoke --function-name test \ --invocation-type Event \ --payload '{"fo
Amazon Web Services ブログ Amazon SNS, Amazon SQS, AWS Lambda のデッドレターキューによる耐久性のあるサーバーレスアプリケーション設計 この投稿は Otavio Ferreira, Sr Manager, SNS の寄稿によるものです 郵便システムにおいて、デッドレターキューは配信不能な郵便物を取り扱うための施設です。pub/sub メッセージングモデルにおけるデッドレターキュー (DLQ: dead-letter-queue) は、トピックに対して発行されたメッセージがサブスクライブしているエンドポイントに配信できなかった場合に、そのメッセージを送ることができるキューを表します。 Amazon SNS による DLQ サポートによって、アプリケーションはメッセージ配信における各種故障モードに対する、さらなる耐久力と回復力を持つことが可
The Lambda Runtime Interface Emulator is a proxy for Lambda’s Runtime and Extensions APIs, which allows customers to locally test their Lambda function packaged as a container image. It is a lightweight web-server that converts HTTP requests to JSON events and maintains functional parity with the Lambda Runtime API in the cloud. It allows you to locally test your functions using familiar tools suc
AWS Lambdaを使ってサーバーレスでWeb APIを作る場合、Lambdaの呼び出し元としてAPI Gateway (API GW) もしくはApplication Load Balancer (ALB) のどちらかを選択することになる。この選択基準となる両者の違いを整理した。 API Gateway特有の機能 当然ながら、ALBではAPI Gatewayのリクエスト検証、データマッピング、アクセス制御、SDK生成といった機能は使えない。 プロトコル・ポート番号 API GWは443番でのHTTPS (TLS 1.2) のみをサポートする。(VPC Endpoint経由での呼び出しはできるが、この場合でもHTTPSのみとなる。) ALBは任意のポート番号でのHTTP/HTTPS(TLSバージョンも選択肢がある)をサポートする。 実行可能時間(タイムアウト時間) API GWは最長29
AWS News Blog Amazon Inspector Now Scans AWS Lambda Functions for Vulnerabilities Amazon Inspector is a vulnerability management service that continually scans workloads across Amazon Elastic Compute Cloud (Amazon EC2) instances, container images living in Amazon Elastic Container Registry (Amazon ECR), and, starting today, AWS Lambda functions and Lambda layers. Until today, customers that wanted
こんにちは、臼田です。 みなさん、LambdaLambdaしてますか?(挨拶 先日サポートされたAWS Lambdaの脆弱性のあるコードを検知できるAmazon InspectorのLambdaコードスキャン機能を使って、Lambda PythonのOSコマンドインジェクションを検知させてみました。 概要 先日のre:Inforce 2023にてAmazon InspectorがLambdaのコードスキャンができるようになりました。詳細は以下をご確認ください。 以前からコードに含まれるパッケージの脆弱性は検出できていましたが、このアップデートによりコードで作り込んだ脆弱性、例えばSQLインジェクションとかXSSとかも検出できるようになりました。 というわけで、これを試すためにPythonでOSコマンドインジェクションをやってみよう、と思いついて試しました。 実装 まずはAmazon Ins
Amazon Web Services(AWS)は、同社のサーバレスコンピューティング基盤であるAWS Lambdaで、Rubyの最新バージョン「Ruby 2.7」のサポートを発表しました。 New #AWSLaunches! Announcing Microsoft Azure Active Directory support for Amazon Redshift Amazon RDS for SQL Server now supports Z1d instances AWS Lambda now supports Ruby 2.7https://t.co/KbnPe7kHwn pic.twitter.com/swXicemq5A — Amazon Web Services (@awscloud) February 20, 2020 AWS LambdaがRubyのサポートを開始したの
こんにちは。 ネクストモード株式会社 の田口です。 AWSの習熟でリソースを作成したものの、停止や削除を忘れてしまう経験をした人は多いのではないでしょうか。コストが発生することを知らなかったり、オートスケールの設定が残っていて消したつもりが別のリソースが起動したことに気づかなかったりと、理由は様々あると思います。 今回は、常時起動が必要なEC2インスタンスが存在するAWSアカウントにおいて、 習熟用に作成したEC2インスタンスの停止忘れをお知らせしてくれる仕組みを考えてみました。(もちろん強制停止させることも可能ですが、あくまでリソースの作成者が自ら停止する習慣をつけてほしいので、お知らせするだけにしました) 機能要件 EC2の使用量を削減する解決策として、AWS公式ページではLambdaを使用して特定の時間自動停止および起動する仕組みが紹介されています。この仕組みは対象リソースが決まって
0. はじめに ここ1年はStackstormばかり扱っているのですが、年末だし他の技術も触るかー!と思いたち、色々自分の作業ディレクトリを漁っていたところ、Twitterbotなるものを発掘しました。 Stackstorm???という方はこちらをご参照ください。(自演) Dockerで始めるStackstorm再入門1/3(環境構築からOrquestaで書いたWorkflowの結果をslackに通知する) 話を戻します。 そのTwitterbotですが、私はvpsを使って運用していました。 ただ、そんなに頻繁に動かさないので、また勉強も兼ねて、AWS Lambda(以下、lambda)移行にチャレンジした次第です。 lambdaってなに?という方は、AWSがオフィシャルなハンズオンを公開しているので、そちらをご参照ください。 先日公開した AWS Hands-on for Beginne
Amazon Web Services ブログ Amazon Cognito と AWS Lambda を使って OAuth 2.0 デバイスフローを実装する 本記事は Implement OAuth 2.0 device grant flow by using Amazon Cognito and AWS Lambda | AWS Security Blog を翻訳したものです。 このブログ記事では、Amazon Cognito に OAuth 2.0 デバイス認可フロー (Device Authorization Grant Flow) を AWS Lambda と Amazon DynamoDB を使って実装する方法を学べます。 インターネットに接続されているが、入力機能が制限されていたり、使いやすいブラウザがなかったりするウェラブルデバイス、スマートスピーカ、動画ストリーミングデバ
CX事業本部@大阪の岩田です。 本エントリはSVS224-R AWS Lambda function performance tuning のレポートとなります。 セッション情報 All AWS Lambda functions are not created equal. Learn the best practices for tuning memory, runtime, initialization, concurrency, and more, in a data-driven way, to squeeze every drop of performance out of Lambda functions. By the end of this session, you'll understand the key Lambda performance knobs you can
AWS Compute Blog Scaling AWS Lambda permissions with Attribute-Based Access Control (ABAC) This blog post is written by Chris McPeek, Principal Solutions Architect. AWS Lambda now supports attribute-based access control (ABAC), allowing you to control access to Lambda functions within AWS Identity and Access Management (IAM) using tags. With ABAC, you can scale an access control strategy by settin
Amazon Web Services ブログ AWS Lambda で最大 10 GB のエフェメラルストレージをサポート可能に サーバーレスアプリケーションはイベント駆動型で、ウェブ API、モバイルバックエンド、ストリーミング分析から機械学習 (ML) や高性能アプリケーションのデータ処理段階まで、エフェメラルなコンピューティング関数を使用します。AWS Lambda には、コード用に 512 MB の一時ファイルシステム (/tmp) が含まれていますが、これは Amazon Elastic File System (Amazon EFS) などの耐久性のあるストレージ向けではない一時的なスクラッチリソースです。 しかし、抽出、変換、ロード (ETL) ジョブのほか、PDF ファイルの作成やメディアトランスコーディングなどのコンテンツ生成ワークフローでは、大量のデータを迅速に処理す
AWSチームのすずきりょうです。 2022年4月5日、AWS Lambda のアップデートでサポートされた、AWS Lambda の関数URLを試してみました。 Announcing AWS Lambda Function URLs: Built-in HTTPS Endpoints for Single-Function Microservices 設定 Lambdaの設定項目として、「関数URL」が追加されました。 認証タイプとして「AWS_IAM」、「NONE」の指定が可能です。 今回は「NONE」、パブリックな関数URLを作成しました。 設定した関数URLは「関数の概要」で確認可能です。 関数URLを設定した関数は、リソースベースのポリシーが追加されます。 認証タイプ「NONE」、パブリックに設定した関数は、ポリシー「FunctionURLAllowPublicAccess」が生成
データアナリティクス事業本部のueharaです。 今回はAWS Lambda (Python)で、WebアプリケーションをテストするためのポータブルフレームワークであるSeleniumを使える環境を構築してみたいと思います。 バケットの準備 今回はLambda Layerを構築することになりますが、その資材をS3に配置するため、まずバケットを用意します。 AWSコンソールでサービスからS3を検索します。 「バケットを作成」から作業用のバケット「selenium-work」という名前のバケットを作成します。 その他の設定はデフォルトのままとします。 パッケージの用意 まず、Lambda (Python)でSeleniumを利用できるようにするために、各パッケージの用意を行います。 パッケージの用意には、無料で使えるサービスであるAWS CloudShellを利用します。 Seleniumのダ
最初に3行でまとめ GoでAWS Lambdaのハンドラを実装した場合に、手元から同じ処理を実行したり開発中の動作確認のため、CLIコマンドとしても実行できると便利です そのための、とてもシンプルなwrapperライブラリを書きました lamblocal といいます 環境変数を読み込めるCLI flag parserと組み合わせるといいかんじです github.com Lambdaを実装する言語 最近、自分はAWS Lambdaの関数をGoで書くことがほとんどです。 個別のランタイムがある言語で書くとランタイムのバージョンアップやEoL対応が必要になって面倒だったりしますが、Goで書いてシングルバイナリをbootstrapという名前でzipに含めてカスタムランタイム(provided.al2) で動かすとそういう煩わしさがありません。ARM対応もビルド時に環境変数を指定するだけなので極めて
AWSチームのすずきりょうです。 2022年3月24日、AWS Lambda のアップデートで、 「/tmp」として利用可能なエフェメラルストレージを最大10GBまで拡張する事が可能になりました。 AWS Lambda now allows customers to configure up to 10 GB of ephemeral storage for Lambda functions 設定 Lambdaの基本設定としてエフェメラルストレージ容量の指定が可能になりました。 検証 Pythonのランタイムを利用して、外部コマンド「df」の実行結果を取得しました。 import subprocess def lambda_handler(event, context): out = subprocess.run('df', stdout=subprocess.PIPE) print(ou
タイトルの件、調査がてら書きました。 デプロイ方法 レポジトリ取得 SAP JCoの準備 ビルド AWS Lambda作成 SAMでローカルテストとデプロイ ポイント 最新のライブラリ POJOを利用したデータを受け渡し Gradleにjarやsoを含める VPCでは注意が必要 デプロイ方法 レポジトリ取得 github.com $ git clone https://github.com/yomon8/aws-lambda-hello-sap.git SAP JCoの準備 動かすにはがSAP JCo必要ですが、リポジトリに含めるのはまずいので除いています。この記事読んでる人ならSユーザ持ってる人多いと思うので、こちらからダウンロードしてください。 必要なのは Linux (for Intel compatible processors) の 64-bit x86 です。 support.
The Hanami team & I, recently announced Hanami::API: a minimal, extremely fast, lightweight Ruby framework for HTTP APIs. Its minimalism, the small memory footprint and its performance, make Hanami::API a good candidate to build microservices. Today, we’re gonna deploy a small service on Amazon AWS Lambda. It’s an Amazon AWS product that allows to deploy an autoscaling HTTP service. You are charge
週刊Railsウォッチについて 各記事冒頭には🔗でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 お気づきの点がありましたら@hachi8833までメンションをいただければ確認・対応いたします🙏 TechRachoではRubyやRailsなどの最新情報記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ) お知らせ: 来週の週刊Railsウォッチはお休みをいただき、通常記事を公開します 🙇 🔗Ruby 🔗 rubyvideo.dev: Ruby関連動画リン
こんにちは、サーバーレス スペシャリストソリューションアーキテクトの下川 (@_kensh) です。 今回はこのコンテナイメージサポート Lambda 関数のローカル動作確認方法について触れていきたいと思います。 「第一回 コンテナ Lambda の ”いろは”、AWS CLI でのデプロイに挑戦 !」では、AWS CLIを使ってコンテナ Lambda 関数を実際に AWS Lambda サービスにデプロイして動作確認をしてみました。AWS Lambda サービスにデプロイして動作確認する方法は実際の本番動作環境により近い環境で動作を確認できるという点でお勧めの方法でもあるのですが、一方でテストや検証のために毎回デプロイをするのが時間的に大変だったり、AWS アカウントが払い出されていない場合やインターネット環境が無い場合に手軽に動作を確認したいという要求もあることと思います。 そこで今回
こんにちは、フロントエンドエンジニアの堀江(@nandemo_3_)です。 2023年6月22、23日にAWS Dev Day 2023が開催されましたが、 「モダンフロントエンド デザインパターン〜優れたUXを実現するには〜」というフロントエンドの最新動向に関するセッションがありました。 speakerdeck.com そこで、Serverless Next.jsとそれをAWSで実現するインフラストラクチャーが紹介されており、 今回は、それを具体的に実現する方法をまとめました。 はじめに まず、今回Serverless Next.jsを実現するために、AWS Lambda Web Adapterを使います。 Lambdaは、主にAPIなどのサーバサイド処理をサーバレスで実現するために使われますが、 AWS Lambda Web Adapterを用いることで、Lambda関数をWebアプリ
AWS Compute Blog Coming soon: Expansion of AWS Lambda states to all functions Update – December 20, 2021: We’re extending the General Update from December 5 2021 to January 31 2022. The End of Delayed Update date is now also changed to February 1 2022. Update – October 8, 2021: We’re extending the General Update from September 30 2021 to December 5 2021. The End of Delayed Update date is now also
1. 初めに 皆さん、AWS AppConfigを利用されていますか? AWS AppConfig は 2019年12月にリリースされた機能で、こちらのブログが出た際には私は記事を何度も読み直し、一番の売りは何だろう?他のデータストア(例えば、DynamoDBやParameter Store)に設定情報を格納するのと何が違うのだろう?と考えたものです。 ちなみに、AWS Configとは違います。AWS AppConfigについて取り扱う記事です。AWS ConfigはAWS リソースの設定状況を記録するサービスで変更を検知し記録するものです。また、AWS Config RulesはAWSサービスのリソースの状況が事前に設定されたルール通りに作られているか検証するサービスとなります。 繰り返しになりますが AWS AppConfigについて簡単にご紹介したいと思います。 2. 要約 より安
AWS News Blog New – Use AWS PrivateLink to Access AWS Lambda Over Private AWS Network AWS Lambda is a serverless computing service that lets you run code without provisioning or managing servers. You simply upload your code and Lambda does all the work to execute and scale your code for high availability. Many AWS customers today use this serverless computing platform to significantly improve thei
こんにちは、サーバーレス スペシャリストソリューションアーキテクトの下川 (@_kensh) です。 「第 1 回 コンテナ Lambda の”いろは”、AWS CLI でのデプロイに挑戦 !」では、AWS CLI を使ってコンテナ Lambda 関数を実際に AWS Lambda サービスにデプロイして動作確認をしてみました。 「第 2 回 コンテナ Lambda を開発、まずは RIC と RIE を使ってみよう !」では、開発者のローカル環境でコンテナ Lambda 関数の動作確認をする方法を紹介しました。 「第 3 回コンテナ Lambda をカスタマイズして、自分好みの PHP イメージを作ろう !」では、コンテナイメージサポート Lambda 関数のカスタムイメージ作成方法について紹介しました。 今回はこのコンテナイメージサポート Lambda 関数を AWS SAM で管理
「Amazon Web Services」(AWS)活用における便利な小技を簡潔に紹介する連載「AWSチートシート」。今回は、「AWS Lambda」を使って「Amazon S3」にアップロードしたCSVファイルを「Amazon DynamoDB」に自動登録する方法を紹介します。 DynamoDBは、メンテナンスや管理、運用、スケーリングをAWSが行うフルマネージドNoSQLデータベースサービスです。主なユースケースとして、Webやスマホアプリのユーザー情報、セッション情報の管理、広告やゲームのユーザー行動履歴管理などがあります。 このDynamoDBを利用しているとたびたび出くわすのが「CSV形式のデータを一括でDynamoDBテーブルに取り込みたい」というシーンです。こちらの実現方法として、今回はLambdaとS3を利用します。 DynamoDBへのCSVファイル登録手順と構成 今回行
AWS Lambda is announcing Lambda Function URLs, a new feature that makes it easier to invoke functions through an HTTPS endpoint as a built-in capability of the AWS Lambda service. You can add Function URLs to new and existing functions in a single click from the console, or in a couple of lines using AWS CloudFormation or the AWS Serverless Application Model. Function URLs are ideal for getting st
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く