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

FlaskアプリでクラウドDNSを設定!独自ドメインでWebサイトを運用する初心者ガイド

FlaskアプリでクラウドDNSを設定して独自ドメインを運用する手順
FlaskアプリでクラウドDNSを設定して独自ドメインを運用する手順

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

生徒

Flaskで作ったアプリを公開したのですが、URLが数字の羅列で覚えにくいです。自分の好きな名前、例えば「my-app.com」みたいな名前でアクセスできるようにできますか?

先生

もちろんです!それを実現するのが「独自ドメイン」と、名前と住所を紐付ける「DNS(ディーエヌエス)」という仕組みですよ。

生徒

DNSですか?難しそうな名前ですね。クラウドサービスを使うと、初心者でも設定できるのでしょうか?

先生

はい。クラウドのDNSサービスを使えば、住所録を書き換える感覚で簡単に設定できます。手順を一つずつ解説しますね!

1. 独自ドメインとDNSの役割を理解しよう

1. 独自ドメインとDNSの役割を理解しよう
1. 独自ドメインとDNSの役割を理解しよう

インターネット上のWebサイトには、すべて「IPアドレス(アイピー・アドレス)」という住所が割り振られています。これは「123.45.67.89」といった数字の羅列です。しかし、人間にとって数字の住所を覚えるのは非常に大変ですよね。

そこで使われるのが「ドメイン」です。ドメインは「google.com」や「yahoo.co.jp」のような、文字で作られたインターネット上の「看板」や「表札」だと考えてください。そして、この「看板(ドメイン)」と「実際の住所(IPアドレス)」を紐付ける電話帳のような役割を果たすのが「DNS(ドメイン・ネーム・システム)」です。

Flaskアプリを独自ドメインで運用するということは、世界中の電話帳に「この看板の名前で電話が来たら、私のFlaskアプリの住所に繋いでね」と登録する作業のことなのです。これをクラウド上のサービスで行うのが、今回ご紹介するクラウドDNSの活用法です。

2. ドメイン取得とクラウドDNSサービスの選び方

2. ドメイン取得とクラウドDNSサービスの選び方
2. ドメイン取得とクラウドDNSサービスの選び方

まずは自分の好きなドメイン名を手に入れる必要があります。ドメインは「お名前.com」や「ムームードメイン」などの専門業者から購入するか、AWS(Route 53)やGoogle Cloud(Cloud DNS)といったクラウドサービス内で直接購入することができます。

クラウドサービスを利用するメリットは、Flaskアプリを動かしているサーバーと同じ管理画面で設定が完結することです。特にAWSの「Route 53(ルート・フィフティースリー)」やGoogle Cloudの「Cloud DNS」は、世界中のどこからアクセスされても高速に住所を教えてくれる、非常に信頼性の高い電話帳です。

プログラミング未経験の方は、まず自分の名前やサービス名に関連した、覚えやすくて短いドメインを探してみることから始めてみましょう。末尾が「.com」や「.jp」など種類によって値段が異なりますが、仕組みはどれも同じです。

3. Flaskアプリ側の準備とドメイン確認用コード

3. Flaskアプリ側の準備とドメイン確認用コード
3. Flaskアプリ側の準備とドメイン確認用コード

DNSの設定をする前に、Flaskアプリ側で「自分の名前が正しく認識されているか」を確認する簡単な仕掛けを作っておくと便利です。アプリがどのドメイン名でアクセスされたかを表示するコードを書いてみましょう。


from flask import Flask, request

app = Flask(__name__)

@app.route('/')
def check_domain():
    # アクセスされた時のドメイン名(ホスト名)を取得します
    host_name = request.host
    return f"現在は {host_name} という名前でアクセスされています!"

if __name__ == '__main__':
    # 外部からのアクセスを許可する設定で起動します
    app.run(host='0.0.0.0', port=80)

このプログラムでは「request.host」という命令を使っています。これにより、まだ数字の住所でアクセスしているのか、それとも独自ドメインでアクセスできているのかを画面上で簡単に確認できるようになります。設定作業中の「答え合わせ」として役立ちます。

4. クラウドDNSに「Aレコード」を登録する手順

4. クラウドDNSに「Aレコード」を登録する手順
4. クラウドDNSに「Aレコード」を登録する手順

いよいよ本番のDNS設定です。最も基本的な設定は「Aレコード(エー・レコード)」と呼ばれるものです。これは「ドメイン名を特定のIPアドレスに結びつける」という最も単純な指示書です。

クラウドDNSの管理画面(AWSやGoogle Cloudなど)を開き、以下の手順で進めます。

  • 「ホストゾーン」や「ゾーン」という名前の項目を作成し、取得したドメイン名を入力します。
  • 「レコードを作成」というボタンを押し、種類を「A」に設定します。
  • 「値」または「送信先」という欄に、Flaskアプリが動いているサーバーの数字の住所(IPアドレス)を入力します。
これだけで、「名前」と「住所」が結びつきました。パソコンに詳しくない方は、住所録に新しい友達の名前と電話番号を書き込む作業だと思ってください。とても簡単ですよね。

