開発環境に Commerce Scale Unit をインストールする
この記事では、Microsoft Dynamics 365 Commerce の仮想ハードディスク (VHD) ローカル開発環境と Microsoft Dynamics Lifecycle Services (LCS) クラウド開発環境にインターネット インフォメーション サービス (IIS) ベースの Commerce Scale Unit (CSU) をインストールする方法を、順を追って説明します。 この記事は、インストールを完了するために実行する必要があるさまざまなアクションを表すセクションに分かれています。各セクションは順番に実行する必要があります。
Azure Active Directory アプリを作成する
まず、CSU 用と Store Commerce for Webアプリ (以前のクラウド販売時点管理または CPOS) 用の 2 つの Microsoft Entra ID (以前の Azure Active Directory) を作成する必要があります。 手順については、Microsoft Entra ID でカスタム Retail Server アプリを設定する と Microsoft Entra ID で Store Commerce for Web のカスタム アプリを設定する を参照してください。
ホスト名に基づいて Web サイトの SSL 証明書を作成する
次に、CSU Web サイトおよび Entra ID アプリ認証のホスト名に基づいて Secure Sockets Layer (SSL) 証明書を作成する必要があります。
SSL 証明書を作成するには、次の手順に従います。
- リモート デスクトップ プロトコル (RDP) を使用して開発マシンに接続します。
- コマンド プロンプトから管理者権限で PowerShell を開きます。
- 次のコマンドを入力します。
$cert = New-SelfSignedCertificate -Subject "CN=$env:computerName" -DnsName $env:computerName,$([System.Net.Dns]::GetHostByName($env:computerName).HostName) -KeyAlgorithm RSA -KeyLength 2048 -CertStoreLocation "Cert:\LocalMachine\My" -NotBefore (Get-Date) -NotAfter (Get-Date).AddYears(2) -KeyUsage KeyEncipherment,DataEncipherment,CertSign,CRLSign,DigitalSignature -KeyUsageProperty All -FriendlyName "$env:computerName" -KeyExportPolicy Exportable
Export-Certificate -Cert $cert -FilePath "$env:temp\https.cer"
Import-Certificate -CertStoreLocation cert:\LocalMachine\Root -FilePath "$env:temp\https.cer"'
- 後で CSU インストール セクションで使用するために、新しい証明書のサムプリント値をコピーします。
注記
PowerPropyコマンド以外の方法を使用して keyUsage
SSL証明書を作成する場合は、SSL証明書に次の値 ( keyEncipherment
、および) が含まれている必要があります dataEncipherment
。 SSL証明書は、KeyExchangeも実行できる必要があります。
作成した SSL 証明書を .CER ファイル形式に変換する
次に、作成した SSL 証明書を .CER ファイル形式に変換する必要があります。
注記
CSU Entra ID アプに SSL 証明書を追加するには、.CER
ファイル形式である必要があります。
作成した SSL 証明書を .CER
ファイル形式に変換するには、以下の手順を実行します。
- 開発マシン上で、Windows ロゴキー+Rを選択し、ファイル名を指定して 実行 ダイアログボックスを開きます。
- 「MMC」と入力して管理コンソール Microsoft 開きます。
- ファイル > 追加/削除 スナップイン を選択します。
- 利用可能なスナップイン 配下で、証明書を選択し、追加 を選択します。
- 証明書スナップイン ダイアログ ボックスで、コンピュータのアカウントを選択し、次 を選択します。
- ローカル コンプーター をクリックし、終了 を選択します。
- OK を選択します。
- 証明書 > 個人 > 証明書 を展開します。
- 既に作成した SSL 証明書を見つけて右クリックし、すべてのタスク > エクスポート を選択します。
- エクスポート ダイアログ ボックスで 次へ を選択します。
- いいえ、秘密キーをエクスポートしません を選択し、次へ をを選択します。
- DER エンコード バイナリ X.509 (.CER) を選択します。
- C:\temp フォルダーを選択し、ファイル名として「DevBoxSelfSigned」と入力します。
- OK を選択してから、保存を選択します。
既存の CSU Entra ID アプリに SSL 証明書を追加する
次に、作成して .CER
ファイル形式に変換した SSL 証明書を既存の CSU Entra ID アプリに追加する必要があります。 この手順は、CSUが Commerce headquarters との通信用認証トークンを生成するために必要です。
作成した SSL 証明書を CSU Entra ID アプリに追加するには、次の手順に従います。
- 仮想マシン (VM) 上の Web ブラウザーで、前に作成した CSU Azure アプリ登録を編集します。
- クライアント認証情報 で、証明書またはシークレットの追加 を選択します。
- 証明書 タブを選択します。
- 証明書のアップロード を選択します。
- C:\temp から DevBoxSelfSigned 証明書を選択します。
- 説明 に「Devbox cert」と入力します。
- セットの説明に、「Devbox自己署名証明書」と入力します。
- 追加を選択します。
メモ
SSL証明書は既定で1年間発行されます。 Azure Appの登録とシールされたCSUに関連付けられたSSL証明書を有効期限の1か月以上前に更新する計画が必要です。 この計画更新を実行できないと、シール済CSUからCommerce Headquartersに通信できなくなりました。 新しいSSL証明書を適用する手順については、「(期限切れのSSL証明書の更新)[#update-期限切れのSSL証明書]」を参照してください。
Commerce headquarters を更新します
次のセクションでは、CSU インストールを実行する前に Commerce headquarters で行う必要があるすべての変更を示します。
CSU Entra ID アプリのアプリケーション ID (クライアント ID) を入力する
headquarters で CSU Entra ID アプリのアプリケーション ID (クライアント ID) を入力するには、以下の手順に従ってください。
- システム管理 > 設定 > Azure Active Directory アプリケーション (Microsoft Entra ID アプリケーション) の順に移動します。
- クライアント ID 列には、Entra ポータルの CSU Entra ID アプリののアプリケーション ID (クライアント ID) を入力します。
- 名前 列に説明用のテキストを入力します。
- ユーザー ID 列に、「RetailServiceAccount」 と入力します。
新しいチャネル データベース レコードを作成します
CSU 用に新しいチャネル データベース レコードを作成する必要があります。 そのデータベース レコードを作成した後、構成ファイルのコピーを取得する必要があります。これは、インストール プロセスを簡略化するのに役立ちます。
headquarters に CSU 用の新しいチャネル データベース レコードを作成するには、以下の手順に従います。
- 小売りとコマース > Headquarters の設定 > コマース スケジューラ > チャネル データベース の順に移動します。
- 新規を選択します。
- チャネル データベース ID に「DevSealedCSU」 を入力します。
- チャネル データベースのグループ に「Default」を入力します。
- 保存 を選択します。
- 小売情報チャンネル のクイックタブで、追加 を選択します。
- 普段ご利用の店舗を選択してください。
- 保存 を選択します。
- 新しい小売チャネルのマッピング 警告ダイアログ ボックスで、はい を選択します。
- ダウンロード > 構成ファイル を選択します。
- 構成ファイルを C:\temp に保存します。
- 構成ファイルの名前を「StoreSystemSetup.xml」に変更します。
新しいチャンネルのプロファイルを作成します
次に、CSU URL の新しいチャネル プロファイル レコードを作成し、既存の店舗レコードを更新して、新しいチャネル データベースとプロファイルを使用する必要があります。
注記
代わりに、既存のチャネル プロファイル レコードを変更して CSU の URL を使用することもできます。
headquarters で新しいチャネル プロファイルを作成し、既存の店舗レコードを更新して、新しいチャネル データベースとプロファイルを使用するには、次の手順に従います。
- 小売りとコマース > チャネル設定 > チャネル プロファイル の順に移動します。
- 新規を選択します。
- 名前 に「DevSealedCSUProfile」と入力します。
- 保存 を選択します。
- プロファイル プロパティ で、追加 を選択します。
- 非外部 VM 接続 には、次のように入力します:
- プロパティ キー には、プロパティ キーの値を入力します。
- Retail Server の URL に
https://<HostName>:446/RetailServer/Commerce
を入力してください。 - Cloud POS URL に
https://<HostName>:446/POS
を入力します。
- 小売とコマース > チャネル > 店舗 > すべての店舗 の順に移動します。
- 通常作業する店舗レコードごとに、次のフィールドを更新します:
- ライブ チャネル データベース に「DevSealedCSU」 を入力します。
- チャネル プロファイル に、「DevSealedCSUProfile」と入力します。
- 保存 を選択します。
注記
The store's closing method must be set to 'Shift'
という警告が表示された場合は、店舗の 明細書/決済 FastTab で、決済方法 値を シフト に更新します。- 通常 <HostName> 値は "DEV" で始まり、IIS マネージャを開いて、左上隅に表示されるサーバー名の値を確認することで見つけることができます。 また、LCS 環境ページの 環境の管理 > ローカル アカウント の下にある VM 名 列でも確認できます。
CDX データ 譜ループの更新
次の変更では、既定のデータベースが使用されなくなったため、headquarters の Commerce Data Exchange (CDX) データ グループからこのデータベースを削除します。 この更新を行わないと、後でデータの同期エラーが発生する可能性があります。
headquarters で CDX データ グループを更新するには、以下の手順に従ってください。
- 小売とコマース > 配送スケジュール の順に移動します。
- 既定のデータ グループを選択します。
- このグループから既定のデータベース レコードを削除します。
同期ジョブの実行
次の同期ジョブは、インストールが完了すると CSU Async Clientサービスでデータ パッケージ ファイルを使用できるように、インストール前に headquarters で実行されます。 CSU のインストールが成功すると、Async Client がこれらのジョブを適用するため、ジョブは適用済みステータスを表示します。 CSU をインストールする前にこのセクションを実行する必要はありませんが、この手順は、早期のトラブルシューティングとすべてが機能していることの確認に役立ちます。
headquarters で同期ジョブを実行するには、以下の手順に従ってください。
- 小売 とコマース > 小売 とコマース IT > 配送スケジュール の順に移動します。
- 9999 ジョブを選択します。
- 今すぐ実行を選択します。
- 警告ごとに、はい を選択します。
- ジョブをスケジュールするには、OK を選択します。
シールド CSU の前提条件をインストールする
シールド CSU インストーラーを実行する前に、次の手順を完了する必要があります。
インストールされている IIS コンポーネントを確認する
IIS 6 Management Compatibility (IIS 6 Metabase Compatibility) コンポーネントが開発コンピュータにインストールされていることを確認するには、次の手順に従います。
- サーバー マネージャー > ローカル サーバー > 管理 > ロールと機能の追加 に移動します。
- IIS 配下で、管理ツール > IIS 6管理の互換性 (IIS 6メタベースの互換性) コンポーネントがチェックされます。
.NET Core ホスティング バンドルをインストールする
開発コンピューターに .NET Core ホスティング バンドルをインストールするには、以下の手順に従います。
- リモート デスクトップ プロトコル (RDP) を使用して開発マシンに接続します。
- Web ブラウザを開き、.NET 6.0 (Linux、macOS、および Windows のダウンロード) に移動します。
- ASP.Net Core Runtime 6.0.X セクションで、Windows 用 Hosting Bundle インストーラーを選択してダウンロードします。
- dotnet-hosting-6.0.x-win.exe インストーラーを実行します。
シールド自己ホスト型インストーラーをダウンロードする
注記
シールド CSU インストーラーは、LCS アセット ライブラリからのみ入手できます。
シールド自己ホスト CSU インストーラーを開発コンピューターにダウンロードするには、次の手順に従います。
- 開発マシンで Web ブラウザを開き、Microsoft Dynamics Lifecycle Services にログインします。
- リストからプロジェクトを選択します。
- ページ上部のハンバーガー メニューから、資産ライブラリ を選択します。
- 小売セルフサービス パッケージ を選択します。
- リストにシールされた CSU インストーラーがすでにある場合は、パッケージ名を選択してダウンロードを開始します。
- リストに CSU シールされたインストーラーがない場合は、インポート を選択し、使用するシールされたインストーラーのバージョンを選択します。続いて 選択 をクリックし、パッケージ名を選択してダウンロードを開始します。
- シールされたインストーラーを Downloads フォルダーから C:\temp にコピーします。
シールド CSU のインストール
シールド CSU をインストールするプロセスでは通常、本社からダウンロードした構成ファイルが使用されます。このファイルには、Retail Transaction Service (RTS) 認証に必要な情報がすべて含まれています。 構成ファイルを使用しない場合は、--AadTokenIssuerPrefix
、--StoreSystemAosURL
、--StoreSystemChannelDatabaseId
、--TenantId
などの追加パラメーターを必ず指定します。 インストーラー コマンドの完全なリストについては シールド Commerce セルフサービス コンポーネントの大規模展開 を参照してください。
シールドされた CSU を開発マシンにインストールするには、次の手順に従います。
- 管理者権限で Windows コマンド プロンプトを開きます。
- ディレクトリを C:\temp (たとえば、
CD C:\temp
) に変更します。 - 次のコマンドを実行してください :
CommerceStoreScaleUnitSetup.exe install --port 446 --SSLCertThumbprint "<SSL thumbprint of certificate created earlier>" --RetailServerCertThumbprint "<SSL thumbprint of certificate created earlier>" --AsyncClientCertThumbprint "<SSL thumbprint of certificate created earlier >" --AsyncClientAADClientID "<CSU Azure APP Client ID>" --RetailServerAADClientID "<CSU Azure APP Client ID>" --CPOSAADClientID "<CPOS Azure APP Client ID>" --RetailServerAADResourceID "<Application ID URI>" --Config "c:\temp\StoreSystemSetup.xml" --SkipSChannelCheck --trustSqlservercertificate
注記
- これは開発コンピューターであるため、同じ SSL サムプリントを使用した全サービスの実行が許可されます。 実稼働環境とユーザー受け入れテスト (UAT) 環境では、これらの値は異なる必要があります。
- インストール中に ポート 80 または 443 を入力しないでください。 これらの値のいずれかを入力すると、Commerce headquarters Web サイトをホストするアプリケーション オブジェクト サーバー (AOS) サービスが妨げられます。
クラウド (LCS) 展開された開発環境の追加手順
シールド CSU のインストール の設定手順では、CSU URL にアクセスする際に開発環境に RDP することを前提としています。 開発 VM の外部から開発環境シールド CSU にアクセスできるようにするには、次の追加タスクを実行する必要があります。
注記
外部のアクセス可能なリダイレクトは、Commerce バージョン 10.0.39 以前でのみテストされています。 この機能は、以前のレガシ (既定) Retail Server URL を、VM 上のシールド CSU にリダイレクトすることに基づいています。 この機能のサポートは、レガシ (既定) の Retail Server の削除に伴い、今後のバージョンで削除される予定です。
外部アクセス用のチャネルプロファイルを作成する
外部アクセス用のチャネル プロファイルを作成するには、次の手順に従います。
- headquarters で、小売りと Commerce > チャネルの設定 > チャネル プロファイル の順に移動し、新しいチャネル プロファイルを作成します。
- 次のプロパティ値を設定します:
- Retail Server の URL に
https://<LCSEnvironmentName>devret.axcloud.dynamics.com/RetailServer/Commerce
を入力してください。 - Cloud POS に
https://<LCSEnvironmentName>devret.axcloud.dynamics.com/POS
を入力します。
- Retail Server の URL に
- 保存 を選択します。
- 小売とコマース > チャネル > 店舗 > すべての店舗 の順に移動します。
- 普段使用しているストア レコードを編集します。
- 作成した値の チャンネル プロフィール を更新します。
- 保存 を選択します。
- 小売りと Commerce > 小売りと Commerce IT > 配送スケジュール の順に移動し、1070 (チャネル構成) 同期ジョブを実行します。
Web サイトの IIS バインディングを更新する
レガシの Retail Server とシールド CSU の IIS バインディングは、リダイレクトをサポートするために更新する必要があります。
Web サイトの IIS バインドを更新するには、次の手順に従います。
- リモート デスクトップ プロトコル (RDP) を使用して開発マシンに接続します。
- IIS マネージャーを開いて サイト を展開します。
- RetailServer のWeb サイトを選択します。
- 画面の右側で、バインド を選択します。
- HTTPS バインドを選択し、編集 を選択します。
- ポート の値に「444」を設定します。
- ホスト名 には、後で使用するために URL 文字列値全体をコピーし、値を削除します。
- OK を選択します。
- 閉じるを選択します。
- RetailStoreScaleUnitWebsite.AspNetCore Web サイトを選択します。
- 画面の右側で、バインド を選択します。
- HTTPS バインドを選択し、編集 を選択します。
- ポート の値に「443」を設定します。
- ホスト名 に、先ほどコピーした URL 文字列値の ホスト名 を入力します。
- SSL証明書 に、下向き矢印を選択します。
<LCS name>devaos.axcloud.dynamics.com
で終わる SSL 証明書を選択します。- OK を選択します。
- 閉じるを選択します。
UAT からのデータベースの復元
以前に シールド CSU のインストール の手順を使用してシールド CSU を設定し、その後別の環境から headquarters データベースを復元した場合は、シールド CSU を再び機能させるために次の手順を実行する必要があります。
- レコードを再作成するには、Commerce headquarters の更新 の手順に従います。
注記
チャネル データベース ID と チャネル プロファイル には、前回のインストールで使用したものと同じ値を使用する必要があります。 これらの値が以前のインストールと異なる場合は、インストーラーを再実行する必要があります。
- ダウンロード セッションをチェックして、ジョブが適用されているかどうかを確認してください。
- ジョブが適用されている場合、CSU は動作しているため、インストーラーの手順を再実行する必要はありません。
- ダウンロード ジョブが適用されない場合は、まず Windows イベント ログを調べて明らかなエラーがないかどうかを確認し、次にチャネル データベース フォームから新しい構成ファイルをダウンロードし、新しい構成ファイルを使用して CSU インストーラーを再実行します。
シールド CSU を新しいバージョンに更新する
シールド CSU を新しいバージョンに更新するには、シールド CSU インストーラー ファイルの新しいバージョンを取得し、最初にシールド CSU をインストールするために使用したのと同じコマンド ライン引数を実行します。
期限切れのSSL証明書の更新
シールされたCSUの期限切れまたは期限切れの証明書を更新する場合は、シールされたCSUを完全に再インストールする必要はありません。 代わりに、新しいSSL証明書を作成し、次のコマンドを実行します。
CommerceStoreScaleUnitSetup.exe updateCertificates --SslCertFullPath "store:///My/LocalMachine?FindByThumbprint=YourNewSslCertificateThumbprint" --AsyncClientCertFullPath "store:///My/LocalMachine?FindByThumbprint=YourNewAsyncClientAadAppCertThumbprint" --RetailServerCertFullPath "store:///My/LocalMachine?FindByThumbprint=YourNewRsAadAppCertThumbprint"