ドメインレジストラとは?
ドメインレジストラは、ICANNまたは国別ccTLD当局の認定を受け、一般にドメイン登録を販売する組織です。レジストラは、ドメイン登録者(利用者)とTLDデータベースを管理するレジストリの間を仲介します。
レジストラの仕組み
ドメイン登録は次のような連鎖で行われます。
Registrant (you)
↓ Purchase domain
Registrar (GoDaddy, Namecheap, Cloudflare, etc.)
↓ Submit registration to
Registry (Verisign for .com, Public Interest Registry for .org, etc.)
↓ Update
Root DNS / TLD Zone
レジストラがTLDデータベースを直接管理するわけではありません。レジストリへの認可されたアクセスを使い、ドメイン登録の追加、変更、更新を行います。
主なドメインレジストラ
| レジストラ | 主な特徴 |
|---|---|
| Cloudflare | 原価ベースの料金、無料のプライバシー保護 |
| Namecheap | 低価格、無料のWhoisGuard |
| Google Domains | 分かりやすい画面、Google連携 |
| Porkbun | 低価格、無料のWHOISプライバシー |
| GoDaddy | 最大規模のシェア、追加販売が多い |
| Name.com | 開発者向け、APIアクセス |
| Hover | シンプルで追加販売が少ない |
| Dynadot | 競争力のある料金、オークション機能 |
レジストラの認定
ICANN認定(gTLD)
.com、.net、.orgなどのgTLDを販売するには、レジストラは次を満たす必要があります。
- ICANNへ申請する
- 技術要件と財務要件を満たす
- Registrar Accreditation Agreementに署名する
- 認定料を支払う
ccTLDの認可
各国のTLD当局がレジストラ要件を個別に定めます。ICANN認定レジストラなら登録できるccTLDもあれば、別途の認可が必要なccTLDもあります。
レジストラの選び方
料金面での確認事項
- 登録料金: 初年度の費用(割引されることが多い)
- 更新料金: 継続的な年額費用(高くなる場合がある)
- 移管料金: 別のレジストラへ移す費用
- 追加サービス: WHOISプライバシー、メール、SSL(他社では無料の場合もある)
比較する機能
- WHOISプライバシー: 公開WHOISから個人情報を隠す機能
- DNS管理: DNSホスティング画面の品質
- APIアクセス: プログラムからドメインを管理する機能
- 二要素認証: アカウントのセキュリティ機能
- 移管ロック: 不正な移管を防ぐ機能
- 自動更新: うっかりしたドメイン失効を防ぐ機能
注意すべき兆候
- 高額なWHOISプライバシー料金(無料であるべき)
- 初年度を安く見せ、更新料金を高くする表示
- 強引な追加販売
- 移管元からの手続きが難しい
- サポート品質が低い
レジストラが提供するサービス
中核サービス
- ドメインの登録と更新
- DNSホスティング(ネームサーバー)
- WHOIS/RDAP管理
- ドメイン移管
よくある追加サービス
- メールホスティング
- SSL証明書
- Webホスティング
- Webサイトビルダー
- ドメインパーキング
レジストラ間の移管
ドメインは別のレジストラへ移管できます。
1. ドメインのロックを解除する: 現在のレジストラで行う
2. 認証コードを取得する: EPP移管コードを取得する
3. 移管を開始する: 新しいレジストラで申請する
4. 移管を確認する: メールで承認する
5. 5〜7日待つ: 移管が完了するまで待つ
制限事項:
- 登録後60日間は待つ必要がある
- 前回の移管後60日間は待つ必要がある
- ドメインが失効していない必要がある
レジストラとレジストリの違い
| 項目 | レジストラ | レジストリ |
|---|---|---|
| 役割 | ドメインを販売する | TLDデータベースを管理する |
| 顧客 | エンドユーザー(利用者) | レジストラ |
| 例 | Namecheap、Cloudflare | Verisign、PIR |
| 関係 | 1つのTLDに複数存在 | 1つのTLDに1つ |
ドメインレジストラAPI
ドメイン管理を自動化する開発者は、レジストラAPIを使って可用性の確認、登録、更新、DNS設定をプログラムから行えます。APIを選ぶときは、認証方式、レート制限、エラー応答、移管操作、料金情報を確認してください。
// Example: Checking availability via registrar API
const response = await fetch('https://api.registrar.com/domains/check', {
method: 'POST',
body: JSON.stringify({ domain: 'example.com' })
});