次の方法で共有


仮想ネットワーク内の Azure Spring Apps のアプリにアクセスする

Note

BasicStandardEnterprise プランは、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 レコードを手動で管理する。

前提条件

プライベート DNS ゾーンの作成

次の手順を使用して、プライベート ネットワークにアプリケーションのプライベート DNS ゾーンを作成します。

  1. Azure portal を開きます。 検索ボックスを使用してプライベート DNS ゾーンを検索します。 検索結果から [プライベート DNS ゾーン] を選択します。

  2. [プライベート DNS ゾーン] ページで、[追加] を選択します。

  3. [プライベート DNS ゾーンの作成] ページでフォームに入力します。 [名前] に、「private.azuremicroservices.io」と入力します。

  4. [確認および作成] を選択します。

  5. [作成] を選択します。

ゾーンの作成には数分かかることがあります。

エンドポイントを自動的に管理するようにプライベート DNS ゾーンを構成する

プライベート DNS ゾーンを作成したら、Azure Spring Apps を使用してプライベート DNS ゾーンを管理できます。 この方法により、仮想ネットワーク リンクと DNS レコードを処理するプロセスが簡素化されます。 この方法は、1 つの仮想ネットワーク内に複数のインスタンスがある環境や、仮想ネットワーク ピアリングを使用する環境で特に便利です。 Azure Spring Apps により、仮想ネットワーク リンクの管理と、エンドポイントの割り当て時または割り当て解除時の DNS "A" レコードの動的な追加または削除が自動化されます。

Note

Azure Spring Apps では、プライベート DNS ゾーンが追加される前に割り当てられたエンドポイントは自動的に管理されません。 これらのエンドポイントの DNS レコード管理を有効にするには、割り当てを解除してから、エンドポイントを再割り当てします。

プライベート DNS ゾーンにアクセス許可を付与する

アクセス許可を付与するには、次の手順を使用します。

  1. 作成したプライベート DNS ゾーン リソース (たとえば private.azuremicroservices.io) を選択します。

  2. [アクセス制御 (IAM)] を選択してから、[追加]>[ロール割り当ての追加] の順に選択します。

    Azure portal の [アクセス制御 (IAM)] ページのスクリーンショット。[ロールの割り当てを追加] ボタンが強調表示された [アクセスの確認] タブが示されています。

  3. Azure Spring Apps リソース プロバイダーに Private DNS Zone Contributor ロールを割り当てます。 詳細については、Azure ポータルを使用した Azure ロールの割り当て を参照してください。

    Note

    Azure Spring Apps リソース プロバイダーが見つからない場合は、"Azure Spring Cloud リソース プロバイダー" を検索します。

    Azure Spring Apps インスタンスの [アクセス制御 (IAM)] ページを示す Azure portal のスクリーンショット。[ロールの割り当ての追加] ウィンドウが開き、検索結果に 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 アドレスを見つけます。

  1. Azure Spring Apps サービスの [ネットワーク] ページに移動します。

  2. [VNet インジェクション] タブを選びます。

  3. [全般情報] セクションで、[エンドポイント] を探 し、[IP アドレス] の値をコピーします。 次のスクリーンショットの例では、IP アドレス 10.0.1.6 を使用しています。

    VNet インジェクション エンドポイントの情報を示す Azure portal のスクリーンショット。

IP アドレスに対する DNS を追加する

Active Directory ドメイン コントローラー、Infoblox など、仮想ネットワーク用の独自の DNS ソリューションがある場合は、ドメイン *.private.azuremicroservices.ioIP アドレスにポイントする必要があります。 それ以外の場合は、次の手順を使用して、お使いのサブスクリプションに Azure プライベート DNS ゾーンを作成し、プライベート FQDN を IP アドレスに変換または解決します。

Note

21Vianet が運営する Microsoft Azure を使用している場合は、この記事の private.azuremicroservices.io を必ず private.microservices.azure.cn で置き換えてください。 詳細については、「Azure China 開発者ガイド」の「Azure でエンドポイントを確認する」セクションを参照してください。

DNS レコードを作成する

プライベート DNS ゾーンに種類が "A" のレコードを作成する必要があります。

次の手順を使用して、プライベート DNS ゾーンを使って DNS を変換または解決します。

  1. 作成したプライベート DNS ゾーン リソース (たとえば private.azuremicroservices.io) を選択します。

  2. [レコード セット] を選択します。

  3. [レコード セットの追加] で、次の情報を入力または選択します。

    設定
    名前 *」と入力します。
    Type [A] を選択します。
    TTL 1 を入力します。
    TTL の単位 [時間] を選択します。
    IP アドレス (IP address) IP アドレスを入力します。 次のスクリーンショットの例では、IP アドレス 10.1.0.7 を使用しています。

    [レコード セットの追加] ページを示す Azure portal のスクリーンショット。

  4. [OK] を選択します。

プライベート DNS ゾーンを仮想ネットワークにリンクさせるには、仮想ネットワーク リンクを作成する必要があります。

次の手順を使用して、作成したプライベート DNS ゾーンを、Azure Spring Apps サービスを保持している仮想ネットワークにリンクします。

  1. 作成したプライベート DNS ゾーン リソース (たとえば private.azuremicroservices.io) を選択します。

  2. [仮想ネットワーク リンク] を選択し、次に [追加] を選択します。

  3. [リンク名] として「azure-spring-apps-dns-link」と入力します。

  4. [仮想ネットワーク] として、前に作成した仮想ネットワークを選択します。

    [仮想ネットワーク リンクの追加] ページを示す Azure portal のスクリーンショット。

  5. [OK] を選択します。

アプリケーションのプライベート FQDN を割り当てる

プライベート DNS ゾーンを構成し、仮想ネットワークに Azure Spring Apps をデプロイした後、アプリケーションのプライベート FQDN を割り当てることができます。 詳しくは、「仮想ネットワークに Azure Spring Apps をデプロイする」をご覧ください。

次の手順を使用して、プライベート FQDN を割り当てます。

  1. 仮想ネットワークにデプロイされている Azure Spring Apps サービス インスタンスを選択し、[アプリ] タブを開きます。

  2. アプリケーションを選択して、[概要] ページを表示します。

  3. [エンドポイントの割り当て] を選択して、アプリにプライベート FQDN を割り当てます。 FQDN の割り当てには数分かかる場合があります。

    [エンドポイントの割り当て] が強調表示されている [概要] ページを示す Azure portal のスクリーンショット。

  4. これで、割り当てられたプライベート FQDN (ラベル付きの URL) が使用できるようになりました。 この URL は、プライベート ネットワーク内でのみアクセスできます。インターネット上ではアクセスできません。

アプリケーションのプライベート FQDN にアクセスする

割り当ての後、プライベート ネットワークでアプリのプライベート FQDN にアクセスできます。 たとえば、同じ仮想ネットワークまたはピアリングされた仮想ネットワーク内にジャンプボックス マシンを作成できます。 その後、そのジャンプボックスまたは仮想マシンでプライベート FQDN にアクセスできます。

URL でプライベート FQDN が強調表示されているブラウザー ウィンドウのサンプル アプリケーションのスクリーンショット。

リソースをクリーンアップする

後続の記事を引き続き実行する場合は、これらのリソースをそのまま残しておくことができます。 それらが不要になったら、リソース グループを削除してください。それにより、リソース グループ内のリソースが削除されます。 Azure CLI を使用してリソース グループを削除するには、次のコマンドを使用します。

az group delete --name $RESOURCE_GROUP

次のステップ