Azure App Service へのアクティブな DNS 名の移行

この記事では、ダウンタイムを発生させずにアクティブな DNS 名を Azure App Service に移行する方法について説明します。

ライブ サイトとその DNS ドメイン名を App Service に移行するとき、その DNS 名は既にライブ トラフィックを配信しています。 移行中の DNS 解決のダウンタイムを回避するには、アクティブな DNS 名をプリエンプティブに App Service アプリにバインドします。

DNS 解決のダウンタイムの心配がない場合は、Azure App Service への既存のカスタム DNS 名のマッピングに関するページをご覧ください。

前提条件

これらの手順を完了するには、App Service のアプリが FREE レベルではないことを確認します

1. ドメイン検証 ID を取得する

カスタム ドメインを事前にバインドする場合は、既存の DNS レコードに変更を加える前に、次に示す両方の作業を実行します。

  • ドメイン プロバイダーにドメイン検証 ID を追加して、ドメインの所有権を確認します。
  • App Service アプリでドメイン名を有効にします。

最終的に古いサイトから App Service アプリにカスタム DNS 名を移行する際、DNS 解決のダウンタイムは発生しません。

  1. Azure portal で、App Service アプリの管理ページを開きます。

  2. アプリ ページの左側のウィンドウで、 [カスタム ドメイン] を選択します。

  3. 次の手順のために、[カスタム ドメイン] ページの [カスタム ドメイン検証 ID] をコピーしておきます。

    [カスタム ドメイン検証 ID] ボックスの ID を示すスクリーンショット。

2. DNS レコードを作成する

  1. ドメイン プロバイダーの Web サイトにサインインします。

    Azure DNS を使用して自社のドメインの DNS レコードを管理したり、Azure App Service のカスタム DNS 名を構成したりできます。 詳細については、「チュートリアル:Azure DNS でドメインをホストする」を参照してください。

  2. DNS レコードの管理ページを探します。

    各ドメイン プロバイダーには独自の DNS レコード インターフェイスがあるので、プロバイダーのドキュメントを参照してください。 [ドメイン名][DNS][ネーム サーバー管理] というラベルが付いたサイトの領域を探します。

    多くの場合、DNS レコードのページを見つけるには、アカウント情報を表示し、 [マイドメイン] などのリンクを探します。 そのページに移動し、 [ゾーン ファイル][DNS レコード][詳細構成] のような名前のリンクを探します。

    以下のスクリーンショットは、DNS レコード ページの例です。

    DNS レコード ページの例を示すスクリーンショット。

  3. [追加] または適切なウィジェットを選択して、レコードを作成します。

Note

一部のプロバイダー (GoDaddy など) では、別の [変更を保存] リンクを選択するまで DNS レコードの変更が反映されません。

ドメイン検証用の TXT レコードを追加します。 TXT レコードのホスト名は、マップする DNS レコードの種類によって異なります。 次の表をご覧ください (通常、@ はルート ドメインを表します)。

DNS レコードの例 TXT ホスト TXT 値
@ (ルート) asuid [カスタム ドメイン] 管理ページに表示されるドメイン検証 ID。
www (サブ) asuid.www [カスタム ドメイン] 管理ページに表示されるドメイン検証 ID。
* (ワイルドカード) asuid [カスタム ドメイン] 管理ページに表示されるドメイン検証 ID。

Note

ワイルドカード * レコードでは、既存の CNAME レコードでサブドメインが検証されません。 サブドメインごとに TXT レコードを明示的に作成することが必要な場合があります。

