モジュール 2:AWS App Runner の基礎
学習モジュール
学習目標
このモジュールでは、次のことを行います。
- 利点、ユースケース、機能、価格モデルなど、AWS App Runner の基礎を学びましょう。
- ドキュメントやその他のリソースがどこにあるかを理解してください。
- AWS マネジメントコンソールで AWS App Runner について知り、サービスを作成、管理、削除する方法を学びましょう。
AWS App Runner は、コンテナ化されたウェブアプリケーションや API を開発者が簡単かつ迅速にデプロイできるフルマネージド型サービスです。大規模に、しかも事前のインフラ経験を必要とせずにデプロイすることができます。ソースコードからでも、コンテナイメージからでも開始できます。App Runner は、ウェブアプリケーションを自動的に構築してデプロイし、暗号化を利用するトラフィックの負荷を分散し、トラフィックのニーズに合わせてスケールし、お客様のサービスがプライベート Amazon VPC で実行される他の AWS のサービスやアプリケーションと簡単に通信できるようにします。App Runner を使用すれば、サーバーやスケーリングについて煩わされることもなく、アプリケーションに集中できる時間が増えます。
所要時間
60 分
AWS App Runner の紹介
AWS App Runner (以降「App Runner」と呼ぶ) とは、コンテナ化されたウェブアプリケーションや API を開発者が簡単かつ迅速にデプロイできるフルマネージド型サービスです。大規模に、しかも事前のインフラ経験を必要とせずにデプロイすることができます。Web サイト、API、マイクロサービスなどの Web アプリケーションまたはウェブサービスがある場合は、App Runner の候補になります。
App Runner は、コンテナー化された Web アプリのリムジンサービスです。AWS が App Runner を「フルマネージド」と表現しているのは冗談ではありません。細部まで処理してもらいたいなら、App Runner がサービスです。AWS Lambda と同様に、お客様の責任はコードを提供することだけです。AWS Lambda と同様に、サービスが実行されている基盤となる EC2 インスタンスやインフラストラクチャを可視化できない (または必要になる) ことはありません。
コンテナに精通していなくても、心配する必要はありません。デプロイプロセスでコードのコンテナが自動的に作成されます。すでにコンテナを使用している場合は、既存のコンテナを持ち込むことができます。App Runner は、TLS、ロードバランサー、ヘルスチェック、自動スケーリングの管理など、その他すべてを行います。内部的には、App Runner は Amazon ECS 上の AWS Fargate でコンテナを実行していますが、これらのサービスを直接操作することはできません。
メリット
App Runner は使いやすく、自動的にスケーリングされ、時間を節約でき、規格に準拠した環境を提供します。
使いやすい
AWS App Runner を使用すると、数回クリックするだけで、安全なウェブスケールのアプリケーションを構築して実行できます。コンテナ、インフラストラクチャ、サーバー構成、ネットワーク、負荷分散、デプロイパイプラインの経験は必要ありません。
トラフィックに応じてスケーリング
App Runner は、Web トラフィックに応じてリソースをシームレスにスケールアップおよびスケールダウンします。コールドスタートをなくし、レイテンシーを低く抑えるために、コンテナインスタンスの数を最小限に抑えることができます。
時間の節約
App Runner では、リソースやインフラストラクチャの割り当て、構成、管理に時間を費やす必要はありません。App Runner のリソースとインフラストラクチャコンポーネントは、AWS によって完全に管理されているので、そのセキュリティと運用上のベストプラクティスによるメリットを十全に活用できます。アプリケーションに完全に集中できます
環境が確実に要件に準拠するようにする
App Runner アプリケーションは、Amazon VPC を通じて、データベース、キャッシュ、メッセージキューサービスなどの AWS サービスに接続できます。パブリックサブネットは不要で、VPC 内のリソースを保護するのに役立ちます。
ユースケース
AWS App Runner のユースケースには、フロントエンドとバックエンドのウェブアプリケーション、マイクロサービス、ウェブ API、および迅速なデプロイが含まれます。
フロントエンドとバックエンド Web アプリケーション
App Runner では、ウェブサイト、ウェブサービス、および API をホストできます。
マイクロサービスと API
App Runner では、何千ものマイクロサービスを同時に実行できます。これにより、疎結合が可能になり、各マイクロサービスを個別に拡張できます。
迅速なデプロイ
App Runner は、コンテナ化されたウェブアプリケーションを大規模にデプロイして実行する際に AWS のベストプラクティスとテクノロジーを利用します。これにより、新しいアプリケーションや機能の市場投入までの時間を短縮できます。
特徴
AWS App Runner サービスの機能を確認してみましょう。
VPC Connector
App Runner サービスは、VPC Connectors を介して、Amazon 仮想プライベートクラウド (VPC) 内で実行されている他の AWS サービスと通信できます。これにより、Amazon VPC の管理下にある他のサービスのサポートを追加できます。
自動スケーリング
App Runner は、設定した制約に従って、トラフィックに合わせてコンテナインスタンスを自動的にスケールアップまたはスケールダウンします。
自動デプロイ
App Runner は、アプリケーションが変更されたときに自動的にビルドしてデプロイできます。App Runner をコードリポジトリ、または ECR などのコンテナイメージレジストリに接続できます。
証明書管理
App Runner には、Transport Layer Security (TLS) が自動的に組み込まれます。セットアップは不要で、証明書は自動的に更新されます。
コスト管理
AWS マネジメントコンソール、AWS CLI、または AWS SDK を使用してアプリケーションを簡単に一時停止または再開することで、コストを管理できます。
ロードバランシング
App Runner はトラフィックを自動的に負荷分散し、信頼性と高可用性を提供します。
ログとメトリクス
コンテナ化されたアプリケーションの監視と最適化を可能にするために、App Runner は詳細なビルド、デプロイ、ランタイムログを提供します。Amazon CloudWatch への組み込み統合により、コンピューティングメトリクスのフルセットも提供されます。
制限事項
App Runner は一部のリージョンでのみご利用いただけます。詳細は AWS App Runner のエンドポイントとクォータのページで確認できます。 App Runner をデータベースやストレージサービスなど、他の AWS サービスとともに使用する場合は、ターゲットサービスをすべてサポートするリージョンを使用して、効率を上げるために同じ場所に配置できるようにすることをお勧めします。また、地域の規制への準拠やユーザーベースの場所への近さなど、リージョンの選択に関する AWS の推奨事項も検討する必要があります。
すべての リージョンで使用できます。
AWS App Runner は、すべての AWS リージョンで利用できるわけではありません。現在サポートされているリージョンは、 AWS App Runner のエンドポイントとクォータのページで確認できます。
サービスごとに 1 つのコンテナ
App Runner では、サービスは 1 つのコンテナと 1 つのコンテナにのみ関連付けられます。トラフィックに応じてそのコンテナの複数のインスタンスを実行できますが、ECS や EKS のように複数のコンテナからサービスを構成する方法はありません。
地域クォータ
デフォルトでは、リージョンごとに最大 10 個の自動スケーリング設定、サードパーティリソースへの接続 10 個、オブザーバビリティ設定 10 個、サービス、および 10 個の VPC コネクタを作成できます。これらのクォータはすべて調整可能です。サービスクォータの引き上げは、 AWS サービス見積もりと AWS サポートセンターを使用してリクエストできます。
料金モデル
App Runner はコンピューティングリソースとメモリリソースに対して課金されます。さらに、これらの機能を使用することを選択した場合、自動デプロイメントとソースコードからのビルドの料金がかかる場合があります。注:ここに記載されている料金と料金例は、2022 年 5 月現在の米国の料金に基づいています。料金やその他の価格モデルの詳細を確認するには、必ず料金ページを確認してください。料金は地域によって異なる場合がありますのでご注意ください。
App Runner でアプリケーションを作成するときに、必要なメモリと仮想 CPU の量を設定します。仮想 CPU (vCPU) は、1 つの CPU コアの 1 スレッドに相当する CPU の単位です。また、同時実行を指定して、アクティブなコンテナインスタンスがサポートする必要のある同時リクエストの最大数を決定します。アプリケーションがアイドル状態のときには、プロビジョニングされたコンテナインスタンスのメモリ分のみお支払いいただきます。これにより、アプリケーションを温かく保ち、次のリクエストに迅速に対応できるようになります。リクエストが届いたら、アプリケーションがリクエストを処理する際にアクティブなコンテナインスタンスが消費した vCPU とメモリに対して料金を支払います。請求されるのはアプリケーションの実行時のみで、AWS コンソールからアプリケーションの一時停止と再開が可能です。
プロビジョニングされたコンテナインスタンス
アプリケーションをデプロイすると、各コンテナインスタンスでプロビジョニングされたメモリに対して課金されます。トラフィックがない場所でもメモリをプロビジョニングしておくことで、App Runner は次のリクエストに低レイテンシーで応答できるようにします。
この記事の執筆時点では、プロビジョニングされたコンテナインスタンスのコストは、米国とヨーロッパのリージョンで 1 時間あたり 0.007 USD/GB です。
料金の例:2 GB のメモリを必要とし、まだトラフィックがないプロビジョニングされたコンテナインスタンスをデプロイしたとします。2 GB のプロビジョニングされたコンテナインスタンスは、1 日あたり 1 x 2 GB x 0.007 ドル = 0.34 USD です。
アクティブなコンテナインスタンス
アプリケーションがリクエストを処理しているとき、料金はプロビジョニングされたコンテナインスタンスからアクティブなコンテナインスタンスに切り替わります。アクティブコンテナインスタンスでは、コンピューティングリソースと、プロビジョニングされたコンテナインスタンスの範囲を超えるメモリに対して課金されます。
アクティブなコンテナインスタンスは、vCPU 時間あたり 0.064 USD のレートで課金されます。コンテナインスタンスの料金は 1 秒単位で請求されます。プロビジョニングされたコンテナインスタンスがリクエストの処理を開始すると、vCPU リソースに対して最低でも 1 分間課金されます。
自動デプロイ
自動デプロイにオプトインすると、ソースコードがデプロイブランチに変更され、コンテナイメージがビルドされ、デプロイがトリガーされます。自動デプロイメントは、1 アプリケーションあたり 1 か月あたり 1 USD で請求されます。
ビルド料金
App Runner がソースコードからアプリケーションをビルドするときにビルド料金を支払います。料金はビルド分あたり0.005 USD です。
料金例 1: アプリテスト
1 日 2 時間アプリケーションをテストしています。アクティブな間、アプリは 2 時間にわたって 1 秒あたり 2 回のリクエストを受け取ります。アプリには、コンテナインスタンスごとに 2 GB のメモリが必要です。1 日 22 時間サービスを一時停止します。
1 日のプロビジョニング済みコンテナインスタンス料金は、2 時間 x 1 プロビジョニング済みコンテナインスタンス x (2 GB x 0.007 GB 時間)、つまり 0.03 USD です。1 日の残りの 22 時間はアプリを一時停止するため、1 日あたり 2 時間しか課金されません。
1 日のアクティブコンテナインスタンス料金は、2 時間 x 1 アクティブコンテナインスタンス x [(1 vCPU x 0.064 USD vCPU 時間)] — 2 時間 x 1 プロビジョニング済みコンテナインスタンス x (2 GB x 0.007 USD) = 0.13 USD です。1 日の合計費用は 0.16 USD、つまり 1 か月あたり 4.80 USD です。
料金の例 2: ライトウェイト API
レイテンシーの影響を受けやすい軽量のウェブ API を、2 GB のメモリを持つ 1 つのプロビジョニング済みコンテナインスタンスにデプロイしました。毎日、8 時間の間に 80 件の散発的なリクエストが届きます。
App Runner は、プロビジョニングされたコンテナインスタンス (メモリ) を 1 日 24 時間維持します。料金は 2 GB x 0.007 GB 時間、つまり 1 日あたり 0.34 USD です。
App Runners は、リクエストが来ると 1 日 8 時間、1 つのアクティブなコンテナインスタンスにスケーリングします。アクティブなコンテナインスタンスには、プロビジョニングされたコンテナインスタンスのメモリ料金を差し引いたコンピューティングとメモリに対して課金されます。計算式は以下の通りで、1 日 0.51 USD になります。
8 時間 × アクティブなコンテナインスタンス 1 × [(1 vCPU × 0.064 USD vCPU 時間) + (2 GB × 0.007 USD GB 時間)] - 8 時間 x プロビジョニングされたコンテナインスタンス 1 x (2 GB × 0.007 USD GB 時間) = 0.51 USD
1 日の合計料金は 0.51 USD (アクティブなコンテナインスタンス) + 0.34 USD (プロビジョニングされたコンテナインスタンス) = 0.85 USD、つまり 25.50 USD /月です。
価格設定例 3: 大量生産
Web アプリケーションを実稼働中です。各コンテナインスタンスには 2 GB のメモリが必要で、1 秒あたり 80 件のリクエストを処理できます。サイトは日中ビジー状態で、リクエストのピークは 3 時間で 1 秒あたり 800 リクエストに達します。ピーク時以外の 12 時間には、1 秒あたり 60 件のリクエストがあります。App Runner は、ピーク時にはアプリケーションを 10 のアクティブなコンテナインスタンスに、ピーク時以外はアクティブなコンテナインスタンスを 1 つに縮小します。プロビジョニングされたコンテナインスタンスのメモリは、毎日 24 時間課金されます。
プロビジョニングされたコンテナインスタンス (メモリ) には、2 GB x 0.007 GB 時間、つまり 0.34 USD/日、つまり 1 日につき 24 時間課金されます。
ピーク時には、1 秒あたり 800 件のリクエストを 3 時間処理するには、10 個のアクティブなコンテナインスタンスが必要です。アクティブなコンテナインスタンス 10 × 3 時間 × [(1 vCPU × 0.064 USD vCPU 時間) + (2 GB x 0.007 USD GB 時間)] - プロビジョニングされたコンテナインスタンス 1 x 3 時間 x (2 GB x 0.007 USD GB 時間) = 2.30 USD
ピーク時以外 (12 時間) には、1 つのアクティブなコンテナインスタンスが 1 秒あたり 60 件のリクエストを処理します。12 時間 × アクティブなコンテナインスタンス 1 × [(1 vCPU × 0.064 USD vCPU 時間) + (2 GB x 0.007 USD GB 時間)] - 12 時間 × プロビジョニングされたコンテナインスタンス 1 x (2 GB x 0.007 USD GB 時間) = 0.77 USD
まとめると、2.30 USD (ピーク時のアクティブコンテナインスタンス) + 0.77 USD (ピーク時以外のアクティブコンテナインスタンス) + 0.45 USD (日次プロビジョニングされたコンテナインスタンス) = 1 日あたり 3.40 USD、つまり 1 か月あたり 102 USD です。
リファレンス:AWS App Runner | 価格、 EC2 仮想 CPU
デベロッパーワークフロー
このセクションでは、開発者が App Runner をどのように使用しているかを学びます。以下に示すフローに従って、アプリケーション用の App Runner サービスを作成します。
1.ソースを追加
このステップでは、コンテナイメージまたはソースコードに接続し、デプロイ設定を選択します。App Runner サービスを作成するときは、それをソースに接続します。ソースは、コンテナイメージでもソースコードリポジトリでもかまいません (以下を参照)。GitHub リポジトリなどのソースコードリポジトリでは、接続の詳細を提供する必要があります。
アプリケーションがコンテナ化されていない場合でも、App Runner はコンテナイメージの自動構築をサポートします。既存のソースコードリポジトリを関連付け、オプションでランタイムのビルドコマンドやスタートコマンドを App Runner に指定すると、App Runner はウェブアプリケーションを自動的にコンテナ化し、実行中のウェブアプリケーションを提供します。自動コンテナ化は、サポートされているランタイムとフレームワークを含む厳選された App Runner プラットフォームで使用できます。
リファレンス:AWS App Runner | よくある質問
デプロイ設定では、アプリケーションのアップデートデプロイを手動でトリガーするか、自動的にトリガーするかを選択できます。自動デプロイを有効にすると、ソースコードまたはコンテナイメージを更新するたびに、App Runner が自動的にアプリケーションをビルドしてデプロイします。
2.ビルドとサービスの設定を行う
このステップでは、コンテナの vCPU とメモリを設定し、自動スケーリングとヘルスチェックのオプションを選択します。コンテナレジストリではなくソースコードリポジトリからデプロイすることを選択した場合は、ビルド設定も設定します。App Runner はこれらの設定をデフォルト設定しますが、これらの設定を理解し、構成をカスタマイズするためのオプションを知っておく必要があります。
コンソールで設定を構成するか、ソースコードリポジトリに YAML 構成ファイルを提供するかを選択できます。
サービス設定では、サービスに名前を付け、コンテナの CPU とメモリサイズを設定します。これらの設定はコストに影響します。アプリケーションに必要な環境変数をここで設定することもできます。
自動スケーリング動作を設定できます。デフォルトは、コンテナの 1 つのインスタンスのみです。App Runner は、80 を超える同時リクエストを受信すると、サービスをより多くのインスタンスにスケーリングできます。インスタンスの最大数を設定できるため、コストを抑えることができます。
ヘルスチェックの設定により、App Runner がヘルスチェックリクエストを送信できる Web パスを特定できます。デフォルトでは、ヘルスチェックに 5 回連続して失敗した場合、インスタンスは異常と見なされ、App Runner がそれを置き換えます。App Runner がサービスに異常があると判断するまでに失敗する必要があるヘルスチェックの数を 1 ~ 20 の範囲で設定できます。
セキュリティ設定により、インスタンスが使用する IAM ロールを選択できます。アプリケーションが他の AWS サービスと通信する必要がある場合は、IAM ロールでそれを承認します。これらの設定では、ソースコードを暗号化するための顧客管理キー (CMK) をオプションで提供することもできます。
3. 確認して作成する
このステップでは、すべての設定を確認して確認します。[Create and Deploy] をクリックすると、App Runner がサービスを作成し、アプリケーションをデプロイします。
4.安全な URL を受け取る
最後に、AWS App Runner から、実行中の本番環境に対応したサービスの安全な URL を受け取ります。HTTPS は自動的に設定されます。
最後に、アプリケーションをカスタムドメインに関連付けることもできます(カスタムドメインがある場合)。ドメインを所有していることを証明する手順が表示されます。
アプリランナーサービスの管理
App Runner サービスはいくつかの方法で作成、デプロイ、管理できます。
AWS マネジメントコンソール
AWS マネジメントコンソールから、App Runner サービスを作成、デプロイ、設定、監視、終了できます。これらの操作を実行するには、AWS App Runner コンソールに移動します。
サービスを作成してデプロイしたら、サービスを選択して、次の領域でサービスの詳細を表示できます。
サービスの概要
サービス概要セクションには、アプリのステータス (実行中など)、デフォルトドメイン URL、サービスの Amazon リソースネーム (ARN)、および「ソース」URL が表示されます。最後のページでは、Amazon Elastic Container Registry (ECR) のコンテナまたはソースコードリポジトリに移動します。
ログ
このタブには、デプロイログとアプリケーション実行ログが表示されます。App Runner はアプリケーションの出力を収集し、CloudWatch ログにストリーミングします。Web サービスへのリクエストの詳細など、有用と思われる任意の出力を含めることができます。
アクティビティ
「アクティビティ」タブには、サービスの履歴が表示されます。App Runner は、オペレーションのリストを使用して App Runner サービスのアクティビティを追跡します。オペレーションは、サービスの作成、設定の更新、サービスのデプロイなどの API アクションへの非同期呼び出しを表します。
メトリクス
Metrics タブには、リクエスト、レスポンス、レイテンシー、アクティブなインスタンス数などのサービスメトリックスが表示されます。
設定
[設定] タブには、仮想 CPU とメモリの数、自動スケーリング、ヘルスチェック、セキュリティなどのサービス設定の詳細が表示されます。設定を変更するには、「編集」をクリックします。必要に応じて、インスタンスごとの仮想 CPU とメモリの数の制御、環境変数の設定、自動スケーリングのカスタマイズ、ヘルスチェックの設定、カスタム IAM ロールの使用、またはカスタム暗号化キーの使用を行うことができます。
モニタリングとログ記録
App Runner アプリケーションの監視は、信頼性、可用性、パフォーマンスを維持するために不可欠です。AWS ソリューションのあらゆる部分からモニタリングデータを収集することで、障害のデバッグが容易になります。App Runner はコードからアプリケーションログを収集します。また、サービスインシデントの監視と対応のために複数の AWS サービスと統合されています。
Amazon CloudWatch アラーム
Amazon CloudWatch アラームを使用してサービスメトリックスをモニタリングし、指定した条件が満たされた場合に通知を送信できます。サービスメトリックを一定期間にわたって監視し、メトリックが特定の期間にわたってしきい値を超えた場合に通知を受け取るようにしきい値を設定できます。たとえば、CPU 使用率が 60% を超えるとアラートを受け取ることができます。
アプリケーションログ
アプリケーションランナーはアプリケーションコードの出力を収集し、Amazon CloudWatch Logs にストリーミングします。Web サービスへのリクエストの詳細など、アプリケーションにログインする内容を決定します。これらのログは App Runner コンソールで確認できます。Visual Studio を使用している場合は、Visual Studio 用 AWS ツールキットがインストールされていれば IDE から CloudWatch ログを表示できます。
AWS CloudTrail Action Logs
AWS CloudTrail は、AWS サービスに対する API 呼び出しの記録を保持し、それらをイベントとして追跡します。AWS コンソールでイベントを確認でき、オプションでイベントが Amazon S3 バケットに継続的に書き込まれるように設定できます。
リファレンス:CloudWatch ログ、 CloudWatch メトリックス、 CloudTrail API アクション
AWS Deploy Tool for .NET
AWS Deploy Tool for .NET は、.NET CLI と Visual Studio 用 AWS ツールキット用のインタラクティブなツールであり、最小限の AWS 知識で、最小限のクリックまたはコマンドで .NET アプリケーションをデプロイするのに役立ちます。ツールはデプロイ手順をガイドします。このツールを使用すると、dotnet aws deploy という 1 つのコマンドで .NET ウェブアプリケーションを作成して AWS App Runner に公開できます。
Visual Studio を IDE として使用し、Visual Studio 用 AWS ツールキットがインストールされている場合は、これと同じガイド付きデプロイ機能を Visual Studio でも利用できます。ソリューションエクスプローラーで、プロジェクトを右クリックして [AWS に公開] を選択します。ウィザードの各ページでデプロイ手順を説明します
AWS Copilot
AWS Copilot はオープンソースのコマンドラインインターフェイス (CLI) で、マネージドビルドパイプラインを使用して AWS App Runner だけでなく、Amazon ECS や AWS Fargate にもデプロイできます。コパイロットは舞台裏で Amazon CloudFormation を使用しています。コパイロットは、.NET アプリケーションだけでなく Python アプリケーションやノード.js アプリケーションでも使用できます。
.NET 開発者としては、AWS Deployment for .NET CLI を使用してコマンドラインから AWS App Runner にデプロイしたいと思うでしょうが、.NET 以外のアプリケーションをデプロイする場合は AWS Copilot を選択することもできます。
Copilot を使用して App Runner をデプロイすると、次のようになります。
AWS CLI
AWS コマンドラインインターフェイスには、AWS App Runner サービスを表示および管理するためのコマンドが含まれています。サービスと VPC コネクタやカスタムドメインなどの関連アーティファクトを作成、一覧表示、および記述できます。構成設定を表示および設定できます。デプロイを開始できます。アプリケーションは一時停止または再開できます。サービスを削除できます。
他の AWS サービスへの接続
デフォルトでは、App Runner サービスはパブリック Web サイトや Web サービスなどのパブリックエンドポイントにのみメッセージを送信できます。アプリケーションを Amazon RDS データベース、Amazon DynamoDB データベース、または Amazon ElastiCache など、インターネットを経由せずに他の AWS サービスと統合する必要がある場合は、VPC コネクタを使用できます。通常、App Runner を使用するために AWS インフラストラクチャを理解する必要はありませんが、VPC Connector を使用するには、Amazon 仮想プライベートクラウド (VPC)、サブネット、およびセキュリティに関する高度な知識が必要です。用語の基本的な理解は、「Amazon VPC とは何ですか?」を読むと理解できます。と「アマゾン VPC の仕組み」を参照してください。
VPC コネクタ
VPC コネクタは、アプリケーションランナーサービスを VPC に関連付けます。VPC コネクタは接続の半分にすぎません。別の AWS サービスにアクセスするには、その他のサービスも VPC に接続している必要があります。そのための方法の 1 つは、VPC エンドポイント、つまりインターネットアクセスを必要としないプライベート接続を使用することです。たとえば、以下の図は、App Runner サービスと DynamoDB データベース間の接続を示しています。アプリケーションランナー用の VPC コネクタ DynamoDB 用の VPC エンドポイントは、通信を可能にする VPC への 2 つのリンクです。
App Runner サービスを作成するときに VPC Connector を設定できます。VPC コネクタを設定するには、以下を指定する必要があります。
- 接続先の VPC (デフォルト VPC など)
- . 選択するサブネット。可用性を高めるには、少なくとも 3 つのアベイラビリティーゾーンにまたがるサブネットを選択する必要があります。
- デフォルトのセキュリティグループ
VPC コネクタまたは VPC エンドポイントを設定する際は、組織のセキュリティ専門家に相談してください。
VPC エンドポイント
VPC エンドポイントを使用すると、インターネットゲートウェイ、NAT デバイス、または VPN 接続を必要とせずに、VPC をサポートされている AWS サービスにプライベートに接続できます。VPC 内のインスタンスは、サービス内のリソースと通信するためにパブリック IP アドレスを必要としません。VPC と他のサービス間のトラフィックは Amazon ネットワークを離れません。
VPC エンドポイントの詳細については、AWS Well-Architected フレームワークガイドと AWS PrivateLink の概念をご覧ください。
AWS コンソールで VPC エンドポイントを作成するには、[VPC] > [エンドポイント] に移動し、[エンドポイントの作成] をクリックします。AWS サービスのエンドポイントを作成するには、AWS サービスのカテゴリを選択し、接続するサービスを検索して選択します。
ドキュメントとリソース
参考や学習に使用したい次のリソースをブックマークしてください。
AWS App Runner 製品詳細ページには、サービスの概要、機能、価格、リソース、よくある質問が記載されています。
AWS App Runner ドキュメントページには、App Runner デベロッパーガイド、AWS CLI リファレンス、チュートリアル、ビデオ、ブログなどのデベロッパーリソースへのリンクがあります。
AWS App Runner デベロッパーガイドでは、アーキテクチャ、デプロイ、およびオブザーバビリティについて説明しています。
AWS CLI apprunner コマンドリファレンス。AWS CLI から、サービスの作成、手動デプロイの実行、サービスステータスの一覧表示を行うことができます。
「CloudFormation を使用して Microsoft .NET Core Web API アプリケーションをビルドして AWS App Runner にデプロイする」ワークショップでは、App Runner を使用して Amazon Aurora データベースを使用して Microsoft .NET ウェブ API アプリケーションを構築する方法を示しています。
AWS App Runner:ディープダイブオンラインセミナービデオは、技術トークとデモです。
「AWS App Runner: コードからスケーラブルで安全なウェブアプリケーションまで数分で」は、 Martin Beeby によるウォークスルーブログです。
重要なポイント
これで、AWS App Runner の利点、ユースケース、機能、および価格モデルを明確に説明できるようになったはずです。
開発者ワークフローの 4 つのステップを学びました。
App Runner インスタンスを AWS コンソールで管理する方法、モニタリングとロギングのオプション、さまざまなコマンドラインツールについて学びました。
VPC コネクタと VPC エンドポイントがどのように連携して AWS App Runner を他の AWS サービスと接続するかを学びました。
.NET ワークロードの場合、App Runner を使用する最も簡単な方法は、コンテナイメージをソースとして使用することです。コードリポジトリのソースを使用する場合、インスタンスに.NET をインストールするには追加の作業が必要です。
まとめ
このモジュールでは、AWS App Runner の基礎を学びました。サービスの紹介では、App Runner の利点、ユースケース、機能、制限事項、価格モデルを確認しました。開発者のワークフローと設定できる内容について学びました。App Runner サービスの管理については、AWS マネジメントコンソールとさまざまなツールから学びました。