Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon ECRのコンテナイメージを使ってLambdaを動かしてみる
Search
まあり
July 08, 2025
Technology
0
140
Amazon ECRのコンテナイメージを使ってLambdaを動かしてみる
JAWS-UG 新潟 #25
まあり
July 08, 2025
Tweet
Share
More Decks by まあり
See All by まあり
リソースタグを利用した 動的なCloudWatchアラームで運用を楽に!
eureka04ls
0
66
re:Invent対策! スピーキング練習アプリを作ってみた
eureka04ls
1
49
Amazon_Q_CLIで超簡単にゲームが作れた.pdf
eureka04ls
0
140
Other Decks in Technology
See All in Technology
バグハンター視点によるサプライチェーンの脆弱性
scgajge12
2
550
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
9
6.3k
技術以外の世界に『越境』しエンジニアとして進化を遂げる 〜Kotlinへの愛とDevHRとしての挑戦を添えて〜
subroh0508
1
200
原理から解き明かす AIと人間の成長 - Progate BAR
teba_eleven
2
300
オープンデータの内製化から分かったGISデータを巡る行政の課題
naokim84
2
1.4k
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
M5UnifiedとPicoRubyで楽しむM5シリーズ
kishima
0
120
Noを伝える技術2025: 爆速合意形成のためのNICOフレームワーク速習 #pmconf2025
aki_iinuma
2
1.4k
.NET 10 のパフォーマンス改善
nenonaninu
2
4.8k
安いGPUレンタルサービスについて
aratako
2
2.4k
私も懇親会は苦手でした ~苦手だからこそ懇親会を楽しむ方法~ / 20251127 Masaki Okuda
shift_evolve
PRO
4
570
GitLab Duo Agent Platformで実現する“AI駆動・継続的サービス開発”と最新情報のアップデート
jeffi7
0
180
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
120
20k
Faster Mobile Websites
deanohume
310
31k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Embracing the Ebb and Flow
colly
88
4.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Typedesign – Prime Four
hannesfritz
42
2.9k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
Transcript
Amazon ECRのコンテナイメージを使って Lambdaを動かしてみる 2025.7.5 JAWS-UG 新潟 #25 まあり @eureka_engineer
自己紹介 名前:まあり ▪出身:東京 ▪経歴:SIer新卒入社2年目(AWS業務は半年程度) ・AWS運用保守、たまに構築 ▪趣味 ・ロックバンド、ライブ、ゲーム、テニス ▪意気込み ・社外でのLT初挑戦です!よろしくお願いします!
内容 ▪やってみようと思ったきっかけ ▪ハンズオン手順 ▪コンテナイメージから作成すると何が嬉しい? Amazon ECRのコンテナイメージを使ってLambda を動かしてみる
きっかけ 「新しく作るLambda用にECRのリポジトリが必要だから作っといて~」 「承知しました!!(なんでECRが必要なの???)」 ぼく 先輩 これしか知らなかった これの話をします
Tips:ハンズオンのやり方 「Amazon ECRのコンテナイメージからLambda を作成するハンズオンをやりたい。 なるべくCLIでやりたい。 初心者にもわかりやすく教えて。 」 ほとんど生成AIに作ってもらってます 「了解!まずはこれをこうして、~~」 「ここが分からないから教えて~」
「これはこういう意味で、~~」
手順 Amazon ECR AWS Lambda ①コード作成 ②コンテナイメージの作成 ③ECRへイメージアップロード ④Lambdaへデプロイ Docker
手順 Amazon ECR AWS Lambda ①コード作成 ②コンテナイメージの作成 ③ECRへイメージアップロード ④Lambdaへデプロイ Docker
①コード作成 必要なファイルは2つだけ! 1. Lambdaで実行する処理 2. その処理を実行する環境を定義 app.py Dockerfile
手順 Amazon ECR AWS Lambda ①コード作成 ②コンテナイメージの作成 ③ECRへイメージアップロード ④Lambdaへデプロイ Docker
②コンテナイメージの作成 コンテナイメージとは? アプリの実行に必要なコード・実行環境(・ライブラリ)が 全部入ったパッケージ docker build -t lambda-container-demo . タグ:イメージの名前
# 実行するコマンド例
手順 Amazon ECR AWS Lambda ①コード作成 ②コンテナイメージの作成 ③ECRへイメージアップロード ④Lambdaへデプロイ Docker
③ECRへイメージをアップロード ECR(Amazon Elastic Container Registry)とは? コンテナイメージを保存するAWSのサービス # ECRリポジトリの作成(AWS CLI) aws
ecr create-repository --repository-name lambda-container-demo
③ECRへイメージアップロード ローカルの コンテナイメージ ECR用の コンテナイメージ ECR用にタグ付け ECRにプッシュ Amazon ECR 中身は同じ
③ECRへイメージアップロード # ECRにプッシュ(アップロード) # ECR用のタグをつける(どこにプッシュするかの情報をつける) docker tag lambda-container-demo:latest \ <account_id>.dkr.ecr.<region>.amazonaws.com/lambda-image-resize:latest
ECRのURI:イメージの住所みたいなもの docker push <account_id>.dkr.ecr.<region>.amazonaws.com/lambda-image-resize:latest
手順 Amazon ECR AWS Lambda ①コード作成 ②コンテナイメージの作成 ③ECRへイメージアップロード ④Lambdaへデプロイ Docker
④Lambdaへデプロイ
④Lambdaへデプロイ
動作確認 成功!!
コンテナイメージから作成すると何が嬉しい? ▪任意のランタイム・環境を構築できる デフォルト環境ではサポートされていない言語、またはバージョンを使用して関数を作成できる。 ▪イメージサイズの拡張 通常のデプロイでは ZIPで50MB(展開後250MB)の制限あり。コンテナイメージなら最大 10GB。 ▪本番と同じ環境でローカルテストできる Dockerでローカルにコンテナを起動し、本番と同じ実行環境で関数を動作確認できるため、 ローカル環境と本番環境の不整合を避けられる!
まとめ ・やりたい処理を書いて、イメージにして置くだけ。 思ってたより簡単だった。 ・ CodeBuildとCodePipelineを使って、イメージの自動ビルドとLambda更新を 自動化するCI/CDパイプラインの構築をやってみたい。
同じ内容の記事を書いています!ハンズオンにぜひ!! https://qiita.com/eureka_/items/2d7e7f0b0dd8005ada56