仮想ネットワーク内の Azure Spring Apps のアプリにアクセスする
Note
Basic、Standard、Enterprise プランは、2025 年 3 月中旬以降非推奨になり、廃止期間は 3 年間です。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の廃止のお知らせ」を参照してください。
Standard 従量課金と専用プランは、2024 年 9 月 30 日以降に非推奨になり、6 か月後に完全にシャットダウンされます。 Azure Container Apps に移行することをお勧めします。 詳細については、「Azure Spring Apps の Standard 従量課金および専用プランを Azure Container Apps に移行する」を参照してください。
この記事の適用対象:✅ Basic/Standard ✅ Enterprise
この記事では、プライベート ネットワーク内のアプリのエンドポイントにアクセスする方法について説明します。
仮想ネットワークにデプロイされた Azure Spring Apps サービス インスタンス内のアプリケーションに対してエンドポイントを割り当てると、そのエンドポイントにはプライベート完全修飾ドメイン名 (FQDN) が使用されます。 このドメインは、プライベート ネットワーク内でのみアクセスできます。 アプリのエンドポイントは、アプリとサービスによって使用されます。 これらには、「Azure Spring Apps でステージング環境を設定する」の「アプリとデプロイの表示」セクションで説明されている "テスト エンドポイント" が含まれます。 「Azure Spring Apps アプリのログをリアルタイムでストリーム配信する」で説明されているログ ストリーミングも、プライベート ネットワーク内でのみ機能します。
割り当てたエンドポイントにアクセスできるようにするために、次の 2 つのオプションを使用できます。
独自のプライベート ドメイン ネーム サービス (DNS) ゾーンを作成し、Azure Spring Apps にリンクする。 この方法では、Azure Spring Apps によって DNS ゾーンが仮想ネットワークに自動的にリンクされ、アプリケーションのエンドポイントの DNS レコードが管理されるため、強く推奨されます。
Azure Spring Apps サービス インスタンスの Load Balancer (LB) IP アドレスを検索する手順に従って、独自のプライベート DNS ゾーンを作成し、仮想ネットワーク リンクと DNS レコードを手動で管理する。
前提条件
- Azure サブスクリプション。 サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- (オプション) Azure CLI バージョン 2.45.0 以降。
- 仮想ネットワークにデプロイされた Azure Spring Apps サービス インスタンス内の既存のアプリケーション。 詳しくは、「仮想ネットワークに Azure Spring Apps をデプロイする」をご覧ください。
プライベート DNS ゾーンの作成
次の手順を使用して、プライベート ネットワークにアプリケーションのプライベート DNS ゾーンを作成します。
Azure portal を開きます。 検索ボックスを使用してプライベート DNS ゾーンを検索します。 検索結果から [プライベート DNS ゾーン] を選択します。
[プライベート DNS ゾーン] ページで、[追加] を選択します。
[プライベート DNS ゾーンの作成] ページでフォームに入力します。 [名前] に、「private.azuremicroservices.io」と入力します。
[確認および作成] を選択します。
[作成] を選択します。
ゾーンの作成には数分かかることがあります。
エンドポイントを自動的に管理するようにプライベート DNS ゾーンを構成する
プライベート DNS ゾーンを作成したら、Azure Spring Apps を使用してプライベート DNS ゾーンを管理できます。 この方法により、仮想ネットワーク リンクと DNS レコードを処理するプロセスが簡素化されます。 この方法は、1 つの仮想ネットワーク内に複数のインスタンスがある環境や、仮想ネットワーク ピアリングを使用する環境で特に便利です。 Azure Spring Apps により、仮想ネットワーク リンクの管理と、エンドポイントの割り当て時または割り当て解除時の DNS "A" レコードの動的な追加または削除が自動化されます。
Note
Azure Spring Apps では、プライベート DNS ゾーンが追加される前に割り当てられたエンドポイントは自動的に管理されません。 これらのエンドポイントの DNS レコード管理を有効にするには、割り当てを解除してから、エンドポイントを再割り当てします。
プライベート DNS ゾーンにアクセス許可を付与する
アクセス許可を付与するには、次の手順を使用します。
作成したプライベート DNS ゾーン リソース (たとえば private.azuremicroservices.io) を選択します。
[アクセス制御 (IAM)] を選択してから、[追加]>[ロール割り当ての追加] の順に選択します。
Azure Spring Apps リソース プロバイダーに
Private DNS Zone Contributor
ロールを割り当てます。 詳細については、Azure ポータルを使用した Azure ロールの割り当て を参照してください。Note
Azure Spring Apps リソース プロバイダーが見つからない場合は、"Azure Spring Cloud リソース プロバイダー" を検索します。
プライベート DNS ゾーンを Azure Spring Apps にリンクする
プライベート DNS ゾーンを Azure Spring Apps サービス インスタンスにリンクするには、Azure CLI を使用します。 この手順では、リソース グループ、Azure Spring Apps インスタンス名、プライベート DNS ゾーンのリソース ID を指定します。
次のコマンドを使用して、Azure Spring Apps でプライベート DNS ゾーンを構成します。 この構成により、Azure Spring Apps はプライベート DNS ゾーンに仮想ネットワーク リンクを自動的に作成し、エンドポイントの割り当て時または割り当て解除時に DNS "A" レコードの追加または削除を管理できるようになります。
az spring private-dns-zone add \
--resource-group $RESOURCE_GROUP \
--service $AZURE_SPRING_APPS_INSTANCE_NAME \
--zone-id $PRIVATE_DNS_ZONE_RESOURCE_ID
プライベート DNS ゾーンから Azure Spring Apps インスタンスのリンクを解除し、DNS "A" レコードの自動管理を停止する場合は、構成をクリーンアップできます。 次のコマンドを使用して、Azure Spring Apps で構成されたプライベート DNS ゾーンをクリーンアップします。
az spring private-dns-zone clean \
--resource-group $RESOURCE_GROUP \
--service $AZURE_SPRING_APPS_INSTANCE_NAME
プライベート DNS ゾーンを手動で構成する
プライベート DNS ゾーンを完全に制御する必要がある場合は、次のセクションで手動で構成する方法について説明します。
アプリケーションの IP アドレスを確認する
次の手順を使用して、アプリケーションの IP アドレスを見つけます。
IP アドレスに対する DNS を追加する
Active Directory ドメイン コントローラー、Infoblox など、仮想ネットワーク用の独自の DNS ソリューションがある場合は、ドメイン *.private.azuremicroservices.io
を IP アドレスにポイントする必要があります。 それ以外の場合は、次の手順を使用して、お使いのサブスクリプションに Azure プライベート DNS ゾーンを作成し、プライベート FQDN を IP アドレスに変換または解決します。
Note
21Vianet が運営する Microsoft Azure を使用している場合は、この記事の private.azuremicroservices.io
を必ず private.microservices.azure.cn
で置き換えてください。 詳細については、「Azure China 開発者ガイド」の「Azure でエンドポイントを確認する」セクションを参照してください。
DNS レコードを作成する
プライベート DNS ゾーンに種類が "A" のレコードを作成する必要があります。
次の手順を使用して、プライベート DNS ゾーンを使って DNS を変換または解決します。
作成したプライベート DNS ゾーン リソース (たとえば private.azuremicroservices.io) を選択します。
[レコード セット] を選択します。
[レコード セットの追加] で、次の情報を入力または選択します。
設定 値 名前 「*」と入力します。 Type [A] を選択します。 TTL 1 を入力します。 TTL の単位 [時間] を選択します。 IP アドレス (IP address) IP アドレスを入力します。 次のスクリーンショットの例では、IP アドレス 10.1.0.7 を使用しています。 [OK] を選択します。
仮想ネットワークにプライベート DNS ゾーンをリンクする
プライベート DNS ゾーンを仮想ネットワークにリンクさせるには、仮想ネットワーク リンクを作成する必要があります。
次の手順を使用して、作成したプライベート DNS ゾーンを、Azure Spring Apps サービスを保持している仮想ネットワークにリンクします。
アプリケーションのプライベート FQDN を割り当てる
プライベート DNS ゾーンを構成し、仮想ネットワークに Azure Spring Apps をデプロイした後、アプリケーションのプライベート FQDN を割り当てることができます。 詳しくは、「仮想ネットワークに Azure Spring Apps をデプロイする」をご覧ください。
次の手順を使用して、プライベート FQDN を割り当てます。
アプリケーションのプライベート FQDN にアクセスする
割り当ての後、プライベート ネットワークでアプリのプライベート FQDN にアクセスできます。 たとえば、同じ仮想ネットワークまたはピアリングされた仮想ネットワーク内にジャンプボックス マシンを作成できます。 その後、そのジャンプボックスまたは仮想マシンでプライベート FQDN にアクセスできます。
リソースをクリーンアップする
後続の記事を引き続き実行する場合は、これらのリソースをそのまま残しておくことができます。 それらが不要になったら、リソース グループを削除してください。それにより、リソース グループ内のリソースが削除されます。 Azure CLI を使用してリソース グループを削除するには、次のコマンドを使用します。
az group delete --name $RESOURCE_GROUP