Finance + Operations (on-premises) 展開で使用するインフラストラクチャ スクリプトを構成

この記事では、Microsoft Dynamics 365 Finance + Operations (on-premises) を配置するために用意されているインフラストラクチャ スクリプトを構成する方法について説明します。 また、異なるコンフィギュレーション ファイルに存在する情報と、提供する必要がある情報について説明します。 Contoso Corporation が実稼働環境向け情報を入力する必要がある実際の例を提供します。

インフラストラクチャ スクリプトで使用可能な構成ファイル

インフラストラクチャ スクリプトは、次のコンフィギュレーション ファイルを使用して設定を実行します。 次のサブセクションでは、各ファイルの内容について説明します。

  • infrastructure\ConfigTemplate.xml
  • infrastructure\D365FO-OP\NodeTopologyDefinition.xml
  • infrastructure\D365FO-OP\DatabaseTopologyDefinition.xml
  • infrastructure\D365FO-OP\FileShareTopologyDefinition.xml

ConfigTemplate.xml

ConfigTemplate.xml コンフィギュレーション ファイルでは、次の詳細について説明します。 インフラストラクチャ スクリプトを使用するには、このファイルにデータを入力する必要があります。 詳細については、この記事の ConfigTemplate.xml ファイルを入力セクションを参照してください。

  • アプリケーションが機能するために必要なサービス アカウント
  • 通信を保護するために必要な証明書
  • データベース コンフィギュレーション
  • Azure Service Fabric Cluster 構成
  • アプリケーションが機能するために必要なファイル共有
  • SQL Server クラスター情報

重要

Service Fabric cluster をコンフィギュレーションする際に、主要なノード タイプ (OrchestratorType) の 3 つのフォールト ドメインがあることを確認します。 また、1 台のコンピューターに展開できるノードのタイプは 1 つだけになるようにします。

NodeTopologyDefinition.xml

NodeTopologyDefinition.xml コンフィグレーション ファイルでは、各 Service Fabric ノード タイプに関する次の詳細について説明します。

  • 各ノード タイプとアプリケーション、ドメインとサービス アカウント、および証明書間のマッピング
  • ユーザー アカウント制御 (UAC) が有効であるかどうか
  • Windows の機能とシステム ソフトウェアの前提条件
  • 厳密な名前の検証を有効にするかどうか
  • 開くファイアウォール ポートの一覧
  • アカウントがマシンに必要とするアクセス許可
  • オペレーティング システムの既定のトランスポート層セキュリティ (TLS) プロトコルを使用するように .NET Framework を構成するかどうか
  • セキュリティ保護されていない TLS および Secure Sockets Layer (SSL) プロトコルを無効にするかどうか
  • セキュリティ保護されていない TLS 暗号を無効にするかどうか

メモ

このファイルの修正は必要がありません。

DatabaseTopologyDefinition.xml

DatabaseTopologyDefinition.xml コンフィギュレーション ファイルでは、各データベースの詳細について説明します。

  • データベース設定
  • ユーザーとロールの間のマッピング

メモ

このファイルの修正は必要がありません。

FileShareTopologyDefinition.xml

FileShareTopologyDefinition.xml コンフィギュレーション ファイルでは、各ファイル共有の詳細について説明します。

  • ファイル共有の設定
  • ファイル共有のアクセス許可共有
  • ファイル共有の 新しい Technology File System (NTFS) のアクセス許可
  • その他のフォルダー レベルのアクセス許可

メモ

このファイルの修正は必要がありません。

ConfigTemplate.xml ファイルに入力

このセクションでは、ConfigTemplate.xml ファイルの各コンフィギュレーション セクションの詳細について説明します。

ADServiceAccounts

このフィールドの名前は "DomainName," ですが、使用しているドメインのネットワーク基本入力/出力システム (NetBIOS) の名前を指定して、 lab\svc-LocalAgent$ などの Active Directory オブジェクトを正しく作成する必要があります。

<DomainName>LAB</DomainName>

ADServiceAccounts セクションでは、管理されるサービス アカウント (gMSA) とドメイン ユーザーの 2 種類の Active Directory サービス アカウントがサポートされます。 ただし、新しい基本配置では、gMSA だけが使用されます。

<ADServiceAccount type="gMSA" name="svc-LocalAgent$" refName="gmsaLocalAgent" disabled="false">
    <DNSHostName>svc-LocalAgent.contoso.com</DNSHostName>
</ADServiceAccount>
<ADServiceAccount type="DomainUser" name="AXServiceUser" refName="axserviceuser" disabled="true" />

ADServiceAccount 要素の場合は、名前属性と DNSHostName フィールドのみを更新し、gMSA の場合は更新する必要があります。 Management Reporterを配置していない場合は、勘定に 属性 変更 設定できます。 この設定により、それらのアカウントに関連するコンフィギュレーションが無効に設定されます。

<ADServiceAccount type="gMSA" name="svc-LA-sb$" refName="gmsaLocalAgent" disabled="false">
    <DNSHostName>svc-LA-sb.lab.local</DNSHostName>
</ADServiceAccount>
<ADServiceAccount type="DomainUser" name="AXServiceUser-sb" refName="axserviceuser" disabled="true" />

展開がまだ古い基本配置バージョンにある場合 (アプリケーション バージョン 10.0.20より前)、DomainUser タイプのアカウントを使用するために続行する必要があります。 この場合、無効属性を false に設定し、ドメイン ユーザー アカウントが有効にする必要があります。

<ADServiceAccount type="DomainUser" name="AXServiceUser" refName="axserviceuser" disabled="false" />

証明書

