Spring Cloud Config Server を Azure Spring Apps から Azure Container 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
この記事では、Spring Cloud Config Server を Azure Container Apps の Spring 用 Config Server に移行する方法について説明します。 Azure Container Apps は、Azure Spring Apps の Spring Cloud Config Server と同様の機能を持つ Spring 用 Config Server を管理します。
前提条件
- サーバーの構成が有効になっている Azure Spring Apps インスタンス。
- Config Server 用の Azure Container Apps 環境と Azure Container Apps インスタンス。
Config Server をプロビジョニングする
次の手順では、Azure Container Apps で Spring 用 Config Server をプロビジョニングする方法を示します。
Azure portal で、Azure Container Apps 環境に移動します。
メニューで [サービス]>[サービス] を選択します。
[構成] ドロップダウン リストを開き、[Java コンポーネント] を選択します。
[Java コンポーネントの構成] パネルで、次の値を入力します。
プロパティ 値 Java コンポーネントの種類 [Config Server for Spring] を選択します。 Java コンポーネントの名前 「configserver」と入力します。 [Git リポジトリ] セクションで [追加] を選択し、次の表に示すように、Application Configuration Service からの値をここに移行します。 Spring 用 Config Server の既定のリポジトリとして、1 つのリポジトリを選択します。
プロパティ 値 Type [既定値] を選択します。 URI リポジトリの [URI] の値を入力します。 ブランチ名 リポジトリの [ラベル] の値を入力します。 検索パス リポジトリの [検索パス] の値を入力します。 認証 リポジトリの認証の種類を選択し、対応する情報を入力します。 残りのフィールドは既定値のままにし、[追加] を選択します。
複数のリポジトリがある場合は、[追加] を選択して他のリポジトリを移行します。 [種類] で [その他] を選択し、前の手順と次の表に示すように他のプロパティを移行します。
プロパティ 値 Type [既定値] を選択します。 パターン リポジトリの [パターン] の値を {application}
または{application}/{profile}
の形式で入力します。[バインディング] セクションで、ドロップダウンを開き、Spring 用 Config Server にバインドするアプリを選択します。
[次へ] を選択します。
Config Server を設定するには、[レビュー] タブで [構成] を選択し、構成セクションの指示に従います。
正常に作成されると、Spring 用 Config Server の [プロビジョニングの状態] が [成功] と表示されます。
リソース割り当て
Azure Container Apps 内のマネージド Config Server に対するコンテナー リソースの割り当ては、次の値に固定されています。
- CPU: 0.5 vCPU
- メモリ: 1 Gi
Spring 用 Config Server のインスタンス数を構成するには、--min-replicas
と --max-replicas
パラメーターを同じ値で更新する必要があります。 この構成により、インスタンス数は確実に固定されたままになります。 現在、システムでは動的スケーリングのための自動スケーリング構成はサポートされていません。
Config Server を構成する
Azure Spring Apps 内の Spring Cloud Config Server で構成されている既定の Git リポジトリと追加のリポジトリを、Azure Container Apps にデプロイされた Spring 用 Config Server の既定とその他のリポジトリにマップします。 次の表に、プロパティのマッピング 関係を示します。
Azure Spring Apps のプロパティ名 | CONFIGURATION_KEY |
CONFIGURATION_VALUE |
---|---|---|
uri |
spring.cloud.config.server.git.uri spring.cloud.config.server.git.repos.{repoName}.uri |
リモート リポジトリの uri 。 |
search path |
spring.cloud.config.server.git.search-paths spring.cloud.config.server.git.repos.{repoName}.search-paths |
ローカル環境の作業コピー内で使用する検索パス。 既定では、ルートのみが検索されます。 |
label |
spring.cloud.config.server.git.default-label spring.cloud.config.server.git.repos.{repoName}.default-label |
Git に使用されるラベル。 |
追加リポジトリでの name |
次の構成での {repoName} 。 |
|
追加リポジトリでの Patterns |
spring.cloud.config.server.git.repos.{repoName}.pattern |
|
username |
spring.cloud.config.server.git.username spring.cloud.config.server.git.repos.{repoName}.username |
認証の種類が HTTP Basic の場合、リモート リポジトリでの認証用の username を入力します。 |
password |
spring.cloud.config.server.git.password spring.cloud.config.server.git.repos.{repoName}.password |
認証の種類が HTTP Basic の場合、リモート リポジトリでの認証用の password を入力します。 |
private key |
spring.cloud.config.server.git.private-key spring.cloud.config.server.git.repos.{repoName}.private-key |
認証の種類が SSH の場合、有効な SSH 秘密キー。 |
host key |
spring.cloud.config.server.git.host-key spring.cloud.config.server.git.repos.{repoName}.host-key |
認証の種類が SSH の場合、有効な SSH ホスト キー。
host-key-algorithm も設定されている場合は、設定する必要があります。 |
host key algorithm |
spring.cloud.config.server.git.host-key-algorithm spring.cloud.config.server.git.repos.{repoName}.host-key-algorithm |
認証の種類が SSH の場合、ssh-dss 、ssh-rsa 、ssh-ed25519 、ecdsa-sha2-nistp256 、ecdsa-sha2-nistp384 、ecdsa-sha2-nistp521 のいずれか。 host-key も設定されている場合、設定する必要があります。 |
Config Server のプロパティの詳細については、「Azure Container Apps で Spring 用マネージド Config Server に接続する」の「構成オプション」の項を参照してください。
アプリケーションを Azure Container Apps にデプロイする
ローカル環境でアプリケーションをテストした後、新しいイメージを Azure Container Apps アプリケーションにデプロイできます。
次の手順を使用してデプロイします。
- Azure portal で Azure Container Apps アプリケーションに移動します。
- メニューで [アプリケーション]>[コンテナー] を選択します。
- [編集とデプロイ] を選択して、[新しいリビジョンの作成とデプロイ] ページを開きます。
- [コンテナー イメージ] セクションでイメージを選択し、[編集] を選択します。
- [コンテナーの編集] セクションの [プロパティ] タブで、アプリケーションの新しいイメージを選びます。
- [環境変数] タブで、[名前] に「spring.application.name」を指定します。 次に、[ソース] に [手動エントリ] を選んで、アプリケーションが構成を使用する構成ファイル名を指定します。
- [保存] を選択して、新しいリビジョンをデプロイします。
トラブルシューティング
Log Analytics を使って、Azure Container Apps 内の Spring 用マネージド Config サーバーのログを表示できます。 次の手順に従います。
Azure portal で、Azure Container Apps 環境に移動します。
[監視]>[ログ] メニューを選びます。
ログを表示するには、次の例で示すように、
ContainerAppSystemLogs_CL
テーブルのクエリをクエリ エディターに入力します。ContainerAppSystemLogs_CL | where ComponentType_s == "SpringCloudConfig" | project Time=TimeGenerated, ComponentName=ComponentName_s, Message=Log_s | take 100
ログのクエリの詳細については、「Azure Container Apps 内のマネージド Java コンポーネントの監視」を参照してください。