カテゴリ: Flask 更新日: 2026/02/14

FlaskアプリをGoogle Cloud Runにデプロイする方法を完全ガイド!初心者でもできるクラウド公開

FlaskアプリをGoogle Cloud Runにデプロイする方法を解説
FlaskアプリをGoogle Cloud Runにデプロイする方法を解説

先生と生徒の会話形式で理解しよう

生徒

「PythonのFlaskで作ったアプリを、友達にも見てもらえるようにインターネットに公開したいです。Google Cloud Runというものが良いと聞いたのですが、難しいですか?」

先生

「Google Cloud Runは、プログラムをコンテナという箱に詰めて預けるだけで、Googleが自動で動かしてくれるとても便利なサービスです。手順を追えば、初心者の方でも公開できますよ。」

生徒

「コンテナ?デプロイ?専門用語が多くて不安ですが、具体的に何をすればいいのでしょうか?」

先生

「まずは、アプリをインターネットという大海原へ送り出すための準備から始めていきましょう!」

1. FlaskとGoogle Cloud Runの基礎知識

1. FlaskとGoogle Cloud Runの基礎知識
1. FlaskとGoogle Cloud Runの基礎知識

まずは今回使う道具について知っておきましょう。Flask(フラスク)とは、Pythonという言葉を使ってWebサイトを作るための最小限の道具セットです。そして、Google Cloud Run(グーグル・クラウド・ラン)は、Googleが提供している強力なコンピューターを借りて、自分の作ったプログラムを世界中に公開する場所のことです。

ここで重要なのがデプロイという言葉です。これは、自分の手元のパソコンで作ったプログラムを、クラウドサーバー(インターネット上の大きなコンピューター)に移して、誰でも見られる状態にすることを言います。Google Cloud Runの最大の特徴は、使った分だけ料金がかかる仕組みなので、誰も見ていない時は料金がほぼゼロになるという、お財布にも優しい点です。

2. 公開するためのFlaskプログラムを準備しよう

2. 公開するためのFlaskプログラムを準備しよう
2. 公開するためのFlaskプログラムを準備しよう

まずは、公開するための簡単なプログラムを用意しましょう。今回は「こんにちは!クラウドの世界へようこそ」と表示するだけのシンプルなものを作ります。以下のコードを「main.py」という名前で保存してください。


import os
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "こんにちは!Google Cloud RunでFlaskが動いています!"

if __name__ == "__main__":
    # Cloud Runでは環境変数PORTで指定された番号で待つ必要があります
    port = int(os.environ.get("PORT", 8080))
    app.run(host="0.0.0.0", port=port)

ここでポイントになるのが、最後の部分です。自分のパソコンで動かすときは適当な番号で良いのですが、Google Cloud Runという大きなホテルに泊めてもらうときは、Googleから「この番号の部屋(ポート)を使ってね」と指定されます。そのため、os.environ.getという命令を使って、指定された番号を受け取れるようにしています。

3. 依存関係を伝えるrequirements.txtの作成

3. 依存関係を伝えるrequirements.txtの作成
3. 依存関係を伝えるrequirements.txtの作成

Googleのコンピューターは、あなたのパソコンに何がインストールされているか知りません。「このアプリを動かすにはFlaskが必要です」というリストを渡してあげる必要があります。これがrequirements.txtというファイルです。

メモ帳などで新しいファイルを作り、以下の内容を書き込んで保存してください。


Flask==3.0.0
gunicorn==21.2.0

ここで登場したGunicorn(グニコーン)は、本番環境でFlaskを安定して動かすための力持ちな助っ人です。練習用の機能ではなく、プロが使う仕組みで動かすのがデプロイの基本となります。このリストを一緒に送ることで、Google側で自動的に必要な道具を揃えてくれます。

4. 魔法の箱を作るDockerfileの書き方

4. 魔法の箱を作るDockerfileの書き方
4. 魔法の箱を作るDockerfileの書き方

次に、アプリを入れるための専用の箱(コンテナ)の設計図を作ります。これをDockerfile(ドッカーファイル)と呼びます。この設計図があれば、どんな環境でも同じようにアプリを動かすことができます。拡張子をつけずに「Dockerfile」という名前で保存してください。


# 1. Pythonが入った土台を準備します
FROM python:3.11-slim

# 2. 作業する場所を決めます
WORKDIR /app

# 3. 必要な道具リストをコピーしてインストールします
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# 4. プログラム本体をコピーします
COPY . .

# 5. アプリを起動する命令を書きます
CMD ["gunicorn", "--bind", ":8080", "--workers", "1", "--threads", "8", "main:app"]

初心者の方にとって、この設計図は少し難しく見えるかもしれません。しかし、内容は「Pythonを準備して、道具をインストールして、最後にアプリを起動してね」という順番の指示書になっているだけです。これをGoogleに渡すと、彼らはその通りに完璧な実行環境を組み立ててくれます。

5. Google Cloud SDKを自分のパソコンに入れよう

5. Google Cloud SDKを自分のパソコンに入れよう
5. Google Cloud SDKを自分のパソコンに入れよう

自分のパソコンからGoogleのクラウドを操作するために、Google Cloud SDK(エスディーケー)というツールをインストールする必要があります。これは、魔法使いの杖のようなもので、これを使うとコマンド(命令文)一つで複雑な作業ができるようになります。