証明書は、Active Directory Certificate Services (AD CS) を使用して生成するか、自己署名ができます。 証明書の生成方法を指定するには、適切に generateSelfSignedCertgenerateADCSCert 属性を設定します。 セルフ署名証明書の代わりに、AD CS 証明書を使用することを強く推奨します。 スクリプトを使用して証明書を生成する場合は、そのサムプリント値を指定しません。 スクリプトによって自動的に値が設定されます。

<Certificate type="OnpremLocalAgent" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
    <Name>OnpremLocalAgent</Name>
    <Provider></Provider>
    <Thumbprint></Thumbprint>
    <ProtectTo></ProtectTo>
</Certificate>

別の場所で証明書を生成した場合、証明書がコンピュータに既にプロビジョニングされている場合は、 レポート先 属性を できます。 この場合、Export-Certificates.ps1 スクリプトは証明書をエクスポートしません。 ただし、正しいアクセス制御リスト (ACL) を生成および適用するには、この後もサムプリントを定義する必要があります。

<Certificate type="" exportable="false" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
    <Name>OnpremLocalAgent</Name>
    <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
    <Thumbprint>55a4ef521a3a00f64c4ac665dbaf3f17408cfe3d</Thumbprint>
    <ProtectTo></ProtectTo>
</Certificate>

証明書の ProtectTo フィールドが設定された場合は、配置を実行するユーザーを指定するのが一般的な方法です。 ただし、この方法は推奨しません。 指定したユーザーが会社を離れる場合は、エクスポートされた証明書へのアクセスが失えます。 代わりに、ProtectTo フィールドを Dynamics 365 デプロイの IT 管理者が所属する Active Directory グループに設定します。 複数のグループ、複数のユーザー、またはグループとユーザーの組み合わせを指定できます。

<Certificate type="" exportable="false" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
    <Name>OnpremLocalAgent</Name>
    <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
    <Thumbprint></Thumbprint>
    <ProtectTo>LAB\D365Admins;LAB\Domain Admins;LAB\Adminuser</ProtectTo>
</Certificate>

ServiceFabric タイプの証明書は、クラスターを保護するワイルドカード証明書であり、クラスターにホストされている他のサービスによって表示されます。 名前フィールドは、証明書のフレンドリ名にマップされます。 FileName は、エクスポート時に証明書にファイル名を付えるために使用されます。 DNSName フィールドは、証明書のサブジェクト代替名 (SANs) にマップされます。 Subject フィールドは、証明書のサブジェクト名 (一般名としても知られる) にマップされます。 証明書を正しく生成するために必要に応じてコード化されるため、プロバイダーKeyUsageEnhancedKeyUsage および CertificateType フィールドを更新しません。 これらのフィールドを更新した場合、証明書が動作するか、スクリプト自体が指定した値をサポートしている保証はありません。

<Certificate type="ServiceFabric" exportable="true" generateSelfSignedCert="false" generateADCSCert="true">
    <Name>star.lab.local</Name>
    <FileName>star.lab.local</FileName>
    <DNSName>ax.lab.local;sf.lab.local;*.lab.local</DNSName>
    <Subject>*.lab.local</Subject>
    <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
    <KeyUsage>DigitalSignature;KeyEncipherment</KeyUsage>
    <EnhancedKeyUsage>Server Authentication;Client Authentication</EnhancedKeyUsage>
    <Thumbprint></Thumbprint>
    <ProtectTo>LAB\D365Admins</ProtectTo>
</Certificate>

SQLCluster タイプの証明書は、証明書を生成するスクリプトによって自動的に生成されます。 これらのスクリプトでは、コンフィギュレーション ファイルの SQLCluster セクションの情報を使用して、値が自動的に計算されます。 このシナリオでは、ProtectTo フィールドを適切なユーザーまたはグループに設定します。

<Certificate type="SQLCluster" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false" manualProperties="false">
    <Name></Name>
    <DNSName></DNSName>
    <Subject></Subject>
    <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
    <Thumbprint></Thumbprint>
    <ProtectTo>LAB\D365Admins</ProtectTo>
</Certificate>

SQLCluster 証明書のコンフィギュレーションを自動的に計算するロジックが設定を反映しない場合、自動計算を上書きし手動で指定することができます。 manualProperties 属性を true に設定し、証明書の情報を入力します。 この証明書の場合は、証明書の SAN に各 SQL Server の名前と Always On 可用性グループ リスナー (使用している場合) が含まれてることを確認します。

<Certificate type="SQLCluster" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false" manualProperties="true">
    <Name>LBDEN01SQLA.lab.local</Name>
    <DNSName>LBDEN01SQLA.lab.local;LBDEN01SQLA01.lab.local;LBDEN01SQLA02.lab.local</DNSName>
    <Subject>LBDEN01SQLA.lab.local</Subject>
    <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
    <Thumbprint></Thumbprint>
    <ProtectTo>LAB\D365Admins</ProtectTo>
</Certificate>

RSAT タイプの証明書は特別です。 Regression Suite Automation Tool (RSAT) が構成されているパフォーマンス ソフトウェア開発キット (SDK) からの要件により、この証明書はセルフ署名される必要があります。 SQLCluster certate 、ProtectTo"フィールド" フィールドのみを更新 必要があります。 既定では、この証明書は無効になっています。 したがって、生成する場合は、無効属性を false に設定します。

<Certificate type="RSAT" exportable="true" generateSelfSignedCert="true" disabled="false">
    <Name>RSAT</Name>
    <FileName>RSAT</FileName>
    <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
    <Subject>127.0.0.1</Subject>
    <Thumbprint></Thumbprint>
    <ProtectTo>LAB\D365Admins</ProtectTo>
