注: 今後数か月にわたり、App Engine ドキュメント サイトの再編成を行い、コンテンツを見つけやすくなり、他の Google Cloud プロダクトと統一されます。内容は変わりませんが、ページ間のナビゲーションは残りの Cloud プロダクトと統一されます。操作中にフィードバックやご不明な点がある場合は、[フィードバックを送信] をクリックしてください。

App Engine スタンダード環境のランタイム

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

App Engine スタンダード環境には、2 世代のランタイム環境があります。第 2 世代のランタイムでは、App Engine の機能が大幅に改善され、第 1 世代のランタイムのいくつかの制限が取り除かれています。このページでは、第 1 世代ランタイムと第 2 世代ランタイムの類似点と相違点について説明します。

第 2 世代 第 1 世代
サポートされている言語 Python 3
Java 11, 17
Node.js
PHP 7+
Ruby
Go 1.12+
Python 2.7
Java 8
PHP 5.5
Go 1.11
言語拡張とシステム ライブラリ サポート 任意の拡張またはライブラリ Python 2.7、PHP 5.5: 許可リストを使用する拡張機能とライブラリ
Java 8、Go 1.11: 任意の拡張機能またはライブラリ
サポートされている API

フル機能の Google Cloud サービスにアクセスするには、オープンソースの Cloud クライアント ライブラリを使用します。

Python 3、Java 11/17、Go 1.12+ のランタイムに更新すると、App Engine バンドル サービスの多くを引き続き使用できます。詳しくは、Python 3Java 11/17Go 1.12 以降のガイドをご覧ください。

Cloud クライアント ライブラリと App Engine のバンドル サービス
大容量の blob ファイル ストレージの場合は、Cloud Storage を使用するか、App Engine Blobstore API バンドル サービスを引き続き使用します。
App Engine Blobstore API
データの永続性を確保するため、リレーショナル ストレージには Datastore モードの Firestore Cloud SQL を使用します。または、App Engine Datastore API バンドル サービスを引き続き使用することもできます。
App Engine Datastore API
遅延タスクの実行には、引き続き Deferred API(Python)、DeferredTask API(Java)、Delay API(Go)を使用します。PHP ユーザーは、Task Queues API バンドル サービスを介して、引き続き遅延実行を指定できます。または、Cloud Tasks を使用して遅延機能を実装することもできます。
App Engine Deferred API
画像処理には Imgix をおすすめします。
App Engine Images API バンドル サービスを引き続き使用することもできます。
App Engine Images API
受信または送信のメッセージングには、App Engine Mail API のバンドル サービスを引き続き使用します。または、送信メッセージングの場合は、SendGridMailgunMailjet などのサードパーティのメール プロバイダを使用できます。
現時点では、受信メッセージングにおすすめのサードパーティのプロバイダはございません。
App Engine Mail API
アプリデータをキャッシュ保存するには、Memorystore インスタンスを作成し、サーバーレス VPC アクセスを使用してインスタンスをアプリに接続します。 または、引き続き App Engine Memcache API バンドル サービスを使用します。 App Engine Memcache API
検索可能なドキュメント インデックスの場合、Compute Engine 上で ElasticSearch のような全文検索データベースをホストし、サービスからアクセスします。 App Engine Search API
外部タスクを実行するには、push キューと pull キューの両方で App Engine Task Queues API バンドル サービスを引き続き使用するか、push キューを Cloud Tasks に移行します。
キューを Pub/Sub に pull します。
App Engine Task Queue API
ユーザー認証には、App Engine Users API バンドル サービスを引き続き使用するか、ユーザー認証オプションで説明されている任意の認証サービスに移行します。 App Engine Users API
外部ネットワークへのアクセス 完全アクセス権 Python 2.7, PHP 5.5: URL Fetch API 経由
Java 8、Go 1.11: 完全アクセス権。
ファイル システムへのアクセス /tmp に対する読み取り / 書き込みアクセス権 Python 2.7、PHP 5.5: なし
Java 8、Go 1.11: /tmp に対する読み取り / 書き込みアクセス権
言語ランタイム 修正なし、オープンソースのランタイム App Engine 用に修正済み
分離メカニズム gVisor ベースのコンテナ サンドボックス gVisor ベースのコンテナ サンドボックス

App Engine の第 1 世代ランタイムのサポート

現時点で、App Engine の追加の第 1 世代ランタイムを非推奨にする予定はありません。第 2 世代ランタイムは App Engine の今後の方向性を示していますが、第 1 世代ランタイムを使用しているデベロッパーとお客様は、サポートと必要なシステム更新を引き続き利用できます。

第 1 世代ランタイムのサポートプランの詳細については、レガシー ランタイムの長期サポートをご覧ください。

第 1 世代ランタイムと第 2 世代ランタイムの類似点

  • 瞬時にスケールアップを行い、トラフィックの急増に対応できます。
  • アプリケーションは同じビルドプロセスを使用して構築されます。
  • 一般提供サービスで同じ SLA が使用されます。
  • gcloud コマンドのサポートが同じで、GCP Console インターフェースも同じです。
  • 無料枠

第 1 世代から第 2 世代へのランタイム移行のリソース

各言語のランタイムに関する移行ガイドについては、長期サポートのページをご覧ください。