Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
App Runner Night 202305
Search
Kazuki Maeda
May 17, 2023
Technology
700
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
App Runner Night 202305
Kazuki Maeda
May 17, 2023
More Decks by Kazuki Maeda
See All by Kazuki Maeda
AI時代に、プロダクトの数だけ積み上がる所有コストをどうエンジニアリングするか / Engineering the Cost of Ownership
kzkmaeda
1
1.2k
「答えを出す」より「わかる」をつくる
kzkmaeda
1
300
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
830
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
3
2.7k
日本の教育の未来 を考える テクノロジーは教育をどのように変えるのか
kzkmaeda
1
400
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
310
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
9
8.3k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
8k
生成AIを用いた 新しい学びの体験を 提供するまでの道のり
kzkmaeda
0
510
Other Decks in Technology
See All in Technology
AI時代、データエンジニアが一番おもろい
genshun9
0
600
20260912_スクフェス三河
kgnkhkr
0
380
2026/09/10 Spring Bootから Jakarta EE/MicroProfileへの移行
megascus
0
370
iOSDC Japan 2026 day1 TrackC 10:50
feedtailor
1
160
おい、エージェントを使って終わらせろ
nwiizo
0
250
MCPをつなげて作る組織横断のAIエージェント基盤(の開発工程)
tsubakimoto_s
0
130
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
740
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
480
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
27
22k
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
160
データ_AIの事業の勝敗をわけるもの
nek0128
0
360
AI de Idea
kawaguti
PRO
2
110
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.6k
Amusing Abliteration
ianozsvald
1
300
It's Worth the Effort
3n
188
29k
From π to Pie charts
rasagy
1
370
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
740
Producing Creativity
orderedlist
PRO
348
41k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
450
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
450
Transcript
Docker Image 既にあるから デプロイしたら動くんでしょ? 2023/5/17 App Runner Night @kzk_maeda
Kazuki Maeda @kzk_maeda SRE @atama plus AWS Community Builders AWS
Startup Community Core Member 7+ years of experience of AWS Like: Lambda / Step Functions / Glue / MWAA / Athena 最近はLlamaIndexとmomentoを触ってる 自己紹介
AppRunnerとの出会い
None
AppRunner App Runnerとの出会い
App Runner 始めました • PaaSで運用していたサブシステムをAWSに移行することに(先月) ◦ Docker deployを用いていた • 既存のContainer
Imageが活用できることに加え、Outbound IP固定化などのいく つかの要件があり、App Runnerが満たしていそうだったので利用開始
Docker Image 既にあるから デプロイしたら動くんでしょ?
甘い
初回構築 IaC CI/CD
初回構築 IaC CI/CD 二度と触れない文鎮Service 予測できないLog Group 諦めた自動デプロイ
ちゃんと作る
初回構築 IaC CI/CD それぞれでの注意点を紹介します
初回構築 IaC CI/CD 二度と触れない文鎮Service 予測できないLog Group 諦めた自動デプロイ
二度と触れない文鎮Service • 初回のdeployでhealth checkに失敗すると、文鎮Serviceが完成! 初回構築 IaC CI/CD
【なぜ?】二度と触れない文鎮Service • App RunnerはB/Gデプロイが裏側で実行される • 一度でもhealthyになったServiceであれば、その後のデプロイで失敗しても 一つ前の状態に自動で戻してくれる • が、初回デプロイだと戻し先がなくて困っちゃったのカナ 初回構築
IaC CI/CD https://docs.aws.amazon.com/apprunner/latest/dg/architecture.html
【どうする?】二度と触れない文鎮Service • 無理です、作り直しましょう 初回構築 IaC CI/CD
初回構築 IaC CI/CD 二度と触れない文鎮Service 予測できないLog Group 諦めた自動デプロイ
予測できないLog Group • App Runnerはデプロイすると自動でLog Groupを作成してくれる • が、作成されるLog Groupにservice-idが含まれていて事前予測不可 ◦
/aws/apprunner/service-name/service-id/service • そして保持期間が無制限 • そのためIaCで保持期間を設定したLog Groupが作成できない 初回構築 IaC CI/CD
【なぜ?】予測できないLog Group • 仕様です • コンソールからアプリケーションログ等を参照する機能が提供されており、 一意性担保のために service-id が必要になったんだと思われる 初回構築
IaC CI/CD https://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/monitor-cwl.html
【どうする?】予測できないLog Group • (Terraformの場合) • App Runner Serviceに依存する形でLog Groupを定義 •
ログエントリが発生すると先に作成されるので、その場合は対象Resourceをimport して保持期間を修正 初回構築 IaC CI/CD
初回構築 IaC CI/CD 二度と触れない文鎮Service 予測できないLog Group 諦めた自動デプロイ
諦めた自動デプロイ • ECRにpushしたら自動でApp Runnerにデプロイ!べんりぃ! • ⇨ RepositoryとWorkloadを別のAWSアカウントにしていると 自動デプロイができない! 初回構築 IaC
CI/CD
【なぜ?】諦めた自動デプロイ • 仕様です • なんとなく、いろいろ難しそうだなというのはわかります • ECRのCross Account Replicationでもダメでした (pushが動いてるわけではなさそうなのでそれはそう)
初回構築 IaC CI/CD
【どうする?】諦めた自動デプロイ • ① 別のCI/CDサービスを使って頑張る ◦ これにより、デプロイプロセスの中で container targetのhealth checkを実行できる ◦
のでApp Runnerにデプロイする際に health checkで落ちてrollbackすることや文鎮になることを防 止できるので逆にアリかもしれない ◦ github actionsのサンプルはあるけど test phaseがない • ②ECRをApp Runnerと同じアカウントに構築する 初回構築 IaC CI/CD CircleCIの例
まとめ
色々あったけど、App Runnerの抽象レベルは好きなので これからもよろしくね!