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

FlaskアプリをAzure App Serviceにデプロイする手順を完全解説!初心者向けクラウド公開ガイド

FlaskアプリをAzure App Serviceに配置する手順まとめ
FlaskアプリをAzure App Serviceに配置する手順まとめ

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

生徒

「PythonのFlaskで自分のホームページを作りました!これをMicrosoftのAzureというクラウドを使って、インターネットで見られるようにするにはどうすればいいですか?」

先生

「Azure App Serviceを使えば、サーバーの難しい管理をしなくても、あなたのアプリを世界中に公開することができます。配置、つまりデプロイという作業を一緒に行いましょう。」

生徒

「アジュール、アップサービス、デプロイ。初めて聞く言葉ばかりですが、パソコンに詳しくなくても大丈夫でしょうか?」

先生

「もちろんです。一つずつ手順を確認していけば、必ず公開までたどり着けます。まずは全体像からお話ししますね!」

1. FlaskとAzure App Serviceの基本を知ろう

1. FlaskとAzure App Serviceの基本を知ろう
1. FlaskとAzure App Serviceの基本を知ろう

プログラミングを始めたばかりの方にとって、自分の作ったものがインターネットで見られるようになるのは大きな感動です。今回使用するFlask(フラスク)は、PythonでWebサイトを構築するための非常にシンプルな道具です。

そしてAzure App Service(アジュール・アップ・サービス)とは、Microsoftが運営するクラウドサービスの一つです。クラウドとは、インターネット越しに高性能なコンピューターの力を借りる仕組みのことです。通常、自分のWebサイトを公開するにはサーバーという機械を自分で買って、24時間電気をつけっぱなしにする必要がありますが、Azureを使えばその面倒なことをすべてMicrosoftが代行してくれます。

ここで出てくる配置(はいち)デプロイという言葉は、自分のパソコンで作ったプログラムを、Azureのコンピューターにコピーして動く状態にすることを指します。これからその具体的なステップを解説していきます。

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

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

まずは、Azureに送り出すための基本のプログラムを書きましょう。自分のパソコンで「app.py」という名前のファイルを作り、以下のコードをコピーしてください。


from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello_azure():
    return "Azure App Serviceへようこそ!Flaskアプリが正常に動いています。"

if __name__ == "__main__":
    app.run()

このプログラムは、サイトのトップページにアクセスしたときに「Azure App Serviceへようこそ!」という挨拶を表示するだけの簡単なものです。@app.route("/")という部分は、インターネットの住所であるURLの末尾が「/」のときに、この後の命令を実行するという約束事です。まずはこのシンプルな形で、無事に公開できるか試すのが成功の秘訣です。

3. クラウドに道具を伝えるrequirements.txtの作成

3. クラウドに道具を伝えるrequirements.txtの作成
3. クラウドに道具を伝えるrequirements.txtの作成

Azureのコンピューターは、あなたのパソコンと同じ状態ではありません。初期状態ではFlaskすら入っていないのです。そこで「このアプリを動かすには、これらの道具が必要です」という指示書を渡してあげる必要があります。これがrequirements.txt(リクワイアメンツ・ドット・テキスト)です。

メモ帳を開いて、以下の2行を書いて「requirements.txt」という名前で保存してください。場所は先ほどのapp.pyと同じフォルダです。


Flask
gunicorn

ここで登場したgunicorn(グニコーン)は、本番の厳しいインターネット環境で、Flaskを安定して動かしてくれる守衛さんのような役割を持つソフトウェアです。これを用意しておくことで、多くの人が一度にアクセスしてもアプリが壊れにくくなります。Azureはこのファイルを読み取って、自動的に必要なソフトを準備してくれます。

4. AzureアカウントとWebアプリの作成

4. AzureアカウントとWebアプリの作成
4. AzureアカウントとWebアプリの作成

次に、Azureの公式サイトにアクセスしてアカウントを作成しましょう。初めての方は無料枠という特典が使えることが多いので、それを利用するとお金をかけずに練習できます。ログインしたら「リソースの作成」から「Webアプリ」を選択します。

設定画面では以下の項目を選んでいきます。
1. サブスクリプション:お支払いプラン(無料枠があればそれを選択)
2. リソースグループ:引き出しの名前のようなもの。新しく作ってOKです。
3. 名前:あなたのサイトのURLになります。世界で一つだけの名前を付けましょう。
4. 公開:コードを選択します。
5. ランタイムスタック:Pythonの最新バージョンを選びます。

