Google Cloud プロジェクトには、App Engine アプリケーションとその他の Google Cloud リソースが含まれています。
このトピックで説明する一般的なタスクを含め、すべての管理タスクは Google Cloud コンソール、Google Cloud CLI、App Engine Admin API で行うことができます。App Engine フレキシブル環境にアプリをデプロイする前に、一般的には次のものを作成または設定する必要があります。
プロジェクトとアプリケーションの作成
新しい Google Cloud プロジェクトと App Engine アプリケーションを選択または作成することで、設定、認証情報、アプリのメタデータのコレクションの作成と管理を行えるようになります。
Google Cloud プロジェクトで App Engine アプリケーションを作成する権限を持つのはオーナーの役割のみです。オーナー以外のアカウントがアプリケーションでタスクを実行できるようにするには、そのアプリケーションが存在する必要があります。たとえば、App Engine デプロイ担当者のロールを持つアカウントでサービス アカウントを使用してアプリをデプロイするには、App Engine アプリケーションを作成しておく必要があります。
gcloud
Google Cloud CLI をインストールした後、Google Cloud プロジェクト オーナーのロールを持つアカウントで以下の gcloud
コマンドを実行して、Google Cloud プロジェクトと App Engine アプリケーションを作成します。
次のコマンドを実行して、Google Cloud プロジェクトを作成します。
gcloud projects create PROJECT_ID
PROJECT_ID は、Google Cloud プロジェクト ID に置き換えます。
次のコマンドを実行して、リージョンを選択し、App Engine アプリケーションを作成します。
gcloud app create
Google Cloud コンソールの [お支払い] ページで課金を有効にします。詳細については、課金の有効化をご覧ください。
API
プログラムで Google Cloud プロジェクトと App Engine アプリケーションを作成するには、Cloud Resource Manager API と App Engine Admin API の両方を使用します。
Google Cloud プロジェクトを作成するには、新しいプロジェクトの作成をご覧ください。
App Engine アプリケーションを作成するには、App Engine アプリケーションを作成するをご覧ください。
Google Cloud コンソールの [お支払い] ページで課金を有効にします。詳細については、課金の有効化をご覧ください。
コンソール
課金を有効にして、Google Cloud プロジェクトと App Engine アプリケーションを作成するには:
[App Engine] ページに移動します。
Google Cloud プロジェクトを選択または作成します。
[アプリの作成] ページでリージョン、サービス アカウントを選択し、課金を有効にします。
- App Engine アプリケーションを配置するロケーションを指定するためにリージョンを選択します。
App Engine のロケーションの詳細help_outline - [ID と API へのアクセス] から、アプリのサービス アカウントを選択します。
- 請求先アカウントを選択または作成して、プロジェクト内で課金を有効にします。
- App Engine アプリケーションを配置するロケーションを指定するためにリージョンを選択します。
プロジェクト内に App Engine アプリケーションが作成されて課金が有効になると、[ダッシュボード] ページが開きます。
App Engine のロケーション
App Engine はリージョナルです。つまり、アプリを実行するインフラストラクチャは特定のリージョンに配置され、そのリージョン内のすべてのゾーンで冗長的に利用できるように Google が管理しています。
レイテンシ、可用性、耐久性の要件を満たすことが、アプリを実行するリージョンを選択する際の主な要素になります。一般的には、アプリのユーザーに最も近いリージョンを選択できますが、App Engine が使用可能なロケーションと、アプリが使用するその他の Google Cloud プロダクトおよびサービスのロケーションを考慮する必要があります。使用するサービスが複数のロケーションにまたがっていると、アプリのレイテンシだけでなく、料金にも影響する可能性があります。
設定したアプリのリージョンは変更できません。
すでに App Engine アプリケーションを作成している場合は、次のいずれかの方法でそのリージョンを表示できます。
gcloud app describe
コマンドを実行します。Google Cloud コンソールの App Engine ダッシュボードを開きます。ページの上部にリージョンが表示されます。
課金の有効化
アプリをデプロイするには、課金を有効にする必要があります。無料の割り当て範囲内である場合は、アカウントには課金されません。無料の割り当てを越えるリソースがアプリケーションに必要な場合には、追加の使用分について課金されます。
Google Cloud プロジェクトを作成するときに請求先アカウントがある場合、そのプロジェクトで自動的に課金が有効になります。
Google Cloud プロジェクトで課金を有効にするには:
Google Cloud コンソールで、[お支払い] ページに移動します。
Google Cloud プロジェクトを選択または作成します。
請求先アカウントが存在するかどうか、選択した Google Cloud プロジェクトがアカウントに関連付けられているかどうかによって、[お支払い] ページには次のいずれかが表示されます。
選択した Google Cloud プロジェクトで課金がすでに有効になっている場合は、プロジェクトの請求先アカウントの詳細が一覧表示されます。
請求先アカウントが存在しない場合は、請求先アカウントの作成と、選択した Google Cloud プロジェクトへの関連付けを求めるプロンプトが表示されます。
請求先アカウントが存在しても、選択した Google Cloud プロジェクトと関連付けられていない場合は、課金を有効にするように求めるプロンプトが表示されます。[キャンセル]、[アカウントを作成] の順にクリックし、新しい請求先アカウントを作成して関連付けることもできます。
課金を有効にした後は、課金額の上限がなくなります。アプリケーションの費用を細かく管理するために、予算を作成してアラートを設定できるようになっています。
課金管理
[お支払い] ページで請求先アカウントを管理するには:
Google Cloud コンソールで [お支払い] ページに移動します。
管理するアカウントを選択し、対応するページに移動して、以下の管理タスクを行います。
- [概要] ページで、請求先アカウントの概要の確認、お支払い、請求先アカウント管理者の追加を行います。
- [予算とアラート] ページで、予算とアラートを作成します。
- [料金の履歴] ページで、取引履歴の表示や請求書のダウンロードを行います。
- [課金データのエクスポート] ページで、課金データを BigQuery データセットにエクスポートします。
- [お支払い設定] ページで、お支払いアカウントと連絡先を構成します。
- [お支払い方法] ページで、お支払いの方法を設定します。
課金の詳細については、料金ページをご覧ください。
予算の作成とアラートの設定
Google Cloud プロジェクトの予算を作成することで、過剰な請求を回避し、Google Cloud の料金すべてを 1 か所でモニタリングできます。予算に対しては、料金が一定の額を超えたときに課金管理者に通知するアラートを設定できます。
Google Cloud プロジェクトで予算を作成してアラートを設定するには:
Google Cloud コンソールで、[お支払い] ページに移動します。
予算を作成する請求先アカウントをクリックします。
[予算とアラート]、[予算を作成] の順にクリックして、Google Cloud プロジェクトの予算作成を開始します。
[予算の設定] セクションで予算を定義してから、次の [予算アラートの設定] セクションで、メール通知アラート受信が起動される予算のパーセンテージを指定します。
[保存] をクリックすると、Google Cloud プロジェクトに対して予算が設定され、アラートが有効になります。複数の Google Cloud プロジェクトがある場合は、プロジェクトごとに予算とアラートを個別に設定する必要があります。
プロジェクトのプロジェクト ID の設定
一部の App Engine スタンダード環境のランタイムでは、プロジェクトの app.yaml
ファイルに Google Cloud プロジェクト ID(アプリ ID)が指定されている場合があります。
プロジェクト ID は、以下のようないくつかの方法で指定できます。
- Google Cloud CLI のインストール時に
gcloud init
を使用する。gcloud CLI のデフォルトのプロジェクト ID を表示するには、gcloud config list
を実行します。 gcloud config set project [YOUR_PROJECT_ID]
コマンドを使用して、gcloud CLI のデフォルトのプロジェクト ID を設定する。- アプリのデプロイ時に
--project
フラグを使用する。例:gcloud app deploy --project [YOUR_PROJECT_ID]
Java ランタイムを使用している場合は、デプロイ時にIntelliJ 用 Google Cloud プラグインまたはEclipse 用 Google Cloud プラグインを使用してプロジェクト ID を指定できます。
アプリケーションの無効化
App Engine アプリケーションを無効にすると、アプリケーションによるインスタンスの実行とリクエストの処理が停止されます。アプリを無効にしても、データが失われたり、構成が変更されたりすることはありません。App Engine アプリケーションを再度有効にすれば、インスタンスが起動され、アプリに対するトラフィックの提供が再開されます。
アプリのリソースは、スタンダード環境とフレキシブル環境の両方で無効になるため、課金が発生することはありません。ただし、Google Cloud プロジェクトの他のサービスについては、引き続き、料金の請求が発生することがあります。たとえば、保存しているデータに対してストレージ料金が継続的に発生する場合などです。
リクエストの処理を頻繁に行っているアプリの場合は、完了するまでその作業を続行するので、完全に無効になるまでに最長で 1 時間かかることがあります。
App Engine アプリケーションを無効にするには:
[アプリケーションの設定] ページに移動します。
[アプリケーションを無効にする] をクリックし、表示されるプロンプトに従います。
アプリケーションによるリクエストの処理を続行する場合は、上記と同じ [アプリケーションの設定] ページに戻り、[アプリケーションを有効にする] をクリックして App Engine アプリケーションを有効にします。
アプリケーションを無効にすると、処理中のすべてのリクエストが停止しますが、データと状態は保持されます。ただし、すでに発生している料金またはプロジェクトで実行中の他のサービス(Cloud SQL など)の料金は請求されます。プロジェクト内で使用されているすべてのリソースを解放するには、プロジェクトをシャットダウンします。
プロジェクトのシャットダウン
Google Cloud プロジェクトをシャットダウンすることで、そのプロジェクトでの課金を無効にし、そのプロジェクトで使用しているすべての Google Cloud リソースを解放できます。
gcloud
Google Cloud CLI をインストールした後、次の gcloud
コマンドを実行して Google Cloud プロジェクトをシャットダウンします。
gcloud projects delete PROJECT_ID
PROJECT_ID は、Google Cloud プロジェクト ID に置き換えます。
API
プログラムで Google Cloud プロジェクトをシャットダウンする方法については、Cloud Resource Manager API のプロジェクトのシャットダウンをご覧ください。
コンソール
Google Cloud コンソールを使用して Google Cloud プロジェクトをシャットダウンするには:
プロジェクト ページに移動します。
シャットダウンする Google Cloud プロジェクトを選択し、delete をクリックします。
Google Cloud プロジェクトの管理の詳細については、Cloud Resource Manager: プロジェクトの作成、シャットダウン、復元をご覧ください。