</Certificate>

DbServer

SqlUser タイプのユーザー名を更新する際は、userName 属性のみ更新します。

<Security>
    <User refName="axdbadmin" type="SqlUser" userName="d365adminuser" generateUser="true" />
</Security>

既定では、スクリプトにより axdbadmin ユーザーだけが生成されます。 他のユーザーが他の機能を使用できるような生成を行う場合は、 generateUser attribute to 。 作成したスクリプトによって、ユーザーに関する詳細が生成され、入力されます。

<Security>
    <User refName="axdwadmin" type="SqlUser" userName="axdwadmin" generateUser="true" />
</Security>

データベース

データベース エントリを更新する場合、dbName 属性を更新してデータベース名を更新できます。

<Database refName="axdw" dbName="DataWarehouse"></Database>

現在、データベースの作成時にバックアップから復元する必要があるデータベースは環境1つのみです。 BackupFile フィールドをバックアップ ファイルがあるフル パスに設定します。 このパスには、SQL Serverデータベース エンジンを実行しているユーザーがアクセスできる必要があります。 DbTuning セクションを変更することは推奨しません。 ただし、変更する場合は、指定する値が最小値であり、最小値より低く設定しないよう確認してください。 そうしない場合は、展開が失敗します。

<Database refName="axDB" dbName="AXDB">
    <BackupFile>D:\Backups\EmptyDatabase_10.0.32.bak</BackupFile>
    <DbTuning>
        <DBFileGrowthMB value="200" />
        <LogFileGrowthMB value="500" />
        <LogFileSizeGB value="5" />
    </DbTuning>
</Database>

一部のデータベースには照合順序要素が定義されています。 データベースの照合順序を変更する場合は、"コレクション" フィールド 更新 できます。 ただし、サポートされている照合順序のセットは制限されています。 サポートされている照合順序の詳細については、「サポートされる Microsoft Dynamics 365 Finance + Operations (on-premises) を参照してください。 データベースに照合順序が定義されていない場合は、既定の照合順序だけがサポートされている、またはデータベースが提供されたバックアップ ファイルの照合順序を使用します。

<Database refName="axdw" dbName="AXDW">
    <Collation>SQL_Latin1_General_CP1_CI_AS</Collation>
</Database>

FileShares

ファイル共有には既定の共有名があります。 共有の名前を更新する必要がある場合は、名前属性を更新できます。 この方法は、同じファイル サーバーが複数の環境の共有をホストしている場合に重要です。

<FileShare refName="agent" name="D365Agent" disabled="false">
    <Path></Path>
    <BasePath></BasePath>
    <LocalPath></LocalPath>
</FileShare>

既定では、ファイル共有は C:\Shares ディレクトリに作成されます。 ただし、共有を作成するフォルダのフル パスを指定することで、その場所を上書きすることができます。 ファイル共有を作成するスクリプトを使用している場合は、LocalPath フィールドを設定しません。 スクリプトを使用せずに共有が作成された場合にのみ、LocalPath フィールドをファイル共有フォルダのフル パスに設定します。

<FileShare refName="agent" name="agent" disabled="false">
    <Path></Path>
    <BasePath>D:\D365Shares</BasePath>
    <LocalPath></LocalPath>
</FileShare>

ファイル 共有 を作成および構成するスクリプトが1つも必要ない場合は、 disable attribute to ファイルを無視するように設定共有。

<FileShare refName="agent" name="agent" disabled="true">
    <Path></Path>
    <BasePath></BasePath>
    <LocalPath></LocalPath>
</FileShare>

ServiceFabricCluster

ClusterName フィールドは、Service Fabric Cluster の名前を定義するためにローカルでのみ使用されます。 必要に応じてカスタマイズできます。

<ClusterName>Dynamics365Operations</ClusterName>

Service Fabric Cluster では、複数の NodeType 要素を定義する必要があります。 次の例は、ノード タイプの定義を示しています。 各ノード タイプに対してコンフィギュレーションが , 名Prefix または 使用 attributes) はコンフィギュレーション済みなので、変更を行う必要があります。 特定の状況でのみ、無効およびプライマリ属性は変更できます。

指定したノード タイプを使用しない場合は、 。 たとえば、個別のバッチ専用またはインタラクティブ専用ノードを持つ場合、無効true に設定して AOSNodeType ノード タイプを無効にし、無効false に設定して BatchOnlyAOSNodeType または InteractiveOnlyAOSNodeType ノード タイプを有効にします。

<NodeType name="AOSNodeType" primary="false" namePrefix="AOS" purpose="AOS" disabled="false">
    <VMList>
        <VM name="aos1" ipAddress="10.179.108.12" faultDomain="fd:/fd0" updateDomain="ud0" hasSSIS="false" />
        <VM name="aos2" ipAddress="10.179.108.13" faultDomain="fd:/fd1" updateDomain="ud1" hasSSIS="false" />
        <VM name="aos3" ipAddress="10.179.108.14" faultDomain="fd:/fd2" updateDomain="ud2" hasSSIS="false" />
    </VMList>
</NodeType>
<NodeType name="BatchOnlyAOSNodeType" primary="false" namePrefix="AOS" purpose="AOS" disabled="true">
    <VMList>
        <VM name="batchaos1" ipAddress="10.179.108.15" faultDomain="fd:/fd0" updateDomain="ud0" hasSSIS="false" />
        <VM name="batchaos2" ipAddress="10.179.108.16" faultDomain="fd:/fd1" updateDomain="ud1" hasSSIS="false" />
        <VM name="batchaos3" ipAddress="10.179.108.17" faultDomain="fd:/fd2" updateDomain="ud2" hasSSIS="false" />
    </VMList>