3. アプリのドメインを有効にする

  1. [カスタム ドメイン] ページに戻り、[カスタム ドメインの追加] を選択します。

    [カスタム ドメインの追加] ダイアログを開く方法を示すスクリーンショット。

  2. [ドメイン プロバイダー] で、[その他のすべてのドメイン サービス] を選択してサードパーティのドメインを構成します。

  3. [TLS/SSL 証明書] で、[後で証明書を追加する] を選択します。 ドメインの移行を完了した後、App Service マネージド証明書を追加できます。

  4. [TLS/SSL の種類] で、目的のバインドの種類を選択します。

    設定 説明
    カスタム ドメイン TLS/SSL バインドを追加するドメイン名。
    プライベート証明書のサムプリント バインドする証明書。
    TLS/SSL の種類 - SNI SSL: 複数の SNI SSL バインディングを追加できます。 このオプションでは、複数の TLS/SSL 証明書を使用して、同一の IP アドレス上の複数のドメインを保護できます。 最新のブラウザーのほとんど (Inernet Explorer、Chrome、Firefox、Opera など) が SNI をサポートしています (詳細については、「Server Name Indication」を参照してください)。
    - IP SSL: IP SSL バインディングを 1 つだけ追加できます。 このオプションでは、TLS/SSL 証明書を 1 つだけ使用して、専用のパブリック IP アドレスを保護します。 バインディングを構成した後は、「IP ベースの SSL のレコードの再マッピング」の手順に従います。
    IP SSL は、Standard レベル以上でのみサポートされます。
  5. contoso.comwww.contoso.com*.contoso.comなど、作成した TXT レコードに対応する、移行したい完全修飾ドメイン名を入力します。

    マネージド証明書と共に新しいカスタム ドメインを構成する方法を示すスクリーンショット。

  6. [検証] を選択します。 このダイアログには、カスタム ドメインがアプリで機能するために必要な 2 つのレコードが表示されますが、検証はドメイン検証 ID (TXT レコード) だけで通過できます。

    [カスタム ドメインの追加] ダイアログで DNS レコード設定を検証する方法を示すスクリーンショット。

  7. [ドメイン検証] セクションに緑色のチェック マークが表示されている場合は、ドメイン検証 ID が正しく構成されています。 [追加] を選択します。 赤い X が表示されている場合は、ドメイン プロバイダーの Web サイトでエラーを修正します。

    検証後にアクティブ化された [追加] ボタンを示すスクリーンショット。

  8. カスタム ドメインが一覧に追加されるはずです。 [バインドなし] の赤い X が表示される場合もあります。

    [後で証明書を追加する] を選択したので、赤い X と [バインドなし] が表示されます。 ドメインのプライベート証明書を追加し、バインドを構成するまで継続します。

    新しいセキュリティで保護されたカスタム ドメインを含むカスタム ドメイン ページを示すスクリーンショット。

    Note

    カスタム ドメインの証明書バインドを構成しない限り、ブラウザーからドメインへのすべての HTTPS 要求では、ブラウザーに応じてエラーまたは警告を受け取ります。

4. アクティブな DNS 名の再マップ

最後の手順では、アクティブな DNS レコードが App Service をポイントするよう再マップします。 現時点では、DNS レコードはまだ古いサイトをポイントしています。

  1. (A レコードのみ) App Service アプリの外部 IP アドレスが必要です。 [カスタム ドメイン] ページで、アプリの IP アドレスをコピーします。

    App Service アプリの外部 IP アドレスをコピーする方法を示すスクリーンショット。

  2. ドメイン プロバイダーの DNS レコードのページに戻り、再マップする DNS レコードを選択します。

  3. A レコードまたは CNAME レコードを、次の表の例に示すように再マップします。

    FQDN の例 レコード タイプ Host
    contoso.com (ルート) A @ アプリの IP アドレスをコピーする」で取得した IP アドレス
    www.contoso.com (サブ) CNAME www <app-name>.azurewebsites.net
    *.contoso.com (ワイルドカード) CNAME * <app-name>.azurewebsites.net
  4. 設定を保存します。

DNS の伝播が始まるとすぐに、DNS クエリが App Service アプリの解決を開始します。

よく寄せられる質問

ライブ ドメインを移行するときに、App Service マネージド証明書を追加できますか?

App Service マネージド証明書は、移行されたライブ ドメインに追加できますが、アクティブな DNS 名を再マップした後に限られます。 App Service マネージド証明書を追加するには、「無料のマネージド証明書を作成する」を参照してください。

別のアプリからドメインを移行する方法は?

Azure でのアクティブなカスタム ドメインは、サブスクリプション間または同じサブスクリプション内で移行できます。 ただし、ダウンタイムを伴わない移行にはソース アプリが必要であり、特定の時点で同じカスタム ドメインにターゲット アプリが割り当てられます。 そのため、2 つのアプリが同じ展開単位 (内部的には、Web スペースとして知られています) には展開されないようにする必要があります。 1 つのドメイン名は、展開単位ごとに 1 つのアプリにのみ割り当てできます。

FTP/S URL <deployment-unit>.ftp.azurewebsites.windows.net のドメイン名を確認することで、アプリの展開単位がわかります。 ソース アプリとターゲット アプリ間で展開単位が必ず異なることを確認してください。 アプリの展開単位は、それ自体が含まれている App Service プランによって決まります。 プランを作成するときに Azure によってランダムに選択され、変更することはできません。 同じリソース グループ同じリージョンに 2 つのアプリを作成すると、Azure によって同じデプロイ ユニットに配置されます。 ただし、その逆がそうであることを確認する方法はありません。 つまり、異なる展開単位にプランを作成する唯一の方法は、別の展開単位を取得するまで、新しいリソース グループまたはリージョン内にプランを作成し続けることです。

次のステップ

カスタム TLS/SSL 証明書を App Service にバインドする方法を確認します。