移行シナリオ
| シナリオ | 説明 | ユースケース | 複雑さ | ダウンタイム |
|---|---|---|---|---|
| ドメインを追加する | 現在 1 つのカスタムドメインを使用しており、既存のドメインを稼働させたままさらに追加したい場合 | 複数のブランドやリージョンに対応するための拡張 | 低 | なし |
| 既存のドメインを置き換える | 現在のカスタムドメインを新しいものに置き換えたい場合 | リブランディングまたはドメイン所有権の変更 | 中 | 最小限 (DNS 切り替え時) |
| 正規ドメインから移行する | 現在 Auth0 の正規ドメイン (例: tenant.auth0.com) を使用しており、カスタムドメインに移行したい場合 | 複数のドメインを使用する初回のカスタムドメイン実装 | 中~高 | なし (並行運用) |
移行前チェックリスト
- すべての新しいカスタムドメインのドメイン所有権を確認している
- 現在の認証プロセスと API 統合を確認している
- 現在のドメインを使用しているすべてのアプリケーションを特定している
- 現在のメールテンプレートとリンクを文書化している
- SSL/TLS 証明書を取得している (自己管理証明書を使用している場合)
- 新しいカスタムドメインの設定を開発環境またはステージング環境でテストしている
- ロールバック計画を準備している
- トラフィックの少ない時間帯に移行を予定している (該当する場合)
- 関係者とユーザーに通知している (必要な場合)
移行手順
新しいカスタムドメインの追加
ドメインの所有権を確認する
Auth0 が管理する証明書の場合
- Auth0 から提供された CNAME レコードを控えます
- DNS プロバイダーに CNAME レコードを追加します
- Dashboard または API でドメインを検証します
自己管理の証明書の場合
- 必要な TXT レコードを DNS に追加します
- リバースプロキシまたは CDN を設定します
- SSL 証明書をアップロードします
- ドメインを検証します
デフォルトドメインを設定する (任意)
アプリケーションの設定を更新する
SDK の設定
必要なのは、
domain パラメータを Auth0 の正規ドメインから新しいカスタムドメインに更新することだけです。コールバックURL
- Auth0 Dashboard > Applications に移動します。設定するアプリケーションを選択し、Settings タブを開きます。
- Allowed Callback URLs を更新し、新しいドメインを追加します。
- Allowed Logout URLs を更新します。
- Allowed Web Origins を更新します。
メールテンプレートを更新する
- ブランディング > カスタムドメイン に移動します
- 使用するドメインをデフォルトに設定します
- 必要に応じてメールテンプレートをカスタマイズし、“From” アドレス、件名、本文でカスタムドメインの情報を使用します
ドメインをデフォルトに設定しても、メールの内容が自動的に変更されるわけではありません。これにより、デフォルトドメインのコンテキストをメールテンプレートで利用できるようになります。その情報を使用するには、テンプレートをカスタマイズする必要があります。
auth0-custom-domain ヘッダーで特定のドメインが指定されていない場合は、デフォルトドメインのコンテキストが利用可能になります。- Google Cloud Console を開きます
- APIs & Services > Credentials に移動します
- Authorized redirect URIs に
https://new-domain.example.com/login/callbackを追加します
- Facebook Developers にアクセスします
- アプリの Facebook Login > Settings に移動します
- Valid OAuth Redirect URIs に
https://new-domain.example.com/login/callbackを追加します
その他のプロバイダー
エンタープライズ接続を更新する (該当する場合)
SAML 接続
SP-initiated SAML リクエストを使用していて、IdP が動的 ACS をサポートしている場合は、IdP 側で ACS URL を手動で更新する必要はありません。
Azure AD 接続
- Azure Active Directory > App registrations に移動します
- 対象のアプリを選択し、Authentication を選択します
- Redirect URIs に
https://new-domain.example.com/login/callbackを追加します
ADFS 接続
認証のテスト
- ユーザーログイン: ユーザーが新しいドメイン経由で認証できることを確認します
- パスワードリセット: パスワードリセットメールで正しいドメインが使用されていることを確認します
- メールアドレス確認: メールアドレス確認用のリンクが機能することを確認します
- ソーシャルログイン: 設定済みの各ソーシャルプロバイダーをテストします
- API 呼び出し: API 呼び出しが新しいドメインで正しく動作することを確認します
- トークン検証: JWT に正しい
issクレームが含まれていることを確認します
監視と検証
- 認証ログを監視し、エラーがないか確認する
- メールの配信状況とリンクが正しく機能するかを確認する
- SSL 証明書の有効性と有効期限を確認する
- 異なる地域からテストする (該当する場合)
- すべてのアプリケーションで想定したカスタムドメインが使用されていることを確認する
古いドメインを廃止する (該当する場合)
- すべてのアプリケーションが新しいドメインに移行済みであることを確認します
- 古いドメインへのトラフィックを監視し、すでに使用されていないことを確認します
- 猶予期間中は古いドメインを有効なまま維持することを検討します
- 準備ができたら、古いカスタムドメインを削除します:
移行パターン
並行運用(ダウンタイムなし)
並行運用(ダウンタイムなし)
古いカスタムドメインと新しいカスタムドメインを同時に運用します。
- 新しいカスタムドメインを追加する
- 新しいアプリケーションが新しいドメインを使用するように更新する
- 既存のアプリケーションは古いドメインのまま維持する
- アプリケーションを段階的に移行する
- 移行完了後に古いドメインを廃止する
アプリケーションごとの段階的移行
アプリケーションごとの段階的移行
アプリケーションを1つずつ移行します。
- 優先度またはリスクに基づいてアプリケーションを特定する
- リスクの低いアプリケーションから先に移行する
- 問題がないか監視してから次に進む
- 残りのアプリケーションを移行する
- 古い設定をクリーンアップする
ブルーグリーンデプロイメント
ブルーグリーンデプロイメント
テスト用に別々の環境を使用します。
- ステージング環境に新しいカスタムドメインを設定する
- すべての機能を十分にテストする
- 1回の作業で本番環境を切り替える
- 古いドメインをバックアップとして残す
- 検証期間の後に廃止する
既存のユーザーセッションへの対応
セッションに関する考慮事項
- 旧ドメインで作成されたセッションは、有効期限が切れるまで引き続き有効です
- 新規ログインでは、新ドメインのセッションが作成されます
- クロスドメインのセッションは慎重に計画する必要があります
推奨アプローチ
- ユーザーへの通知: 再度ログインが必要になる可能性があることをユーザーに通知します
- 猶予期間: 移行期間中は古いドメインを引き続き有効にしておきます
- セッションの移行: セッションの移行にはUniversal Loginを使用します
- 明確な案内: 問題が発生した場合に備えて、ユーザーに明確な手順を案内します
ロールバック計画
即時ロールバック
- アプリケーション設定を以前のドメインを使用するように戻します
- 今後の再試行に備えて、新しいカスタムドメインの設定は維持します
- トラブルシューティングのために問題を記録します
部分的なロールバック
- 影響を受けるアプリケーションを特定します
- 該当するアプリケーションだけを古いドメインに戻します
- 問題を調査して修正します
- 準備が整ったら再移行します
完全なロールバック
- すべてのアプリケーション設定を更新し、古いドメインを使用するように戻す
- デフォルトドメインを設定している場合は、それも古いドメインに戻す
- 必要な対応がある場合は、ユーザーに通知する
- あらためて移行を試行する予定を立てる
トラブルシューティング
よくある問題と解決策
| 問題 | 原因 | 解決策 |
|---|---|---|
| ドメイン検証に失敗する | DNS レコードがまだ伝播していない | DNS の伝播を待ちます (最大 48 時間かかる場合があります) 。CNAME レコードが正しいことを確認します |
| ログイン時に古いドメインへリダイレクトされる | アプリケーション設定が更新されていない | SDK の初期化設定とコールバック URL を更新します |
| メール内のリンクで誤ったドメインが使用される | デフォルトドメインが設定されていない | デフォルトドメインを設定するか、メールのルーティングを構成します |
| ソーシャルログインに失敗する | リダイレクト URI が更新されていない | ソーシャルプロバイダーの許可済みリダイレクト URI に新しいカスタムドメインを追加します |
| トークンの発行元が無効 | JWT の検証で古いドメインを想定している | 新しいドメインを発行元として受け入れるようにトークン検証を更新します |
| SAML アサーション エラーが発生する | ACS URL が更新されていない | 新しいカスタムドメインの URL を使用して SAML 設定を更新します |
| 証明書エラー | 証明書がプロビジョニングされていない、または有効期限が切れている | ドメインを確認し、証明書のプロビジョニング完了を待つか、証明書を更新します |
サポートを受ける
- Auth0 Community で同様の問題が報告されていないか確認します
- トラブルシューティングのドキュメント を確認します
- 次の情報を添えて Auth0 Support にお問い合わせください:
- テナント名
- カスタムドメイン ID
- 問題の詳細な説明
- 再現手順
- エラーメッセージまたはログ
移行後のベストプラクティス
- 設定を文書化する: どのアプリケーションがどのカスタムドメインを使用しているかを記録します
- 証明書の有効期限を監視する: 証明書の更新に備えてアラートを設定します
- 定期的に見直す: カスタムドメインの設定がビジネス要件に合っていることを確認します
- ランブックを更新する: 新しいカスタムドメイン情報を運用ドキュメントに反映します
- チームメンバーをトレーニングする: チームが新しいマルチドメイン構成を理解していることを確認します
- 拡張を見据えて計画する: 今後、追加のドメインをどのように管理するかを検討します