</NodeType>
<NodeType name="InteractiveOnlyAOSNodeType" primary="false" namePrefix="AOS" purpose="AOS" disabled="true">
    <VMList>
        <VM name="interactiveaos1" ipAddress="10.179.108.18" faultDomain="fd:/fd0" updateDomain="ud0" hasSSIS="false" />
        <VM name="interactiveaos2" ipAddress="10.179.108.19" faultDomain="fd:/fd1" updateDomain="ud1" hasSSIS="false" />
    </VMList>
</NodeType>

Service Fabricシステム サービスを含むノード タイプを変更する場合は、サービス priy attribute to 。 既定では、OrchestratorType ノード タイプは、プライマリ ノード タイプとして設定されることを注意してください。 別のノード タイプをプライマリに変更する場合は、OrchestratorType ノード タイプに対してプライマリ属性も必ず更新してください。 プライマリ ノード タイプを変更する必要があるのは、別のノード タイプに割り当てられているノードが多く、クラスターの信頼性の階層化を高めるのに役立ちます。

<NodeType name="AOSNodeType" primary="true" namePrefix="AOS" purpose="AOS" disabled="false">
    <VMList>
        <VM name="aos1" ipAddress="10.179.108.12" faultDomain="fd:/fd0" updateDomain="ud0" hasSSIS="false" />
        <VM name="aos2" ipAddress="10.179.108.13" faultDomain="fd:/fd1" updateDomain="ud1" hasSSIS="false" />
        <VM name="aos3" ipAddress="10.179.108.14" faultDomain="fd:/fd2" updateDomain="ud2" hasSSIS="false" />
        <VM name="aos4" ipAddress="10.179.108.15" faultDomain="fd:/fd0" updateDomain="ud1" hasSSIS="false" />
        <VM name="aos5" ipAddress="10.179.108.16" faultDomain="fd:/fd1" updateDomain="ud2" hasSSIS="false" />
    </VMList>
</NodeType>
<NodeType name="OrchestratorType" primary="false" namePrefix="Orch" purpose="Orchestrator" disabled="false">
    <VMList>
        <VM name="orch1" ipAddress="10.179.108.15" faultDomain="fd:/fd0" updateDomain="ud0" />
        <VM name="orch2" ipAddress="10.179.108.16" faultDomain="fd:/fd1" updateDomain="ud1" />
        <VM name="orch3" ipAddress="10.179.108.17" faultDomain="fd:/fd2" updateDomain="ud2" />
    </VMList>
</NodeType>

各ノード タイプには、そのノード タイプに属するマシンの一覧があります。 マシンは次の方法で定義されます。

  • 名前属性は、ドメイン内のマシン名に設定されます。

  • ipAddress 属性は、ドメイン内の静的 IP アドレスに設定されます。

  • faultDomain 属性によって特定された障害ドメインがあります。

    障害ドメインは、単一障害点を共有する一連のハードウェア コンポーネントです。 たとえば、ハードウェア ホストは障害ドメインと見なされる場合があります。 ただし、単一の切り替えまたは接続される一連のハードウェア ホストの場合があります。 この場合、スイッチまたはルーターは単一障害点であり、そのスイッチまたはルーターに接続されているものはすべて単一の障害点ドメインです。 スタンドアロンの Service Fabric Cluster では、基になるインフラストラクチャを制御のため、障害ドメインは大きな役割を果たされません。 ただし、これらの概念はクラウドにとって重要な概念です。 Service Fabric に障害ドメインを定義して、仮想マシン (VM) の分散方法または拡散方法を確認すると便利です。

  • updateDomain 属性によって特定されたアップグレード ドメインがあります。

    アップグレード ドメインは、クラスターに変更がある場合 (クラスター コンフィギュレーションの変更やクラスター コード アップグレードなど)、ロールを果たします。 この場合、変更は一度に1つのアップグレード ドメインに適用されます。 したがって、すべての Application Object Server (AOS) ノードが同じアップグレード ドメインに入る設定を行う必要はありません。 このオプションを選択しない場合、クラスタに変更がある場合は、すべてが同時にダウンします。

  • ノードに SQL Server Integration Services (SSIS) がインストールされているかどうかを示す hasSSIS 属性を持つ場合があります。 hasSSIS フィールドは、バージョン10.0.32以降の基本配置で使用され、専用のノード タイプが2つも使用されていない場合に データ管理フレームワーク (PINF) サービスが提供される場所を特定するのに役立ちます。

<VM name="reportbi1" ipAddress="10.179.108.10" faultDomain="fd:/fd1" updateDomain="ud1" hasSSIS="false" />

ServiceFabsettings セクションでは、複数の Service Fabric の設定をカスタマイズできます。 配置に対して、明示的に必要な設定だけが定義されます。 各設定の動作については、Customize Service Fabric Cluster 設定を参照してください。

<ServiceFabricSettings>
    <Setting name="Setup" disabled="false">
        <Parameters>
           <Parameter name="FabricDataRoot">C:\ProgramData\SF</Parameter>
            <Parameter name="FabricLogRoot">C:\ProgramData\SF\Log</Parameter>
        </Parameters>
    </Setting>
    <Setting name="PlacementAndLoadBalancing" disabled="false">
        <Parameters>
            <Parameter name="NodeTaggingEnabled">true</Parameter>
        </Parameters>
    </Setting>
</ServiceFabricSettings>

クラスタをカスタマイズする場合は、テンプレートにさらに設定を作成し、クラスタ コンフィギュレーションの作成時または更新時に自動的に設定することができます。 たとえば、Service Fabric からのサーバーの再起動を有効にする場合は、EnableRestartManagement パラメーターを使用できます。

