ヘキサゴナルアーキテクチャを利用したLambda 関数のドメインモデルの実装 Live AWS Summit 2022 Developer Zone (dev-09) セッション資料です。
ソリューションアーキテクト (SA) の金澤 (@ketancho) です。2022 年になりましたが、皆さまいかがお過ごしでしょうか ? 新年を迎えたので、「今年は○○をやるぞ !」と思われている読者の方も多いのではないでしょうか ? 〇〇に AWS に関わるワードが入っているといいなーと思いながらこれを書いているのですが、私の場合は「今年は AWS を使いはじめたい方々が楽しく学べるコンテンツを作るぞ !」が抱負だったりします。(それと少しでいいから痩せたいです。) 昨年末に子どもにアドベントカレンダー (ブログではなくお菓子とかおもちゃとかが入っている方) を初めて買ってあげたのですが、思っていた以上にウケがよく、お父さんは鼻高々でした。もしかしたらそんな形で、窓を開けると AWS のサービスが毎月ひとつずつ出てきて、それを使って読者の皆さまが楽しく遊びながら学べるようなカレンダーが
Amazon Web Services ブログ AWSサーバーレスバッチ処理アーキテクチャの構築 この投稿は、AWSソリューションアーキテクトであるReagan RosarioとWWPSソリューションアーキテクトであるMark Curtisによって書かれました。バッチ処理は多くの組織にとって基礎となるもので、大量の情報を効率的に自動化した形で処理することができます。ユースケースとしては、ファイル取り込み処理、キューベースの処理、トランザクションジョブ、さらに重いデータ処理のジョブなど、多岐にわたります。 この記事では、ファイル取り込み処理を実装するためのバッチ処理を、サーバーレスに実現するための方法を説明していきます。今回の例では、オーケストレーションにAWS Step Functions、オンデマンドのコンピューティングにAWS Lambda、データストアにAmazon S3、メールの送
このシリーズの 第 2 回 では、クライアントからバックエンドのサービスを利用する際に、なんらかの原因でエラーが発生した場合にクライアント側でリトライ処理が実行されると、リクエストが重複して送られる可能性があることを説明しました。クライアントからキューに対してメッセージを送信するようなサーバーレスのシステムにおいては、リトライ処理によって重複したメッセージが送信されてもメッセージの重複を排除する機能を利用することによってべき等性を実現する方法について解説を行いました。実際には同じメッセージが何度も送信されることを防いでいるので、正確にはべき等とは異なりますが、重複したメッセージをただ一度だけ処理する (Exactly Once) ことで、結果としてべき等性を実現するという考え方を具体的な実装方法と共に紹介しました。 第 3 回ではこの考え方を進めて、データストアに対する処理でも同様の機能を
珍しく早起きをしてRSSを眺めてるとアッツアッツなアップデートが来ていました。 Amazon CloudFront announces CloudFront Functions, a lightweight edge compute capability 今回はCloudFront Functionsをご紹介していきます。 CloudFront Functionsとは? CloudFront Functions(CF2)はLambda@Edgeより手前で、シンプルな処理をより高速に、素早く、安価に実行できるサービスです。 CloudFront Functionsを使うことでこれまでLambda@Edgeで実行していたシンプルな処理をよりユーザーに近いEdge Locationで実行しつつ、高速に処理を行う事ができます。 また、CloudFront FunctionsとLambda@Edge
どうも。ユアマイスター星(@inase17000)です。 このブログもしばらくイベントやニュースの告知だけになってしまっていました。。。 今回は久しぶりの技術記事。先日から利用をしているSendgridとAWSの機能紹介と、恥ずかしながらハマったところをシェアします。 それでは行ってみましょう! 前提条件 ユアマイスターではシステムからメールを送信するときに、Sendgridというメール配信サービスを利用しています。 ユーザがご自身でフォームに入力したメールアドレスに対して、メールを送信するのですが、どうしても誤字脱字の記入ミスや、他のいろいろな理由により、メールが届かないことがあります。 その結果、ユーザへの連絡に気づいてもらえなかったり、システムのフローにおいて支障をきたすことになるので、定期的にお問い合わせの発生やトラブルの原因となるリスクを孕んでいました。 システムからSendgr
API Gateway (REST API) では、開発やトラシューに役立つ実行ログ (Execution Logs) を出力することができます。 AWS サポートに問い合わせる際にも、この実行ログがあるとスムーズです。 実行ログは、ステージから設定できます。 設定後、API Gateway にリクエストを投げると、CloudWatch Logs に出力されます。 ロググループ名は、API-Gateway-Execution-Logs_<API ID>/<ステージ名> です。 こちらの実行ログの内容を解説していきます。 リクエスト/レスポンス API Gateway に Postman から以下のようにリクエストを投げます。 パスパラメータ groupId=111、クエリパラメータ userId=222、本文に name=hoge を指定しています。 API Gateway はこのリクエス
こんにちは。BASE BANK株式会社 Dev Division にて、 Software Developer をしている永野(@glassmonekey)です。 弊社ではAWS Lambdaを活用する機会が増えまして、 最近メジャーアップデートのあった「AWS SAM CLI」を使ってリリースフローの改善にチャレンジしてみました。 そこで、samコマンドで作成したサンプルプロジェクトをローカルで実行しデプロイする方法を紹介します。それに加えて、現状BASE BANKチームで行っている代表的な運用設定をご紹介します。 今回記事作成に際して、サンプルプログラムを用意しているのでもしよければ手元でご確認ください。 なお、今回LambdaにはGoを採用しました。検証に使用した環境は以下の通りです。 macOS: 10.15.x (Catalina) SAM CLI: version 1.2.0
AWS Lambdaの環境がどのようになっているか、ユーザが用意したLambdaファンクションがどんな感じで実行されるかってあたりを可能な限り詳しく説明したいと思います。 はじめに 大前提 コールドスタート/ウォームスタート コントロールプレーン/データプレーン アイソレーション AWS Lambdaのコンポーネント群 同期実行かつ初回呼び出し(コールドスタート)、もしくはスケーリング 同期実行かつ再利用(ウォームスタート) 非同期実行 スケールアップ エラーハンドリング リトライ その他 ネットワーク まとめ はじめに この投稿は2020年9月29日の21時から開催予定のイベント(ライブストリーミング)で話す内容です。 serverless-newworld.connpass.com もし間に合えば、かつ時間があればぜひライブ配信のほうにも参加ください。 (2020.09.30 upda
[Step Functions]動的並列処理(Map)を使って60分×24時間=1440ファイルのバッチ処理を楽々実装してみた こんにちは、平野です。 下記のブログで紹介されているように、 Step Functionsにて、配列の入力を個別のLambda等にバラまいて処理させるMapステートがサポートされました!! [アップデート]Step Functionsで動的並列処理がサポートされました! 担当していた案件で、S3上にある直近24時間分ファイル群(各ファイル名に秒までの時刻が入っている)を、 1分毎にまとめて別のバケットに移すような処理があり、 これはまさにMapステートに最適な素材でしたので、Mapステートを使ったリファクタリングをしてみました! この記事では、ServerlessFrameworkのStep Functionsプラグインを用いています。 (対応早くて助かる!!)
Serverless Frameworkとは 最近巷で騒がれているサーバーレスなアーキテクチャを容易に作成、管理できる一般的なフレームワークというよりツールに近いもの。 Severless FrameworkのAWS環境においては、CloudFormation・Lambda・API Gateway・DynamoDB・S3・IAMなどのサービスを組み合わせてサーバーレスなアーキテクチャを管理・構成している。 今回は、Severless Frameworkを用いてLambda・API Gateway・DynamoDBのアーキテクチャで簡単なREST APIを実装する。 なお、本記事ではv1.0.xを対象としている。 v0.xと大きく構成・設定が変わっているので注意。 環境 今回はAWS上で、Severless Frameworkを用いて簡単なREST APIを作成する。 Severless F
以前AWS LambdaファンクションをGulpでデプロイというブログを書きましたが、今回はAWS Lambdaファンクションの管理ツールApexをご紹介したいと思います。 Apexとは @TJ Holowaychukさんが中心となって開発されている、AWS Lambdaファンクションをビルド、デプロイ、管理するためのツールです。Mediumでも語られていますが、TJ Holowaychukさんはサーバーレスなアーキテクチャが実現できるAWS Lambdaに魅力を感じつつも、AWS Lambdaのユーザビリティの低さに不満を持っており、その問題を解決するためにApexの開発に至ったようです。 Apexの特徴 AWS Lambdaがネイティブにサポートしていない言語をサポート(本ブログ記事執筆時点ではGolangをサポート) バイナリから簡単にインストール可能(CI/CDへの組み込みが容易)
Visual Studio Code + TypeScript + ApexでAWS Lambdaファンクションを開発する Visual Studio CodeにはIntelliSenseという強力なコードアシスタントの機能が備わっています。AWS Lambdaファンクションの開発でもこのIntelliSenseの恩恵をフルに受けたいと考え、TypescriptでAWS Lambdaファンクションを開発する環境を整えてみました。 やること TypeScript → JavaScriptへのコンパイル〜Lambdaファンクションのデプロイまでをシングルコマンドで行える環境を整えます。 Lambdaファンクションのデプロイについては、Lambdaファンクション本体と依存パッケージ一式をバンドルする方法として以下の2通りの方法をご紹介します。 zipで固めてデプロイ webpackで1ファイルに
2020/01/20 Update: 本エントリの内容は2019年12月3日にアナウンスされた『Amazon RDS Proxy』のリリースにより完全に陳腐化しました。過去のアンチパターンがフィードバックをもとにした改善によってアンチパターンではなくなるという最高の事例です。 サーバーレス元年始まった! 今年がサーバーレス元年な理由. それはLambdaに以下が揃ったから. ・カスタムランタイムで実質どんな言語でも利用可能 ・VPC利用時のコールドスタート改善 ・Provisioned Concurrencyでスパイク対応も可能 ・RDS ProxyでRDBとの接続が現実的に これまで5年で受けたフィードバックがついに結実. 強い— Keisuke Nishitani (@Keisuke69) 2020年1月19日 RDS Proxyの詳細はこちらからどうぞ。まだプレビューですがぜひ試して
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く