アプリケーションランナーのアプリケーションコードの開発 - AWS App Runner

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

アプリケーションランナーのアプリケーションコードの開発

この章では、デプロイメント用のアプリケーションコードを開発または移行する際に考慮すべきランタイム情報と開発ガイドラインについて説明します。AWS App Runner。

ランタイム情報

コンテナーイメージを提供しても、App Runner がコンテナーイメージを構築しても、App Runner はコンテナーインスタンスでアプリケーションコードを実行します。ここでは、コンテナインスタンスのランタイム環境の重要な側面をいくつか示します。

  • フレームワークサポート— App Runner は、Web アプリケーションを実装する任意のイメージをサポートします。選択したプログラミング言語と、使用するWebアプリケーションサーバーまたはフレームワークを使用する場合は、使用するプログラミング言語には依存しません。お客様の便宜のために、アプリケーション構築プロセスと抽象イメージ作成を合理化するために、言語固有のマネージドランタイムを提供します。

  • Web リクエスト— コンテナインスタンスは、デフォルトでポート 8080 で HTTP リクエストをリッスンする必要があります。サービスの設定の詳細については、「」を参照してください。アプリランナーサービスの設定。HTTPS セキュアトラフィックの処理を実装する必要はありません。App Runner は受信 HTTPS トラフィックを必要とし、コンテナーインスタンスにリクエストを渡す前に HTTPS を終了します。

  • ステートレスなアプリケーション— App Runner は、受信する 1 つのウェブリクエストを処理する期間を超える状態の永続性を保証しません。

  • ストレージ— アプリケーションランナーは、コンテナインスタンス内のファイルシステムを一時ストレージ。ファイルは一時的です。たとえば、App Runner サービスを一時停止および再開しても、これらのポリシーが永続しません。より一般的には、アプリケーションのステートレスな性質の一部として、単一の要求の処理を超えてファイルが持続することは保証されません。ただし、保存されたファイルは、その存続期間中、App Runner サービスのストレージ割り当ての一部を占有します。

    注記

    一時ストレージファイルは要求間で保持されない可能性がありますが、時々永続する。これは、特定の状況で役立ちます。たとえば、リクエストを処理するときに、将来のリクエストで必要になる可能性がある場合に、アプリケーションがダウンロードするファイルをキャッシュできます。これにより、将来の要求処理がスピードアップする可能性がありますが、速度の向上を保証することはできません。あなたのコードは、以前のリクエストでダウンロードされたファイルがまだ存在すると仮定すべきではありません。

    高スループット、低レイテンシのインメモリデータストアを使用してキャッシュを保証するには、Amazon ElastiCache

  • 環境変数— デフォルトでは、App Runner はPORT環境変数をコンテナインスタンスで使用することができます。ポート情報を使用して変数の値を設定し、カスタム環境変数と値を追加できます。サービスの設定の詳細については、「」を参照してください。アプリランナーサービスの設定

  • インスタンスロール— アプリケーションコードがAWSサービスのいずれかを使用して、サービス API またはAWSSDK を使用して、インスタンスロールを作成するにはAWS Identity and Access Management(IAM) である。次に、作成時に App Runner サービスにアタッチします。すべて含めるAWSインスタンスロールでコードが必要とするサービスアクションのアクセス許可です。詳細については、「インスタンスロール」を参照してください。

コード開発のガイドライン

App Runner Web アプリケーションのコードを開発する場合は、次のガイドラインを考慮してください。

  • ステートレスなコードを設計— App Runner サービスにデプロイする Web アプリケーションをステートレスに設計します。コードは、単一の受信Webリクエストを処理する期間を超えて状態がないと仮定する必要があります。

  • 一時ファイルを削除する— ファイルを作成すると、ファイルはファイルシステムに保存され、サービスのストレージ割り当ての一部を占めます。ストレージ不足のエラーを回避するには、一時ファイルを長期間保持しないでください。ファイルキャッシュを決定する際に、ストレージサイズと要求処理速度のバランスをとります。