
【VPC外リージョンサービス / ENIでVPC接続】
App Runner は、ソースコードやコンテナイメージからWebアプリケーションやAPIを簡単に公開できる コンテナアプリケーション実行サービス / PaaS です。
ソースコード / コンテナイメージ / GitHub / ECR 連携 に対応しており、リポジトリから自動的にビルド・デプロイ・運用までを実行します。主要な言語である Python / Node.js / Java / Go / .NET / Ruby に対応し、幅広い開発スタックをサポートします。
App Runner は、リクエスト数に基づくスケーリング / オートスケール / ゼロスケーリング によってトラフィック変動に自動対応し、インフラ管理を意識せずにスケーラブルなアプリを運用できます。
VPC接続 / ロードバランシング / HTTPS / カスタムドメイン / TLS証明書自動管理 に対応しており、安全で信頼性の高い通信環境を提供します。
CodePipeline / CodeBuild / ECR / CloudFormation / CDK / AppConfig 連携 により、DevOpsやIaC環境との統合も容易です。
重要用語
オートスケール
ゼロスケーリング
関連ページ
ユースケース
| ソースコードからの簡単Webアプリ公開 | Gitリポジトリやコンテナイメージを指定するだけで、ビルド・デプロイ・スケーリングが自動化されたWebアプリケーションを公開する。 |
| 小〜中規模APIサービスのホスティング | インフラ設定を細かく行わずに、シンプルなバックエンドAPIを自動スケールするコンテナサービスとして提供する。 |
| PoCや開発用の素早い環境立ち上げ | 短期間で検証したいアプリケーションを、最小限の設定でインターネット公開し、開発チームや顧客と共有する。 |
ベストプラクティス
| コンテナイメージの最適化 | 不要な依存を減らしイメージサイズを小さく保つ。 |
| オートスケーリング設定 | 同時リクエスト数などに基づいてインスタンス数を自動調整する。 |
| 環境変数とシークレット管理 | 機密情報はSecrets ManagerやSSMから参照する。 |
高可用性・バックアップ・リトライ
| 高可用性・バックアップ・リトライ設計のポイント |
|---|
| 【デフォルト】AWS内部で冗長化 ・コントロールプレーン ・アプリ実行環境 ・サービスエンドポイント ・コンテナインフラの自動置換 ・デプロイ基盤(CI/CD パイプライン) ・ビルド環境 |
セキュリティ
| 関連サービス | 設定内容 |
|---|---|
| WAF(アプリケーション層の脅威に対する防御) | - |
| Shield(DDoS攻撃からのリソース保護) | Shield Standardは常時有効 【CloudFrontを使用しない場合】 Shield Advancedの有効化を推奨 |
| ACM(SSL/TLS証明書の自動管理) | HTTPS利用時はACM証明書が必須 リージョン:VPCのあるリージョン |
| KMS(データの暗号化と鍵の安全管理) | - |
| Secrets Manager(機密情報の安全管理) | シークレット(秘密情報)の作成が推奨 環境変数として外部APIキーやDB認証情報 |
| SSM Parameter Store(設定情報の一元管理) | - |
| CloudTrail(操作履歴の記録・監査・追跡) | 【自動記録】 作成・更新・削除・設定変更は自動記録される。(コントロールプレーンAPI) データ操作は追跡できない(データプレーンAPI) |
| Config(リソースの構成状態・設定変更を記録) | - |
| GuardDuty(脅威を自動検出) | 【GuardDutyが有効な場合】 アプリ設定変更のAPI異常検知 |
ログ・監視
| ログ出力先 | ログの種類 |
|---|---|
| CloudWatch Logs | アプリケーションログ |
標準メトリクス
| メトリクス名 | 説明 |
|---|---|
制限値(固定値/ハードリミット/ソフトリミット)
| ハードリミット | 制限値 |
|---|---|
| サービスあたりの同時実行数 | 200 |
| 最大CPU | 4 vCPU |
| 最大メモリ | 12 GB |
| ヘルスチェックのタイムアウト | 最大20秒 |
AWS CLIのサンプルコード
CloudFormationのサンプルコード
Terraformのサンプルコード
料金計算
| 課金項目 | 説明 |
|---|---|
| コンピューティング | vCPUとメモリの使用時間 |
| リクエスト数 | 処理したリクエスト数 |
| ビルド時間 | ソースコードからのビルド時間 |
| データ転送 | アウトバウンドデータ転送量 |