翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Go プラットフォームを使用する
重要
App Runner は、2025 年 12 月 1 日に Go 1.18 のサポートを終了します。推奨事項と詳細については、「」を参照してくださいマネージドランタイムバージョンのサポート終了。
AWS App Runner Go プラットフォームはマネージドランタイムを提供します。各ランタイムにより、Go バージョンに基づいてウェブアプリケーションを使用してコンテナを簡単に構築および実行できます。Go ランタイムを使用すると、App Runner はマネージド Go ランタイムイメージで始まります。このイメージは Amazon Linux Docker イメージ
App Runner コンソールまたは CreateService API オペレーションを使用してサービスを作成するときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める App Runner 設定ファイルで runtimeキーワードを使用します。マネージドランタイムの命名規則は <language-name><major-version> です。
有効な Go ランタイム名とバージョンについては、「」を参照してくださいGo ランタイムリリース情報。
App Runner は、デプロイまたはサービスの更新ごとに、サービスのランタイムを最新バージョンに更新します。アプリケーションで特定のバージョンのマネージドランタイムが必要な場合は、App Runner 設定ファイルの runtime-versionキーワードを使用して指定できます。メジャーバージョンやマイナーバージョンなど、任意のレベルのバージョンにロックできます。App Runner は、サービスのランタイムに対してのみ低レベルの更新を行います。
Go ランタイムのバージョン構文: major[.minor[.patch]]
例: 1.18.7
次の例は、バージョンロックを示しています。
-
1.18– メジャーバージョンとマイナーバージョンをロックします。App Runner はパッチバージョンのみを更新します。 -
1.18.7– 特定のパッチバージョンにロックします。App Runner はランタイムバージョンを更新しません。
Go ランタイム設定
マネージドランタイムを選択する場合は、少なくとも コマンドを構築して実行するように設定する必要があります。App Runner サービスを作成または更新するときに設定します。これは、次のいずれかの方法を使用して実行できます。
-
App Runner コンソールの使用 – 作成プロセスまたは設定タブのビルドの設定セクションでコマンドを指定します。
-
App Runner API の使用 – CreateService または UpdateService API オペレーションを呼び出します。CodeConfigurationValues データ型の
BuildCommandとStartCommandメンバーを使用してコマンドを指定します。 -
設定ファイルの使用 – 最大 3 つのビルドフェーズで 1 つ以上のビルドコマンドと、アプリケーションを起動する 1 つの実行コマンドを指定します。追加のオプションの設定があります。
設定ファイルの提供はオプションです。コンソールまたは API を使用して App Runner サービスを作成する場合、App Runner が作成時に設定を直接取得するか、設定ファイルから取得するかを指定します。
Go ランタイムの例
次の例は、Go サービスを構築および実行するための App Runner 設定ファイルを示しています。
この例では、Go マネージドランタイムで使用できる最小限の設定ファイルを示しています。App Runner が最小限の設定ファイルで行う前提については、「」を参照してください設定ファイルの例。
例 apprunner.yaml
version: 1.0 runtime: go1 build: commands: build: - go build main.go run: command: ./main
この例では、Go マネージドランタイムですべての設定キーを使用する方法を示します。
注記
これらの例で使用されるランタイムバージョンは 1.18.7 です。使用するバージョンに置き換えることができます。サポートされている最新の Go ランタイムバージョンについては、「」を参照してくださいGo ランタイムリリース情報。
例 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.7command: ./main network: port: 3000 env: APP_PORT env: - name: MY_VAR_EXAMPLE value: "example"
これらの例は、Go ランタイムサービスにデプロイできる完全な Go アプリケーションのソースコードを示しています。
例 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) }
例 apprunner.yaml
version: 1.0 runtime: go1 build: commands: build: - go build main.go run: command: ./main network: port: 3000 env: APP_PORT