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 App Runnerがそろそろ本番環境でも使い物になりそう
Search
n1215
PRO
December 20, 2022
Programming
1
13k
AWS App Runnerがそろそろ本番環境でも使い物になりそう
LTで使ったAWS App Runnerのスライドです
n1215
PRO
December 20, 2022
Tweet
Share
More Decks by n1215
See All by n1215
面倒なのは嫌なのでコンテナのマネージドサービスの極振りしたいと思います。
n1215
PRO
6
2.9k
テスト環境のインフラ・運用コストを下げたい話〜全部入りEC2を超えていけ
n1215
PRO
3
1.6k
RoadRunnerの世界 〜 Yet Another Alt PHP-FPM
n1215
PRO
2
4.9k
ブラウザから始めるgRPC 〜 gRPC-WebにPHPを添えて
n1215
PRO
1
6k
PHP8時代のWebアプリケーションフレームワークの話をしよう
n1215
PRO
6
6.8k
PHPとEventSauceで始めるイベントソーシングアプリケーション
n1215
PRO
9
3.9k
形から入ったドメイン駆動設計によるゲーム開発の光と闇
n1215
PRO
13
7.6k
PHPでもgRPCサーバを立てたいだけの人生だった
n1215
PRO
7
9.3k
PSR-15 Request Handlerから理解するMiddlewareの仕組み
n1215
PRO
3
2.1k
Other Decks in Programming
See All in Programming
3rd party scriptでもReactを使いたい! Preact + Reactのハイブリッド開発
righttouch
PRO
1
600
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
1
100
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
ピラミッド、アイスクリームコーン、SMURF: 自動テストの最適バランスを求めて / Pyramid Ice-Cream-Cone and SMURF
twada
PRO
10
1.3k
.NET のための通信フレームワーク MagicOnion 入門 / Introduction to MagicOnion
mayuki
1
1.6k
cmp.Or に感動した
otakakot
3
170
Better Code Design in PHP
afilina
PRO
0
130
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
24k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
250
Quine, Polyglot, 良いコード
qnighy
4
640
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
How GitHub (no longer) Works
holman
310
140k
Git: the NoSQL Database
bkeepers
PRO
427
64k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
Facilitating Awesome Meetings
lara
50
6.1k
The Invisible Side of Design
smashingmag
298
50k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Practical Orchestrator
shlominoach
186
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
890
GitHub's CSS Performance
jonrohan
1030
460k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Transcript
AWS App Runnerがそろそろ本番環境でも使い物 になりそう 2022年12月20日 (火) 株式会社Nextat 中榮健二 1
1. AWS App Runner 概要 2
AWS App Runner概要 https://aws.amazon.com/jp/apprunner/ 2021年5月にリリース コンテナ化されたウェブアプリケーションのフルマネージドサービス GitHubのリポジトリからのソースコードベースのデプロイとECRからのコンテナ ベースのデプロイに対応 バックエンドはFargate(Firecracker VM)
3
構成 参考:https://dev.classmethod.jp/articles/report-con406-reinvent2022/ 4
ECSとの違い デプロイパイプラインを自前で用意する必要がない ロードバランサーも組込みなのでALBなどを別途使う必要がない 1つのサービスに対し複数のコンテナを組み合わせられない オートスケールの設定項目 最小/最大インスタンス数、1コンテナあたりの同時リクエスト数の3項目 その他設定項目もECSと比べると細やかさはないがかなり楽 ECSタスクに相当するジョブの機能はない ECS Execに相当する機能はない
Arm(Graviton)、Windowsコンテナ未対応 5
2. 今年の注目のアップデート3つ 6
2022/02/08 カスタマーVPCへの接続が可能に https://docs.aws.amazon.com/apprunner/latest/relnotes/release-2022- 02-08-vpc.html VPCコネクタ対応 DynamoDBなどグローバルなリソースだけでなく、RDSなどVPC内のリソースが 使えるようになった 7
8
2022/10/28 マネージドランタイムの言語対応追加 https://aws.amazon.com/jp/about-aws/whats-new/2022/10/aws-app- runner-support-php-go-dot-net-ruby-managed-runtimes/ GitHubからの自動デプロイで利用される JavaとNode.jsのみだったところにPHP、Go、.NET、Rubyが追加 9
2022/10/31 プライベートアクセスが可能に https://aws.amazon.com/jp/about-aws/whats-new/2022/11/aws-app- runner-supports-privately-accessible-services-amazon-vpc/ インターネット経由の公開アクセスに限定されていたが、プライベートサービスを 選択するとVPC内からのアクセスに限定できるようになった VPCエンドポイント経由のアクセス CloudFront + WAFによる防御時の迂回路がなくなった
VPC内からアクセスするマイクロサービスをApp Runnerで作成することも可能 になった 10
Before 11
After 12
3. 料金など 13
料金について CloudFront + WAF + VPCエンドポイント(2AZ) + App Runner vCPU
1、メモリ2GB ずっと待機状態とすると5500円くらい(リクエスト時間に応じて料金増) CloudFront + WAF + ALB + ECS/Fargate vCPU0.5、メモリ1GB 6,500円くらい DBは未考慮、デプロイ・ビルドの料金(誤差)は別 プライベート構成にするとENIが高い(AZを減らせばもうちょい減る)がALBと トントンくらいか アクセス数の少ない社内アプリくらいであればECSより安そうな感じ 趣味で使うには高いか 14
改善されてほしい点 ゼロスケール https://github.com/aws/apprunner-roadmap/issues/9 ENIからFargateにアクセスする構成だとECS on Fargateと大差ない コールドスタート30秒くらいになりそうなのでしばらく無理そう Secrets Managerからの環境変数の読込 https://github.com/aws/apprunner-
roadmap/issues/6 最低スペック変更 https://github.com/aws/apprunner-roadmap/issues/25 vCPU 1 + メモリ2GBが最低スペックなので Arm対応 https://github.com/aws/apprunner-roadmap/issues/98 サイドカー対応(無理そう) https://github.com/aws/apprunner- roadmap/issues/71 PHPのマネージドランタイムでビルトインウェブサーバーを使わせるのをやめろ https://github.com/aws/apprunner-roadmap/issues/157 15
まとめ VPCコネクタによりRDSなどVPC内リソースへの接続に対応 プライベートエンドポイントによりWAFでの完全防御やマイクロサービスに対応 マネージドランタイムがGoなどにも対応 ECS/Fargateの代替として十分アリ AWS縛りがなければ Fly.io、Render、RailwayのようなPaaSかGCPの Cloud Runのほうが良さそう スケーリングや料金面はまだまだAWS
Lambdaが強い エンドポイントの多いHTTP APIを全部Lambdaにする構成は正直アンチパタ ーンだと思うのでコンテナ系のサービスには頑張ってほしい 16
ご清聴ありがとうございました 17