<Setting name="FabricHost" disabled="false">
    <Parameters>
        <Parameter name="EnableRestartManagement">true</Parameter>
    </Parameters>
</Setting>

SQLCluster

ListenerName フィールドでは、SQL Server Cluster がある場合にのみ必要です。 1つのSQL Server VMがある場合は、環境 を配置する必要があるから、 ListenerName フィールドは空白のままにしてください。

<ListenerName></ListenerName>

SQLSQLList 要素は、クラスターに属している各 SQL Server マシン名を含む必要があります。

<SQLVMList>
    <SQLVM name="LBDSQLA01" />
    <SQLVM name="LBDSQLA02" />
</SQLVMList>

SQL Server マシンを 1 つしか持ってない場合は、そのマシンのみを表示します。

<SQLVMList>
    <SQLVM name="LBDSQLA01" />
</SQLVMList>

例えば、Contoso Corporation の ConfigTemplate.xml ファイル

Contoso Corporationは、次の情報ConfigTemplate.xmlしてデータ ファイルを作成します。

  • Active Directory ドメインは Contoso.com で、NetBIOS 名は Contoso です。

  • Contoso は生産環境を展開しています。

  • Service Fabricドメイン ネーム システム (DNS) エンドポイントの sf.contoso.com

  • AOS DNSエンドポイントのエンドポイント ax.contoso.com

  • SQL Server Reporting Services (SSRS) マシンは、Windows Server フェールオーバー クラスターに参加します。 クラスタ名は、LBDEN01SFBI です。

  • SQL Always On 可用性グループは、LBDEN01SQLA です。

  • ドメイン内の Dynamics 365 Administrators グループは、contoso\D365Admins という名前です。

  • 以下のマシンが使用されます。

    マシンの目的 Service Fabric ノード タイプ コンピューター名 IP アドレス
    ドメイン コントローラー LBDEN01DC1 10.0.0.2
    Active Directory フェデレーション サービス (AD FS) LBDEN01ADFS1 10.0.0.3
    ファイル サーバー LBDEN01FS01 10.0.0.4
    SQL Server 1 LBDEN01SQLA01 10.0.0.5
    SQL Server 2 LBDEN01SQLA02 10.0.0.6
    SQL Always On 可用性グループ リスナー LBDEN01SQLA 10.0.0.9
    AOS 1 BatchOnlyAOSNodeType LBDEN01SFAOS1 10.0.0.11
    AOS 2 BatchOnlyAOSNodeType LBDEN01SFAOS2 10.0.0.12
    AOS 3 BatchOnlyAOSNodeType LBDEN01SFAOS3 10.0.0.13
    AOS 4 InteractiveOnlyAOSNodeType LBDEN01SFAOS4 10.0.0.14
    AOS 5 InteractiveOnlyAOSNodeType LBDEN01SFAOS5 10.0.0.15
    AOS 6 InteractiveOnlyAOSNodeType LBDEN01SFAOS6 10.0.0.16
    オーケストレータ 1 OrchestratorType LBDEN01SFORCH1 10.0.0.21
    オーケストレータ 2 OrchestratorType LBDEN01SFORCH2 10.0.0.22
    オーケストレータ 3 OrchestratorType LBDEN01SFORCH3 10.0.0.23
    Management Reporter ノード 1 MRType LBDEN01SFMR1 10.0.0.31
    Management Reporter ノード 2 MRType LBDEN01SFMR2 10.0.0.32
    SSRS ノード 1 ReportServerType LBDEN01SFBI1 10.0.0.41
    SSRS ノード 2 ReportServerType LBDEN01SFBI2 10.0.0.42
    SSRS Windows Server フェールオーバー クラスター名 LBDEN01SFBI 10.0.0.49
    SSIS ノード 1 SSISNodeType LBDEN01SFSSIS1 10.0.0.51
    SSIS ノード 2 SSISNodeType LBDEN01SFSSIS2 10.0.0.52

ADServiceAccounts セクション

DomainName フィールドでは、ドメインの NetBIOS 名は Contoso です。

Contoso Corporation では、さまざまな gMSAs を環境ごとに使用することを望みます。 製造グループで製造バージョン用のコンフィギュレーションを準備環境、すべての勘定に接尾語 "-Prod" が追加されました。 各タイプ ADServiceAccount gMSA タイプの要素に対して、 名前 attributeと DNSHostName フィールドが更新されます。

Contoso は、基本パッケージを 10.0.40 で配置します。 axserviceuser アカウントは使用されないため、無効のままです。

<ADServiceAccounts>
    <DomainName>Contoso</DomainName>
    <ADServiceAccount type="gMSA" name="svc-LA-Prod$" refName="gmsaLocalAgent" disabled="false">
        <DNSHostName>svc-LA-Prod.contoso.com</DNSHostName>
    </ADServiceAccount>
    <ADServiceAccount type="gMSA" name="svc-FRAS-Prod$" refName="gmsaFRAS" disabled="false">
        <DNSHostName>svc-FRAS-Prod.contoso.com</DNSHostName>
    </ADServiceAccount>
    <ADServiceAccount type="gMSA" name="svc-FRPS-Prod$" refName="gmsaFRPS" disabled="false">
        <DNSHostName>svc-FRPS-Prod.contoso.com</DNSHostName>
    </ADServiceAccount>
    <ADServiceAccount type="gMSA" name="svc-FRCO-Prod$" refName="gmsaFRCO" disabled="false">
        <DNSHostName>svc-FRCO-Prod.contoso.com</DNSHostName>
    </ADServiceAccount>
    <ADServiceAccount type="gMSA" name="svc-AXSF-Prod$" refName="gmsaAXSF" disabled="false">
        <DNSHostName>svc-AXSF-Prod.contoso.com</DNSHostName>
    </ADServiceAccount>
    <ADServiceAccount type="gMSA" name="svc-Rep-Prod$" refName="gmsaSSRS" disabled="false">
        <DNSHostName>svc-Rep-Prod.contoso.com</DNSHostName>
    </ADServiceAccount>
    <ADServiceAccount type="gMSA" name="svc-DIXF-Prod$" refName="gmsaDIXF" disabled="false">
        <DNSHostName>svc-DIXF-Prod.contoso.com</DNSHostName>
    </ADServiceAccount>
    <ADServiceAccount type="DomainUser" name="AXServiceUser" refName="axserviceuser" disabled="true" />
