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
Azure Container Appsを使ってみた
Search
北村
October 28, 2025
0
50
Azure Container Appsを使ってみた
北村
October 28, 2025
Tweet
Share
More Decks by 北村
See All by 北村
ギャルのパンティおくれ
shu_kita
1
49
LSMツリー
shu_kita
0
17
掲示板への不適切な投稿を防ぐ
shu_kita
0
52
正規表現エンジンを自作した話
shu_kita
0
10
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.3k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
For a Future-Friendly Web
brad_frost
180
10k
Building Applications with DynamoDB
mza
96
6.7k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How to Ace a Technical Interview
jacobian
280
24k
BBQ
matthewcrist
89
9.9k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
990
Rails Girls Zürich Keynote
gr2m
95
14k
Transcript
Azure Container Apps を使ってみた shu-kitamura
自己紹介 • 名前 ◦ 北村(shu-kitamura) • 業務 ◦ SIer ◦
デバイスドライバ開発・保守 • 趣味 ◦ テニス、フットサルやってます ◦ お笑いが好きです • 最近 ◦ 先週合格しました
話すこと • Azureのコンテナサービス • Container Appsと主要コンポーネント • アプリのデプロイ
Azureのコンテナサービス
Azureのコンテナサービス • Azure Container Instances ◦ サーバーを管理することなくコンテナを実行 • Azure Container
Apps ◦ フルマネージドのサーバーレスコンテナ基盤 • Azure Kubernetes Service ◦ マネージドの Kubernetes でコンテナを実行 • Azure App Services for Container ◦ コンテナ化された Web アプリをWindows / Linux上で実行
Azure Container Apps とは フルマネージドなサーバレスコンテナ基盤。Kubernetes をラップしている。 開発者は Kubernetes の構築や運用をしなくていい。 2022年5月に
GA された。コンテナ系サービスでは新しい方。 以下のような需要があったのではないか(想像) スケーリングなどの機能欲し いけど、Kubernetesの運用・ 管理は難しいなぁ
Container Appsの主要コンポーネント
Azure Container Apps Environment Container Apps Environment は、コンテナアプリの実行基盤。 1つ目のContainer Appsを作るときに、同時に作成される。
Environment と Container Appsは 1対多の関係 参考: https://learn.microsoft.com/ja-jp/azure/container-apps/environment
リビジョン コンテナイメージと設定のスナップショット。 Container Appsをデプロイしたら リビジョンが1つ、自動で作成される 以下のような更新・変更があれば、新し いリビジョンを作成する。 • コンテナイメージの更新 •
設定の変更 ◦ レプリカ(後述) ◦ 環境変数 ◦ スケーリング ◦ ボリューム ◦ etc…
レプリカ 実行されているコンテナの集まり。負荷に応じて、中で動くコンテナ数を増減させること ができる。 中で動くコンテナの最大値、最小値を設 定できる。 最小値を0に設定すると、コンテナ数は 0 個になる(負荷無いとき) ⇒コンテナ0個だと料金が発生しない
スケーリング 以下のスケールルールを設定できる • HTTPスケーリング • Azure キュー • カスタムプリセット ◦
CPU、メモリ使用率 ◦ Cron ◦ Azure Service Bus ◦ etc… スケーリングには KEDA を使っている。 KEDA がサポートしているスケーリングを使用できる。 KEDAはKubernetesベースのイベント駆動型オートスケーラーらしいです。(知らないので小声)
アプリのデプロイ
アプリをデプロイする流れ コンテナレジストリ Container Apps を作成 開発者 Push コンテナ イメージ Pull
試した構成図 フロントエンド バックエンド Container Apps Environment Subnet Virtual Network Container
Registry コンテナ イメージ Push ローカルで使ったDockerfileを そのままPushするだけだったので、 非常に楽だった。
気づき • Container Apps Environment 単体では作れない(左) Container Apps の作成画面で新規/既存環境を選択する(右) Container
Apps Environmentを 選択(作成)できる。 新規作成はメニューにない Azureポータルでは作れなかった。 Bicep なら単体で作れた。
まとめ • Azure Container Appsはフルマネージドのコンテナ実行基盤 • Kubernetesの運用・管理を自分でやらなくていい • ローカルで使うDockerfileをレジストリにPushするだけで、 アプリをデプロイできて楽だった。
• 動作確認レベルだと、レプリカの最小数を0個にしておけば、 料金が発生せず嬉しい。
尺が余ったときのために
リビジョン間のトラフィック分散 リビジョンが複数ある時、トラフィックを分散させることができる。 https://learn.microsoft.com/ja-jp/azure/container-apps/revisions
デプロイ方式への対応 Blue/Green デプロイ 100% 100% 100% 新しいリビジョンを作成 トラフィックを新しいリビ ジョンに切り替え
デプロイ方式への対応 カナリアデプロイ 100% 80% 80% 新しいリビジョンを作成。トラ フィックの一部を新リビジョン に向ける トラフィックの割合を増やし ていく
20% 20%