App Engine スタンダード環境で Ruby アプリを作成する
リージョン ID
REGION_ID
は、アプリの作成時に選択したリージョンに基づいて Google が割り当てる省略形のコードです。一部のリージョン ID は、一般的に使用されている国や州のコードと類似しているように見える場合がありますが、このコードは国または州に対応するものではありません。2020 年 2 月以降に作成されたアプリの場合、REGION_ID.r
は App Engine の URL に含まれています。この日付より前に作成されたアプリの場合、URL のリージョン ID は省略可能です。
詳しくは、リージョン ID をご覧ください。
このクイックスタート ガイドでは、サンプルアプリを App Engine にデプロイする方法を説明します。
費用
このガイドの実行に伴う費用はありません。このサンプルアプリを実行するだけなら、無料の割り当てを超過することはありません。
このクイックスタートでは、短いメッセージを表示する小さな App Engine アプリケーションを作成する方法について説明します。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まずフェデレーション ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まずフェデレーション ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init
- 新しいプロジェクトで、Cloud Build によるサービス アカウント使用方法におけるデフォルトの動作が変更され、さらに組織のポリシーの「デフォルトで保護」が変更されたことにより、デプロイするサービス アカウントに追加のロールを付与しなければならない場合があります。特定のロールを付与する方法については、トラブルシューティング ガイドをご覧ください。
プロジェクトで App Engine アプリケーションを初期化し、そのリージョンを選択します。
gcloud app create --project=[YOUR_PROJECT_ID]
表示された指示に従って、App Engine アプリケーションを配置するリージョンを選択します。
ローカルマシンに以下をインストールします。
gcloud app describe
コマンドを実行します。Google Cloud コンソールの App Engine ダッシュボードを開きます。ページの上部にリージョンが表示されます。
Hello World サンプルアプリ リポジトリのクローンをローカルマシンに作成します。
git clone https://github.com/GoogleCloudPlatform/ruby-docs-samples
または、zip 形式のサンプルをダウンロードして、ファイルを抽出します。
サンプルコードが含まれているディレクトリに移動します。
cd ruby-docs-samples/appengine/standard-hello_world
ランタイム用にプログラミング言語をまだインストールしていない場合は、Ruby をダウンロードしてインストールします。
Bundler をインストールします。
gem install bundler
このプロジェクトの依存関係をインストールします。
bundle install
ローカルのウェブサーバーを起動します。
bundle exec ruby app.rb -p 8080
ウェブブラウザで次のように入力します。
-
standard-hello_world
ディレクトリで次のコマンドを実行して、Hello World アプリをデプロイします。gcloud app deploy
オプションのフラグをご覧ください。
共通の
gcloud
コマンドフラグ- アプリのバージョンを一意に識別する ID を指定するには
--version
フラグを含めます。このフラグを含めない場合は自動的に生成されます。例:--version [YOUR_VERSION_ID]
-
gcloud
ツールでデフォルトとして初期設定したものに代わる Google Cloud プロジェクト ID を指定するには、--project
フラグを指定します。例:--project [YOUR_PROJECT_ID]
例:
gcloud app deploy --version pre-prod-5 --project my-sample-app
コマンドラインからアプリをデプロイする方法について詳しくは、アプリのテストとデプロイをご覧ください。すべてのコマンドフラグの一覧については、
gcloud app deploy
リファレンスをご覧ください。 - アプリのバージョンを一意に識別する ID を指定するには
-
ブラウザを起動し、
https://PROJECT_ID.REGION_ID.r.appspot.com
にアクセスしてアプリを表示します。 ここで、gcloud app browse
PROJECT_ID
は Google Cloudプロジェクト ID を表します。 - In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
追加の前提条件
App Engine のロケーション
App Engine はリージョナルです。つまり、アプリを実行するインフラストラクチャは特定のリージョンに配置され、そのリージョン内のすべてのゾーンで冗長的に利用できるように Google が管理しています。
レイテンシ、可用性、耐久性の要件を満たすことが、アプリを実行するリージョンを選択する際の主な要素になります。一般的には、アプリのユーザーに最も近いリージョンを選択できますが、App Engine が使用可能なロケーションと、アプリが使用するその他のGoogle Cloud プロダクトおよびサービスのロケーションを考慮する必要があります。使用するサービスが複数のロケーションにまたがっていると、アプリのレイテンシだけでなく、料金にも影響する可能性があります。
設定したアプリのリージョンは変更できません。
すでに App Engine アプリケーションを作成している場合は、次のいずれかの方法でそのリージョンを表示できます。
Hello World アプリをダウンロードする
App Engine 用の Hello World アプリが用意されており、 Google Cloudへのアプリのデプロイをすぐに試すことができます。
ローカルマシンで Hello World を実行する
次の例では、Bundler を使用してローカルのパソコンで Hello World アプリを実行します。
サンプルアプリから Hello World というメッセージがページに表示されます。ターミナル ウィンドウで Ctrl+C キーを押してウェブサーバーを終了します。
Hello World を App Engine にデプロイして実行する
アプリを App Engine スタンダード環境にデプロイするには:
今回、Hello World メッセージが表示されるページは、App Engine インスタンスで実行されているウェブサーバーから配信されます。
これで完了です。App Engine スタンダード環境に最初の App Engine アプリをデプロイしました。
クリーンアップの詳細については、以下の説明をご覧ください。また、活用できる次のステップへのリンクも併せてご覧ください。
クリーンアップ
課金されないようにするには、 Google Cloud プロジェクトを削除することで、プロジェクト内のすべてのリソースに対する課金を停止できます。
次のステップ
プラットフォーム全体について学習する
App Engine アプリの開発とデプロイについて概要を理解した後は、 Google Cloudの残りの部分についても確認します。すでに Google Cloud CLI がインストールされているため、Cloud SQL、Cloud Storage、Firestore などのプロダクトを操作するツールを使用できます。
App Engine スタンダード環境について学ぶ
App Engine についてさらに理解を深めるためのトピックをご紹介します。