Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS_Lambdaのデプロイ手順
Search
PharmaX(旧YOJO Technologies)開発チーム
August 24, 2022
Technology
97
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS_Lambdaのデプロイ手順
2022.06.30 LT会 古家さん発表資料
PharmaX(旧YOJO Technologies)開発チーム
August 24, 2022
More Decks by PharmaX(旧YOJO Technologies)開発チーム
See All by PharmaX(旧YOJO Technologies)開発チーム
PdMによるLiveバイブコーディング〜プロトタイプ開発実践〜
pharma_x_tech
1
85
2025.10.28_CodexとClaude Codeの比較検討 社内座談会
pharma_x_tech
2
640
LLMのアウトプットの評価と改善 〜DSPyによるプロンプト最適化入門によせて〜
pharma_x_tech
6
1.2k
2025.09.02_AIコーディングを利用した開発自動化を目指しての座談会
pharma_x_tech
5
360
AIコーディングを前提にした開発プロセス再設計〜開発生産性向上に向けた試行錯誤〜
pharma_x_tech
4
450
AIエージェントの評価・改善サイクル
pharma_x_tech
2
640
MCP & Computer Useをフル活用した社内効率化事例〜現在地と将来の展望
pharma_x_tech
1
470
AIエージェントの継続的改善のためオブザーバビリティ
pharma_x_tech
7
2.7k
Roo CodeとClaude Code比較してみた
pharma_x_tech
5
6.4k
Other Decks in Technology
See All in Technology
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
120
Playwright × AI Agent でE2Eテストはどう変わるか AI駆動テストの可能性と実用検証の結果
taiga7543
2
830
2026年のソフトウェア開発を考える(2026/07版) / Agentic Software Engineering 2026-07 Findy Edition
twada
PRO
26
12k
発表と総括 / Presentations and Summary
ks91
PRO
0
190
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
AI時代の開発生産性を捉え直す — 経営と現場をつなぐ「開発組織のオブザーバビリティ」— / AI Dev Ex Conference 2026
tkyowa
1
1.4k
データと地図で読む 大井町の「かわるもの、かわらないもの」
yoshiyama_hana
0
160
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
500
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
400
[Droidcon Orlando '26] The Android Lens: Applying Mobile Forensics to AI Performance
amanda_hinchman
1
110
変更し続けられるシステムをどう保つか — AI時代のSSoTという設計原則
kawauso
1
1.1k
副作用のある Lambda でも Lambda Power Tuning は使えるのか / lambda-power-tuning-side-effects
koukihosaka
2
150
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
37
7.4k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
910
The Cult of Friendly URLs
andyhume
79
7k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.2k
A designer walks into a library…
pauljervisheath
211
24k
AI: The stuff that nobody shows you
jnunemaker
PRO
9
840
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
GitHub's CSS Performance
jonrohan
1033
470k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
760
A Modern Web Designer's Workflow
chriscoyier
698
190k
Transcript
AWS Lambda のデプロイ⼿順 1 AWS Lambda のデプロイ⼿順 ⽤途 Line のWebhook
の受信をトリガーにALB の受け先としてLambda を利⽤ 責務はline からresponse 加⼯してSQS に詰めるだけ SQS+Lamba の構成で⼤量のリクエストを捌ける 短い実⾏タスクなら軽量なLambda でアプリケーションと責務を分けて可⽤性を⾼める 15 分以上かかるような⼤規模処理は向いていない。 他サービスとの連携が⽤意 ALB の特定のパスにアクセスあったらLambda を実⾏するみたいなことが⽤意 Fargate でこれやるなら、前段でLambda を挟む必要ある。
AWS Lambda のデプロイ⼿順 2 https://d1.awsstatic.com/webinars/jp/pdf/services/202107_AWS_Black_Belt_Container350-Container_and_Serverless.pdf AWS でバッチ処理を実装する際の選択肢とサービス⽐較 以前、 SaaS 系スタートアップのリアルなAWS
アーキテクチャ設計 という記事で弊社のAWS アーキテクチ ャを紹介した。記事執筆時から時が経ち、バッチ処理を本格化する必要が⽣じたためAWS でバッチ処理を 設計・実装しようとしたが、組み合わせが多くて辟易した。 ⾃分たちのサービスにあった⽅法を⾒つけよ https://zenn.dev/faycute/articles/fb310e3ccd783f デプロイ⽅法 AWS Lambda のデプロイはコンテナイメージと.zip ファイルアップロードの2 種類があります。 2020 年の12 ⽉にサポートされた。 .zip ファイルアーカイブで Ruby Lambda 関数をデプロイする AWS Lambda 関数のコードは、スクリプトまたはコンパイルされたプログラム、さらにそれらの依存関係で構成されます。 デプロイパッケージ を使⽤して、 Lambda に関数コードをデプロイします。Lambda は、コンテナイメージと .zip ファイルアーカイブの 2 種類のデプロイパッケージをサポートしています。 .zip ファイルのデプロイパッケージを作成するには、コマンドラインツール⽤の組み込み .zip ファイルアーカイブユーティリティまたは他の .zip ファイルユーティリ https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/ruby-package.html Docker の⽅が他とスキルが統⼀できてよいので、コンテナイメージでのデプロイにしました。 利⽤⾔語はメンバーが皆使えるであろうRuby を採択。 Lambda がサポートしているのが2 系なのでRuby2.7 ⼩さなプログラムでRuby3 の型をつける必要も無いので2 系で ディレクトリ構成 最低限、Line のWebhook を受け取ってログ出⼒するだけの構成になってます。 app.rb Dockerfile Gemfile https://github.com/yojo-technologies/pharmacy-dx-line-handler # アーキテクチャはLambda 側もARM64 に統ー FROM public.ecr.aws/lambda/ruby:2.7
AWS Lambda のデプロイ⼿順 3 COPY app.rb ${LAMBDA_TASK_ROOT} COPY Gemfile ${LAMBDA_TASK_ROOT}
ENV GEM_HOME=${LAMBDA_TASK_ROOT} RUN bundle install CMD [ "app.lambda_handler" ] ※ アーキテクチャをDocker イメージを合わせてます(arm64 ) Mac でDocker イメージをダウンロードするとマルチアーキテクチャでarm64 が選択される。 最初、us-west1 で作っていたらx86_64 のアーキテクチャでLambda 関数が動作するので、アーキテクチャが⼀致せずにエ ラーになった。 そのためus-west-1 以外のリージョンでアーキテクチャを指定して合わせた。 現状M1 以外の⼈がローカルでDocker デプロイするとエラーになるので後ほど、CI 化する。 デプロイ⼿順 ローカルマシンで、git clone https://github.com/yojo-technologies/pharmacy-dx-line-handler ローカルのDockerfile からスクリプトを含めたコンテナイメージを作成 docker build --no-cache -t pharmacy-chatbot-line-handler-dev . ローカルで起動する Lambda コンテナイメージをローカルでテストする https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/images-test.html AWS Lambda Runtime Interface Emulator (RIE) は、Lambda ランタイム API のプロキシでコンテナイメージとしてパッ ケージ化された Lambda 関数をローカルでテストできる json のパースエラーが出てローカルでエミュレーターは動かせなかった。現状はローカルテストはせずにそのままデプロイし て動作確認してる。 curl -XPOST "http://localhost:9000/2015-03-31/functions/function/invocations" -d '{}' イメージを Amazon ECR コンテナレジストリにアップロード AWS CLI をインストール https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html AWS の認証情報を設定 aws configure にアクセスID とアクセスキーを設定 https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-quickstart.html Amazon ECR レジストリに対して Docker を認証 aws ecr get-login-password このコマンドは、AmazonECR レジストリへの認証に使⽤できるGetAuthorizationTokenAPI を使⽤して認証トー クンを取得して表⽰します。 Docker CLI など、好みのコンテナクライアントのログインコマンドに認証トークンを渡すことができます このコマンドでAmazonECR レジストリに認証された後、トークンの有効期限が切れるまでIAM プリンシパルがア クセスできる限り、 クライアントを使⽤してそのレジストリからイメージをプッシュおよびプルできます。認証トークンは12 時間有 効です。
AWS Lambda のデプロイ⼿順 4 docker login Docker Hub やGCR (Container
Registry ), ECR (Elastic Container Registry )などのコンテナレジストリにログ インするコマンドです。 ログインすることで、コンテナのpush やprivate レポジトリからのpull ができるようになります。 ECR に以下コマンドでログイン これでECR レジストリへ認証してプッシュできるようになる aws ecr get-login-password --region ap-northeast-1 | docker login --username AWS --password-stdin 420547679007.dkr.ecr.ap-northeas ECR のリポジトリを作成 暗号化設定を有効化
AWS Lambda のデプロイ⼿順 5 プッシュコマンドの表⽰で表⽰されるコマンドに従ってイメージをアップロードする コンテナイメージを元に関数をデプロイ arm64 に指定 質疑応答