独自ドメインから始める事業用IT基盤

独自ドメインから、
Webとメールを
構築・確認し、
維持する。

独自ドメイン、仕事用メール、Webサイト。 ドメイン契約、DNS、Web公開、メール送受信の役割を分け、ReactorFront(リアクターフロント)の実構成に沿って、設定順と外部からの確認方法を説明します。

約20分 / 実地確認: 2026-08-23
独自ドメインのDNSからWebサイト、仕事用メール、事業用サービスへ案内する構成図
独自ドメインを事業の基準点にし、Web、メール、クラウドの責務と経路を自分で管理する。

この基盤を整えた理由

まず欲しかったのは、
仕事の「住所」でした。

脱サラし、税務署へ開業届を提出して、フリーランスとして生きていくと決めた。 屋号をReactorFront(リアクターフロント)と定めた後、最初に立ち止まったのは、意外にもメールアドレスでした。

個人用から事業用へ

無料のGmailアドレスでも、仕事そのものには困らないかもしれません。 けれど、せっかく屋号を掲げるなら、その名前を持つ独自ドメインのメールアドレスがほしい。 自社サイトも、借り物に見えない独自ドメインのURLで公開したい。そう考えるようになりました。

そこでXServerドメインでドメインを契約し、Google Workspaceで仕事用メールを整備しました。 Webサイトとメールという二つの入口がそろったことで、屋号は届け出の紙に書かれた名前から、 インターネット上に自分の居場所を持つ事業へと、少しずつ形を変えていきました。

01 / 事業書類

事業の連絡先として書ける

ネット銀行へ口座開設を申し込む際、事業計画書へ独自ドメインのメールアドレスと自社サイトを記載できました。

02 / 屋号の案内

名刺に、屋号の入口を載せられる

名前や電話番号だけでなく、仕事用メールと自社サイトのURLを、ReactorFrontの連絡先として案内できました。

03 / 通知の管理

事業の通知を、一か所へ集められる

freee会計をはじめ、Google Workspaceなど事業で使うサービスの登録先・通知先を、個人用メールと分けて管理できます。

本記事の ReactorFront、リアクターフロント、検索時に使われる小文字表記 reactorfront は、すべて小野賢太郎が運営する同じ事業を指します。 reactorfront.jp は、その事業がWebと仕事用メールに使う独自ドメインです。 独自ドメインは、見栄えを整えるためだけのものではありませんでした。 外へ示す信用の手掛かりであり、事業の連絡と契約を整理するための基準点でもあります。 この入門は、その基準点をどう作り、どう守ってきたかを、実体験から順にほどく記録です。

ReactorFrontの実構成

ReactorFrontの実構成を、
ケーススタディにする。

ReactorFrontは、XServerドメインで契約した独自ドメイン、GitHub PagesのWebサイト、Google Workspaceの仕事用メールを組み合わせています。 外部の問い合わせへ正式な情報を返すDNS(権威DNS)にWeb・メール用レコードを設定し、SPF・DKIM・DMARCも有効化しました。 設定後は公開DNS、HTTPS、受信側の認証結果、DMARCレポートを継続して確認しています。

本文では実ドメインを example.com に置き換え、サービス間の関係と検証方法を説明します。 アカウント固有のトークンや鍵は公開せず、値を取得する公式資料へのリンクを示します。

契約・名前の管理 XServerドメイン ドメイン契約 / 正式なDNS応答
DNS 名前解決 / 経路指定
Web GitHub Pages 静的サイト / HTTPS
メール Google Workspace 送受信 / 認証

最初に分ける四つの役割

契約先と、実際に担う機能を分ける。

一社が複数サービスを提供していても、レジストラ、権威DNS、Web、メールは別の機能です。

01

ドメインを契約・更新する事業者(レジストラ)

example.com を登録・更新する事業者です。契約が失効するとWebとメールの両方へ影響します。

02

正式なDNS情報を返す場所(権威DNS)

ドメインのDNSレコードを保持し、問い合わせへ応答します。NSレコードを見れば、現在の管理先を特定できます。

03

Webサイトの公開先(Webホスティング)

サイトをHTTPSで配信するサービスです。この構成では、GitHub Actionsでビルドした静的サイトをGitHub Pagesから配信します。

04

仕事用メールの送受信先(メールサービス)

独自ドメインのメールボックスと送受信機能を提供します。この構成ではGoogle Workspaceです。

DNSレコードを編集する場所の特定方法

契約先の名称だけで判断せず、最初にDNSの管理先を示す NS(ネームサーバー) を確認します。 XServerドメインなら、契約一覧のクイックメニューにある「DNSレコード設定」が入口です。レンタルサーバーの管理画面とは別の場合があります。

XServerドメイン公式: DNSレコードの編集 ↗

GitHub Pagesを選んだ理由

無料だから、だけでは
選ばなかった。

開業時に必要だったのは、会社案内、プロフィール、実績、技術記事を公開する場所でした。 コメントや会員機能よりも、更新の履歴を残し、壊れた時に戻せて、サーバーを抱えず公開できることを優先しました。

