2

私が Azure に持っているものは次のとおりです。

Resource group: 'microservice-1'
App Service: 'app-service-1'
Database: 'database-1'

Resource group: 'microservice-2'
App Service: 'app-service-2'
Database: 'database-2'

Resource group: 'shared-infrastructure'
Database: 'shared-database-1'

どちらのマイクロサービスもshared-database-1. すべてのマイクロサービスには、マイクロサービスのデプロイ時に使用されるリソース グループを作成/更新するための ARM テンプレート スクリプトが含まれています。ARM スクリプトでは、リソースが適切な順序で更新されるように依存関係 (dependsOn) を定義できますが、これはリソース グループ内でのみ機能します。

実行したいシナリオは次
のとおりです。Azure には何もないので、リリースしたいですmicroservice-1shared-infrastructure リリース (ARM テンプレート) が より前に実行されるように、Azure/ARM で使用できるメカニズムはありmicroservice-1ますか?

4

1 に答える 1

1

いいえ、ARM テンプレートに具体的に含めない限り。DependOn は、リソースが存在するかどうかを確認するだけで、魔法のようにリソースを作成することはありません。

ただし、それをテンプレートに含めることはできます。存在する場合は、deploymentmode = complete を指定しない限り、何もしません。

したがって、microservice-1、microservice-2、および共有インフラストラクチャ用の 3 つのテンプレートを作成できます。マイクロサービスのテンプレートには、共有インフラストラクチャを作成するための展開を含めることができますが、既に配置されている場合は実行されません。

コメントに基づいて編集:

デプロイ後に同じサブスクリプション内のリソースをリンクできます。ARM でそれを行う方法はありませんが、PowerShell + ARM でそれを行うことができます。共有リソースの既存のインスタンスを検索し、存在しない場合は、ARM テンプレートを使用して作成し、その後別の ARM テンプレートを呼び出して実際のサービスを展開します。 .

于 2016-11-10T11:27:42.897 に答える