クイックスタート: Azure CLI を使用して 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 CLI を使用して Azure Spring Apps クラスターを既存の仮想ネットワークにデプロイする方法について説明します。
Azure Spring Apps では、コードを変更せずに、Spring アプリケーションを Azure に簡単にデプロイできます。 Spring アプリケーションのインフラストラクチャはこのサービスによって管理されるため、開発者はコードに専念できます。 Azure Spring Apps では、包括的な監視と診断、構成管理、サービス検出、CI/CD 統合、ブルー/グリーン デプロイなどを使用して、ライフサイクルを管理できます。
Enterprise デプロイ プランには、次の Tanzu コンポーネントが含まれます。
- ビルド サービス
- アプリケーション構成サービス
- サービス レジストリ
- Spring Cloud Gateway
- API ポータル
前提条件
- Azure サブスクリプション。 サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
- Azure Spring Apps クラスター用の 2 つの専用サブネット (1 つはサービス ランタイム用、もう 1 つは Spring アプリケーション用)。 サブネットと仮想ネットワークの要件については、「仮想ネットワークに Azure Spring Apps をデプロイする」の「仮想ネットワークの要件」セクションを参照してください。
- Azure Spring Apps の診断設定用の既存の Log Analytics ワークスペースと、ワークスペースベースの Application Insights リソース。 詳細については、「診断設定でログとメトリックを分析する」と「Azure Spring Apps での Application Insights Java In-Process Agent」を参照してください。
- Azure Spring Apps クラスターに使用するために指定した 3 つの内部クラスレス ドメイン間ルーティング (CIDR) の範囲 (それぞれ少なくとも /16)。 これらの CIDR の範囲は直接ルーティング可能ではなく、Azure Spring Apps クラスターによって内部的にのみ使用されます。 内部 Spring アプリの CIDR の範囲に 169.254.0.0/16、172.30.0.0/16、172.31.0.0/16、または 192.0.2.0/24 をクラスターに使用することはできません。また、クラスター仮想ネットワークのアドレス範囲に含まれる IP 範囲も使用できません。
- 仮想ネットワークに付与されたサービスのアクセス許可。 Azure Spring Apps リソース プロバイダーには、さらなるデプロイとメンテナンスを目的として仮想ネットワーク上に専用かつ動的なサービス プリンシパルを許可するために、仮想ネットワークに対する
User Access Administrator
およびNetwork Contributor
アクセス許可が必要です。 手順と詳細については、「仮想ネットワークに Azure Spring Apps をデプロイする」の「仮想ネットワークにサービス アクセス許可を付与する」セクションを参照してください。 - Azure Firewall またはネットワーク仮想アプライアンス (NVA) を使用している場合は、次の前提条件も満たす必要があります。
- ネットワークと完全修飾ドメイン名 (FQDN) の規則。 詳細については、「仮想ネットワークの要件」を参照してください。
- 各サービス ランタイムと Spring アプリケーション サブネットに適用される一意のユーザー定義ルート (UDR)。 UDR の詳細については、「仮想ネットワーク トラフィックのルーティング」を参照してください。 Azure Spring Apps クラスターをデプロイする前に、UDR に NVA を宛先とする 0.0.0.0/0 のルートを構成しておく必要があります。 詳細については、「仮想ネットワークに Azure Spring Apps をデプロイする」の「独自のルート テーブルを使用する」セクションを参照してください。
- Azure CLI
- ターゲット サブスクリプションで初めて Azure Spring Apps Enterprise プラン インスタンスをデプロイする場合は、「Azure Marketplace の Enterprise プラン」の「要件」セクションを参照してください。
Azure CLI デプロイ スクリプトを確認する
このクイックスタートで使用するデプロイ スクリプトは、「Azure Spring Apps の参照アーキテクチャ」のものです。
#!/bin/bash
echo "Enter Azure Subscription ID: "
read subscription
subscription=$subscription
echo "Enter Azure region for resource deployment: "
read region
location=$region
echo "Enter Azure Spring Resource Group Name: "
read azurespringrg
azurespring_resource_group_name=$azurespringrg
echo "Enter Azure Spring VNet Resource Group Name: "
read azurespringvnetrg
azurespring_vnet_resource_group_name=$azurespringvnetrg
echo "Enter Azure Spring Spoke VNet : "
read azurespringappspokevnet
azurespringappspokevnet=$azurespringappspokevnet
echo "Enter Azure Spring App SubNet : "
read azurespringappsubnet
azurespring_app_subnet_name='/subscriptions/'$subscription'/resourcegroups/'$azurespring_vnet_resource_group_name'/providers/Microsoft.Network/virtualNetworks/'$azurespringappspokevnet'/subnets/'$azurespringappsubnet
echo "Enter Azure Spring Service SubNet : "
read azurespringservicesubnet
azurespring_service_subnet_name='/subscriptions/'$subscription'/resourcegroups/'$azurespring_vnet_resource_group_name'/providers/Microsoft.Network/virtualNetworks/'$azurespringappspokevnet'/subnets/'$azurespringservicesubnet
echo "Enter Azure Log Analytics Workspace Resource Group Name: "
read loganalyticsrg
loganalyticsrg=$loganalyticsrg
echo "Enter Log Analytics Workspace Resource Name: "
read workspace
workspaceID='/subscriptions/'$subscription'/resourcegroups/'$loganalyticsrg'/providers/microsoft.operationalinsights/workspaces/'$workspace
echo "Enter Reserved CIDR Ranges for Azure Spring: "
read reservedcidrrange
reservedcidrrange=$reservedcidrrange
echo "Enter key=value pair used for tagging Azure Resources (space separated for multiple tags): "
read tag
tags=$tag
randomstring=$(LC_ALL=C tr -dc 'a-z0-9' < /dev/urandom | fold -w 13 | head -n 1)
azurespring_service='spring-'$randomstring #Name of unique Spring resource
azurespring_appinsights=$azurespring_service
azurespring_resourceid='/subscriptions/'$subscription'/resourceGroups/'$azurespring_resource_group_name'/providers/Microsoft.AppPlatform/Spring/'$azurespring_service
# Create Application Insights
az monitor app-insights component create \
--app ${azurespring_service} \
--location ${location} \
--kind web \
-g ${azurespringrg} \
--application-type web \
--workspace ${workspaceID}
az spring create \
-n ${azurespring_service} \
-g ${azurespringrg} \
-l ${location} \
--sku Standard \
--app-insights ${azurespring_service} \
--app-subnet ${azurespring_app_subnet_name} \
--service-runtime-subnet ${azurespring_service_subnet_name} \
--reserved-cidr-range ${reservedcidrrange} \
--tags ${tags}
# Update diagnostic setting for Azure Spring instance
az monitor diagnostic-settings create \
--name monitoring \
--resource ${azurespring_resourceid} \
--logs '[{"category": "ApplicationConsole","enabled": true}]' \
--workspace ${workspaceID}
クラスターをデプロイする
Azure CLI スクリプトを使用して Azure Spring Apps クラスターをデプロイするには、これらの手順に従います。
次のコマンドを使用して Azure にサインインします。
az login
サインインすると、このコマンドにより、アクセスできるすべてのサブスクリプションに関する情報が出力されます。 使用するサブスクリプションの名前と ID をメモします。
ターゲット サブスクリプションを設定します。
az account set --subscription "<your subscription name>"
Azure Spring Apps リソース プロバイダーを登録します。
az provider register --namespace 'Microsoft.AppPlatform'
必要な拡張機能を Azure CLI に追加します。
az extension add --name spring
「リージョン別の利用可能な製品」で示されている、Azure Spring Apps が利用可能なリージョンからデプロイの場所を選択します。
次のコマンドを使用して、Azure の場所の一覧を生成します。 前の手順で選択したリージョンの短い名前の値をメモします。
az account list-locations --output table
リソースのデプロイ先となるリソース グループを作成します。
az group create --name <your-resource-group-name> --location <location-name>
Azure Spring Apps Standard プランまたは Enterprise プランのスクリプトをローカルに保存し、Bash プロンプトから実行します。
Standard プラン:
./azuredeploySpringStandard.sh
Enterprise プラン:
./azuredeploySpringEnterprise.sh
スクリプトから入力を求められたら、次の値を入力します。
- 先ほど保存した Azure サブスクリプション ID。
- 先ほど保存した Azure の場所の名前。
- 先ほど作成したリソース グループの名前。
- リソースのデプロイ先となる仮想ネットワーク リソース グループの名前。
- スポーク仮想ネットワークの名前 (vnet-spoke など)。
- Azure Spring Apps アプリケーション サービスで使用するサブネットの名前 (snet-app など)。
- Azure Spring Apps ランタイム サービスで使用するサブネットの名前 (snet-runtime など)。
- 診断ログの格納に使用する Azure Log Analytics ワークスペースのリソース グループの名前。
- Azure Log Analytics ワークスペースの名前 (la-cb5sqq6574o2a など)。
- Azure Spring Apps で使用する仮想ネットワークからの CIDR 範囲 (XX.X.X.X/16,XX.X.X.X/16,XX.X.X.X/16 など)。
- タグをサポートするすべてのリソースにタグとして適用されるキーと値のペア。 詳細については、「タグを使用して Azure リソースと整理階層を整理する」を参照してください。 複数のタグを適用するには、スペース区切りのリストを使用します (environment=Dev BusinessUnit=finance など)。
この情報を指定すると、スクリプトによって Azure リソースが作成され、デプロイされます。
デプロイされているリソースを確認する
Azure portal を使用してデプロイされたリソースを確認するか、Azure CLI を使用してデプロイされたリソースを一覧表示することができます。
リソースをクリーンアップする
後続のクイック スタートおよびチュートリアルを引き続き実行する場合は、これらのリソースをそのまま残しておくことができます。 不要になったら、リソース グループを削除します。これにより、リソース グループ内のリソースが削除されます。 Azure CLI を使用してリソース グループを削除するには、次のコマンドを使用します。
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
次のステップ
このクイックスタートでは、Azure CLI を使用して Azure Spring Apps インスタンスを既存の仮想ネットワークにデプロイし、デプロイを検証しました。 Azure Spring Apps の詳細については、以下のリソースに進んでください。
- 次のサンプル アプリケーションの 1 つを、次の場所からデプロイします。
- Azure Spring Apps でカスタム ドメインを使用する。
- Azure Application Gateway を使用して Azure Spring Apps でアプリケーションをインターネットに公開します。 詳細については、「仮想ネットワーク内のエンドツーエンド TLS を使用してアプリケーションを公開する」を参照してください。
- Microsoft Azure Well-Architected Framework に基づいた、セキュリティで保護されたエンドツーエンドの Azure Spring Apps の参照アーキテクチャを参照してください。