01 / 静的サイト公開

静的サイトを、追加のサーバー契約なしで公開する

Astroが生成したHTML、CSS、JavaScriptをGitHub Pagesから配信します。公開リポジトリならGitHub Freeで利用でき、OSやWebサーバーを自分で保守しません。

02 / 変更履歴

更新した事実と、変更前の状態を残す

commit、変更差分(diff)、Pull Requestで、いつ何を変えたかを追えます。不具合があれば、履歴を消さず、変更を取り消すcommit(revert)で戻せます。

03 / buildと公開

ビルドと公開を、同じ場所で自動化する

mainへ反映するとGitHub Actionsが検査して公開用fileを生成し、成功したfileだけをPagesへ公開します。失敗した工程と対象commitも実行履歴に残ります。

04 / 対象外にする機能

動的機能を持たないことも、設計として選ぶ

Pages単体にはDB、ログイン、コメント、いいね、フォーム受付APIがありません。必要なら外部サービスを足せますが、今は保守対象を増やさない方を選びました。

更新Astro / Git本文と実装を変更
確認Pull Request差分と判断を確認
検査・生成GitHub Actions検査して静的生成
公開Pages + CDNHTTPSで公開

公開と配信の仕組み

一台を持たず、GitHubの配信基盤を借りる。

個人で一台のWebサーバーを立てる構成では、アクセスはその一台へ集中します。 GitHub PagesはGitHubの配信基盤と、利用者に近い拠点から配信する仕組み(CDN)を通じて静的fileを返すため、同じページへのアクセスが続いても、毎回配信元まで到達するとは限りません。

GitHubは、Pagesを世界各地のデータセンターから配信し、大量の通信で停止を狙うDDoS攻撃への追加防御も提供すると説明しています。 通常のアクセス集中や、単純な連続再読み込みを、個人管理の一台構成より受け止めやすいことも採用理由でした。

2026-08-23時点の実測

ReactorFront本番の応答

HTTP
200 OK
DNS
複数のPages用IPへ解決
Edge
japaneast / cache-nrt
Cache
X-Cache: HIT

確認時点では、東京・成田側のFastlyキャッシュから配信されました。ヘッダー名や内部構成は変更され得るため、恒久仕様としては扱いません。

堅牢であることと、無敵であることは別

GitHub Pagesには月間通信量の目安となる上限と、一定時間内の要求回数を制限する仕組みがあり、要求過多を示すHTTP 429やサービス障害も起こり得ます。 あらゆる規模のDDoSへ耐える保証ではありません。決済、認証、SaaS提供などへ用途が変わる場合は、別の基盤を再検討します。

Webとメールの行き先を示すDNSレコード

DNSレコードが、
Webとメールの
行き先を決める。

レコード種別ごとに役割は異なります。同じ名前・種別の重複や古い値を避け、設定値は利用サービスの管理画面と公式ドキュメントから取得します。

種類役割例補足
A / AAAA ホスト名をIPアドレスへ対応付ける example.com → GitHub PagesのIP IPv4 / IPv6
CNAME ホスト名に別名を設定する www.example.com → owner.github.io サブドメイン向け
MX メールを受け取るサーバーを指定する example.com → 管理画面が示すメールサーバー 優先度あり
TXT 所有確認・送信ポリシー・公開鍵を記録する 所有確認 / SPF / DKIM / DMARC 秘密鍵は置かない
01

ドメイン契約とDNS

名前を契約し、編集場所を確定する。

ドメインを契約したら、自動更新と連絡先メールを確認します。次にNSレコードを調べ、現在の権威DNSとレコード編集画面を特定します。

PowerShellネームサーバーを確認
Resolve-DnsName example.com -Type NS
  • 契約の自動更新と支払い方法を確認する
  • NSの結果とDNS編集画面が一致するか確認する
  • 変更前のDNSレコードを控える
02

Webサイト

GitHub Pagesで、
検査・生成・公開をつなぐ。

先にGitHubのrepository設定画面(Settings > Pages)で、公開元をGitHub Actionsにします。 ReactorFrontでは、mainへの反映または手動実行を起点にAstroが公開用の静的fileを生成し、成功したfileをPagesの公開環境(github-pages environment)から公開します。

01公開repositoryRepository
02公開元Source: GitHub Actions
03独自ドメインCustom domain: www.reactorfront.jp
04HTTPS強制Enforce HTTPS

自動実行の設定(workflow)では、ソースの取得(checkout)、必要packageの導入、Astroの検査、公開用fileの生成、Pagesへの受け渡し、本番公開(deploy)を順に行います。 公開権限は contents: read、pages: write、id-token: write に絞り、公開用fileの生成(build)が成功した後だけdeployを開始します。

  • mainへ反映したcommitと、Actionsの実行対象が一致する
  • 公開用fileの生成(build)と本番公開(deploy)の両方が成功している
  • Pages設定に正しいカスタムドメインが表示される
  • Enforce HTTPS が有効で、本番URLがHTTPSで開く
  • 問題があれば失敗した工程を確認し、必要に応じて変更を取り消すcommit(revert)を反映する