5. CNAMEレコードを使った便利な名前の付け方

5. CNAMEレコードを使った便利な名前の付け方
5. CNAMEレコードを使った便利な名前の付け方

DNSには、Aレコード以外にも便利な設定があります。その代表が「CNAME(シーネーム)レコード」です。これは、ある名前に「別名(あだ名)」を付ける機能です。

例えば、メインの「example.com」とは別に、「www.example.com」でも同じアプリを表示させたい時に使います。Aレコードで数字の住所を何度も書く代わりに、「wwwの方は、メインの方と同じ場所を見てね」と指示を出します。以下のFlaskコードは、複数のドメイン名でアクセスされた際に、どちらの名前で来たかを判定する例です。


from flask import Flask, request

app = Flask(__name__)

@app.route('/welcome')
def welcome():
    name = request.host
    if name.startswith('www.'):
        return "www付きの別名でアクセスされましたね!"
    else:
        return "メインのドメイン名でアクセスされました!"

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

6. ネームサーバーの切り替えという重要なステップ

6. ネームサーバーの切り替えという重要なステップ
6. ネームサーバーの切り替えという重要なステップ

ドメインを別の業者で購入し、管理をクラウドDNSで行う場合に必ず必要になるのが「ネームサーバーの変更」です。これは、インターネット上の案内所に「私のドメインの詳しい住所録は、このクラウドサービスが持っています」と教える作業です。

クラウドDNSの設定を終えると、4つほど「ns-123.awsdns.com」といった文字が表示されます。これがあなたの住所録の保管場所です。この文字を、ドメインを購入した業者の管理画面に貼り付ける必要があります。この作業を忘れると、いくらクラウド側で設定を頑張っても、世界中の人はあなたのアプリを見つけることができません。非常に重要な「情報のバトンタッチ」なのです。

7. DNS設定が反映されるまでの待ち時間(浸透)

7. DNS設定が反映されるまでの待ち時間(浸透)
7. DNS設定が反映されるまでの待ち時間(浸透)

DNSの設定を終えた直後にアクセスしても、すぐに独自ドメインで表示されないことがあります。これは故障ではなく、インターネットの仕組み上、仕方のないことです。世界中の電話帳が新しい情報をコピーして更新するまでには、数分から、長ければ数時間かかることがあります。これを専門用語で「浸透(しんとう)」と呼んだりします。

待ち時間にアプリがどう動くか不安な方は、以下のように「現在の時間を表示する機能」を付けておくと、いつ反映されたかが分かりやすくなります。何度も画面を更新して、表示が変わるのを待ちましょう。


from flask import Flask
from datetime import datetime

app = Flask(__name__)

@app.route('/time')
def show_time():
    now = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    return f"現在の時刻は {now} です。ドメイン設定の反映を待っています..."

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

8. HTTPS(SSL)証明書の設定も忘れずに

8. HTTPS(SSL)証明書の設定も忘れずに
8. HTTPS(SSL)証明書の設定も忘れずに

独自ドメインで運用を始めたら、次に必ず行うべきなのが「HTTPS化」です。URLの横に鍵マークを出し、通信を暗号化して安全にすることです。クラウドDNSを使っていると、この設定もスムーズに行えます。

AWSの「Certificate Manager(ACM)」などのサービスを使えば、ボタン一つで「このドメインは私のものである」という証明書を発行し、無料でFlaskアプリに適用できます。最近のブラウザは、この設定がないサイトを「安全ではありません」と警告するため、必須の作業と言えます。DNSの設定とセットで、この「安全な通信の確保」も覚えておきましょう。

9. ドメイン運用で自分だけのブランドを作ろう

9. ドメイン運用で自分だけのブランドを作ろう
9. ドメイン運用で自分だけのブランドを作ろう

独自ドメインの設定が完了すれば、あなたのFlaskアプリは世界に一つだけの、自分だけのブランド名を持つことになります。数字だけの住所から卒業し、誰にでも教えられる立派なWebサービスへと進化した証拠です。

最初は「レコード」や「ネームサーバー」といった言葉に戸惑うかもしれませんが、一度仕組みを作ってしまえば、その知識は他のサービスを作る時にもずっと使えます。クラウドDNSという強力な道具を使いこなし、安全で使いやすいアプリ運営を楽しんでください。あなたの挑戦が、素晴らしいWebサービスとして形になることを応援しています!

カテゴリの一覧へ
新着記事
New1
Django
Django Adminの有効化と初期設定を完全解説!初心者でもわかる管理画面とスーパーユーザー作成手順
New2
Flask
FlaskアプリでクラウドDNSを設定!独自ドメインでWebサイトを運用する初心者ガイド
New3
Flask
Flaskアプリのセキュリティテストを効率的に行う方法まとめ
New4
Flask
認証と認可の違いを整理しよう!Flaskで押さえるべき基礎概念
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.4
Java&Spring記事人気No4
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.5
Java&Spring記事人気No5
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.6
Java&Spring記事人気No6
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説