0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Lovableでカスタムドメインを設定する手順とサブドメイン設計のポイント

Posted at

はじめに

Lovableで構築したサービスに、カスタムドメインを設定する方法を解説します。

今回は、既存の tielec.blog とは別に、新しいサービスを car-sharing-vs-rental-car.tool.tielec.blog というサブドメインで公開しました。

設定にあたって、次の2点を整理します。

  1. サブドメイン設計の考え方tool.serviceservice.tool か)
  2. A+TXTレコードの設定手順(CNAMEではない理由も解説)

前提条件

  • Lovableでサービスを構築済み
  • 独自ドメインを取得済み(今回は tielec.blog
  • DNS管理はお名前ドットコム(他のサービスでも考え方は同じ)

サブドメイン設計のポイント

階層の意味を考える

サブドメインを設計するとき、階層の意味 を考える必要があります。

例えば、次の2つのどちらが適切でしょうか?

  • tool.car-sharing-vs-rental-car.tielec.blog
  • car-sharing-vs-rental-car.tool.tielec.blog

推奨される構造

結論から言うと、後者(car-sharing-vs-rental-car.tool.tielec.blog)が推奨です。

理由は、階層の意味が逆になるからです。

パターン 階層構造 意味
tool.car-sharing-vs-rental-car.tielec.blog tielec.blogcar-sharing-vs-rental-cartool サービスの中にツールがある(逆)
car-sharing-vs-rental-car.tool.tielec.blog tielec.blogtoolcar-sharing-vs-rental-car ツール群の中にサービスがある(正)

将来の拡張性

car-sharing-vs-rental-car.tool.tielec.blog という構造にすることで、将来的に他のツールを追加しやすくなります。

tool.tielec.blog
├─ car-sharing-vs-rental-car
├─ cloud-cost-simulator
└─ pricing-compare

Lovableでの設定手順

1. Lovableでドメインを追加

Lovableのプロジェクト設定から、カスタムドメインを追加します。

すると、次のような設定値が表示されます(CNAMEではなく、A+TXTレコード)。

RECORD TYPE HOST NAME VALUE
A car-sharing-vs-rental-car.tool 185.158.xxx.xxx
TXT _lovable_verify.car-sharing-vs-rental-car.tool lovable_verify=xxxxxxxx...

2. お名前ドットコムでDNS設定

お名前ドットコムにログインし、「DNS設定」を開きます。

Aレコードを追加

  • タイプ: A
  • ホスト名: car-sharing-vs-rental-car.tool.tielec.blog は含めない)
  • VALUE: Lovableが表示したIPアドレス(例: 185.158.xxx.xxx
  • TTL: デフォルト(3600秒)

TXTレコードを追加

  • タイプ: TXT
  • ホスト名: _lovable_verify.car-sharing-vs-rental-car.tool
  • VALUE: Lovableが表示した値(例: lovable_verify=xxxxxxxx...
  • TTL: デフォルト(3600秒)

重要: TXTレコードの値は 完全一致必須 です。コピペミスに注意してください。

3. 保存して反映待ち

DNS設定を保存します。反映には数分〜数時間かかる場合があります。

4. Lovableで検証

Lovable側で「Verify」ボタンを押し、検証が通ればHTTPSが自動的に有効になります。

なぜCNAMEではなくA+TXTなのか?

一般的なホスティングサービスではCNAMEが多い

Vercel、Netlify、GitHub Pagesなどでは、CNAMEレコードを使うことが一般的です。

CNAME: your-domain.example.com → vercel-alias.vercel.app

LovableがA+TXTを使う理由

Lovableでは、次の理由からA+TXTレコードを採用していると考えられます。

  1. ルートドメイン対応
    CNAMEはサブドメインでしか使えません。Aレコードならルートドメイン(example.com)にも対応できます。

  2. DNS設定の柔軟性
    Aレコードは、CNAME FlatteningなどのDNS設定と競合しにくい。

  3. 所有確認の明確化
    TXTレコードで、ドメイン所有者であることを明確に確認できます。

よくある疑問

Q1. 1サービスごとに1つのIPアドレスが割り当てられるのか?

A. いいえ、IPアドレスは共有されています。

複数のLovableサービスが、同じIPアドレス(エッジIP)を共有しています。

car-sharing-vs-rental-car.tool.tielec.blog
            ↓
      185.158.xxx.xxx   ← Lovableのエッジ(CDN)
            ↓
   HTTPのHostヘッダ / TLS SNI で振り分け
            ↓
     該当するプロジェクト

DNSは「入口」を決めるだけで、実際の振り分けは HTTPのHostヘッダやTLSのSNI(Server Name Indication) によって行われます。

Cloudflare、Vercel、Netlifyなども同じ仕組みです。

Q2. TXTレコードは必須なのか?

A. はい、必須です。

TXTレコードは、「このドメインが、このLovableプロジェクトに紐づいていることを証明する」ためのものです。

これがないと、検証が通りません。

Q3. DNS反映に時間がかかる場合は?

A. TTL(Time To Live)に依存します。

一般的には数分〜数時間で反映されますが、DNS設定のTTLが長い場合、最大48時間かかることもあります。

反映を確認するには、次のコマンドを使います。

# Aレコードの確認
dig car-sharing-vs-rental-car.tool.tielec.blog

# TXTレコードの確認
dig TXT _lovable_verify.car-sharing-vs-rental-car.tool.tielec.blog

まとめ

Lovableでカスタムドメインを設定する際のポイントは次の通りです。

  • サブドメイン設計: 役割(tool)→個別サービス(car-sharing-vs-rental-car)の順が推奨
  • DNSレコード: CNAMEではなく、A+TXTレコードを使用
  • IPアドレス: 複数サービスで共有(振り分けはHostヘッダ/SNI)
  • TXTレコード: ドメイン所有確認のため必須

設定自体は難しくありませんが、サブドメインの階層設計や、A+TXTレコードの仕組みを理解しておくと、スムーズに進められます。


参考: こうした判断や設計のプロセスを、もう少し詳しく書いています。
https://tielec.blog/

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?