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
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
「答えを出す」より「わかる」をつくる
kzkmaeda
1
260
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
810
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
3
2.5k
日本の教育の未来 を考える テクノロジーは教育をどのように変えるのか
kzkmaeda
1
390
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
300
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
9
8.2k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
7.9k
生成AIを用いた 新しい学びの体験を 提供するまでの道のり
kzkmaeda
0
500
生成AIによって変わる世界 -可能性とリスクについて考える-
kzkmaeda
2
450
Other Decks in Technology
See All in Technology
Reference-Free Image Quality Assessment for Virtual Try-On via Human Feedback
zozotech
PRO
0
610
ラジオの科学
frievea
0
340
FDEの心得
noriakioji
5
6.3k
[ChatGPT Work LT]事務作業が苦手な人のための バックオフィスの「半」自動化
chimaki_iot
0
320
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
19k
Invisible to AI? Making TYPO3 Sites Quotable by AI Search Systems
wolfgangwagner
0
220
つくって納得、つかって実感! 大規模言語モデルことはじめ ver2.0
recruitengineers
PRO
5
1.9k
Head First モブプログラミング / Head First Mobprogramming
takaking22
10
12k
Go 1.27 の標準パッケージに uuid が入った!のでいろいろ喋る / go_127_std_go_uuid
convto
1
260
20260804_Q4AzureUpdateBite_FabricDataAgentの精度を高める設計.pdf
matayuuu
1
150
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
140
Featured
See All Featured
Believing is Seeing
oripsolob
1
190
RailsConf 2023
tenderlove
30
1.5k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
370
The Spectacular Lies of Maps
axbom
PRO
1
920
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.4k
Designing for Performance
lara
611
70k
It's Worth the Effort
3n
188
29k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
3
450
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
How to Ace a Technical Interview
jacobian
281
24k
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
470
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の抽象レベルは好きなので これからもよろしくね!