チュートリアル: カスタム ドメインとマネージド証明書を使用して Azure App Service アプリをセキュリティで保護する
アプリ <app-name>.azurewebsites.net
に付属する既定のドメイン名は、望ましい方法でブランドを表していない可能性があります。 このチュートリアルでは、www.contoso.com
など、所有する www
ドメインで App Service を構成し、App Service マネージド証明書を使用してカスタム ドメインをセキュリティで保護します。
名前 <app-name>.azurewebsites.net
は、すべての App Service アプリのワイルドカード証明書によって既に保護されていますが、カスタム ドメインは別の証明書を使用して TLS で保護する必要があります。 最も簡単な方法は、App Service からマネージド証明書を使用することです。 これは無料で使いやすく、App Service でカスタム ドメインをセキュリティで保護する基本的な機能が提供されます。 詳細については、App Service への SSL 証明書の追加に関する記事をご覧ください。
シナリオの前提条件
- App Service アプリを作成します。
- 自分のカスタム ドメインの DNS レコードを編集できることを確認します。 DNS レコードを編集するには、自分のドメイン プロバイダー (GoDaddy など) の DNS レジストリへのアクセス権が必要です。 たとえば、
www.contoso.com
の DNS エントリを追加するには、contoso.com
ルート ドメインに対して DNS 設定を構成できる必要があります。 カスタム ドメインは、パブリック DNS ゾーンに存在する必要があります。プライベート DNS ゾーンは、内部ロード バランサー (ILB) App Service Environment (ASE) でのみサポートされています。 - カスタム ドメインをまだお持ちでない場合は、App Service ドメインを購入できます。
A. アプリをスケールアップする
アプリを Basic レベルにスケールアップする必要があります。 Basic レベルは、カスタム ドメイン (Shared) と証明書 (Basic) の最小価格レベル要件を満たしています。
手順 1: Azure portal 内で次を実行します。
- 上部の検索バーにアプリの名前を入力します。
- 種類が App Service の名前付きリソースを選択します。
手順 2: アプリの管理ページで、次のようにします。
- 左のナビゲーションで、[スケール アップ (App Service プラン)] を選択します。
- [Basic B1] のチェックボックスをオンにします。
- [選択] を選択します。 アプリの更新が完了すると、通知トーストが表示されます。
アプリのスケーリングの詳細については、「Azure App Service でアプリをスケールアップする」を参照してください。
B. カスタム ドメインを構成する
手順 1: アプリの管理ページで、次のようにします。
- 左側のメニューで、[カスタム ドメイン] を選択します。
- [カスタム ドメインの追加] を選択します。
手順 2:[カスタム ドメインの追加] ダイアログで、次のようにします。
- [ドメイン プロバイダー] で、[その他すべてのドメイン サービス] を選択します。
- [TLS/SSL 証明書] で、[App Service マネージド証明書] を選択します。
- [ドメイン] には、所有するドメインに基づいて、必要な完全修飾ドメイン名を指定します。 たとえば、
contoso.com
を所有している場合は、www.contoso.com を使用できます。 - まだ [検証] は選択しないでください。
App Service のカスタム ドメインごとに、ドメイン プロバイダーに 2 つの DNS レコードが必要です。 [ドメインの検証] セクションには、ドメイン プロバイダーに追加する必要がある 2 つの DNS レコードが表示されます。 それぞれの [コピー] ボタンを選択すると、次の手順に役立ちます。
C. DNS レコードを作成する
ドメイン プロバイダーの Web サイトにサインインします。
- DNS レコード、[ドメイン名]、[DNS]、または [ネーム サーバー管理] を管理するためのページを見つけます (正確なページはドメイン プロバイダーによって異なります)。
- [追加] または適切なウィジェットを選択して、DNS レコードを作成します。
- Azure portal の [ドメインの検証] セクション (CNAME、A、または TXT) に基づいて DNS レコードの種類を選択します。
- Azure portal の [ドメインの検証] セクションの [ホスト] および [値] 列に基づいて DNS レコードを構成します。
- カスタム ドメインには、必ず 2 つの異なるレコードを追加してください。
- 一部のプロバイダーでは、別の [変更を保存] リンクを選択するまで DNS レコードの変更が反映されません。
スクリーンショットは、完了した後の
www
サブドメインの DNS レコードがどのようになるかを示しています。
D. 検証と完了
手順 1: Azure portal の [カスタム ドメインの追加] ダイアログに戻り、[検証] を選びます。
手順 2: 両方のドメイン レコードの [ドメインの検証] セクションの横に緑色のチェック マークが表示されている場合は、正しく構成されています。 [追加] を選択します。 赤い X が表示されている場合は、ドメイン プロバイダーの Web サイトで DNS レコード設定のエラーを修正します。
手順 3: 一覧に追加されたカスタム ドメインが表示されているはずです。 [バインディングなし] の赤い X が表示される場合もあります。 App Service でカスタム ドメインのマネージド証明書が作成されるまで数分待ちます。 プロセスが完了すると、赤い X が [セキュリティ保護] の緑色のチェック マークになります。
E. ブラウザーでテストする
先ほど構成した DNS 名 (www.contoso.com
など) を参照します。 これで、アドレス バーにアプリの URL のセキュリティ ロック アイコンが表示され、TLS で保護されていることが示されます。
カスタム ドメインの URL を参照するときに HTTP 404 (Not Found) エラーが発生した場合、ブラウザー クライアントでカスタム ドメインの古い IP アドレスがキャッシュされている可能性があります。 キャッシュをクリアし、URL にもう一度移動してみてください。 Windows コンピューターでは、ipconfig /flushdns
でキャッシュをクリアします。
よく寄せられる質問
- カスタム ドメインがまだない場合はどうすればよいですか?
- このマネージド証明書は期限切れになりますか?
- アプリの App Service マネージド証明書で他に何ができますか?
- カスタム ドメインをセキュリティで保護するために、既に持っている証明書をどのように使用するのですか?
カスタム ドメインがまだない場合はどうすればよいですか?
名前 <app-name>.azurewebsites.net
は、削除しない限り常にアプリに割り当てられます。 必要に応じて、App Service ドメインを購入できます。 App Service ドメインは Azure によって管理され、App Service と統合されているため、アプリと一緒に管理しやすくなっています。
このマネージド証明書は期限切れになりますか?
App Service マネージド証明書は、App Service アプリのカスタム ドメインに対して構成されている限り、期限切れになりません。
アプリの App Service マネージド証明書で他に何ができますか?
マネージド証明書は、アプリの構成済みカスタム ドメインをセキュリティで保護する目的でのみ無料で提供されます。 これには多数の制限があります。 証明書のダウンロードやアプリケーション コードでの使用など、さらに多くのことを行うには、独自の証明書をアップロードするか、App Service 証明書を購入するか、Key Vault 証明書をインポートします。 詳細については、プライベート証明書をアプリに追加するに関する記事を参照してください。
カスタム ドメインをセキュリティで保護するために、既に持っている証明書をどのように使用するのですか?
プライベート証明書をアプリに追加するに関する記事と「Azure App Service で TLS/SSL バインドを使用してカスタム DNS 名をセキュリティで保護する」を参照してください。