コンテナ・サーバレスがもたらす世界と開発者がAWS上で取り組むべきこと / Containers and Serverless Technology for Developers
はじめに はじめまして、CSE (Corporate Solution Engineering1)の上野です。 今回は BASE Partners という事業で使用していた Google フォームを S3 + API gateway + Lambda (+ Aurora) を使用した Serverless 構成のフォームに移行するというプロジェクトについてお話します。 変更前の構成図と構築した構成図としては以下のようになります。 変更前 変更後 BASE Partners について BASE では新規のショップオーナー様を紹介・支援いただくオフィシャルパートナーを募集するパートナープログラムを運営しています。 それらの申請には初期的には Move fast に行うため、Google フォームと Google スプレッドシートが使用されていましたが、ありがたいことにパートナー様やご紹介いただ
はじめに AWS LambdaのFunction URLs(関数URL)は、Lambda単体でHTTPSのURLを発行し、HTTPリクエストをトリガーにLambdaを実行出来るようになる、非常に便利な機能です。 API Gatewayと統合せずともLambdaのみでWebAPIを構築出来るようになり、プロトタイピングやマイクロサービスに有用です。 関数URLの制限 ところで、関数URLの実行の認可は、IAMを用いた方法しかありませんでした(IAMロールベースの認可か、認可なししか無かった)。 Cloudfrontをリバースプロキシ的に前段に配置し、関数URLと繋ぐことで、ドメインを当てたりキャッシュを活用したり、便利な訳ですが、その際に上記が問題となります。というのは、CloudfrontからIAMベースのリクエストを行うには、Lambda@Edgeを利用するしかありませんでした(オリジン
セキュリティ診断のハンズオンなどの目的で、敢えて脆弱性を残しているいわゆる”やられアプリ”。 元旦から何やってんだという感じはありますが、折角時間があるので兼ねてから攻略したかった OWASP Serverless Goat をやっつけていきます。 OWASP Serverless Goat とは OWASP Serverless Goat はイスラエルのセキュリティスタートアップ PureSec が作成した The Ten Most Critical Risks for Serverless Applications v1.0 に基づいた、サーバーレスアプリケーション固有の脆弱性をわざと埋め込んだ Web アプリケーションです。 以下の教育目的で作成されたものであり、それ以外の目的で利用することは望ましくありません。 開発者とセキュリティ担当者に一般的なサーバーレスアプリケーションレイヤ
CX事業本部@大阪の岩田です。 この記事はAWS LambdaとServerless Advent Calendar 2020の6日目 です。 先日のブログでご紹介したように、Lambdaのパッケージフォーマットとしてコンテナイメージがサポートされるようになりました。 従来のZIP形式と比較したメリットの1つとして、イメージサイズの上限が10Gまで許容されるという点があります。ZIP形式の上限はレイヤーと関数コードを合わせて250Mであり、サイズの大きなライブラリや機械学習モデルを利用する場合、この上限に抵触することもあったのではないでしょうか?パッケージフォーマットとしてコンテナイメージを選択することで、こういったユースケースにも対応できるようになりました。 ここで1つ疑問が浮かびます。イメージサイズの上限が10GBとのことですが、10GBの巨大イメージからLambdaがコールドスタート
会社のチームメンバーにLambdaの開発・デプロイ方法について共有するために書いた記事ですが、Lambdaを触ったことない人にも有益そうな内容なので、Zennに投稿してみました🙏 今回作りたいLambda 指定したS3バケットに画像がアップロードされたら、リサイズして同じまたは別のS3バケットにアップロードする 完成リポジトリ https://github.com/samuraikun/image-resizer-lambda-serverless Runtime Ruby2.7 前準備 AWSアカウントが作成済み、AWS CLIインストール済み アクセスキーIDとシークレットアクセスキーを事前に設定する必要あり Serverless Framworkについて Lambdaをデプロイするまでに必要な各設定を簡単にできるツールです。 他にも、AWS公式のSAMやTerraformなど他のl
Amazon Web Services ブログ 新しいサーバーレス LAMP スタック – Part 1: 概要紹介 本投稿は AWS サーバーレス アプリケーションのシニアデベロッパーアドボケートである Benjamin Smith による寄稿です。 本シリーズの他のパートは以下のリンクからアクセスできます。また、関連するサンプルコードはこちらの GitHub リポジトリにあります。 パート2:リレーショナルデータベース パート3:Webサーバーの置き換え パート4:サーバーレス Laravel アプリの構築 パート5:CDK コンストラクトライブラリ パート6:MVC からサーバーレスマイクロサービスへ これは、PHP 開発者向けの投稿シリーズの第一弾です。このシリーズでは、PHP でサーバーレステクノロジーを使用する方法を説明します。サーバーレスアプリケーションを構築するために利用で
この記事は コネヒト Advent Calendar 2019 2日目 の記事です。 はじめに 社内のSlackでURL短縮サービスが自社にあればよいなー、という呟きがあったので、昼休みに一人ハッカソンをしてみた時の話です。(※実運用はしていないです) 概要 https://s.hyiromori.com/ にアクセスするとURL短縮用の画面が表示されて https://s.hyiromori.com/[5文字の乱数] のようなURLを発行できるようなWebアプリを作りました。 ドメインが短くないと、あまり短縮された感じがないですが、まだ実験段階なのでご勘弁ください。 ソースは GitHub にあります。 技術スタック 使い慣れている serverless フレームワークを使って、作ってみました。 使用しているAWSのサービスは以下のようになります。 API Gateway Lambda
こんにちは、上野です。 Lambda関数をワンクリックでURL公開できる機能が出ました! aws.amazon.com 今までのLambda Lambda関数を(AWS認証無しの)HTTPS経由で実行するには、Lambdaの前段にAmazon API Gatewayを設置する必要がありました。 API Gatewayは便利で高機能なのですが、設定項目も多く、初めて触る方には難しい部分もあるかと思います。 今回の機能で、Lambdaのメニューから機能をONにするだけHTTPS公開できるようになりました。 やってみる Lambdaの作成画面に、「関数URLを有効化」のメニューが追加されているので、これをONにします。 初期状態では認証が必要なAWS_IAMが選択されていますが、今回はまずどれだけ簡単に公開できるかを試すため、NONEを選択します。 ※画面のとおり、URLを使用して全世界からLa
AWS News Blog Introducing CloudFront Functions – Run Your Code at the Edge with Low Latency at Any Scale With Amazon CloudFront, you can securely deliver data, videos, applications, and APIs to your customers globally with low latency and high transfer speeds. To offer a customized experience and the lowest possible latency, many modern applications execute some form of logic at the edge. The use
Introducing workerd: the Open Source Workers runtime2022-09-27 Today I'm proud to introduce the first beta release of workerd, the JavaScript/Wasm runtime based on the same code that powers Cloudflare Workers. workerd is Open Source under the Apache License version 2.0. workerd shares most of its code with the runtime that powers Cloudflare Workers, but with some changes designed to make it more p
2021年7月14日 Nuxt JS, Vue.js, Webサイト制作 WordPessで作成していた私のポートフォリオサイトをNuxt JSで作り変えてみました。デザインや内容はそのままで、管理体制を変えた感じですね。Nuxtに移行した理由や悩んだところをまとめてみます。 ↑私が10年以上利用している会計ソフト! 移行を決めた理由 元々私のポートフォリオサイトは、まだ私が学生だった頃にWordPressの勉強用に作ったものです。その後何度かリデザインしながら公開していました。ブログなどはつけておらず、制作物の紹介を投稿記事として扱っていました。ただ、制作物は更新する頻度も高くはなく、WordPressでなくてもいい気がしてきていました。また、WordPressやPHPのバージョンを上げるたびにエラーを出すプラグインの対応に疲れてきていたところでした…。 そんな中出会ったのがGatsby
CX事業本部の岩田です。 クラスメソッドオンラインイベントのDevelopersIO 2021 Decadeで「知らなくても困らないけど、知ると楽しいAWS Lambdaの裏側の世界」というテーマでお話ししましたので、内容を簡単にご紹介します。 動画 スライド 内容 今回お話した内容は以下の4つのブログの内容をマージして簡略化したものになります。もし詳細な内容に興味があれば以下のブログも読んでみて下さい。 2019年VPC Lambdaが高速に!! AWS Lambdaの内部構造に迫るセッション 「SRV409 A Serverless Journey: AWS Lambda Under the Hood」 #reinvent Lambdaの内部アーキテクチャ教えます!A serverless journey: AWS Lambda under the hood #SVS405 #rein
結論 Cloudflare WorkersでGraphQLサーバを立てて普通に動く TCPでのデータベース接続も問題ない(ベータなので使ってると何かあるかもしれないが) Node.js互換は完全ではないので、Node.jsが必要な処理はオリジンサーバを用意するのが吉 動機 Cloudflare WorkersはCDN上のプロキシやRemixやNext.jsのレンダリング用のバックエンドとして使うというようなことが多いです。フロントエンドからデータ取得や更新するためのAPIとなると別のバックエンドサーバを立てて、構築するのがほとんどだと思います。 自身も漏れなくそのパターンでNode.jsでバックエンドサーバを立てることが多いですが、そうなると簡単に建てれるCloud Runを初手で選ぶのですが、Cloud Run自体は素晴らしいサービスなんですが、更に欲が出てくるのが人間です。 デプロイを
Googleが開発したサーバレス基盤を構築する「Knative」、CNCFがインキュベーションプロジェクトとして承認。消極的だったGoogleは、なぜ心変わりしたのか? Cloud Native Computing Foundation(CNCF)は、Kubernetes上でサーバレス基盤を構築するためのソフトウェア「Knative」(ケイネイティブ)が、CNCFのインキュベーションプロジェクトとして承認されたことを発表しました。 [NEWS] We're excited to welcome the @KnativeProject to the #CNCF Incubator! Read more about the project https://t.co/PmYTayVPqe pic.twitter.com/pK78hCZ67T — CNCF (@CloudNativeFdn) Ma
Next.js をSSR対応でホスティングしたいなら Vercel(旧Now) を使うのが定石だと思います。 Next.jsとVercelはどちらも Vercel社 (旧ZEIT社) が開発しているため一緒に使った際のDXは大変良いものです。 しかし、AWS内で完結できるならそうした方が嬉しい事が多いのでいい方法はないかと調べた所、 serverless-next.jsというServerless Componentのプラグインがよさそうだったのでご紹介したいと思います。 以下のドキュメントの要点をまとめつつ、掘り下げたものです。 https://github.com/danielcondemarin/serverless-next.js/ https://serverless.com/blog/serverless-nextjs/ serveless-next.js 機能と特徴 SSRをL
真のサーバーレスアーキテクチャについて語り、最新のエッジコンピューティングや生成系AIのサーバーレス実装を学び、クラウドネイティブで高速な開発プラクティスと向き合う2日間「ServerlessDays Tokyo 2023」。ここで登壇したのは、PingCAP株式会社の関口匡稔 氏。同社が開発する、オープンソースの分散型データベース「TiDB Serverless」について発表しました。全2回。後半は、TiDBを使ったアプリケーションのサンプル「OSS Insight」とChatGPTの機能「Chat2Query」について。前半はこちらから。 TiDBを使ったアプリケーションのサンプル「OSS Insight」 ここまで、TiDB Serverlessをどうやって作っていったかというコンセプトをご紹介してきました。ここから、TiDB Serverlessを実際に使ってみたという話をしたいと
S3 バケットに保存されているファイルのウィルススキャンを AWS Lambda を使ってやってみたした。 こんにちは、コンサルティング部の望月です。 1月がはじまったと思ったら、もう終わりそうで、この調子だと『シン・エヴァンゲリオン劇場版』の公開ももうすぐですね!! さて、今回は S3 バケットに保存されているファイルのウィルススキャンを AWS Lambda を使ってやってみたのでブログにまとめました。 現在、S3 にはウィルススキャンという機能はなく、S3 へファイルをアップロードする前か、アップロード後にダウンロードし、ウィルススキャンする方法が多いかと思います。 今回の方法は、下記ソフトウェアを使って Lambda を利用するため、ウィルススキャン用に EC2 など別途用意することなく、手軽に行うことができるため、簡単に試してみることができます。 upsidetravel/buc
このシリーズの 第 2 回 では、クライアントからバックエンドのサービスを利用する際に、なんらかの原因でエラーが発生した場合にクライアント側でリトライ処理が実行されると、リクエストが重複して送られる可能性があることを説明しました。クライアントからキューに対してメッセージを送信するようなサーバーレスのシステムにおいては、リトライ処理によって重複したメッセージが送信されてもメッセージの重複を排除する機能を利用することによってべき等性を実現する方法について解説を行いました。実際には同じメッセージが何度も送信されることを防いでいるので、正確にはべき等とは異なりますが、重複したメッセージをただ一度だけ処理する (Exactly Once) ことで、結果としてべき等性を実現するという考え方を具体的な実装方法と共に紹介しました。 第 3 回ではこの考え方を進めて、データストアに対する処理でも同様の機能を
2022/05/11にCloud Run Jobsがプレビューでリリースされました! Unlike services, which listen for requests, a job does not serve requests but only runs its tasks and exits when finished. 従来のCloud Runのserviceでジョブ的なことを実装する場合、ポートをリッスンしてリクエストを受け取り、ジョブを実行して、成功/失敗のレスポンスを返すという流れでした。 今回リリースされたCloud Run Jobsでは、ポートをリッスンする必要がなくなったということで、ついに待ち望んでいた機能がきたのか!?とさっそく動作確認し、僕が期待してたことは全部できそうでした🎉 これまでCloudBuildでワークフロー組んでたんですが、対応リージョン増えてC
TL;DRCloud Run で Always on CPU (プレビュー)が選択可能にコンテナインスタンス起動中は CPU がフルに利用できます利用形態によっては料金面でメリットもCloud Run とはひとことでいうと「サーバーレス コンテナ」を提供するフルマネージドコンピューティング環境であると言えます。コンテナ上のアプリケーションは、HTTPS、gRPC、WebSocket または イベントでトリガー されます。 処理した分だけ課金される サーバーレスサービスで、無料枠もありお手軽に利用を開始することができます。 また大規模なサービスにも多くの実績がある大変人気のサービスです。 Always on CPU (プレビュー)従来、Cloud Run では リクエストを受け付け処理している間のみ CPU の割当てが保証されていました。つまりレスポンスを返したあとは CPU 割当てが無効に
こんにちは。サービスグループの武田です。 開催中のre:Invent 2020でScalable serverless event-driven architectures with SNS, SQS & Lambdaのセッションを視聴しましたのでレポートします。 何度か配信がありますので視聴したい方はスケジュールを確認してみてください。 AWS re:Invent 2020 セッション概要 スピーカー Justin Pirtle(AWS Speaker) タイトル Scalable serverless event-driven architectures with SNS, SQS & Lambda SVS303 イベント駆動型のサーバレスアーキテクチャは、アプリケーションをシームレスに拡張して、ほぼすべての需要に対応できるようにし、従量課金と最小限の運用オーバーヘッドの恩恵を受けます
大きくは外部ストレージサービス利用と、アプリケーションにバンドルしてしまう方式と2つにわかれます。バンドルはデータだけ更新ができないデメリットはありますが、お手軽です。Lambdaはレイヤーを使えば実行プログラムに対して後から追加とかできますが、容量制限が厳しめです。 オブジェクトストレージは比較的お手軽ですが、読み込みしたいライブラリがローカルのファイルシステム前提の場合は使えません。サーバーレスの方式によっては、一度ローカルのファイルシステムに書き出してから利用とかも可能ではありますが、Cloud Runでは8GB(ただし、おそらくtmpfsで書けば書くほどメモリを消費)、Lambdaでは500MBと容量に制限があります。 より巨大な学習済みデータを扱う場合はマネージドNFSサービス系のものを使うのが最終形でしょう。ファイルのサイズ制限もほぼ限界値ですし、ローカルファイルになるのでどん
Amazon Web Services ブログ AWS Step Functions と Amazon EventBridge のサービス統合のご紹介 この記事は Sr Serverless Specialist SA, Stephen Liedig による寄稿の翻訳です。 AWS Step Functions が Amazon EventBridge と統合し、ワークフロー中でイベントを生成するためのシンプルなソリューションが提供可能になりました。 Step Functions を使用すると、AWS Lambda, Amazon SNS, Amazon DynamoDB などの AWS サービスを使用した、弾力性のあるサーバーレスオーケストレーションワークフローを構築できます。Step Functions の特定のステートマシンの実行履歴は、AWS マネジメントコンソールまたは Amaz
はじめに 新サービスの AWS App Runner が発表されました、そして AWS Amplify Console が Next.js(バージョン 9 の機能をサポート)を使っての Server Side Rendering と Static Site Generate に対応しました。 https://aws.amazon.com/jp/blogs/aws/app-runner-from-code-to-scalable-secure-web-apps/ https://aws.amazon.com/jp/blogs/mobile/host-a-next-js-ssr-app-with-real-time-data-on-aws-amplify/ この 2 つのサービスを使うことでフロントエンドもバックエンドも VPC レスでスケーラビリティのある AWS アーキテクチャが実現可能に
こんにちは、クックパッドでエンジニアをやっている @morishin です。入社してわりと長い間 iOS アプリやそのバックエンドの開発を中心にやってきましたが、最近は専らウェブフロントエンドとその基盤をいい感じにするというのをやっています。先日クックパッドウェブサイトのレシピページの OGP 画像を素敵に刷新したのでそのお話をしたいと思います。 ※ ここで OGP 画像と呼んでいるのは Open Graph Protocol で定義されている og:image プロパティに指定する画像のことです。 ※ OGP 画像と呼んでいますが厳密には今回変更したのは Twitter Card (twitter:image) 用の画像のみなので、その他の SNS に表示される画像 (og:image) は変わっていません。 できたもの これまではレシピ作者さんがアップロードされた料理写真を単にクロップ
マンガ投稿チームでWebアプリケーションエンジニアをしているid:stefafafanです。この記事では、最近私がチーム向けに整備したDeployment Preview環境の事例を紹介します。 Deployment Previewとはどのようなものか? チームとして求める要件 実現したDeployment Previewの全体像 1. DockerイメージをビルドしてArtifact RegistryにpushしてCloud Runで動かすまで GitHub Actionsでどのように実現したか 2. ロードバランサーと証明書の準備、またServerless NEGによる振り分け Certificate Managerでワイルドカード証明書を取得 Serverless NEGを用意してURL MaskでCloud Runのリビジョンタグと対応づける Identity-Aware Prox
サーバレス時代のマルチテナンシーを考える ~ Thinking about multi-tenancy in the serverless era ~ #cm_showcase 京セラのロボティクスチームがマルチテナンシーをどのように考え取り組んできたか、またその過程でクラスメソッドがどのように支援してきたかをご紹介します こんにちはおんづか(@onzuka_muscle)です。 本記事ではMAD事業部として1年以上前から支援をさせていただいている京セラ様のセッションをレポートします! セッション概要 サーバレス時代のマルチテナンシーを考える ~ Thinking about multi-tenancy in the serverless era ~ 昨今、DX 言葉に代表されるように、ビジネスをデジタライズし、サービサーとしてソフトウェアを提供するニーズが高まっています。 しかし、サービ
こんにちはdelyでサーバーサイドエンジニアをしているyamanoiです この記事は「dely #2 Advent Calendar 2020」の12日目の記事です。 adventar.org adventar.org 昨日は@yochidrosさんの「KMMでiOS・Android を共通化しよう」でした。 みなさんwebサイトを作成する時にSPAを利用していますか? SPAはユーザーに対してメリットが大きいですが、SEO観点やOGPタグのレンダリング等で SSRが避けられない場面に出くわすことがあると思います。 SSRが不要であればビルドして生成された成果物をs3等でホスティングするだけなのでデプロイや、運用が楽なのですが、 SSRをするとなるとNode jsの実行環境必要になります。 ある程度大きなプロジェクトであればECSやGKE, GAEに載せてガッチリと運用すべきだと思いますが
概要 タイトル通りですが、AWSでサーバーレスなメール送信システムを、AWS CDKを使って構築してみました。 サーバーレスなので、スケールする良い感じの構成になります。 荒いところもありますが結構便利なのでよかったらぜひご参考に、またはそのまま使ってくださいという感じで読んでいただけたら光栄です。 Amazon SESを使用してメールを送信していますが、(少し変えれば)SES以外でも送信できるかと思います。 目次 目次 概要 目次 まとめ(AWS Dev Day 2022 Japan) 要件 前提 アーキテクチャ 構成図 使用AWSサービス コード アーキテクチャ解説と補足 AWS CDK aws_lambda_nodejs パラメータ用コンフィグファイル バリデーション Amazon SES SQS 標準キュー 可視性タイムアウト ロングポーリング 部分バッチ応答 S3 DynamoD
Let’s compare the performance of all supported runtimes + 2 custom runtimes (Rust and GraalVM). Will compare cold start and warm. Source code is here: https://github.com/Aleksandr-Filichkin/aws-lambda-runtimes-performance. It requires the minimum local setup(almost all is Dockerized) NodeJs (14.x)Python (3.9)Go(1.x)Ruby(2.7).Net(3.1)Java (11)Rust(1.54.0)GraalVM(21.2)Disclaimer:All benchmarks were
We’re excited to announce Vercel OG Image Generation – a new library for generating dynamic social card images. This approach is 5x faster than existing solutions by using Vercel Edge Functions, WebAssembly, and a brand new core library for converting HTML/CSS into SVGs. Dynamic with limitsThe engagement rate of Tweets that embed a card is 40% higher. While creating and sharing static social image
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く