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 実践
Search
a2-ito
October 19, 2023
550
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
App Runner 実践
a2-ito
October 19, 2023
More Decks by a2-ito
See All by a2-ito
Devin の Org-level Skills
a2ito
0
690
AIエンジニア Devin と歩む、自律型運用プロセスの構築
a2ito
0
1.2k
ECSにおけるBGデプロイの実現
a2ito
0
110
Organizations と Identity Center を Terraform で管理しよう
a2ito
0
130
Bigtable
a2ito
0
89
Chord
a2ito
0
83
Chubby
a2ito
0
100
Dynamo
a2ito
0
120
Megastore
a2ito
0
85
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Making Projects Easy
brettharned
120
6.7k
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
エンジニアに許された特別な時間の終わり
watany
108
250k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.7k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Test your architecture with Archunit
thirion
1
2.3k
Fireside Chat
paigeccino
42
4k
WCS-LA-2024
lcolladotor
0
760
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
30 Presentation Tips
portentint
PRO
1
350
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.2k
Transcript
App Runner 実践 JAWS-UG SRE支部 #7 @a2-ito
Profile • Akihiko Ito • Cloud Architect/SRE • dotD •
Twitter: @piyohiko110 • Github: @a2-ito
App Runner • コンテナorコードをデプロイする • チューニング要素 ◦ CPU ◦ RAM
◦ 同時接続数 ◦ 最大・最小サイズ • エンドポイント ◦ パブリックエンドポイント ◦ プライベートエンドポイント • VPCコネクタによるVPC内リソースへのアクセス
App Runner実践 1. IaC との組み合わせ 2. CloudFront との組み合わせ 3. コンテナ起動時のトラブル
1. IaC との組み合わせ • App Runner のデプロイをどこまで IaC コード化するか? ◦
アプリとインフラのライフサイクルをきれいにしたい
1. IaC との組み合わせ • App Runner のデプロイをどこまで IaC コード化するか? ◦
アプリとインフラのライフサイクルをきれいにしたい ①AWSリソースをデ プロイ ②ECRにpush
1. IaC との組み合わせ • 依存関係があるため、2ステップでは構築完了できない ◦ ECR がないとコンテナイメージが push できない
◦ ECR にコンテナイメージがないと App Runner をデプロイできない ◦ App Runner リソースがないと Route53 の エイリアス が作れない 依存 依存 依存
1. IaC との組み合わせ • App Runner の作成をアプリのライフサイクルに寄せるのは茨の道 ◦ ECR と
Aurora まで Terraform で作成 ◦ 残りをアプリ側で、、、 Github Actions で全部設 定するのつらい これはインフラやろ
2. CloudFront との組み合わせ • フロントエンドと一緒に CloudFront にぶら下げたい
2. CloudFront との組み合わせ • App Runner のデフォルトドメイン問題 ◦ パブリックエンドポイントモードの場合、外部からアクセスできるドメインが作成される ◦
この経路はアクセスさせたくない
2. CloudFront との組み合わせ • App Runner のデフォルトドメイン問題 a. CloudFront でカスタムヘッダを持たせて、そのリクエストだけを許可する
b. WAFのIP制限でも実装は可能(アプリをどうしてもいじりたくない場合)
2. CloudFront との組み合わせ • CloudFront のリクエストサイズ問題 ◦ 大きいサイズのリクエストは CloudFront の上限に引っかかる可能性がある
◦ App Runner のデフォルトドメインを使うか、 Lambda などにオフロードする
3. コンテナ起動時のトラブル • 現状(2023.10時点)の App Runner の仕様 ◦ 起動に失敗すると自動でロールバックされる ◦
ロールバックしても起動できない場合、停止状態になる ◦ 停止中は設定変更ができない ▪ イメージソースも修正できない
3. コンテナ起動時のトラブル • 構築直後初回起動でNW接続ができないケースがあった ◦ 起動時にDBコネクションを貼りに行くもの、起動が早いものは特に要注意 ◦ 永遠に起動できないことも DB接続がこける アプリ起動がこける
停止状態になると設定変 更できない
3. コンテナ起動時のトラブル • ワークアラウンド ◦ Exponential Backoff ◦ 外部接続なしモード