</ADServiceAccounts>

証明書セクション

Contoso Corporationは、その証明書の1つ ServiceFab の証明書を公的証明機関から取得しました。 証明書を生成するためにスクリプトは必要ないので、generateADCSCert 属性を false に設定します。 証明書は、後でエクスポートできるよう、証明書のサムプリントも記入します。

Contosoは、AD CSサーバーを持ち、それを使用して他のすべての証明書を生成することを決定しました。

Contoso は、現在の IT 管理者が去った場合、証明書プライベート キーへのアクセス権は失いたくないと考えます。 したがって、ProtectTo フィールドを個々のユーザーに設定していません。 代わりに、すべてのIT管理者が属しているActive Directoryグループを指定しました。 この方法はベスト プラクティスです。

gMS Aと同様に、Contosoは他のすべての証明書 ( SQLCluster ,OnpremLocal Contoso およびRSAT 証明書を除く) に-prod sこれらの証明書を追加して、区別しやすくなります。

設定 ガイド に従って、コンフィギュレーション テンプレートでさらにコンフィギュレーションが指定されている SQLCurster コンフィギュレーション 指定されている場合、インフラストラクチャ スクリプトは自動的にTHESQLClusterc ertationに関する情報を生成します。 したがって、Contosoは、ProtectToフィールド以外 すべてを空白のままに しました。

この移動は最初の 環境 ではないので、Contosoは OnpremLocal Contoso certateをその Microsoft Entra に対して登録しています。新しいサービスを生成する必要はありません。 代わりに、既存の証明書にサムプリントを指定し、generateADCSCert 属性を false に設定します。

Contoso が RSAT の使用を希望しても、RSAT はサンドボックス環境でのみ使用されます。 生産 環境 のコンフィギュレーションを指定しているから RSAT 生産環境 に設定された 他の 属性

<Certificates>
    <Certificate type="ServiceFabric" exportable="true" generateSelfSignedCert="false" generateADCSCert="false">
        <Name>star.contoso.com</Name>
        <FileName>star.contoso.com</FileName>
        <DNSName>ax.contoso.com;sf.contoso.com;*.contoso.com</DNSName>
        <Subject>*.contoso.com</Subject>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <KeyUsage>DigitalSignature;KeyEncipherment</KeyUsage>
        <EnhancedKeyUsage>Server Authentication;Client Authentication</EnhancedKeyUsage>
        <Thumbprint>55a4ef521a3a00f64c4ac665dbaf3f17408cfe3d</Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="ServiceFabricClient" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
        <Name>client-prod.contoso.com</Name>
        <Subject>client-prod.contoso.com</Subject>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <KeyUsage>DigitalSignature;KeyEncipherment</KeyUsage>
        <EnhancedKeyUsage>Server Authentication;Client Authentication</EnhancedKeyUsage>
        <Thumbprint></Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="ServiceFabricEncryption" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
        <Name>axdataenciphermentcert-prod</Name>
        <Provider>Microsoft Enhanced Cryptographic Provider v1.0</Provider>
        <CertificateType>DocumentEncryptionCert</CertificateType>
        <KeyUsage>DataEncipherment</KeyUsage>
        <EnhancedKeyUsage>Document Encryption</EnhancedKeyUsage>
        <Thumbprint></Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="SessionAuthentication" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
        <Name>SessionAuthentication-prod</Name>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <Thumbprint></Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
  </Certificate>
  <Certificate type="DataEncryption" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
        <Name>DataEncryption-prod</Name>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <Thumbprint></Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="DataSigning" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
        <Name>DataSigning-prod</Name>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <Thumbprint></Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="FinancialReporting" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
        <Name>FinancialReporting-prod</Name>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <Thumbprint></Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="ReportingService" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
        <Name>ReportingService-prod</Name>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <Thumbprint></Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="Orchestrator" exportable="true" generateSelfSignedCert="false" generateADCSCert="false" disabled="false">
        <Name>OnPremLocalAgent</Name>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <Thumbprint>66a4ea345a3a44f6e33ac215dbaf3f34a19cee3d</Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="SSRSHTTPS" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false">
        <Name>LBDEN01SFBI.contoso.com</Name>
        <FileName>LBDEN01SFBI.contoso.com</FileName>
        <DNSName>LBDEN01SFBI1.contoso.com;LBDEN01SFBI2.contoso.com;LBDEN01SFBI.contoso.com</DNSName>
        <Subject>LBDEN01SFBI.contoso.com</Subject>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <Thumbprint></Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="SQLCluster" exportable="true" generateSelfSignedCert="false" generateADCSCert="true" disabled="false" manualProperties="false">
        <Name></Name>
        <DNSName></DNSName>
        <Subject></Subject>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <Thumbprint></Thumbprint>
        <ProtectTo>contoso\D365Admins</ProtectTo>
    </Certificate>
    <Certificate type="RSAT" exportable="true" generateSelfSignedCert="true" disabled="true">
        <Name>RSAT</Name>
        <FileName>RSAT</FileName>
        <Provider>Microsoft Enhanced RSA and AES Cryptographic Provider</Provider>
        <Subject>127.0.0.1</Subject>
        <Thumbprint></Thumbprint>
        <ProtectTo></ProtectTo>
    </Certificate>
