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

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

第 2 世代 第 1 世代
サポートされている言語 Python 3
Java 11
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、Go 1.12 以降のランタイムに更新すると、App Engine バンドル サービスの多くを引き続き使用できます。詳しくは、Python 3Java 11Go 1.12 以降のガイドをご覧ください。

独自の App Engine API
データの永続性のため、Datastore(Python デベロッパーは、Cloud NDB も使用可能)、Firestore(新しいプロジェクトが必要)、または Cloud SQL を使用します。
App Engine Datastore API
画像処理には、Imgix をおすすめします。
または、無料枠が必要な場合は Rethumb を使用します。
App Engine Images API
メッセージングには、SendGridMailgunMailjet などのサードパーティのメール プロバイダを使用します。 App Engine Mail API
アプリデータをキャッシュ保存するには、Memorystore インスタンスを作成し、サーバーレス VPC アクセスを使用してインスタンスをアプリに接続します。 App Engine Memcache API
検索可能なドキュメント インデックスの場合、Compute Engine 上で ElasticSearch のような全文検索データベースをホストし、サービスからアクセスします。 App Engine Search API
push キューには、Cloud Tasks を使用します。
pull キューには、Pub/Sub を使用します。
App Engine Task Queue API
ユーザー認証には、OAuth 2.0 や Firebase Authentication などの HTTP ベースの認証システムを使用します。 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 ベースのコンテナ サンドボックス 独自仕様

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

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

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

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

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

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

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