公式サイトから自分のパソコン(WindowsやMac)に合ったものをダウンロードして、画面の指示に従って進めましょう。インストールが終わったら、黒い画面(ターミナルやコマンドプロンプト)で以下の命令を入力して、自分のGoogleアカウントと連携させます。


gcloud auth login

ブラウザが立ち上がり、「ログインしますか?」と聞かれるので承認してください。これで、あなたのパソコンとGoogleのクラウドが一本の線でつながりました。

6. プロジェクトの作成と初期設定

6. プロジェクトの作成と初期設定
6. プロジェクトの作成と初期設定

Google Cloudの世界では、すべての作業をプロジェクトという単位で管理します。会社でいう「企画」や「部署」のようなものです。管理画面から新しいプロジェクトを作成し、その名前(プロジェクトID)をメモしておきましょう。

次に、先ほどの黒い画面で「今からこのプロジェクトで作業するよ」と教えてあげます。以下のコマンドを入力してください。[PROJECT_ID]の部分は、あなたが作ったプロジェクトの名前に書き換えてくださいね。


gcloud config set project [PROJECT_ID]

さらに、Google Cloud Runという機能を使うためのスイッチをオンにする必要があります。これを「APIを有効にする」と言いますが、最初は少し時間がかかるかもしれません。でも大丈夫、一度オンにすれば次からはスムーズに進みます。

7. いよいよデプロイ!コマンドを実行しよう

7. いよいよデプロイ!コマンドを実行しよう
7. いよいよデプロイ!コマンドを実行しよう

準備がすべて整いました!いよいよ、あなたのFlaskアプリをGoogle Cloud Runへ送り出します。プログラムやDockerfileがあるフォルダに移動して、以下の魔法の言葉を入力してください。


gcloud run deploy --source .

途中で「サービス名はどうする?」「どの地域(リージョン)のサーバーを使う?」「誰でも見られるようにする?」と英語で聞かれます。サービス名はそのままエンターキーでOKです。地域は日本に近い「asia-northeast1(東京)」などを選びましょう。最後の質問には「y」と答えることで、インターネット上の誰もがあなたのサイトを見られるようになります。

しばらく待つと、「Service [アプリ名] has been deployed」と表示され、最後に「URL: https://...」というリンクが出てきます。これをクリックしてみましょう!

8. 実行結果を確認して動作テストをしよう

8. 実行結果を確認して動作テストをしよう
8. 実行結果を確認して動作テストをしよう

URLをクリックして、ブラウザに「こんにちは!Google Cloud RunでFlaskが動いています!」と表示されたら大成功です。あなたのアプリは、今まさにGoogleの巨大なデータセンターで動いています。世界中のどこからでも、そのURLにアクセスすれば同じ画面が見られます。

もしエラーが出てしまった場合は、黒い画面のメッセージをよく読んでみましょう。ファイル名が間違っていないか、スペルミスがないかを確認するだけで解決することがほとんどです。プログラムを修正したときは、もう一度先ほどのデプロイコマンドを打つだけで、自動的に中身が最新の状態に更新されます。


# 修正してもう一度送るだけ!
gcloud run deploy --source .

9. クラウド連携でさらに広がる可能性

9. クラウド連携でさらに広がる可能性
9. クラウド連携でさらに広がる可能性

無事に公開ができたら、次はもっと高度なことにも挑戦できます。例えば、Cloud Storageという場所に写真を保存したり、Cloud SQLという場所に本格的なデータを保管したりすることもできます。FlaskとGoogle Cloudを連携させれば、何万人ものユーザーが使う大規模なサービスも夢ではありません。

クラウドのすごいところは、アクセスが増えてもGoogleが勝手にパワーを補強してくれる点です。初心者の方が一人でサーバーのメンテナンスをするのは大変ですが、Google Cloud Runならその手間をすべて肩代わりしてくれます。あなたはプログラムを楽しく書くことだけに集中できるのです。

今回の手順は、これからプログラミングを続けていく上での大きな一歩になります。自分の書いたコードがインターネットという世界共通の舞台で動く感動を、ぜひ何度も味わってくださいね。パソコン操作に慣れていない方でも、この手順を繰り返し練習すれば、必ず自由自在にアプリを公開できるようになりますよ!

カテゴリの一覧へ
新着記事
New1
Flask
FlaskアプリをAWS Lambdaでサーバーレス化する方法を完全ガイド!初心者でもできるデプロイ手順
New2
Python
Pythonで複数の例外をまとめてキャッチする方法を完全解説!初心者でもわかる例外処理入門
New3
Python
Pythonでリストをコピーする方法!copy()・スライス・list()の使い方を比較
New4
Django
Djangoバリデーションの種類まとめ|フォーム・モデル・フィールドレベルの違いを初心者向けに徹底解説
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.4
Java&Spring記事人気No4
Python
Pythonで空白や不要な文字を削除する方法!strip(), rstrip(), lstrip() の使い方を初心者向けに解説
No.5
Java&Spring記事人気No5
Python
Pythonのコーディング規約(PEP8)とは?初心者でもわかる書き方の基本ルール
No.6
Java&Spring記事人気No6
Flask
Flaskでフロントエンドからファイルアップロードを行う基本手順【初心者向け】
No.7
Java&Spring記事人気No7
Flask
Flaskでデータベースエラーを処理する方法!初心者にもわかる例外の使い方
No.8
Java&Spring記事人気No8
Django
DjangoのincludeでURLを分割管理する方法を完全ガイド!初心者でも迷わないURLルーティング入門