</Certificates>

DbServer セクション

Contoso Corporationは、作成したSQL Serverクラスタを、Finance + Operations (オンサイト) の生産インスタンスを排他的に利用します。 そのため、ユーザーは userName 属性の既定値のままにすることを決定しました。

Contosoがエンティティ 店舗機能を使用する必要があります。 したがって、axdwadmin および axdwruntimeuser アカウント用に、generateUser 属性を true に設定します。

<DbServer>
    <Security>
        <User refName="axdbadmin" type="SqlUser" userName="axdbadmin" generateUser="true" />
    </Security>
    <Security>
        <User refName="axdwadmin" type="SqlUser" userName="axdwadmin" generateUser="true" />
    </Security>
    <Security>
        <User refName="axdwruntimeuser" type="SqlUser" userName="axdwruntimeuser" generateUser="true" />
    </Security>
</DbServer>

データベース セクション

Contoso Corporationは、データベース名の既定値を入力します (名前 tribute)。 Microsoft Dynamics Lifecycle Services から、空またはデモ データベースをダウンロードしません。 さらに、BackupFile フィールドにまだ入力されていませんが、後に入力してください。 さらに、既定の照合順序を使用して、照合順序 コレクション 変更されません。

<Databases>
    <Database refName="axDB" dbName="AXDB">
        <BackupFile></BackupFile>
        <DbTuning>
        <DBFileGrowthMB value="200" />
        <LogFileGrowthMB value="500" />
        <LogFileSizeGB value="5" />
        </DbTuning>
    </Database>
    <Database refName="financialReporting" dbName="FinancialReporting">
      <!-- Override the default collation. This should only be done to databases that predefine the collation element. Not all collations are supported, please check the documentation. -->
      <Collation>SQL_Latin1_General_CP1_CI_AS</Collation>
    </Database>
    <Database refName="orchestratorData" dbName="OrchestratorData"></Database>
    <Database refName="axdw" dbName="AXDW">
      <Collation>SQL_Latin1_General_CP1_CI_AS</Collation>
    </Database>
</Databases>

FileShares セクション

Contoso Corporationには、1つのノードを持つファイル サーバーがあります。 ただし、可用性の高いソリューションは、実利用開始前に間もなく設定する必要があります。 ここで、特定の量を作成して、 sfDiagnostics, 共有残りの共有をホストする別の量を作成しました。 インフラストラクチャ スクリプトが共有、残りのフィールドはすべて入力 BasePath フィールドにのみ入力されます。

<FileShares>
    <FileShare refName="agent" name="agent" disabled="false">
        <Path></Path>
        <BasePath>D:\Shares</BasePath>
        <LocalPath></LocalPath>
    </FileShare>
    <FileShare refName="aos" name="aos-storage" disabled="false">
        <Path></Path>
        <BasePath>D:\Shares</BasePath>
        <LocalPath></LocalPath>
    </FileShare>
    <FileShare refName="dixf" name="dixf-share" disabled="false">
        <Path></Path>
        <BasePath>D:\Shares</BasePath>
        <LocalPath></LocalPath>
    </FileShare>
    <FileShare refName="sfDiagnostics" name="diagnostics-store" disabled="false">
        <Path></Path>
        <BasePath>E:\Shares</BasePath>
        <LocalPath></LocalPath>
    </FileShare>
</FileShares>

ServiceFabricCluster セクション

Contoso Corporationは、接続されているクラスタを正しく識別するために、 ClusterName フィールドを更新して、このクラスタが生産クラスタであるという事実を反映しました。

Contosoは、通常の営業時間内に実行されるリソース重いバッチ ジョブを確認しました。 これらのジョブはユーザーに影響を与えるのではないので、バッチ セッションと対話型セッションを別のノードに分割することを選択します。 したがって、これらのノードは、 属性 BatchOnlyAOSNodeType および InteractiveOnlyAOSNodeType ノード タイプを設定しますが、 AOSNodeType ノード タイプの場合) に設定します。

ノード タイプに属する各コンピュータに対して、VMの名前とIPアドレス、障害ドメイン、および更新ドメインが入力されます。

Contoso にはフォールト トレランスの設定があります。 ただし、3 つの障害ドメインを提供できるフォールト トレランスは十分に持ち合わせていません。 エラー許容範囲の値をランダムに割り当て、3つのエラー ドメインの最小要件に拡散することを選択しています。

Contosoは、クラスタを頻繁に更新する必要は必見です。 ただし、ドメイン定義を更新するためのベスト プラクティスに従う必要があるという確認は続きます。 これにより、各ノード タイプの各ノードが異なる更新ドメインに入れ子になります。 この方法により、クラスタの更新またはアップグレードがある場合に、各ノード タイプのノードが一度に1つしかダウンダウンできません。

Contosoが、アプリケーション バージョン10.0.32以降に、新しいサービスがCONTOSOによって開始されたのに気付しました。 このサービスにより、すべての AOS ノードで SSIS のインストールおよびライセンス取得が不要になります。 SSISNodeType ノード タイプを無効にすることで、代わりに ReportServerType ノード タイプを使用し、ReportServerType ノード タイプ上で hasSSIStrue に設定して DMF サービスをホストできます。 ただし、これらのシステムにはリソースを大量に使用するTF運用も備え、レポート生成の中断を望むわけではありません。 そのため、サービス専用のノードを選択しました。

