

AWS App Runner は、2026 年 4 月 30 日以降、新規のお客様に公開されなくなります。App Runner を使用する場合は、その日付より前にサインアップします。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[AWS App Runner  可用性の変更](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)」を参照してください。

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

# ソースコードに基づく App Runner サービス
<a name="service-source-code"></a>

を使用して AWS App Runner 、ソース*コードとソース**イメージ*の 2 つの異なるタイプのサービスソースに基づいてサービスを作成および管理できます。ソースタイプに関係なく、App Runner はサービスの起動、実行、スケーリング、ロードバランシングを処理します。App Runner の CI/CD 機能を使用して、ソースイメージまたはコードの変更を追跡できます。App Runner は変更を検出すると、自動的に (ソースコード用) をビルドし、新しいバージョンを App Runner サービスにデプロイします。

この章では、ソースコードに基づく のサービスについて説明します。ソースイメージに基づくサービスの詳細については、「」を参照してください[ソースイメージに基づく App Runner サービス](service-source-image.md)。

ソースコードは、App Runner が構築およびデプロイするアプリケーションコードです。App Runner をコードリポジトリの[ソースディレクトリ](#service-source-code.source-directory)にポイントし、プログラミングプラットフォームのバージョンに対応する適切な*ランタイム*を選択します。App Runner は、ランタイムのベースイメージとアプリケーションコードに基づいてイメージを構築します。次に、このイメージに基づいてコンテナを実行するサービスを開始します。

 App Runner は、プラットフォーム固有の便利な*マネージドランタイムを提供します*。これらのランタイムはそれぞれ、ソースコードからコンテナイメージを構築し、言語ランタイムの依存関係をイメージに追加します。Dockerfile などのコンテナ設定やビルド手順を指定する必要はありません。

この章のサブトピックでは、App Runner がサポートするさまざまなプラットフォームについて説明します。これは、さまざまなプログラミング環境とバージョンにマネージドランタイムを提供する*マネージドプラットフォーム*です。

**Topics**
+ [ソースコードリポジトリプロバイダー](#service-source-code.providers)
+ [ソースディレクトリ](#service-source-code.source-directory)
+ [App Runner マネージドプラットフォーム](#service-source-code.managed-platforms)
+ [マネージドランタイムバージョンのサポート終了](#service-source-code.managed-platforms.eos)
+ [マネージドランタイムバージョンと App Runner ビルド](#service-source-code.build-detail)
+ [Python プラットフォームを使用する](service-source-code-python.md)
+ [Node.js プラットフォームを使用する](service-source-code-nodejs.md)
+ [Java プラットフォームの使用](service-source-code-java.md)
+ [.NET プラットフォームを使用する](service-source-code-net6.md)
+ [PHP プラットフォームを使用する](service-source-code-php.md)
+ [Ruby プラットフォームを使用する](service-source-code-ruby.md)
+ [Go プラットフォームを使用する](service-source-code-go1.md)

## ソースコードリポジトリプロバイダー
<a name="service-source-code.providers"></a>

App Runner は、ソースコードリポジトリから読み取ってソースコードをデプロイします。App Runner は[GitHub](https://github.com/) と [Bitbucket](https://bitbucket.org/) の 2 つのソースコードリポジトリプロバイダーをサポートしています。

### ソースコードリポジトリプロバイダーからのデプロイ
<a name="service-source-code.providers.github"></a>

ソースコードリポジトリから App Runner サービスにソースコードをデプロイするために、App Runner はそれへの接続を確立します。App Runner コンソールを使用して[サービスを作成する](manage-create.md)ときは、App Runner がソースコードをデプロイするための接続の詳細とソースディレクトリを指定します。

**Connections**  
サービス作成手順の一部として接続の詳細を指定します。App Runner API または を使用する場合 AWS CLI、接続は別のリソースです。まず、[CreateConnection](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateConnection.html) API アクションを使用して接続を作成します。次に、[CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API アクションを使用して、サービスの作成時に接続の ARN を指定します。

**ソースディレクトリ**  
サービスを作成するときは、ソースディレクトリも指定します。デフォルトでは、App Runner はリポジトリのルートディレクトリをソースディレクトリとして使用します。ソースディレクトリは、アプリケーションのソースコードと設定ファイルを保存するソースコードリポジトリ内の場所です。ビルドコマンドとスタートコマンドは、ソースディレクトリからも実行されます。App Runner API または を使用してサービス AWS CLI を作成または更新する場合は、[CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) および [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) API アクションでソースディレクトリを指定します。詳細については、次の「[ソースディレクトリ](#service-source-code.source-directory)」セクションを参照してください。

App Runner サービスの作成の詳細については、「」を参照してください[App Runner サービスの作成](manage-create.md)。App Runner 接続の詳細については、「」を参照してください[App Runner 接続の管理](manage-connections.md)。

## ソースディレクトリ
<a name="service-source-code.source-directory"></a>

App Runner サービスを作成するときは、リポジトリとブランチとともにソースディレクトリを指定できます。Source **ディレクトリ**フィールドの値を、アプリケーションのソースコードと設定ファイルを保存するリポジトリディレクトリパスに設定します。App Runner は、指定したソースディレクトリパスからビルドコマンドとスタートコマンドを実行します。

ルートリポジトリディレクトリからソースディレクトリパスの値を絶対として入力します。値を指定しない場合、デフォルトでリポジトリの最上位ディレクトリになります。これはリポジトリルートディレクトリとも呼ばれます。

また、最上位リポジトリディレクトリの他に異なるソースディレクトリパスを指定することもできます。これにより、モノレポリポジトリアーキテクチャがサポートされます。つまり、複数のアプリケーションのソースコードは 1 つのリポジトリに保存されます。単一のモノレポから複数の App Runner サービスを作成してサポートするには、各サービスを作成するときに異なるソースディレクトリを指定します。

**注記**  
複数の App Runner サービスに同じソースディレクトリを指定すると、両方のサービスが個別にデプロイおよび動作します。

`apprunner.yaml` 設定ファイルを使用してサービスパラメータを定義する場合は、リポジトリのソースディレクトリフォルダに配置します。

**デプロイトリガー**オプションが**自動**に設定されている場合、ソースディレクトリでコミットした変更は自動デプロイをトリガーします。*ソースディレクトリパスの変更のみが*自動デプロイをトリガーします。ソースディレクトリの場所が自動デプロイの範囲にどのように影響するかを理解することが重要です。詳細については、「」の*「自動デプロイ*」を参照してください[デプロイ方法](manage-deploy.md#manage-deploy.methods)。

**注記**  
App Runner サービスが PHP マネージドランタイムを使用していて、デフォルトのルートリポジトリ以外のソースディレクトリを指定する場合は、正しい PHP ランタイムバージョンを使用することが重要です。詳細については、「[PHP プラットフォームを使用する](service-source-code-php.md)」を参照してください。

## App Runner マネージドプラットフォーム
<a name="service-source-code.managed-platforms"></a>

App Runner マネージドプラットフォームは、さまざまなプログラミング環境にマネージドランタイムを提供します。各マネージドランタイムを使用すると、プログラミング言語またはランタイム環境のバージョンに基づいてコンテナを簡単に構築して実行できます。マネージドランタイムを使用すると、App Runner はマネージドランタイムイメージで始まります。このイメージは [Amazon Linux Docker イメージ](https://hub.docker.com/_/amazonlinux)に基づいており、言語ランタイムパッケージ、いくつかのツール、一般的な依存関係パッケージが含まれています。App Runner はこのマネージドランタイムイメージをベースイメージとして使用し、アプリケーションコードを追加して Docker イメージを構築します。次に、このイメージをデプロイして、コンテナでウェブサービスを実行します。

 App Runner コンソールまたは [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API オペレーションを使用してサービス[を作成する](manage-create.md)ときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める [App Runner 設定ファイル](config-file.md)で `runtime`キーワードを使用します。マネージドランタイムの命名規則は *<language-name><major-version>* です。

App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。アプリケーションで特定のバージョンのマネージドランタイムが必要な場合は、[App Runner 設定ファイルの](config-file.md) `runtime-version`キーワードを使用して指定できます。メジャーバージョンやマイナーバージョンなど、任意のレベルのバージョンにロックできます。App Runner は、サービスのランタイムに対してのみ低レベルの更新を行います。

## マネージドランタイムバージョンのサポート終了
<a name="service-source-code.managed-platforms.eos"></a>

マネージド言語ランタイムの公式プロバイダーまたはコミュニティがバージョンをサポート終了 (EOL) と公式に宣言すると、App Runner はその後、バージョンステータスを*サポート終了*と宣言します。サポート終了に達したマネージド言語ランタイムバージョンでサービスが実行されている場合、以下のポリシーと推奨事項が適用されます。

**言語ランタイムバージョンのサポート終了:**
+ **既存のサービスは**、サポート終了に達したランタイムを使用しても、引き続きトラフィックを実行し、処理します。ただし、更新、セキュリティパッチ、またはテクニカルサポートを受け取らなくなったサポートされていないランタイムで実行されます。
+ サポート終了ランタイムを使用する**既存のサービスの更新**は引き続き許可されますが、サービスのサポート終了ランタイムを引き続き使用することはお勧めしません。
+ サポート終了日に達したランタイムを使用して**新しいサービス**を作成することはできません。

**サポート終了ステータスの言語ランタイムバージョンに必要なアクション:**
+ サービスが**ソースイメージに基づいて**いる場合、そのサービスのユーザー側でそれ以上のアクションは必要ありません。
+ サービスが**ソースコードに基づいて**いる場合は、サポートされているランタイムバージョンを使用するようにサービス設定を更新します。これを行うには、[App Runner コンソール](https://console.aws.amazon.com/apprunner)でサポートされているランタイムバージョンを選択するか、[apprunner.yaml](config-file.md) 設定ファイルの `runtime`フィールドを更新するか、[CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)/[UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) API オペレーションまたは IaC ツールを使用して `runtime`パラメータを設定します。サポートされているランタイムのリストについては、この章の「特定のランタイムの*リリース情報*」ページを参照してください。
+ または、App Runner の**コンテナイメージソース**オプションに切り替えることもできます。詳細については、[イメージベースのサービス](service-source-image.md)を参照してください。

**注記**  
Node.js 12、14、または 16 から **Node.js 22**、または Python 3.7 または 3.8 から **Python 3.11** に移行する場合は、Node.js 22 および Python 3.11 は、より高速で効率的なビルドを提供する改訂された App Runner ビルドプロセスを使用することに注意してください。アップグレード前に互換性を確保するために、次のセクションの[ビルドプロセスガイダンス](#service-source-code.build-detail)を確認することをお勧めします。

次の表に、サポート終了日が指定されている App Runner マネージドランタイムバージョンを示します。


| **ランタイムバージョン** | **App Runner サポート終了日** | 
| --- | --- | 
|  Python 3.8 [でサポートされているランタイム](service-source-code-python-releases.md)  |  2025 年 12 月 1 日  | 
|  Python 3.7 [でサポートされているランタイム](service-source-code-python-releases.md)  |  2025 年 12 月 1 日  | 
|  Node.js 18 [でサポートされているランタイム](service-source-code-nodejs-releases.md)  |  2025 年 12 月 1 日  | 
|  Node.js 16 [でサポートされているランタイム](service-source-code-nodejs-releases.md)  |  2025 年 12 月 1 日  | 
|  Node.js 14 [でサポートされているランタイム](service-source-code-nodejs-releases.md)  |  2025 年 12 月 1 日  | 
|  Node.js 12 [でサポートされているランタイム](service-source-code-nodejs-releases.md)  |  2025 年 12 月 1 日  | 
|  .NET 6 \$1  |  2025 年 12 月 1 日  | 
|  PHP 8.1 \$1  |  2025 年 12 月 31 日  | 
|  Ruby 3.1 \$1  |  2025 年 12 月 1 日  | 
|  Go 1 \$1  | 2025 年 12 月 1 日 | 

**\$1** App Runner は、アスタリスク (\$1) が付いたランタイムの新しい言語バージョンをリリースしません。これらのランタイムは、.NET、PHP、Ruby、Go です。これらのランタイム用にコードベースのサービスが設定されている場合は、次のいずれかのアクションをお勧めします。
+ 該当する場合は、サービス設定をサポートされている別のマネージドランタイムに切り替えます。
+ または、任意のランタイムバージョンでカスタムコンテナイメージを構築し、App Runner [イメージベースのサービス](service-source-image.md)のオプションを使用してデプロイします。Amazon ECR でイメージをホストできます。

## マネージドランタイムバージョンと App Runner ビルド
<a name="service-source-code.build-detail"></a>

App Runner は、最新のメジャーバージョンランタイムで実行されるアプリケーション用に更新されたビルドプロセスを提供します。この改訂されたビルドプロセスは、より迅速で効率的です。また、アプリケーションの実行に必要なソースコード、ビルドアーティファクト、ランタイムのみを含む、フットプリントが小さい最終イメージを作成します。

新しいビルドプロセスを*改訂された App Runner ビルド*と呼び、元のビルドプロセスを*元の App Runner ビルド*と呼びます。以前のバージョンのランタイムプラットフォームへの重大な変更を避けるために、App Runner は改訂されたビルドを特定のランタイムバージョン、通常は新しくリリースされたメジャーリリースにのみ適用します。

`apprunner.yaml` 設定ファイルに新しいコンポーネントが導入されました。これは、改訂されたビルドを特定のユースケースに対して下位互換性を持たせ、アプリケーションのビルドをより柔軟に設定できるようにするためです。これはオプションの[`pre-run`](config-file-ref.md#config-file-ref.run)パラメータです。このパラメータをいつ使用するか、およびビルドに関するその他の有用な情報を以下のセクションで説明します。

次の表は、特定のマネージドランタイムバージョンに適用される App Runner ビルドのバージョンを示しています。このドキュメントは引き続き更新され、現在のランタイムについてお知らせします。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code.html)

**注記**  
リストされているランタイムの一部には、**サポート終了日**が含まれています。詳細については、「[マネージドランタイムバージョンのサポート終了](#service-source-code.managed-platforms.eos)」を参照してください。

**重要**  
**Python 3.11** – Python 3.11 マネージドランタイムを使用するサービスのビルド設定に関する特定の推奨事項があります。詳細については、*Python プラットフォーム*トピック[特定のランタイムバージョンのコールアウト](service-source-code-python.md#service-source-code-python.callouts)の「」を参照してください。

### App Runner のビルドと移行の詳細
<a name="service-source-code.build-detail.builds-and-migr"></a>

改訂されたビルドを使用する新しいランタイムにアプリケーションを移行する場合、ビルド設定を少し変更する必要がある場合があります。

移行に関する考慮事項のコンテキストを提供するために、最初に元の App Runner ビルドと改訂されたビルドの両方の高レベルプロセスについて説明します。設定の更新が必要になる可能性のあるサービスに関する特定の属性を記述するセクションに続きます。

#### 元の App Runner ビルド
<a name="service-source-code.build-detail.v1"></a>

元の App Runner アプリケーションビルドプロセスは、 AWS CodeBuild サービスを活用します。初期ステップは、CodeBuild サービスによってキュレートされたイメージに基づいています。Docker ビルドプロセスは、該当する App Runner マネージドランタイムイメージをベースイメージとして使用するプロセスに従います。

一般的なステップは次のとおりです。

1. CodeBuild でキュレートされたイメージで`pre-build`コマンドを実行します。

   `pre-build` コマンドはオプションです。`apprunner.yaml` これらは設定ファイルでのみ指定できます。

1. 前のステップと同じイメージで CodeBuild を使用して`build`コマンドを実行します。

   `build` コマンドは必須です。これらは、App Runner コンソール、App Runner API、または`apprunner.yaml`設定ファイルで指定できます。

1. Docker ビルドを実行して、特定のプラットフォームとランタイムバージョンの App Runner マネージドランタイムイメージに基づいてイメージを生成します。

1. **ステップ 2 **で生成したイメージから `/app` ディレクトリをコピーします。送信先は、**ステップ 3 **で生成した App Runner マネージドランタイムイメージに基づくイメージです。

1. 生成された App Runner マネージドランタイムイメージで`build`コマンドを再度実行します。ビルドコマンドを再度実行して、**ステップ 4 **でコピーした`/app`ディレクトリのソースコードからビルドアーティファクトを生成します。このイメージは、後で App Runner によってデプロイされ、コンテナでウェブサービスを実行します。

   `build` コマンドは必須です。これらは、App Runner コンソール、App Runner API、または`apprunner.yaml`設定ファイルで指定できます。

1. **ステップ 2** の CodeBuild イメージで`post-build`コマンドを実行します。

   `post-build` コマンドはオプションです。`apprunner.yaml` これらは設定ファイルでのみ指定できます。

ビルドが完了すると、App Runner は**ステップ 5 **で生成された App Runner マネージドランタイムイメージをデプロイして、コンテナでウェブサービスを実行します。

#### 改訂された App Runner ビルド
<a name="service-source-code.build-detail.v2"></a>

改訂されたビルドプロセスは、前のセクションで説明した元のビルドプロセスよりも高速で効率的です。これにより、以前のバージョンビルドで発生するビルドコマンドの重複がなくなります。また、アプリケーションの実行に必要なソースコード、ビルドアーティファクト、ランタイムのみを含む、フットプリントが小さい最終イメージを作成します。

このビルドプロセスでは、Docker マルチステージビルドを使用します。一般的なプロセスステップは次のとおりです。

1. **ビルドステージ** — App Runner ビルドイメージ上で `pre-build`および `build` コマンドを実行する docker ビルドプロセスを開始します。

   1. アプリケーションのソースコードを `/app` ディレクトリにコピーします。
**注記**  
この`/app`ディレクトリは、Docker ビルドのすべてのステージで作業ディレクトリとして指定されます。

   1. `pre-build` コマンドを実行します。

      コマンドは`pre-build`オプションです。`apprunner.yaml` これらは設定ファイルでのみ指定できます。

   1. `build` コマンドを実行します。

      `build` コマンドは必須です。これらは、App Runner コンソール、App Runner API、または`apprunner.yaml`設定ファイルで指定できます。

1. **パッケージングステージ** — App Runner 実行イメージにも基づいている、最終的な顧客コンテナイメージを生成します。

   1. ディレクトリを以前の**ビルドステージ**`/app`から新しい実行イメージにコピーします。これには、アプリケーションのソースコードと前のステージのビルドアーティファクトが含まれます。

   1. `pre-run` コマンドを実行します。`build` コマンドを使用して`/app`ディレクトリの外部でランタイムイメージを変更する必要がある場合は、`apprunner.yaml`設定ファイルのこのセグメントに同じコマンドまたは必要なコマンドを追加します。

      これは、改訂された App Runner ビルドをサポートするために導入された新しいパラメータです。

      `pre-run` コマンドはオプションです。`apprunner.yaml` これらは設定ファイルでのみ指定できます。
**注意事項**  
`pre-run` コマンドは、改訂されたビルドでのみサポートされます。サービスが元のビルドを使用するランタイムバージョンを使用している場合は、設定ファイルに追加しないでください。
`build` コマンドを使用して`/app`ディレクトリの外部を変更する必要がない場合は、`pre-run`コマンドを指定する必要はありません。

1. **ビルド後ステージ** — このステージは*ビルドステージ*から再開し、`post-build`コマンドを実行します。

   1. `/app` ディレクトリ内で`post-build`コマンドを実行します。

      `post-build` コマンドはオプションです。`apprunner.yaml` これらは設定ファイルでのみ指定できます。

ビルドが完了すると、App Runner は Run イメージをデプロイして、コンテナでウェブサービスを実行します。

**注記**  
ビルドプロセスを設定する`apprunner.yaml`ときに、 の実行セクションの`env`エントリに誤解しないでください。**ステップ 2 (b) **で参照される `pre-run` コマンドパラメータは Run セクションにありますが、Run セクションの `env`パラメータを使用してビルドを設定しないでください。`pre-run` コマンドは、設定ファイルのビルドセクションで定義されている`env`変数のみを参照します。詳細については、*App Runner 設定ファイルの章*[実行セクション](config-file-ref.md#config-file-ref.run)の「」を参照してください。

#### 移行に関する考慮事項のサービス要件
<a name="service-source-code.build-detail.migrating"></a>

アプリケーション環境にこれら 2 つの要件のいずれかがある場合は、 `pre-run` コマンドを追加してビルド設定を修正する必要があります。
+ `build` コマンドを使用して`/app`ディレクトリの外部を変更する必要がある場合。
+ コマンドを 2 `build`回実行して必要な環境を作成する必要がある場合。これは非常にまれな要件です。ほとんどのビルドはこれを行いません。

**`/app` ディレクトリ外の変更**
+ [改訂された App Runner ビルド](#service-source-code.build-detail.v2)では、アプリケーションに `/app` ディレクトリ外の依存関係がないことを前提としています。
+ `apprunner.yaml` ファイル、App Runner API、または App Runner コンソールで指定するコマンドは、 `/app` ディレクトリにビルドアーティファクトを生成する必要があります。
+ `pre-build`、、および `post-build` コマンドを変更して`build`、すべてのビルドアーティファクトが `/app` ディレクトリにあることを確認できます。
+ アプリケーションのビルドで、 サービスの生成されたイメージを `/app` ディレクトリの外部でさらに変更する必要がある場合は、 で新しい`pre-run`コマンドを使用できます`apprunner.yaml`。詳細については、「[設定ファイルを使用した App Runner サービスオプションの設定](config-file.md)」を参照してください。

**`build` コマンドを 2 回実行する**
+ [元の App Runner ビルド](#service-source-code.build-detail.v1)は、最初にステップ 2、次に**ステップ 5** で`build`コマンドを 2 回実行します。 ****改訂された App Runner ビルドは、この冗長性を修復し、`build`コマンドを 1 回だけ実行します。アプリケーションに`build`コマンドを 2 回実行するための異常な要件がある場合、改訂された App Runner ビルドには、 `pre-run`パラメータを使用して同じコマンドを再度指定して実行するオプションが用意されています。これにより、同じダブルビルド動作が保持されます。

# Python プラットフォームを使用する
<a name="service-source-code-python"></a>

**重要**  
App Runner は、2025 **年 12 月 1 日に Python 3.7** および **Python 3.8** のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

Python AWS App Runner プラットフォームはマネージドランタイムを提供します。各ランタイムにより、Python バージョンに基づいてウェブアプリケーションを使用してコンテナを簡単に構築および実行できます。Python ランタイムを使用すると、App Runner はマネージド Python ランタイムイメージから開始します。このイメージは [Amazon Linux Docker イメージ](https://hub.docker.com/_/amazonlinux)に基づいており、Python のバージョン用のランタイムパッケージと、いくつかのツールと一般的な依存関係パッケージが含まれています。App Runner はこのマネージドランタイムイメージをベースイメージとして使用し、アプリケーションコードを追加して Docker イメージを構築します。次に、このイメージをデプロイして、コンテナでウェブサービスを実行します。

 App Runner コンソールまたは [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API オペレーションを使用してサービス[を作成する](manage-create.md)ときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める [App Runner 設定ファイル](config-file.md)で `runtime`キーワードを使用します。マネージドランタイムの命名規則は *<language-name><major-version>* です。

有効な Python ランタイム名とバージョンについては、「」を参照してください[Python ランタイムリリース情報](service-source-code-python-releases.md)。

App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。アプリケーションで特定のバージョンのマネージドランタイムが必要な場合は、[App Runner 設定ファイルの](config-file.md) `runtime-version`キーワードを使用して指定できます。メジャーバージョンやマイナーバージョンなど、任意のレベルのバージョンにロックできます。App Runner は、サービスのランタイムに対してのみ低レベルの更新を行います。

Python ランタイムのバージョン構文: `major[.minor[.patch]]`

例: `3.8.5`

次の例は、バージョンロックを示しています。
+ `3.8` – メジャーバージョンとマイナーバージョンをロックします。App Runner はパッチバージョンのみを更新します。
+ `3.8.5` – 特定のパッチバージョンにロックします。App Runner はランタイムバージョンを更新しません。

**Topics**
+ [Python ランタイム設定](#service-source-code-python.config)
+ [特定のランタイムバージョンのコールアウト](#service-source-code-python.callouts)
+ [Python ランタイムの例](#service-source-code-python.examples)
+ [Python ランタイムリリース情報](service-source-code-python-releases.md)

## Python ランタイム設定
<a name="service-source-code-python.config"></a>

マネージドランタイムを選択するときは、少なくとも コマンドを構築して実行することも設定する必要があります。App Runner サービス[を作成](manage-create.md)または[更新](manage-configure.md)するときに設定します。これは、次のいずれかの方法を使用して実行できます。
+ **App Runner コンソールの使用** – 作成プロセスまたは設定タブの**ビルドの設定**セクションでコマンドを指定します。
+ **App Runner API の使用** – [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) または [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) API オペレーションを呼び出します。[CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html) データ型の `BuildCommand`および `StartCommand`メンバーを使用してコマンドを指定します。
+ **[設定ファイル](config-file.md)の使用** – 最大 3 つのビルドフェーズで 1 つ以上のビルドコマンドと、アプリケーションを起動する 1 つの実行コマンドを指定します。追加のオプションの設定があります。

設定ファイルの提供はオプションです。コンソールまたは API を使用して App Runner サービスを作成する場合、App Runner が作成時に設定を直接取得するか、設定ファイルから取得するかを指定します。

## 特定のランタイムバージョンのコールアウト
<a name="service-source-code-python.callouts"></a>

**注記**  
App Runner は、Python 3.11、Node.js 22、Node.js 18 のランタイムバージョンに基づいて、アプリケーションの更新されたビルドプロセスを実行するようになりました。アプリケーションがこれらのランタイムバージョンのいずれかで実行されている場合、改訂されたビルドプロセス[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)の詳細については、「」を参照してください。他のすべてのランタイムバージョンを使用するアプリケーションは影響を受けず、元のビルドプロセスを引き続き使用します。

### Python 3.11 (App Runner ビルドの改訂)
<a name="service-source-code-python.callouts.python311"></a>

マネージド Python 3.11 ランタイムには、*apprunner.yaml* で次の設定を使用します。
+ トップセクションの `runtime` キーを に設定します。 `python311`  
**Example**  

  ```
  runtime: python311
  ```
+ 依存関係をインストールする`pip`には、 `pip3`の代わりに を使用します。
+ の代わりに `python3` インタープリタを使用します`python`。
+ `pip3` インストーラを`pre-run`コマンドとして実行します。Python は`/app`、 ディレクトリの外部に依存関係をインストールします。App Runner は Python 3.11 用に改訂された App Runner ビルドを実行するため、`apprunner.yaml`ファイルのビルドセクションのコマンドを使用して`/app`ディレクトリの外部にインストールされたすべてのものは失われます。詳細については、「[改訂された App Runner ビルド](service-source-code.md#service-source-code.build-detail.v2)」を参照してください。  
**Example**  

  ```
  run:
    runtime-version: 3.11
    pre-run:  
      - pip3 install pipenv
      - pipenv install
      - python3 copy-global-files.py
    command: pipenv run gunicorn django_apprunner.wsgi --log-file -
  ```

詳細については、このトピック[の後半にある Python 3.11 用の拡張設定ファイルの例](#service-source-code-python.examples.extended-v2)も参照してください。

## Python ランタイムの例
<a name="service-source-code-python.examples"></a>

次の例は、Python サービスを構築および実行するための App Runner 設定ファイルを示しています。最後の例は、Python ランタイムサービスにデプロイできる完全な Python アプリケーションのソースコードです。

**注記**  
これらの例で使用されるランタイムバージョンは *3.7.7* および *3.11* です。使用するバージョンに置き換えることができます。サポートされている最新の Python ランタイムバージョンについては、「」を参照してください[Python ランタイムリリース情報](service-source-code-python-releases.md)。

### 最小 Python 設定ファイル
<a name="service-source-code-python.examples.minimal"></a>

この例では、Python マネージドランタイムで使用できる最小限の設定ファイルを示しています。App Runner が最小限の設定ファイルで行う前提については、「」を参照してください[設定ファイルの例](config-file-examples.md#config-file-examples.managed)。

Python 3.11 では、 コマンド`pip3`と `python3` コマンドを使用します。詳細については、このトピックの後半にある [Python 3.11 用の拡張設定ファイルの例](#service-source-code-python.examples.extended-v2)を参照してください。

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3 
build:
  commands:
    build:
      - pip install pipenv
      - pipenv install 
run: 
  command: python app.py
```

### 拡張 Python 設定ファイル
<a name="service-source-code-python.examples.extended"></a>

この例では、Python マネージドランタイムですべての設定キーを使用する方法を示します。

**注記**  
これらの例で使用されるランタイムバージョンは *3.7.7* です。使用するバージョンに置き換えることができます。サポートされている最新の Python ランタイムバージョンについては、「」を参照してください[Python ランタイムリリース情報](service-source-code-python-releases.md)。  
Python 3.11 では、 コマンド`pip3`と `python3` コマンドを使用します。詳細については、このトピックの後半にある Python 3.11 用の拡張設定ファイルの例を参照してください。

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3 
build:
  commands:
    pre-build:
      - wget -c https://s3.amazonaws.com/amzn-s3-demo-bucket/test-lib.tar.gz -O - | tar -xz
    build:        
      - pip install pipenv
      - pipenv install
    post-build:
      - python manage.py test
  env:
    - name: DJANGO_SETTINGS_MODULE
      value: "django_apprunner.settings"
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 3.7.7
  command: pipenv run gunicorn django_apprunner.wsgi --log-file -
  network: 
    port: 8000
    env: MY_APP_PORT  
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
  secrets:
    - name: my-secret
      value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::"
    - name: my-parameter
      value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name"
    - name: my-parameter-only-name
      value-from: "parameter-name"
```

### 拡張 Python 設定ファイル — Python 3.11 (改訂されたビルドを使用)
<a name="service-source-code-python.examples.extended-v2"></a>

この例では、 で Python 3.11 マネージドランタイムを使用するすべての設定キーの使用を示しています`apprunner.yaml`。この例では、このバージョンの Python は改訂された App Runner ビルドを使用するため、 `pre-run`セクションが含まれています。

`pre-run` パラメータは、改訂された App Runner ビルドでのみサポートされます。アプリケーションが元の App Runner ビルドでサポートされているランタイムバージョンを使用している場合は、このパラメータを設定ファイルに挿入しないでください。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。

**注記**  
これらの例で使用されるランタイムバージョンは *3.11* です。使用するバージョンに置き換えることができます。サポートされている最新の Python ランタイムバージョンについては、「」を参照してください[Python ランタイムリリース情報](service-source-code-python-releases.md)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: python311
build:
  commands:
    pre-build:
      - wget -c https://s3.amazonaws.com/amzn-s3-demo-bucket/test-lib.tar.gz -O - | tar -xz
    build:        
      - pip3 install pipenv
      - pipenv install
    post-build:
      - python3 manage.py test
  env:
    - name: DJANGO_SETTINGS_MODULE
      value: "django_apprunner.settings"
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 3.11
  pre-run:  
    - pip3 install pipenv
    - pipenv install
    - python3 copy-global-files.py
  command: pipenv run gunicorn django_apprunner.wsgi --log-file -
  network: 
    port: 8000
    env: MY_APP_PORT  
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
  secrets:
    - name: my-secret
      value-from: "arn:aws:secretsmanager:us-east-1:123456789012:secret:testingstackAppRunnerConstr-kJFXde2ULKbT-S7t8xR:username::"
    - name: my-parameter
      value-from: "arn:aws:ssm:us-east-1:123456789012:parameter/parameter-name"
    - name: my-parameter-only-name
      value-from: "parameter-name"
```

### 完全な Python アプリケーションソース
<a name="service-source-code-python.examples.end2end"></a>

この例では、Python ランタイムサービスにデプロイできる完全な Python アプリケーションのソースコードを示します。

**Example requirements.txt**  

```
pyramid==2.0
```

**Example server.py**  

```
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
import os

def hello_world(request):
    name = os.environ.get('NAME')
    if name == None or len(name) == 0:
        name = "world"
    message = "Hello, " + name + "!\n"
    return Response(message)

if __name__ == '__main__':
    port = int(os.environ.get("PORT"))
    with Configurator() as config:
        config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()
    server = make_server('0.0.0.0', port, app)
    server.serve_forever()
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: python3
build:
  commands:
    build:
      - pip install -r requirements.txt
run:
  command: python server.py
```

# Python ランタイムリリース情報
<a name="service-source-code-python-releases"></a>

**重要**  
App Runner は、2025 **年 12 月 1 日に Python 3.7** および **Python 3.8** のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

このトピックでは、App Runner がサポートする Python ランタイムバージョンの詳細を一覧表示します。


**サポートされているランタイムバージョン — App Runner ビルドの改訂**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-python-releases.html)

**注意事項**  
**Python 3.11** – Python 3.11 マネージドランタイムを使用するサービスのビルド設定に関する特定の推奨事項があります。詳細については、*Python プラットフォーム*トピック[特定のランタイムバージョンのコールアウト](service-source-code-python.md#service-source-code-python.callouts)の「」を参照してください。
App Runner は、最近リリースされた特定のメジャーランタイムのビルドプロセスを改訂しました。このため、このドキュメントの特定のセクションに、*改訂された App Runner ビルド*と*元の App Runner ビルド*への参照が表示されます。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。


**サポートされているランタイムバージョン — 元の App Runner ビルド**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-python-releases.html)

**注記**  
App Runner は、最近リリースされた特定のメジャーランタイムのビルドプロセスを改訂しました。このため、このドキュメントの特定のセクションに、*改訂された App Runner ビルド*と*元の App Runner ビルド*への参照が表示されます。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。

# Node.js プラットフォームを使用する
<a name="service-source-code-nodejs"></a>

**重要**  
App Runner は、20**25 年 12 月 1 日に Node.js** 12、**Node.js 14**、**Node.js 16**、**Node.js 18 **のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

 AWS App Runner Node.js プラットフォームはマネージドランタイムを提供します。各ランタイムにより、Node.js バージョンに基づいてウェブアプリケーションでコンテナを簡単に構築して実行できます。Node.js ランタイムを使用すると、App Runner はマネージド Node.js ランタイムイメージで始まります。このイメージは [Amazon Linux Docker イメージ](https://hub.docker.com/_/amazonlinux)に基づいており、Node.js のバージョンと一部のツールのランタイムパッケージが含まれています。App Runner はこのマネージドランタイムイメージをベースイメージとして使用し、アプリケーションコードを追加して Docker イメージを構築します。次に、このイメージをデプロイして、コンテナでウェブサービスを実行します。

 App Runner コンソールまたは [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API オペレーションを使用してサービス[を作成する](manage-create.md)ときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める [App Runner 設定ファイル](config-file.md)で `runtime`キーワードを使用します。マネージドランタイムの命名規則は *<language-name><major-version>* です。

有効な Node.js ランタイム名とバージョンについては、「」を参照してください[Node.js ランタイムリリース情報](service-source-code-nodejs-releases.md)。

App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。アプリケーションで特定のバージョンのマネージドランタイムが必要な場合は、[App Runner 設定ファイルの](config-file.md) `runtime-version`キーワードを使用して指定できます。メジャーバージョンやマイナーバージョンなど、任意のレベルのバージョンにロックできます。App Runner は、サービスのランタイムに対してのみ低レベルの更新を行います。

Node.js ランタイムのバージョン構文: `major[.minor[.patch]]`

例: `22.14.0`

次の例は、バージョンロックを示しています。
+ `22.14` – メジャーバージョンとマイナーバージョンをロックします。App Runner はパッチバージョンのみを更新します。
+ `22.14.0` – 特定のパッチバージョンにロックします。App Runner はランタイムバージョンを更新しません。

**Topics**
+ [Node.js ランタイム設定](#service-source-code-nodejs.config)
+ [特定のランタイムバージョンのコールアウト](#service-source-code-nodejs.callouts)
+ [Node.js ランタイムの例](#service-source-code-nodejs.examples)
+ [Node.js ランタイムリリース情報](service-source-code-nodejs-releases.md)

## Node.js ランタイム設定
<a name="service-source-code-nodejs.config"></a>

マネージドランタイムを選択する場合は、少なくとも コマンドを構築して実行するように設定する必要があります。App Runner サービス[を作成](manage-create.md)または[更新](manage-configure.md)するときに設定します。これを行うには、次のいずれかの方法を使用します。
+ **App Runner コンソールの使用** – 作成プロセスまたは設定タブの**ビルドの設定**セクションでコマンドを指定します。
+ **App Runner API の使用** – [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) または [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) API オペレーションを呼び出します。[CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html) データ型の `BuildCommand`および `StartCommand`メンバーを使用してコマンドを指定します。
+ **[設定ファイル](config-file.md)の使用** – 最大 3 つのビルドフェーズで 1 つ以上のビルドコマンドと、アプリケーションを起動する 1 つの実行コマンドを指定します。追加のオプションの設定があります。

設定ファイルの提供はオプションです。コンソールまたは API を使用して App Runner サービスを作成する場合、App Runner が作成時に設定を直接取得するか、設定ファイルから取得するかを指定します。

Node.js ランタイムでは、ソースリポジトリのルート`package.json`にある という名前の JSON ファイルを使用してビルドとランタイムを設定することもできます。このファイルを使用して、Node.js エンジンのバージョン、依存関係パッケージ、およびさまざまなコマンド (コマンドラインアプリケーション) を設定できます。npm や yarn などのパッケージマネージャーは、このファイルをコマンドの入力として解釈します。

例えば、次のようになります。
+ **npm install** は、 の `dependencies`および `devDependencies`ノードで定義されたパッケージをインストールします`package.json`。
+ **npm start** または は、 の`scripts/start`ノードで定義されたコマンド**npm run start**を実行します`package.json`。

次は、`package.json` ファイルの例です。

### package.json
<a name="service-source-code-nodejs.config.package-json-example"></a>

```
{
  "name": "node-js-getting-started",
  "version": "0.3.0",
  "description": "A sample Node.js app using Express 4",
  "engines": {
    "node": "22.14.0"
  },
  "scripts": {
    "start": "node index.js",
    "test": "node test.js"
  },
  "dependencies": {
    "cool-ascii-faces": "^1.3.4",
    "ejs": "^2.5.6",
    "express": "^4.15.2"
  },
  "devDependencies": {
    "got": "^11.3.0",
    "tape": "^4.7.0"
  }
}
```

の詳細については`package.json`、*npm Docs* ウェブサイト[の package.json ファイル](https://docs.npmjs.com/creating-a-package-json-file)の作成を参照してください。

**ヒント**  
`package.json` ファイルが**start**コマンドを定義する場合は、次の例に示すように、App Runner 設定ファイルの**run**コマンドとして使用できます。  

**Example**  
package.json  

  ```
  {
    "scripts": {
      "start": "node index.js"
    }
  }
  ```
apprunner.yaml  

  ```
  run:
    command: npm start
  ```
**npm install** 開発環境で を実行すると、npm はファイル を作成します`package-lock.json`。このファイルには、インストールしたばかりのパッケージバージョンのスナップショットが含まれています。その後、npm が依存関係をインストールすると、これらの正確なバージョンが使用されます。yarn をインストールすると、 `yarn.lock` ファイルが作成されます。これらのファイルをソースコードリポジトリにコミットして、アプリケーションが開発してテストした依存関係のバージョンでインストールされていることを確認します。
App Runner 設定ファイルを使用して Node.js バージョンを設定し、コマンドを開始することもできます。これを行うと、これらの定義は の定義よりも優先されます`package.json`。App Runner 設定ファイルの `node`バージョン`package.json`と `runtime-version`値の間に競合があると、App Runner ビルドフェーズが失敗します。

## 特定のランタイムバージョンのコールアウト
<a name="service-source-code-nodejs.callouts"></a>

### Node.js 22 および Node.js 18 (App Runner ビルドの改訂)
<a name="service-source-code-nodejs.callouts.nodejs18"></a>

App Runner は、Python 3.11、Node.js 22、Node.js 18 のランタイムバージョンに基づいて、アプリケーションの更新されたビルドプロセスを実行するようになりました。アプリケーションがこれらのランタイムバージョンのいずれかで実行されている場合、改訂されたビルドプロセス[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)の詳細については、「」を参照してください。他のすべてのランタイムバージョンを使用するアプリケーションは影響を受けず、元のビルドプロセスを引き続き使用します。

## Node.js ランタイムの例
<a name="service-source-code-nodejs.examples"></a>

次の例は、Node.js サービスを構築および実行するための App Runner 設定ファイルを示しています。

**注記**  
これらの例で使用されるランタイムバージョンは *22.14.0* です。使用するバージョンに置き換えることができます。サポートされている最新の Node.js ランタイムバージョンについては、「」を参照してください[Node.js ランタイムリリース情報](service-source-code-nodejs-releases.md)。

### 最小 Node.js 設定ファイル
<a name="service-source-code-nodejs.examples.minimal"></a>

この例では、Node.js マネージドランタイムで使用できる最小限の設定ファイルを示しています。App Runner が最小限の設定ファイルで行う前提については、「」を参照してください[設定ファイルの例](config-file-examples.md#config-file-examples.managed)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: nodejs22
build:
  commands:    
    build:
      - npm install --production                                  
run:                              
  command: node app.js
```

### 拡張 Node.js 設定ファイル
<a name="service-source-code-nodejs.examples.extended"></a>

この例では、Node.js マネージドランタイムですべての設定キーを使用する方法を示します。

**注記**  
これらの例で使用されるランタイムバージョンは *22.14.0* です。使用するバージョンに置き換えることができます。サポートされている最新の Node.js ランタイムバージョンについては、「」を参照してください[Node.js ランタイムリリース情報](service-source-code-nodejs-releases.md)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: nodejs22
build:
  commands:
    pre-build:
      - npm install --only=dev
      - node test.js
    build:
      - npm install --production
    post-build:
      - node node_modules/ejs/postinstall.js
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 22.14.0
  command: node app.js
  network:
    port: 8000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### 拡張 Node.js 設定ファイル – Node.js 22 (改訂されたビルドを使用)
<a name="service-source-code-nodejs.examples.extended-v2"></a>

この例では、 で Node.js マネージドランタイムを使用するすべての設定キーの使用を示しています`apprunner.yaml`。この例では、このバージョンの Node.js は改訂された App Runner ビルドを使用するため、 `pre-run`セクションが含まれています。

`pre-run` パラメータは、改訂された App Runner ビルドでのみサポートされます。アプリケーションが元の App Runner ビルドでサポートされているランタイムバージョンを使用している場合は、このパラメータを設定ファイルに挿入しないでください。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。

**注記**  
これらの例で使用されるランタイムバージョンは *22.14.0* です。使用するバージョンに置き換えることができます。サポートされている最新の Node.js ランタイムバージョンについては、「」を参照してください[Node.js ランタイムリリース情報](service-source-code-nodejs-releases.md)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: nodejs22
build:
  commands:
    pre-build:
      - npm install --only=dev
      - node test.js
    build:
      - npm install --production
    post-build:
      - node node_modules/ejs/postinstall.js
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 22.14.0
  pre-run: 
    - node copy-global-files.js
  command: node app.js
  network:
    port: 8000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### Grunt を使用した Node.js アプリ
<a name="service-source-code-nodejs.examples.grunt"></a>

この例では、Grunt で開発された Node.js アプリケーションを設定する方法を示します。[Grunt](https://gruntjs.com/) はコマンドライン JavaScript タスクランナーです。反復タスクを実行し、プロセスの自動化を管理して、人為的ミスを減らします。Grunt プラグインと Grunt プラグインは、npm を使用してインストールおよび管理されます。Grunt を設定するには、ソースリポジトリのルートに `Gruntfile.js` ファイルを含めます。

**Example package.json**  

```
{
  "scripts": {
    "build": "grunt uglify",
    "start": "node app.js"
  },
  "devDependencies": {
    "grunt": "~0.4.5",
    "grunt-contrib-jshint": "~0.10.0",
    "grunt-contrib-nodeunit": "~0.4.1",
    "grunt-contrib-uglify": "~0.5.0"
  },
  "dependencies": {
    "express": "^4.15.2"
  },
}
```

**Example Gruntfile.js**  

```
module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify: {
      options: {
        banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
      },
      build: {
        src: 'src/<%= pkg.name %>.js',
        dest: 'build/<%= pkg.name %>.min.js'
      }
    }
  });

  // Load the plugin that provides the "uglify" task.
  grunt.loadNpmTasks('grunt-contrib-uglify');

  // Default task(s).
  grunt.registerTask('default', ['uglify']);

};
```

**Example apprunner.yaml**  
これらの例で使用されるランタイムバージョンは *22.14.0* です。使用するバージョンに置き換えることができます。サポートされている最新の Node.js ランタイムバージョンについては、「」を参照してください[Node.js ランタイムリリース情報](service-source-code-nodejs-releases.md)。

```
version: 1.0
runtime: nodejs22
build:
  commands:
    pre-build:
      - npm install grunt grunt-cli
      - npm install --only=dev
      - npm run build
    build:
      - npm install --production
run:
  runtime-version: 22.14.0
  command: node app.js
  network:
    port: 8000
    env: APP_PORT
```

# Node.js ランタイムリリース情報
<a name="service-source-code-nodejs-releases"></a>

**重要**  
App Runner は、20**25 年 12 月 1 日に Node.js** 12、**Node.js 14**、**Node.js 16**、**Node.js 18 **のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

**注記**  
App Runner の標準的な非推奨ポリシーは、ランタイムの主要コンポーネントがコミュニティ長期サポート (LTS) が終了し、セキュリティ更新プログラムが利用できなくなったときに、ランタイムを非推奨にすることです。場合によっては、App Runner は、ランタイムでサポートされている言語バージョンのend-of-supportを超えて、限られた期間ランタイムの非推奨化を遅らせることがあります。このようなケースの例としては、ランタイムのサポートを拡張して、お客様が移行の時間を確保できることが挙げられます。

このトピックでは、App Runner がサポートする Node.js ランタイムバージョンの詳細を一覧表示します。


**サポートされているランタイムバージョン — App Runner ビルドの改訂**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-nodejs-releases.html)

**注記**  
App Runner は、最近リリースされた特定のメジャーランタイムのビルドプロセスを改訂しました。このため、このドキュメントの特定のセクションに、*改訂された App Runner ビルド*と*元の App Runner ビルド*への参照が表示されます。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。


**サポートされているランタイムバージョン — App Runner ビルドの改訂**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-nodejs-releases.html)




**サポートされているランタイムバージョン — 元の App Runner ビルド**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-nodejs-releases.html)

# Java プラットフォームの使用
<a name="service-source-code-java"></a>

Java AWS App Runner プラットフォームはマネージドランタイムを提供します。各ランタイムにより、Java バージョンに基づいてウェブアプリケーションでコンテナを簡単に構築して実行できます。Java ランタイムを使用すると、App Runner はマネージド Java ランタイムイメージから開始します。このイメージは [Amazon Linux Docker イメージ](https://hub.docker.com/_/amazonlinux)に基づいており、Java のバージョンと一部のツールのランタイムパッケージが含まれています。App Runner はこのマネージドランタイムイメージをベースイメージとして使用し、アプリケーションコードを追加して Docker イメージを構築します。次に、このイメージをデプロイして、コンテナでウェブサービスを実行します。

 App Runner コンソールまたは [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API オペレーションを使用してサービス[を作成する](manage-create.md)ときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める [App Runner 設定ファイル](config-file.md)で `runtime`キーワードを使用します。マネージドランタイムの命名規則は *<language-name><major-version>* です。

現時点では、サポートされているすべての Java ランタイムは Amazon Corretto に基づいています。有効な Java ランタイム名とバージョンについては、「」を参照してください[Java ランタイムリリース情報](service-source-code-java-releases.md)。

App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。アプリケーションで特定のバージョンのマネージドランタイムが必要な場合は、[App Runner 設定ファイルの](config-file.md) `runtime-version`キーワードを使用して指定できます。メジャーバージョンやマイナーバージョンなど、任意のレベルのバージョンにロックできます。App Runner は、サービスのランタイムに対してのみ低レベルの更新を行います。

Amazon Corretto ランタイムのバージョン構文:


| **ランタイム** | **[Syntax]** (構文) | **例** | 
| --- | --- | --- | 
|  corretto11  |  `11.0[.openjdk-update[.openjdk-build[.corretto-specific-revision]]]`  |  `11.0.13.08.1`  | 
|  corretto8  |  `8[.openjdk-update[.openjdk-build[.corretto-specific-revision]]]`  |  `8.312.07.1`  | 

次の例は、バージョンロックを示しています。
+ `11.0.13` – Open JDK 更新バージョンをロックします。App Runner は Open JDK と Amazon Corretto の下位レベルのビルドのみを更新します。
+ `11.0.13.08.1` – 特定のバージョンにロックします。App Runner はランタイムバージョンを更新しません。

**Topics**
+ [Java ランタイム設定](#service-source-code-java.config)
+ [Java ランタイムの例](#service-source-code-java.examples)
+ [Java ランタイムリリース情報](service-source-code-java-releases.md)

## Java ランタイム設定
<a name="service-source-code-java.config"></a>

マネージドランタイムを選択するときは、少なくとも コマンドを構築して実行することも設定する必要があります。App Runner サービス[を作成](manage-create.md)または[更新](manage-configure.md)するときに設定します。これは、次のいずれかの方法を使用して実行できます。
+ **App Runner コンソールの使用** – 作成プロセスまたは設定タブの**ビルドの設定**セクションでコマンドを指定します。
+ **App Runner API の使用** – [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) または [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) API オペレーションを呼び出します。[CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html) データ型の `BuildCommand`および `StartCommand`メンバーを使用してコマンドを指定します。
+ **[設定ファイル](config-file.md)の使用** – 最大 3 つのビルドフェーズで 1 つ以上のビルドコマンドと、アプリケーションを起動する 1 つの実行コマンドを指定します。追加のオプションの設定があります。

設定ファイルの提供はオプションです。コンソールまたは API を使用して App Runner サービスを作成する場合、App Runner が作成時に設定を直接取得するか、設定ファイルから取得するかを指定します。

## Java ランタイムの例
<a name="service-source-code-java.examples"></a>

次の例は、Java サービスを構築および実行するための App Runner 設定ファイルを示しています。最後の例は、Corretto 11 ランタイムサービスにデプロイできる完全な Java アプリケーションのソースコードです。

**注記**  
これらの例で使用されるランタイムバージョンは *11.0.13.08.1* です。使用するバージョンに置き換えることができます。サポートされている最新の Java ランタイムバージョンについては、「」を参照してください[Java ランタイムリリース情報](service-source-code-java-releases.md)。

### 最小 Corretto 11 設定ファイル
<a name="service-source-code-java.examples.minimal"></a>

この例では、Corretto 11 マネージドランタイムで使用できる最小限の設定ファイルを示しています。App Runner が最小限の設定ファイルで行う前提については、「」を参照してください。

**Example apprunner.yaml**  

```
version: 1.0
runtime: corretto11
build:
  commands:    
    build:
      - mvn clean package
run:                              
  command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar .
```

### 拡張 Corretto 11 設定ファイル
<a name="service-source-code-java.examples.extended"></a>

この例では、Corretto 11 マネージドランタイムですべての設定キーを使用する方法を示します。

**注記**  
これらの例で使用されるランタイムバージョンは *11.0.13.08.1* です。使用するバージョンに置き換えることができます。サポートされている最新の Java ランタイムバージョンについては、「」を参照してください[Java ランタイムリリース情報](service-source-code-java-releases.md)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: corretto11
build:
  commands:
    pre-build:
      - yum install some-package
      - scripts/prebuild.sh
    build:
      - mvn clean package
    post-build:
      - mvn clean test
  env:
    - name: M2
      value: "/usr/local/apache-maven/bin"
    - name: M2_HOME
      value: "/usr/local/apache-maven/bin"
run:
  runtime-version: 11.0.13.08.1
  command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar .
  network:
    port: 8000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### Corretto 11 アプリケーションソースを完了する
<a name="service-source-code-java.examples.end2end"></a>

この例では、Corretto 11 ランタイムサービスにデプロイできる完全な Java アプリケーションのソースコードを示します。

**Example src/main/java/com/HelloWorld/HelloWorld.java**  

```
package com.HelloWorld;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloWorld {

    @RequestMapping("/")
    public String index(){
        String s = "Hello World";
        return s;
    }
}
```

**Example src/main/java/com/HelloWorld/Main.java**  

```
package com.HelloWorld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Main {

    public static void main(String[] args) {

        SpringApplication.run(Main.class, args);
    }
}
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: corretto11
build:
  commands:    
    build:
      - mvn clean package
run:                              
  command: java -Xms256m -jar target/HelloWorldJavaApp-1.0-SNAPSHOT.jar .
  network:
    port: 8080
```

**Example pom.xml**  

```
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.1.RELEASE</version>
    <relativePath/>
  </parent>
  <groupId>com.HelloWorld</groupId>
  <artifactId>HelloWorldJavaApp</artifactId>
  <version>1.0-SNAPSHOT</version>

  <properties>
    <java.version>11</java.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-rest</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
      <exclusions>
        <exclusion>
          <groupId>org.junit.vintage</groupId>
          <artifactId>junit-vintage-engine</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
        <configuration>
          <release>11</release>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
```

# Java ランタイムリリース情報
<a name="service-source-code-java-releases"></a>

このトピックでは、App Runner がサポートする Java ランタイムバージョンの詳細を一覧表示します。


**サポートされているランタイムバージョン — 元の App Runner ビルド**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-java-releases.html)

**注記**  
App Runner は、最近リリースされた特定のメジャーランタイムのビルドプロセスを改訂しました。このため、このドキュメントの特定のセクションには、*改訂された App Runner ビルド*と*元の App Runner ビルド*への参照が表示されます。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。

# .NET プラットフォームを使用する
<a name="service-source-code-net6"></a>

**重要**  
App Runner は **.NET 6 **のサポートを 2025 年 12 月 1 日に終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

 AWS App Runner .NET プラットフォームはマネージドランタイムを提供します。各ランタイムにより、.NET バージョンに基づいてウェブアプリケーションを使用してコンテナを簡単に構築および実行できます。.NET ランタイムを使用すると、App Runner はマネージド .NET ランタイムイメージで始まります。このイメージは [Amazon Linux Docker イメージ](https://hub.docker.com/_/amazonlinux)に基づいており、.NET のバージョン用のランタイムパッケージと、いくつかのツールと一般的な依存関係パッケージが含まれています。App Runner はこのマネージドランタイムイメージをベースイメージとして使用し、アプリケーションコードを追加して Docker イメージを構築します。次に、このイメージをデプロイして、コンテナでウェブサービスを実行します。

 App Runner コンソールまたは [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API オペレーションを使用してサービス[を作成する](manage-create.md)ときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める [App Runner 設定ファイル](config-file.md)で `runtime`キーワードを使用します。マネージドランタイムの命名規則は *<language-name><major-version>* です。

有効な .NET ランタイム名とバージョンについては、「」を参照してください[.NET ランタイムリリース情報](service-source-code-dotnet-releases.md)。

App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。アプリケーションで特定のバージョンのマネージドランタイムが必要な場合は、[App Runner 設定ファイルの](config-file.md) `runtime-version`キーワードを使用して指定できます。メジャーバージョンやマイナーバージョンなど、任意のレベルのバージョンにロックできます。App Runner は、サービスのランタイムに対してのみ低レベルの更新を行います。

.NET ランタイムのバージョン構文: `major[.minor[.patch]]`

例: `6.0.9`

次の例は、バージョンロックを示しています。
+ `6.0` – メジャーバージョンとマイナーバージョンをロックします。App Runner はパッチバージョンのみを更新します。
+ `6.0.9` – 特定のパッチバージョンにロックします。App Runner はランタイムバージョンを更新しません。

**Topics**
+ [.NET ランタイム設定](#service-source-code-net6.config)
+ [.NET ランタイムの例](#service-source-code-net6.examples)
+ [.NET ランタイムリリース情報](service-source-code-dotnet-releases.md)

## .NET ランタイム設定
<a name="service-source-code-net6.config"></a>

マネージドランタイムを選択する場合は、少なくとも コマンドを構築して実行するように設定する必要があります。App Runner サービス[を作成](manage-create.md)または[更新](manage-configure.md)するときに設定します。これを行うには、次のいずれかの方法を使用します。
+ **App Runner コンソールの使用** – 作成プロセスまたは設定タブの**ビルドの設定**セクションでコマンドを指定します。
+ **App Runner API の使用** – [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) または [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) API オペレーションを呼び出します。[CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html) データ型の `BuildCommand`および `StartCommand`メンバーを使用してコマンドを指定します。
+ **[設定ファイル](config-file.md)の使用** – 最大 3 つのビルドフェーズで 1 つ以上のビルドコマンドと、アプリケーションを起動する 1 つの実行コマンドを指定します。追加のオプションの設定があります。

設定ファイルの提供はオプションです。コンソールまたは API を使用して App Runner サービスを作成する場合、App Runner が作成時に設定を直接取得するか、設定ファイルから取得するかを指定します。

## .NET ランタイムの例
<a name="service-source-code-net6.examples"></a>

次の例は、.NET サービスを構築および実行するための App Runner 設定ファイルを示しています。最後の例は、.NET ランタイムサービスにデプロイできる完全な .NET アプリケーションのソースコードです。

**注記**  
これらの例で使用されるランタイムバージョンは *6.0.9* です。使用するバージョンに置き換えることができます。サポートされている最新の .NET ランタイムバージョンについては、「」を参照してください[.NET ランタイムリリース情報](service-source-code-dotnet-releases.md)。

### 最小 .NET 設定ファイル
<a name="service-source-code-net6.examples.minimal"></a>

この例では、.NET マネージドランタイムで使用できる最小限の設定ファイルを示しています。App Runner が最小限の設定ファイルで行う前提については、「」を参照してください[設定ファイルの例](config-file-examples.md#config-file-examples.managed)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: dotnet6
build:
  commands:    
    build:
      - dotnet publish -c Release -o out
run:                              
  command: dotnet out/HelloWorldDotNetApp.dll
```

### 拡張 .NET 設定ファイル
<a name="service-source-code-net6.examples.extended"></a>

この例では、.NET マネージドランタイムですべての設定キーを使用する方法を示します。

**注記**  
これらの例で使用されるランタイムバージョンは *6.0.9* です。使用するバージョンに置き換えることができます。サポートされている最新の .NET ランタイムバージョンについては、「」を参照してください[.NET ランタイムリリース情報](service-source-code-dotnet-releases.md)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: dotnet6
build:
  commands:
    pre-build:
      - scripts/prebuild.sh
    build:
      - dotnet publish -c Release -o out
    post-build:
      - scripts/postbuild.sh
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"    
run:
  runtime-version: 6.0.9
  command: dotnet out/HelloWorldDotNetApp.dll
  network:
    port: 5000
    env: APP_PORT
  env:
    - name: ASPNETCORE_URLS
      value: "http://*:5000"
```

### 完全な .NET アプリケーションソース
<a name="service-source-code-net6.examples.end2end"></a>

この例では、.NET ランタイムサービスにデプロイできる完全な .NET アプリケーションのソースコードを示します。

**注記**  
 次のコマンドを実行して、シンプルな .NET 6 ウェブアプリケーションを作成します。 ` dotnet new web --name HelloWorldDotNetApp -f net6.0`
 作成した .NET 6 ウェブアプリ`apprunner.yaml`に を追加します。

**Example HelloWorldDotNetApp**  

```
version: 1.0
runtime: dotnet6
build:
  commands:
    build:
      - dotnet publish -c Release -o out
run:
  command: dotnet out/HelloWorldDotNetApp.dll
  network:
    port: 5000
    env: APP_PORT
  env:
    - name: ASPNETCORE_URLS
      value: "http://*:5000"
```

# .NET ランタイムリリース情報
<a name="service-source-code-dotnet-releases"></a>

**重要**  
App Runner は **.NET 6 **のサポートを 2025 年 12 月 1 日に終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

このトピックでは、App Runner がサポートする .NET ランタイムバージョンの詳細を一覧表示します。


**サポートされているランタイムバージョン — 元の App Runner ビルド**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-dotnet-releases.html)

**注記**  
App Runner は、最近リリースされた特定のメジャーランタイムのビルドプロセスを改訂しました。このため、このドキュメントの特定のセクションには、*改訂された App Runner ビルド*と*元の App Runner ビルド*への参照が表示されます。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。

# PHP プラットフォームを使用する
<a name="service-source-code-php"></a>

**重要**  
App Runner は、2025 年 **12 月 31 日に PHP 8.**1 のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

 AWS App Runner PHP プラットフォームはマネージドランタイムを提供します。各ランタイムを使用して、PHP バージョンに基づいてウェブアプリケーションでコンテナを構築および実行できます。PHP ランタイムを使用すると、App Runner はマネージド PHP ランタイムイメージで始まります。このイメージは [Amazon Linux Docker イメージ](https://hub.docker.com/_/amazonlinux)に基づいており、PHP のバージョンと一部のツールのランタイムパッケージが含まれています。App Runner はこのマネージドランタイムイメージをベースイメージとして使用し、アプリケーションコードを追加して Docker イメージを構築します。次に、このイメージをデプロイして、コンテナでウェブサービスを実行します。

 App Runner コンソールまたは [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API オペレーションを使用してサービス[を作成する](manage-create.md)ときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める [App Runner 設定ファイル](config-file.md)で `runtime`キーワードを使用します。マネージドランタイムの命名規則は *<language-name><major-version>* です。

有効な PHP ランタイム名とバージョンについては、「」を参照してください[PHP ランタイムリリース情報](service-source-code-php-releases.md)。

App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。アプリケーションで特定のバージョンのマネージドランタイムが必要な場合は、[App Runner 設定ファイルの](config-file.md) `runtime-version`キーワードを使用して指定できます。メジャーバージョンやマイナーバージョンなど、任意のレベルのバージョンにロックできます。App Runner は、サービスのランタイムに対してのみ低レベルの更新を行います。

PHP ランタイムのバージョン構文: `major[.minor[.patch]]`

例: `8.1.10`

バージョンロックの例を次に示します。
+ `8.1` – メジャーバージョンとマイナーバージョンをロックします。App Runner はパッチバージョンのみを更新します。
+ `8.1.10` – 特定のパッチバージョンにロックします。App Runner はランタイムバージョンを更新しません。

**重要**  
  デフォルトのリポジトリルート[ディレクトリ以外の場所で App Runner サービスのコードリポジトリソース](service-source-code.md#service-source-code.source-directory)ディレクトリを指定する場合は、PHP マネージドランタイムバージョンが PHP `8.1.22`以降である必要があります。より前の PHP ランタイムバージョン`8.1.22`では、デフォルトのルートソースディレクトリのみを使用できます。 

**Topics**
+ [PHP ランタイム設定](#service-source-code-php.config)
+ [互換性](#service-source-code-php.compatibility)
+ [PHP ランタイムの例](#service-source-code-php.examples)
+ [PHP ランタイムリリース情報](service-source-code-php-releases.md)

## PHP ランタイム設定
<a name="service-source-code-php.config"></a>

マネージドランタイムを選択する場合は、少なくとも コマンドを構築して実行するように設定する必要があります。App Runner サービス[を作成](manage-create.md)または[更新](manage-configure.md)するときに設定します。これを行うには、次のいずれかの方法を使用します。
+ **App Runner コンソールの使用** – 作成プロセスまたは設定タブの**ビルドの設定**セクションでコマンドを指定します。
+ **App Runner API の使用** – [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) または [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) API オペレーションを呼び出します。[CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html) データ型の `BuildCommand`および `StartCommand`メンバーを使用してコマンドを指定します。
+ **[設定ファイル](config-file.md)の使用** – 最大 3 つのビルドフェーズで 1 つ以上のビルドコマンドと、アプリケーションを起動する 1 つの実行コマンドを指定します。追加のオプションの設定があります。

設定ファイルの提供はオプションです。コンソールまたは API を使用して App Runner サービスを作成する場合、App Runner が作成時に設定を直接取得するか、設定ファイルから取得するかを指定します。

## 互換性
<a name="service-source-code-php.compatibility"></a>

次のいずれかのウェブサーバーを使用して、PHP プラットフォームで App Runner サービスを実行できます。
+ Apache HTTP Server
+ NGINX

Apache HTTP Server および NGINXは PHP-FPM と互換性があります。*Apache HTTP Server* と は、次のいずれか*NGINX*を使用して開始できます。
+ [スーパーバイザー - の実行の詳細については、](http://supervisord.org/introduction.html#supervisor-components/)[「スーパーバイザーの実行](http://supervisord.org/running.html#running-supervisord)」を参照してください。 *supervisord*
+ 起動スクリプト 

*Apache HTTP Server *または *NGINX* を使用して PHP プラットフォームで App Runner サービスを設定する方法の例については、「」を参照してください[PHP アプリケーションソースを完了する](#service-source-code-php.examples.end2end)。

### ファイル構造
<a name="service-source-code-php.compatibility.file-structure"></a>

は、ウェブサーバーの `root` ディレクトリの `public`フォルダにインストール`index.php`する必要があります。

**注記**  
`startup.sh` または `supervisord.conf`ファイルは、ウェブサーバーのルートディレクトリに保存することをお勧めします。`start` コマンドが `startup.sh`または `supervisord.conf`ファイルが保存されている場所を指していることを確認します。

 を使用している場合のファイル構造の例を次に示します*supervisord*。

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ supervisord.conf
```

*スタートアップスクリプト*を使用している場合のファイル構造の例を次に示します。

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ startup.sh
```

これらのファイル構造は、App Runner サービス用に指定されたコードリポジトリの[ソースディレクトリ](service-source-code.md#service-source-code.source-directory)に保存することをお勧めします。

```
/<sourceDirectory>/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ startup.sh
```

**重要**  
  デフォルトのリポジトリルート[ディレクトリ以外の場所で App Runner サービスのコードリポジトリソース](service-source-code.md#service-source-code.source-directory)ディレクトリを指定する場合、PHP マネージドランタイムバージョンは PHP `8.1.22`以降である必要があります。より前の PHP ランタイムバージョン`8.1.22`では、デフォルトのルートソースディレクトリのみを使用できます。   
App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。[App Runner 設定ファイルの](config-file.md) `runtime-version`キーワードを使用してバージョンロックを指定しない限り、サービスはデフォルトで最新のランタイムを使用します。

## PHP ランタイムの例
<a name="service-source-code-php.examples"></a>

PHP サービスの構築と実行に使用される App Runner 設定ファイルの例を次に示します。

### 最小 PHP 設定ファイル
<a name="service-source-code-php.examples.minimal"></a>

次の例は、PHP マネージドランタイムで使用できる最小限の設定ファイルです。最小設定ファイルの詳細については、「」を参照してください[設定ファイルの例](config-file-examples.md#config-file-examples.managed)。

**Example apprunner.yaml**  

```
version: 1.0 
runtime: php81
build:
  commands:
    build:
      - echo example build command for PHP
run:
  command: ./startup.sh
```

### 拡張 PHP 設定ファイル
<a name="service-source-code-php.examples.extended"></a>

次の例では、PHP マネージドランタイムですべての設定キーを使用します。

**注記**  
これらの例で使用されるランタイムバージョンは *8.1.10* です。使用するバージョンに置き換えることができます。サポートされている最新の PHP ランタイムバージョンについては、「」を参照してください[PHP ランタイムリリース情報](service-source-code-php-releases.md)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
     pre-build:
      - scripts/prebuild.sh
    build:
      - echo example build command for PHP
    post-build:
      - scripts/postbuild.sh
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 8.1.10
  command: ./startup.sh
  network:
    port: 5000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### PHP アプリケーションソースを完了する
<a name="service-source-code-php.examples.end2end"></a>

次の例は、 *Apache HTTP Server*または を使用して PHP ランタイムサービスにデプロイするために使用できる PHP アプリケーションのソースコードです*NGINX*。これらの例では、デフォルトのファイル構造を使用することを前提としています。

#### Apache HTTP Server を使用して で PHP プラットフォームを実行する supervisord
<a name="service-source-code-php.examples.end2end.appache-supervisord"></a>

**Example ファイル構造**  
+ `supervisord.conf` ファイルはリポジトリのどこにでも保存できます。`start` コマンドが`supervisord.conf`ファイルの保存先を指していることを確認します。
+ は、 `root` ディレクトリの `public`フォルダにインストール`index.php`する必要があります。

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ supervisord.conf
```

**Example supervisord.conf**  

```
[supervisord]
nodaemon=true

[program:httpd]
command=httpd -DFOREGROUND
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:php-fpm]
command=php-fpm -F
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
    build:
      - PYTHON=python2 amazon-linux-extras install epel
      - yum -y install supervisor
run:
  command: supervisord
  network:
    port: 8080
    env: APP_PORT
```

**Example index.php**  

```
<html>
<head> <title>First PHP App</title> </head>
<body>
<?php
    print("Hello World!");
    print("<br>");
?>
</body>
</html>
```

#### Apache HTTP Server を使用して で PHP プラットフォームを実行する startup script
<a name="service-source-code-php.examples.end2end.appache-startupscript"></a>

**Example ファイル構造**  
+ `startup.sh` ファイルはリポジトリのどこにでも保存できます。`start` コマンドが`startup.sh`ファイルの保存先を指していることを確認します。
+ は、 `root` ディレクトリの `public`フォルダにインストール`index.php`する必要があります。

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ startup.sh
```

**Example startup.sh**  

```
#!/bin/bash

set -o monitor

trap exit SIGCHLD

# Start apache
httpd -DFOREGROUND &

# Start php-fpm
php-fpm -F &

wait
```

**注記**  
Git リポジトリにコミットする前に、`startup.sh`ファイルを実行可能ファイルとして保存してください。を使用して`chmod +x startup.sh`、 `startup.sh` ファイルに実行アクセス許可を設定します。
`startup.sh` ファイルを実行可能ファイルとして保存しない場合は、`apprunner.yaml`ファイルに `build` コマンド`chmod +x startup.sh`として と入力します。

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
    build:
      - echo example build command for PHP
run:
  command: ./startup.sh
  network:
    port: 8080
    env: APP_PORT
```

**Example index.php**  

```
<html>
<head> <title>First PHP App</title> </head>
<body>
<?php
    print("Hello World!");
    print("<br>");
?>
</body>
</html>
```

#### NGINX を使用して で PHP プラットフォームを実行する supervisord
<a name="service-source-code-php.examples.end2end.nginx-supervisord"></a>

**Example ファイル構造**  
+ `supervisord.conf` ファイルはリポジトリのどこにでも保存できます。`start` コマンドが`supervisord.conf`ファイルの保存先を指していることを確認します。
+ は、 `root` ディレクトリの `public`フォルダにインストール`index.php`する必要があります。

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ supervisord.conf
```

**Example supervisord.conf**  

```
[supervisord]
nodaemon=true

[program:nginx]
command=nginx -g "daemon off;"
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:php-fpm]
command=php-fpm -F
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
    build:
      - PYTHON=python2 amazon-linux-extras install epel
      - yum -y install supervisor
run:
  command: supervisord
  network:
    port: 8080
    env: APP_PORT
```

**Example index.php**  

```
<html>
<head> <title>First PHP App</title> </head>
<body>
<?php
    print("Hello World!");
    print("<br>");
?>
</body>
</html>
```

#### NGINX を使用した PHP プラットフォームの実行 startup script
<a name="service-source-code-php.examples.end2end.nginx-startupscript"></a>

**Example ファイル構造**  
+ `startup.sh` ファイルはリポジトリのどこにでも保存できます。`start` コマンドが`startup.sh`ファイルの保存先を指していることを確認します。
+ は、 `root` ディレクトリの `public`フォルダにインストール`index.php`する必要があります。

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ startup.sh
```

**Example startup.sh**  

```
#!/bin/bash

set -o monitor

trap exit SIGCHLD

# Start nginx 
nginx -g 'daemon off;' &

# Start php-fpm
php-fpm -F &

wait
```

**注記**  
Git リポジトリにコミットする前に、`startup.sh`ファイルを実行可能ファイルとして保存してください。を使用して`chmod +x startup.sh`、 `startup.sh` ファイルに実行アクセス許可を設定します。
`startup.sh` ファイルを実行可能ファイルとして保存しない場合は、`apprunner.yaml`ファイルに `build` コマンド`chmod +x startup.sh`として と入力します。

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
    build:
      - echo example build command for PHP
run:
  command: ./startup.sh
  network:
    port: 8080
    env: APP_PORT
```

**Example index.php**  

```
<html>
<head> <title>First PHP App</title> </head>
<body>
<?php
    print("Hello World!");
    print("<br>");
?>
</body>
</html>
```

# PHP ランタイムリリース情報
<a name="service-source-code-php-releases"></a>

**重要**  
App Runner は、2025 年 **12 月 31 日に PHP 8.**1 のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

このトピックでは、App Runner がサポートする PHP ランタイムバージョンの詳細を一覧表示します。


**サポートされているランタイムバージョン — 元の App Runner ビルド**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-php-releases.html)

**注記**  
App Runner は、最近リリースされた特定のメジャーランタイムのビルドプロセスを改訂しました。このため、このドキュメントの特定のセクションには、*改訂された App Runner ビルド*と*元の App Runner ビルド*への参照が表示されます。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。

# Ruby プラットフォームを使用する
<a name="service-source-code-ruby"></a>

**重要**  
App Runner は、2025 年 **12 月 1 日に Ruby 3.**1 のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

 AWS App Runner Ruby プラットフォームはマネージドランタイムを提供します。各ランタイムにより、Ruby バージョンに基づいてウェブアプリケーションを使用してコンテナを簡単に構築および実行できます。Ruby ランタイムを使用すると、App Runner はマネージド Ruby ランタイムイメージで始まります。このイメージは [Amazon Linux Docker イメージ](https://hub.docker.com/_/amazonlinux)に基づいており、Ruby のバージョンと一部のツールのランタイムパッケージが含まれています。App Runner はこのマネージドランタイムイメージをベースイメージとして使用し、アプリケーションコードを追加して Docker イメージを構築します。次に、このイメージをデプロイして、コンテナでウェブサービスを実行します。

 App Runner コンソールまたは [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API オペレーションを使用してサービス[を作成する](manage-create.md)ときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める [App Runner 設定ファイル](config-file.md)で `runtime`キーワードを使用します。マネージドランタイムの命名規則は *<language-name><major-version>* です。

有効な Ruby ランタイム名とバージョンについては、「」を参照してください[Ruby ランタイムリリース情報](service-source-code-ruby-releases.md)。

App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。アプリケーションで特定のバージョンのマネージドランタイムが必要な場合は、[App Runner 設定ファイルの](config-file.md) `runtime-version`キーワードを使用して指定できます。メジャーバージョンやマイナーバージョンなど、任意のレベルのバージョンにロックできます。App Runner は、サービスのランタイムに対してのみ低レベルの更新を行います。

Ruby ランタイムのバージョン構文: `major[.minor[.patch]]`

例: `3.1.2`

次の例は、バージョンロックを示しています。
+ `3.1` – メジャーバージョンとマイナーバージョンをロックします。App Runner はパッチバージョンのみを更新します。
+ `3.1.2` – 特定のパッチバージョンにロックします。App Runner はランタイムバージョンを更新しません。

**Topics**
+ [Ruby ランタイム設定](#service-source-code-ruby.config)
+ [Ruby ランタイムの例](#service-source-code-ruby.examples)
+ [Ruby ランタイムリリース情報](service-source-code-ruby-releases.md)

## Ruby ランタイム設定
<a name="service-source-code-ruby.config"></a>

マネージドランタイムを選択する場合は、少なくとも コマンドを構築して実行するように設定する必要があります。App Runner サービス[を作成](manage-create.md)または[更新](manage-configure.md)するときに設定します。これは、次のいずれかの方法を使用して実行できます。
+ **App Runner コンソールの使用** – 作成プロセスまたは設定タブの**ビルドの設定**セクションでコマンドを指定します。
+ **App Runner API の使用** – [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) または [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) API オペレーションを呼び出します。[CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html) データ型の `BuildCommand`および `StartCommand`メンバーを使用してコマンドを指定します。
+ **[設定ファイル](config-file.md)の使用** – 最大 3 つのビルドフェーズで 1 つ以上のビルドコマンドと、アプリケーションを起動する 1 つの実行コマンドを指定します。追加のオプションの設定があります。

設定ファイルの提供はオプションです。コンソールまたは API を使用して App Runner サービスを作成する場合、App Runner が作成時に設定を直接取得するか、設定ファイルから取得するかを指定します。

## Ruby ランタイムの例
<a name="service-source-code-ruby.examples"></a>

次の例は、Ruby サービスを構築および実行するための App Runner 設定ファイルを示しています。

### 最小 Ruby 設定ファイル
<a name="service-source-code-ruby.examples.minimal"></a>

この例では、Ruby マネージドランタイムで使用できる最小限の設定ファイルを示しています。App Runner が最小限の設定ファイルで行う前提については、「」を参照してください[設定ファイルの例](config-file-examples.md#config-file-examples.managed)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: ruby31
build:
  commands:
    build:
      - bundle install
run:
  command: bundle exec rackup --host 0.0.0.0 -p 8080
```

### 拡張 Ruby 設定ファイル
<a name="service-source-code-ruby.examples.extended"></a>

この例では、Ruby マネージドランタイムですべての設定キーを使用する方法を示します。

**注記**  
これらの例で使用されるランタイムバージョンは *3.1.2* です。使用するバージョンに置き換えることができます。サポートされている最新の Ruby ランタイムバージョンについては、「」を参照してください[Ruby ランタイムリリース情報](service-source-code-ruby-releases.md)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: ruby31
build:
  commands:
     pre-build:
      - scripts/prebuild.sh
    build:
      - bundle install
    post-build:
      - scripts/postbuild.sh
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 3.1.2
  command: bundle exec rackup --host 0.0.0.0 -p 4567
  network:
    port: 4567
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### Ruby アプリケーションソースを完了する
<a name="service-source-code-ruby.examples.end2end"></a>

これらの例は、Ruby ランタイムサービスにデプロイできる完全な Ruby アプリケーションのソースコードを示しています。

**Example server.rb**  

```
# server.rb
require 'sinatra'

get '/' do    
  'Hello World!'
end
```

**Example config.ru**  

```
# config.ru

require './server'

run Sinatra::Application
```

**Example Gemfile**  

```
# Gemfile
source 'https://rubygems.org (https://rubygems.org/)'

gem 'sinatra'
gem 'puma'
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: ruby31
build:
  commands:
    build:
      - bundle install
run:
  command: bundle exec rackup --host 0.0.0.0 -p 4567
  network:
    port: 4567
    env: APP_PORT
```

# Ruby ランタイムリリース情報
<a name="service-source-code-ruby-releases"></a>

**重要**  
App Runner は、2025 年 **12 月 1 日に Ruby 3.**1 のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

このトピックでは、App Runner がサポートする Ruby ランタイムバージョンの詳細を一覧表示します。


**サポートされているランタイムバージョン — 元の App Runner ビルド**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-ruby-releases.html)

**注記**  
App Runner は、最近リリースされた特定のメジャーランタイムのビルドプロセスを改訂しました。このため、このドキュメントの特定のセクションには、*改訂された App Runner ビルド*と*元の App Runner ビルド*への参照が表示されます。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。

# Go プラットフォームを使用する
<a name="service-source-code-go1"></a>

**重要**  
App Runner は、2025 年 **12 月 1 日に Go 1.18** のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

 AWS App Runner Go プラットフォームはマネージドランタイムを提供します。各ランタイムにより、Go バージョンに基づいてウェブアプリケーションを使用してコンテナを簡単に構築および実行できます。Go ランタイムを使用すると、App Runner はマネージド Go ランタイムイメージで始まります。このイメージは [Amazon Linux Docker イメージ](https://hub.docker.com/_/amazonlinux)に基づいており、Go のバージョンと一部のツールのランタイムパッケージが含まれています。App Runner はこのマネージドランタイムイメージをベースイメージとして使用し、アプリケーションコードを追加して Docker イメージを構築します。次に、このイメージをデプロイして、コンテナでウェブサービスを実行します。

 App Runner コンソールまたは [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) API オペレーションを使用してサービス[を作成する](manage-create.md)ときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める [App Runner 設定ファイル](config-file.md)で `runtime`キーワードを使用します。マネージドランタイムの命名規則は *<language-name><major-version>* です。

有効な Go ランタイム名とバージョンについては、「」を参照してください[Go ランタイムリリース情報](service-source-code-go-releases.md)。

App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。アプリケーションでマネージドランタイムの特定のバージョンが必要な場合は、[App Runner 設定ファイルの](config-file.md) `runtime-version`キーワードを使用して指定できます。メジャーバージョンやマイナーバージョンなど、任意のレベルのバージョンにロックできます。App Runner は、サービスのランタイムに対してのみ低レベルの更新を行います。

Go ランタイムのバージョン構文: `major[.minor[.patch]]`

例: `1.18.7`

次の例は、バージョンロックを示しています。
+ `1.18` – メジャーバージョンとマイナーバージョンをロックします。App Runner はパッチバージョンのみを更新します。
+ `1.18.7` – 特定のパッチバージョンにロックします。App Runner はランタイムバージョンを更新しません。

**Topics**
+ [Go ランタイム設定](#service-source-code-go1.config)
+ [Go ランタイムの例](#service-source-code-go1.examples)
+ [Go ランタイムリリース情報](service-source-code-go-releases.md)

## Go ランタイム設定
<a name="service-source-code-go1.config"></a>

マネージドランタイムを選択する場合は、少なくとも コマンドを構築して実行するように設定する必要があります。App Runner サービス[を作成](manage-create.md)または[更新](manage-configure.md)するときに設定します。これを行うには、次のいずれかの方法を使用します。
+ **App Runner コンソールの使用** – 作成プロセスまたは設定タブの**ビルドの設定**セクションでコマンドを指定します。
+ **App Runner API の使用** – [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html) または [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html) API オペレーションを呼び出します。[CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html) データ型の `BuildCommand`および `StartCommand`メンバーを使用してコマンドを指定します。
+ **[設定ファイル](config-file.md)の使用** – 最大 3 つのビルドフェーズで 1 つ以上のビルドコマンドと、アプリケーションを起動する 1 つの実行コマンドを指定します。追加のオプションの設定があります。

設定ファイルの提供はオプションです。コンソールまたは API を使用して App Runner サービスを作成する場合、App Runner が作成時に設定を直接取得するか、設定ファイルから取得するかを指定します。

## Go ランタイムの例
<a name="service-source-code-go1.examples"></a>

次の例は、Go サービスを構築および実行するための App Runner 設定ファイルを示しています。

### 最小 Go 設定ファイル
<a name="service-source-code-go1.examples.minimal"></a>

この例では、Go マネージドランタイムで使用できる最小限の設定ファイルを示しています。App Runner が最小限の設定ファイルで行う前提については、「」を参照してください[設定ファイルの例](config-file-examples.md#config-file-examples.managed)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: go1
build:
  commands:
    build:
      - go build main.go
run:
  command: ./main
```

### 拡張 Go 設定ファイル
<a name="service-source-code-go1.examples.extended"></a>

この例では、Go マネージドランタイムですべての設定キーを使用する方法を示します。

**注記**  
これらの例で使用されるランタイムバージョンは *1.18.7* です。使用するバージョンに置き換えることができます。サポートされている最新の Go ランタイムバージョンについては、「」を参照してください[Go ランタイムリリース情報](service-source-code-go-releases.md)。

**Example apprunner.yaml**  

```
version: 1.0
runtime: go1
build:
  commands:
     pre-build:
      - scripts/prebuild.sh
    build:
      - go build main.go
    post-build:
      - scripts/postbuild.sh
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 1.18.7
  command: ./main
  network:
    port: 3000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### Go アプリケーションソースを完了する
<a name="service-source-code-go1.examples.end2end"></a>

これらの例は、Go ランタイムサービスにデプロイできる完全な Go アプリケーションのソースコードを示しています。

**Example main.go**  

```
package main
import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        fmt.Fprint(w, "<h1>Welcome to App Runner</h1>")
    })
    fmt.Println("Starting the server on :3000...")
    http.ListenAndServe(":3000", nil)
}
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: go1
build:
  commands:
    build:
      - go build main.go
run:
  command: ./main
  network:
    port: 3000
    env: APP_PORT
```

# Go ランタイムリリース情報
<a name="service-source-code-go-releases"></a>

**重要**  
App Runner は、2025 年 **12 月 1 日に Go 1.18** のサポートを終了します。推奨事項と詳細については、「」を参照してください[マネージドランタイムバージョンのサポート終了](service-source-code.md#service-source-code.managed-platforms.eos)。

このトピックでは、App Runner がサポートする Go ランタイムバージョンの詳細を一覧表示します。


**サポートされているランタイムバージョン — 元の App Runner ビルド**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/apprunner/latest/dg/service-source-code-go-releases.html)

**注記**  
App Runner は、最近リリースされた特定のメジャーランタイムのビルドプロセスを改訂しました。このため、このドキュメントの特定のセクションに、*改訂された App Runner ビルド*と*元の App Runner ビルド*への参照が表示されます。詳細については、「[マネージドランタイムバージョンと App Runner ビルド](service-source-code.md#service-source-code.build-detail)」を参照してください。