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. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Cloud Build API. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
      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. Roles required to select or create a project - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- 
      Create a project: To create a project, you need the Project Creator
      (roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
 
- 
  
    Verify that billing is enabled for your Google Cloud project. 
- 
  
  
    
      Enable the Cloud Build API. Roles required to enable APIs To enable APIs, you need the Service Usage Admin IAM role ( roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
- 
      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 についてさらに理解を深めるためのトピックをご紹介します。