FabdataRoot and and Fabroot folders) を検索しやすくなります。Contosoは、ルート ディレクトリに入ったパスを更新しました。

<ServiceFabricCluster>
    <ClusterName>Contoso Production</ClusterName>
    <NodeType name="AOSNodeType" primary="false" namePrefix="AOS" purpose="AOS" disabled="true">
        <VMList>
            <VM name="" ipAddress="" faultDomain="fd:/fd0" updateDomain="ud0" hasSSIS="false" />
            <VM name="" ipAddress="" faultDomain="fd:/fd1" updateDomain="ud1" hasSSIS="false" />
            <VM name="" ipAddress="" faultDomain="fd:/fd2" updateDomain="ud2" hasSSIS="false" />
        </VMList>
    </NodeType>
    <NodeType name="BatchOnlyAOSNodeType" primary="false" namePrefix="AOS" purpose="AOS" disabled="false">
        <VMList>
            <VM name="LBDEN01SFAOS1" ipAddress="10.0.0.11" faultDomain="fd:/fd0" updateDomain="ud0" hasSSIS="false" />
            <VM name="LBDEN01SFAOS2" ipAddress="10.0.0.12" faultDomain="fd:/fd1" updateDomain="ud1" hasSSIS="false" />
            <VM name="LBDEN01SFAOS3" ipAddress="10.0.0.13" faultDomain="fd:/fd2" updateDomain="ud2" hasSSIS="false" />
        </VMList>
    </NodeType>
    <NodeType name="InteractiveOnlyAOSNodeType" primary="false" namePrefix="AOS" purpose="AOS" disabled="false">
        <VMList>
            <VM name="LBDEN01SFAOS4" ipAddress="10.0.0.14" faultDomain="fd:/fd0" updateDomain="ud1" hasSSIS="false" />
            <VM name="LBDEN01SFAOS5" ipAddress="10.0.0.15" faultDomain="fd:/fd1" updateDomain="ud2" hasSSIS="false" />
            <VM name="LBDEN01SFAOS6" ipAddress="10.0.0.16" faultDomain="fd:/fd2" updateDomain="ud0" hasSSIS="false" />
        </VMList>
    </NodeType>
    <NodeType name="OrchestratorType" primary="true" namePrefix="Orch" purpose="Orchestrator" disabled="false">
        <VMList>
            <VM name="LBDEN01SFORCH1" ipAddress="10.0.0.21" faultDomain="fd:/fd0" updateDomain="ud2" />
            <VM name="LBDEN01SFORCH2" ipAddress="10.0.0.22" faultDomain="fd:/fd1" updateDomain="ud0" />
            <VM name="LBDEN01SFORCH3" ipAddress="10.0.0.23" faultDomain="fd:/fd2" updateDomain="ud1" />
        </VMList>
    </NodeType>
    <NodeType name="ReportServerType" primary="false" namePrefix="Rep" purpose="BI" disabled="false">
        <VMList>
            <VM name="LBDEN01SFBI1" ipAddress="10.0.0.41" faultDomain="fd:/fd0" updateDomain="ud0" hasSSIS="false" />
            <VM name="LBDEN01SFBI2" ipAddress="10.0.0.42" faultDomain="fd:/fd1" updateDomain="ud1" hasSSIS="false" />
        </VMList>
    </NodeType>
    <NodeType name="MRType" primary="false" namePrefix="MR" purpose="MR" disabled="false">
        <VMList>
            <VM name="LBDEN01SFMR1" ipAddress="10.0.0.31" faultDomain="fd:/fd1" updateDomain="ud1" hasSSIS="false" />
            <VM name="LBDEN01SFMR2" ipAddress="10.0.0.32" faultDomain="fd:/fd2" updateDomain="ud2" hasSSIS="false" />
        </VMList>
    </NodeType>
    <NodeType name="SSISNodeType" primary="false" namePrefix="SSIS" purpose="SSIS" disabled="false">
        <VMList>
            <VM name="LBDEN01SFSSIS1" ipAddress="10.0.0.51" faultDomain="fd:/fd2" updateDomain="ud2" />
            <VM name="LBDEN01SFSSIS2" ipAddress="10.0.0.52" faultDomain="fd:/fd1" updateDomain="ud0" />
        </VMList>
    </NodeType>
    <ServiceFabricSettings>
        <Setting name="Setup" disabled="false">
            <Parameters>
                <Parameter name="FabricDataRoot">C:\SF</Parameter>
                <Parameter name="FabricLogRoot">C:\SF\Log</Parameter>
            </Parameters>
        <Setting>
            <Parameters>
                <Parameter name="NodeTaggingEnabled">true</Parameter>
            </Parameters>
        </Setting>
    </ServiceFabricSettings>
</ServiceFabricCluster>

SQLCluster セクション

Contoso Corporationは、可用性グループを含むSQL Always Onクラスタを作成し、2つのVMで構成しています。 これらのグループは、各SQL Server VMをSQLSQLSQLListまたは に追加 しました。 可用性グループが設定されているから、可用性グループの ListenerName 評価) を指定しました。 証明書生成スクリプトでは、これらの値を使用して正しい証明書を生成し、SQL Serverでトラフィックを保護します。

<SQLCluster>
    <ListenerName>LBDEN01SQLA</ListenerName>
    <SQLVMList>
        <SQLVM name="LBDEN01SQLA01" />
        <SQLVM name="LBDEN01SQLA02" />
    </SQLVMList>
</SQLCluster>