Ruby プラットフォームを使用する - AWS App Runner

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

Ruby プラットフォームを使用する

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

App Runner コンソールまたは CreateService API オペレーションを使用してサービスを作成するときに、App Runner サービスのランタイムを指定します。ソースコードの一部としてランタイムを指定することもできます。コードリポジトリに含める App Runner 設定ファイルruntimeキーワードを使用します。マネージドランタイムの命名規則は <language-name><major-version> です。

有効な Ruby ランタイム名とバージョンについては、「」を参照してくださいRuby ランタイムリリース情報

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

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

例:3.1.2

次の例は、バージョンロックを示しています。

  • 3.1 – メジャーバージョンとマイナーバージョンをロックします。App Runner はパッチバージョンのみを更新します。

  • 3.1.2 – 特定のパッチバージョンにロックします。App Runner はランタイムバージョンを更新しません。

Ruby ランタイム設定

マネージドランタイムを選択するときは、少なくとも コマンドを構築して実行するように設定する必要があります。App Runner サービスを作成または更新するときに設定します。これは、次のいずれかの方法を使用して実行できます。

  • App Runner コンソールの使用 – 作成プロセスまたは設定タブのビルドの設定セクションでコマンドを指定します。

  • App Runner API の使用CreateServiceまたは UpdateService API オペレーションを呼び出します。CodeConfigurationValues データ型の BuildCommandおよび StartCommandメンバーを使用してコマンドを指定します。

  • 設定ファイルの使用 – 最大 3 つのビルドフェーズで 1 つ以上のビルドコマンドと、アプリケーションを起動する 1 つの実行コマンドを指定します。追加のオプション設定があります。

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

Ruby ランタイムの例

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

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

例 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 マネージドランタイムですべての設定キーを使用する方法を示します。

注記

これらの例で使用されるランタイムバージョンは 3.1.2 です。使用するバージョンに置き換えることができます。サポートされている最新の Ruby ランタイムバージョンについては、「」を参照してくださいRuby ランタイムリリース情報

例 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 ランタイムサービスにデプロイできる完全な Ruby アプリケーションのソースコードを示しています。

例 server.rb
# server.rb require 'sinatra' get '/' do 'Hello World!' end
例 config.ru
# config.ru require './server' run Sinatra::Application
例 Gemfile
# Gemfile source 'https://rubygems.org (https://rubygems.org/)' gem 'sinatra' gem 'puma'
例 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