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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kazuki Maeda
May 17, 2023
Technology
680
2
Share
App Runner Night 202305
Kazuki Maeda
May 17, 2023
More Decks by Kazuki Maeda
See All by Kazuki Maeda
敢えて生成AIを使わないマネジメント業務
kzkmaeda
2
730
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
3
2k
日本の教育の未来 を考える テクノロジーは教育をどのように変えるのか
kzkmaeda
1
320
モノリスの認知負荷に立ち向かう、コードの所有者という思想と現実
kzkmaeda
0
280
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
9
7.7k
現場の種を事業の芽にする - エンジニア主導のイノベーションを事業戦略に装着する方法 -
kzkmaeda
2
7.2k
生成AIを用いた 新しい学びの体験を 提供するまでの道のり
kzkmaeda
0
460
生成AIによって変わる世界 -可能性とリスクについて考える-
kzkmaeda
2
420
新しいことを組織ではじめる、そしてつづける
kzkmaeda
4
1.1k
Other Decks in Technology
See All in Technology
インターネットの技術 / Internet technology
ks91
PRO
0
110
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.4k
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
220
2026年に相応しい 最先端プラグインホストの設計<del>と実装</del>
atsushieno
0
120
プロダクトを触って語って理解する、チーム横断バグバッシュのすすめ / 20260411 Naoki Takahashi
shift_evolve
PRO
1
290
Bluesky Meetup in Tokyo vol.4 - 2023to2026
shinoharata
0
190
Eight Engineering Unit 紹介資料
sansan33
PRO
3
7.2k
聞き手の目線で考えるプロポーザル
takefumiyoshii
0
410
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
ストライクウィッチーズ2期6話のエイラの行動が許せないのでPjMの観点から何をすべきだったのかを考える
ichimichi
1
380
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
29
9k
最新の脅威動向から考える、コンテナサプライチェーンのリスクと対策
kyohmizu
0
110
Featured
See All Featured
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
210
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
Site-Speed That Sticks
csswizardry
13
1.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.3k
Believing is Seeing
oripsolob
1
110
The Cult of Friendly URLs
andyhume
79
6.8k
Automating Front-end Workflow
addyosmani
1370
200k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
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の抽象レベルは好きなので これからもよろしくね!