これで、インターネット上にあなたのアプリを置くための「空っぽの箱」が用意されました。今はまだ中身がないので、アクセスしてもエラーになりますが、準備は着実に進んでいます。

5. ローカルGitを使った転送の準備

5. ローカルGitを使った転送の準備
5. ローカルGitを使った転送の準備

プログラムをAzureに届けるための「運び屋」として、Git(ギット)という道具を使います。Gitは本来、プログラムの変更を記録するものですが、Azureにファイルを送る際にもよく使われます。

パソコンのコマンド画面(ターミナル)を開き、アプリのフォルダに移動して以下のコマンドを入力しましょう。これにより、そのフォルダがGitの管理下に入ります。


git init
git add .
git commit -m "Azureへのデプロイ準備完了"

これらのコマンドは、料理で言うと「食材(プログラム)を段ボールに詰め込んで、封をした」状態です。あとは、この段ボールをAzureという目的地に発送するだけです。パソコン初心者の人には少し難しく感じるかもしれませんが、順番に打ち込むだけで大丈夫ですよ。

6. Azure CLIを使ってコマンドで操作する

6. Azure CLIを使ってコマンドで操作する
6. Azure CLIを使ってコマンドで操作する

ブラウザの画面からポチポチ操作するのも良いですが、Azure CLI(アジュール・シーエルアイ)というツールを使うと、より確実に作業ができます。これは、文字を入力してAzureに直接命令を出すための道具です。

インストールしたら、以下のコマンドで自分のアカウントにログインします。ブラウザが開くので、自分のメールアドレスとパスワードを入れれば連携完了です。


az login

これで、あなたのパソコンとAzureの巨大なサーバーが一本の線でつながりました。これから出す命令は、すべてAzureのコンピューターに届くようになります。まるで遠隔操作をしているような感覚で、ワクワクしますね!

7. いよいよ本番!デプロイコマンドの実行

7. いよいよ本番!デプロイコマンドの実行
7. いよいよ本番!デプロイコマンドの実行

さあ、いよいよ最後の仕上げです。以下のコマンド一発で、あなたのFlaskアプリがAzureへと旅立ちます。--nameの後は、あなたがAzureの画面で決めた「Webアプリの名前」を入れてください。


az webapp up --sku F1 --name あなたのアプリ名

このコマンドを実行すると、Azure側で「Pythonをインストールする」「Flaskを準備する」「アプリを起動する」という作業が全自動で始まります。完了するまで数分かかることがありますが、ゆっくりコーヒーでも飲みながら待ちましょう。最後に「URL」が表示されたら、それがあなたのWebサイトの住所です!

8. テンプレートを使ったHTML画面の表示

8. テンプレートを使ったHTML画面の表示
8. テンプレートを使ったHTML画面の表示

無事に文字が表示されたら、次は見た目を整えたくなりますよね。FlaskではHTML(エイチティーエムエル)という、Webページの見た目を作る言語を組み込むことができます。プログラムを以下のように書き換えてみましょう。


from flask import Flask, render_template

app = Flask(__name__)

@app.route("/profile")
def profile():
    # 本来はテンプレートファイルを使いますが、今回は直接HTMLを返します
    return "<h1 style='color:blue;'>私のプロフィールページ</h1><p>Azureで公開中!</p>"

if __name__ == "__main__":
    app.run()

このように、Flaskを使えば文字の色を変えたり、大きな見出しを作ったりすることも自由自在です。プログラムを修正した後は、また先ほどのデプロイコマンドを実行すれば、最新の状態に上書きされます。どんどん修正して、あなただけの素敵なサイトに育てていきましょう。

9. トラブルが起きたときの確認方法

9. トラブルが起きたときの確認方法
9. トラブルが起きたときの確認方法

もしデプロイがうまくいかず、画面が真っ白になったりエラーメッセージが出たりしても、落ち込まないでください。プロでも一度で成功しないことはよくあります。そんなときは、Azureの管理画面にある「ログストリーム」という機能を見てみましょう。

そこには、Azureのコンピューターが「ここでつまずきました」という日記のようなメッセージを出してくれています。例えば「Flaskという名前が間違っています」とか「ファイルが足りません」といったヒントが見つかります。一つずつ問題を解決していくことが、プログラミング上達への一番の近道です。

また、Azureは非常にセキュリティが強固です。自分のサイトが守られている証拠ですので、自信を持って公開作業を進めてくださいね。一度デプロイの流れを覚えてしまえば、次はもっと複雑なアプリも簡単に公開できるようになりますよ!

カテゴリの一覧へ
新着記事
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ルーティング入門