Django スタートガイド

Google Cloud 上で実行される Django アプリは、すべての Google プロダクトと同じインフラストラクチャで実行され、たいてい可変ワークロードへの適応性が向上します。

ホスティング プラットフォーム

Google Cloud で Django をデプロイするオプションには以下のものがあります。

Django のデプロイ オプション 始める
App Engine スタンダード環境
  • App Engine スタンダード環境での Django の実行
  • App Engine フレキシブル環境
  • App Engine フレキシブル環境での Django の実行
  • Cloud Run
  • Cloud Run での Django の実行
  • <atrack-type="python" class="internal" l10n-attrs-original-order="href,track-type,track-name,track-metadata-position,class" l10n-encrypted-href="dlnuefm4z6sPp/NdSVdtpqUhEY2wTqvCjTxgiRnIfdho1ysmt/qsHb/VTKsWT1YC" track-metadata-position="body" track-name="internalLink">Cloud Code for VS Code を使用して Cloud Run で Django を実行</atrack-type="python">
  • Cloud Run での Django の実行(Cloud Code for IntelliJ を使用)
  • Google Kubernetes Engine(GKE)
  • Google Kubernetes Engine での Django の実行
  • Compute Engine
  • Google Cloud Marketplace での Django の実行
  • これらのプラットフォームの違いの詳細については、Google Cloud でのアプリのホスティング オプションをご覧ください。

    データベース

    Django オブジェクト リレーショナル マッパー(ORM)は、SQL リレーショナル データベースで最適に動作します。

    新しいプロジェクトを開始する場合、Cloud SQL を選択することをおすすめします。Google が管理およびスケーリングし、Django でサポートされている PostgreSQL データベースや MySQL データベースもデプロイできます。

    バックエンドが Cloud Spanner の Django は、python-spanner-django データベース バックエンドを使用してデプロイできます。

    ときには、NoSQL データベースを使用せざるをえない場合もあります。Django ORM は、NoSQL データベースでも使用できますが、いくつかの制限があり、Django で正式にはサポートされていません。多数のコミュニティがサポートするバックエンド コネクタ データストアがあります。たとえば、App Engine を使用している場合は djangae、Cloud Run を使用している場合は django-gcloud-connectors などです。MongoDB を使用する場合は、Cloud Marketplace を使用してデプロイし、独自の管理を行うか、mLab 提供のマネージド MongoDB ホスティング サービスを使用します。

    キャッシュ

    Memorystore では、MemcacheRedis 向けのマネージド ホスティング オプションがあります。App Engine については、Memcache からの移行に関するガイドをご覧ください。

    タスクのキューイング

    Pub/Sub はイベント ドリブン システムのメッセージング機能を提供し、Tasks は非同期タスク実行機能を提供します。App Engine については、タスクキューからの移行に関するガイドをご覧ください。

    Pub/Sub を使用して Python 用 Pub/Sub タスクキュー(psq)にタスクを追加する実装例を確認できます。

    Cloud Tasks を介したタスクキューのサポートは、多数のコミュニティがサポートするパッケージを通してサポートされています。