AWS App Runner でコンテナ Web アプリを即座にデプロイ - ソースコードからの自動ビルドと HTTPS 公開

App Runner によるコンテナアプリケーションのデプロイ、自動スケーリング、カスタムドメインの設定を解説します。

App Runner の概要

App Runner はコンテナ化された Web アプリケーションと API をフルマネージドにデプロイ・実行するサービスです。ECS がタスク定義、サービス、クラスターの設定を必要とするのに対し、App Runner はソースコードまたはコンテナイメージを指定するだけでデプロイが完了します。

この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。

デプロイとスケーリング

ソースベースデプロイは GitHub リポジトリを接続し、App Runner がビルドコマンド (npm install && npm run build) と起動コマンド (npm start) を実行してコンテナイメージを自動構築します。イメージベースデプロイは ECR のコンテナイメージを直接指定します。自動スケーリングはリクエストの同時実行数に基づいてインスタンスを増減し、最小 1 から最大 25 インスタンスの範囲で設定します。VPC コネクタを設定すると、App Runner のインスタンスから VPC 内の RDS や ElastiCache にプライベート接続できます。

さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。

まとめ

App Runner はコンテナアプリケーションのデプロイを最小限の設定で実現するサービスです。自動ビルド、自動スケーリング、HTTPS 提供で、インフラ管理なしに本番運用できます。

AWS の優位点

  • ソースコードリポジトリまたはコンテナイメージから自動ビルド・デプロイし、HTTPS エンドポイントを即座に提供する
  • リクエスト数に応じた自動スケーリングでトラフィックの増減に追従し、ゼロまでスケールダウンも可能
  • VPC コネクタで RDS、ElastiCache、DynamoDB などの VPC 内リソースにプライベート接続できる
  • GitHub リポジトリとの連携で push 時に自動デプロイし、CI/CD パイプラインの構築が不要
  • ECS や Kubernetes の知識なしにコンテナアプリケーションを本番運用できる

同じテーマの記事

コンテナデプロイの簡素化 - AWS App Runner で実現するゼロ設定デプロイ AWS App Runner を使ったコンテナ Web アプリケーションのデプロイ方法を解説。ECS/Fargate との使い分け、自動スケーリング、VPC 統合、CI/CD パイプラインとの連携まで実践的に紹介します。 AWS App Runner で最速のコンテナデプロイ - ソースコードから本番環境まで数分で App Runner によるソースコードまたはコンテナイメージからの自動デプロイ、オートスケーリング、VPC 接続の設定を解説します。 AWS App2Container で既存アプリをコンテナ化 - Java/.NET アプリの ECS/EKS 移行 App2Container による既存アプリケーションの分析、Dockerfile 生成、ECS/EKS へのデプロイを解説します。 コンテナ最適化 OS - Bottlerocket でコンテナホストのセキュリティと運用を強化する AWS Bottlerocket を使ったコンテナホストの最適化を解説。最小限の OS 設計、自動更新、不変インフラ、ECS/EKS との統合を紹介します。 Amazon ECR のコンテナイメージ管理 - ライフサイクルポリシーとイメージスキャン ECR のプライベートリポジトリ管理、ライフサイクルポリシーによるイメージクリーンアップ、イメージスキャンの運用を解説します。 コンテナオーケストレーション - Amazon EKS で実現する Kubernetes 運用の最適化 Amazon EKS を活用した Kubernetes のマネージド運用を解説します。 AWS Fargate によるサーバーレスコンテナ運用 - ECS と EKS での活用パターン Fargate によるサーバーレスコンテナの運用、ECS と EKS での使い分け、タスクサイジングとコスト最適化の手法を解説します。