次にGitHub側でカスタムドメインを登録・検証し、DNSへA / AAAA / CNAMEを追加します。 ルートドメインと www のどちらを正規URLにするかも決めます。

A / AAAA@ → GitHub Pages公式のIP
CNAMEwww → owner.github.io
TXTGitHubが表示した所有確認値
値をこの記事から丸写ししない

IPや確認手順は変更され得ます。設定時点のGitHub公式文書と、自分のリポジトリ設定画面を正としてください。ワイルドカードDNSは使いません。

公開リポジトリと静的成果物へ、秘密を入れない

APIキー、復旧コード、秘密鍵、管理画面の確認値をcommitしません。ブラウザへ配信するJavaScriptや環境変数も、利用者から見える前提で扱います。

03

仕事用メール

Google Workspaceへメールを届ける。

Google Workspaceでドメイン所有を確認し、管理画面が指定するMXレコードをDNSへ登録します。 優先度は数値が小さいほど先に使われます。既に問題なく稼働している旧形式のGoogle MXは、理由なく置き換えません。

  • 管理画面に表示されたMXの値と優先度を使う
  • 同じドメインの不要な旧MXが混ざっていないか確認する
  • 作成した独自ドメインアドレスで送受信を試す
04

メール送信元の認証

SPF・DKIM・DMARCを順番に有効化する。

3つは重複機能ではありません。送信元の許可、電子署名、失敗時の扱いという別々の役割を持ちます。

SPF送信元の許可リスト

このドメインのメールを、どのサービスが送ってよいか宣言します。

v=spf1 include:_spf.google.com ~all
DKIMメールへの電子署名

Google管理画面で2048ビット鍵を生成し、公開鍵だけをTXTへ登録します。実際の鍵は転載しません。

google._domainkey  TXT  <管理画面が生成した公開鍵>
DMARC失敗時の方針と報告

最初は監視だけの p=none で始め、報告を見てから段階的に強くします。

v=DMARC1; p=none; rua=mailto:dmarc@example.com
DMARCは一気に reject へ進めない

SPFとDKIMを先に整え、少なくとも1週間はレポートを監視します。正規の送信元がすべて通ると確認してから quarantine、その後 reject を検討します。

05

外部からの確認

公開DNSと実際の通信を、外部から確かめる。

管理画面での保存だけでは完了としません。公開DNSを問い合わせ、HTTPSでサイトを開き、外部メールボックスへ送信して、受信側の認証結果まで確認します。

PowerShell公開DNSを確認
Resolve-DnsName example.com -Type A
Resolve-DnsName example.com -Type AAAA
Resolve-DnsName www.example.com -Type CNAME
Resolve-DnsName example.com -Type MX
Resolve-DnsName example.com -Type TXT
Resolve-DnsName _dmarc.example.com -Type TXT
  • ルートドメインと www の両方がHTTPSで開く
  • 片方から正規URLへ意図どおり転送される
  • 外部メールの「メッセージのソース」でSPF / DKIM / DMARCが PASS
  • DMARCレポートが届き、未知の送信元がない

公開してよい情報を分ける

ノウハウは公開する。
認証情報は公開しない。

DNSはそもそも公開情報ですが、管理画面のスクリーンショットには公開不要な情報が混ざります。 解説に必要な「構造」と、本人しか持つべきでない「値」を分けます。

公開してよい

  • サービスごとの役割と構成図
  • 公開リポジトリのソースコードと変更履歴
  • A / AAAA / MXなど公開DNSの一般例
  • SPF・DKIM・DMARCの考え方
  • 値を伏せた管理画面の手順
  • 確認コマンドと判定基準

公開しない

  • アカウントID、請求・契約情報
  • パスワード、APIキー、二要素認証、復旧コード
  • 認証コード、EPP/AuthCode
  • GitHub / Googleの実際の確認トークン
  • DKIM鍵の実値や管理画面のセッションURL

構築後の定期確認

構築後も続ける
定期運用。

毎月

期限と請求を確認

ドメイン、Google Workspace、支払い手段、管理者への通知を確認します。

main反映後

公開用fileの生成と本番公開を確認

mainへ反映したcommit、GitHub Actionsによる生成(build)、Pagesへの公開(deploy)、本番URLを順に確認します。

DNS変更後

DNSを外部確認

レコード変更後は、権威DNSと一般の名前解決の両方を確認します。

導入直後は毎週

DMARCレポートを見る

未知の送信元や認証失敗がないか確認し、方針を強めてよいか判断します。

3か月ごと

管理権限を棚卸し

使っていないアカウント、古い回復先、不要なDNSレコードを整理します。

小さく、理解でき、自分で管理できる構成

小さく始め、
構成と担当範囲を把握する。

サービス数の少なさだけが最小構成ではありません。 契約更新、DNS、認証、検証、障害時の連絡先まで把握していれば、必要な変更を自分で判断できます。

インフラ整備を相談する