開発環境の配置とアクセス

この記事では、開発インスタンスへのアクセス、ローカル開発仮想マシン (VM) の構成、および開発者と管理者にとって重要な構成設定を見つける方法について説明します。

メモ

  • Microsoft サポートでは、レベル 1 の開発環境でのトラブルシューティングが制限される場合があります。
  • 特定の状況では、問題を解決するために、Microsoft サポートからレベル 1 環境の新規展開が要求される場合があります。
  • 開発環境にはビジネス クリティカルなデータを含めるべきではなく、破棄可能と見なされます。
  • 120 の環境だけがテナントごとのサポートです。 特定のテナント下のクラウド ホスト環境数を制限して、サンドボックスおよび運用環境を配置できる十分なキャパシティを許可することをお勧めします。
  • 6 ヶ月以上前のクラウド ホスティング環境については、Microsoft Dynamics 365 Finance + Operationsのサポート対象ソフトウェア ページでサポート対象ソフトウェアのリストを確認することをお勧めします。

定義

期間 定義
エンド ユーザー Web クライアントを使用してインスタンスにアクセスするユーザー。 エンド ユーザーは、インスタンスにアクセスするには Microsoft Entra の資格情報が必要で、そのインスタンスのユーザーとしてプロビジョニングまたは追加する必要があります。
開発者 Microsoft Visual Studio 環境でコードを開発するユーザー。 開発者は、開発環境 (VM) へのリモート デスクトップ アクセスが必要です。 開発者アカウントは、VM の管理者である必要があります。

クラウド開発環境の配置

Lifecycle Services プロジェクトのクラウド開発環境をデプロイする方法:

  1. Lifecycle Services プロジェクトと Azure サブスクリプションの間に接続を作成します。 これには、Azure サブスクリプション ID が必要であり、サブスクリプションの使用を承認します。

  2. 配置する 環境 の下で + を選択します。

    Lifecycle Services オンボードの方法。

  3. アプリケーションとプラットフォーム バージョンを選択します。

  4. 環境のトポロジを選択します。 詳細については、プレビュー サブスクリプションのサインアップ を参照してください。

  5. クラウドでホストされている環境を選択した場合は、使用する Azure コネクタを選択します。 配置 を選択します。

    環境を配置します。

クラウド ホスト インスタンス。

Lifecycle Services を通じて提供されるクラウド環境

Lifecycle Services を通じてクラウド環境がプロビジョニングされる場合:

  • クラウド環境を要求するユーザーは、その環境内の管理者としてプロビジョニングされます。
  • ユーザー アカウントは開発用 VM にプロビジョニングされ、リモート デスクトップを使用して環境へのアクセスを許可します。これらの資格情報は Lifecycle Services の環境ページからアクセスできます。

URL を使用したインスタンスへのアクセス

エンド ユーザーはシステムにアクセスできます。 管理者は、インスタンスの ユーザー ページを使用して、このシステムにユーザーを追加することができます。 これらの追加のユーザーは Lifecycle Services 内のユーザーである必要はありません。 Lifecycle Services プロジェクト サイトからは、クラウド環境のベース URL を取得します。

  1. Lifecycle Services プロジェクトのナビゲーション メニューに移動し、クラウドホスト環境を選択します。
  2. 環境リスト、配置された環境を選択します。
  3. 環境ページが開くと、右上隅で、ログイン>財務と運用にログオンをクリックして、アプリケーションにアクセスできます。
  4. 有効なエンド ユーザー資格情報を使用して、アプリケーションにサインインします。 現在の Lifecycle Services ユーザーが最初に環境を展開したユーザーである場合は、そのユーザーは有効な終了ユーザーおよびアプリケーションの管理者である可能性があります。
  5. ブラウザーで、サインインした後にベース URL を記録します。 たとえば、ベース URL は、https://dynamicsAx7aosContoso.cloud.dynamics.com である可能性があります。

リモート デスクトップを使用したクラウド インスタンスへのアクセス

クラウド環境は、エンド ユーザーおよび開発者の両方としてアクセスできます。 開発者は、リモート デスクトップの資格情報を使用してシステムにアクセスできます。 リモート デスクトップの資格情報は、Lifecycle Services プロジェクト サイトの環境ページから取得されます (この記事の前の図を参照してください)。

制限された管理者アクセス。

配置されたプラットフォーム更新プログラム 12 以前の環境の対象:

  1. VM 名をクリックします。
  2. 表示されているローカル管理者のユーザー名とパスワードを使用して、リモート デスクトップ経由でクラウド VM に接続します。 パスワードの表示アイコンを選択してパスワードを表示することができます。

配置されたプラットフォーム更新プログラム 12 以降の任意の環境については、特徴的アカウント、開発者アカウントおよび管理者アカウントがあります。

リモート デスクトップを通じて環境にサインインした後、ブラウザーからローカル アプリケーションにアクセスできるようにする場合、リモート コンピューターからアプリケーションにアクセスするために使用するのと同じベース URL を使用します。 上記のセクションは、このベース URL を Lifecycle Services から取得する方法について説明します。

クラウド ホスト開発環境の削除

開発者環境の利用が終わった場合、またはインフラストラクチャ問題のトラブルシューティングに時間がかかる場合は、いつでも Lifecycle Services から環境を削除し、後から新しい環境を作成できます。 クラウド ホスト環境を Lifecycle Services から削除するには、次の手順に従います:

  1. Lifecycle Services プロジェクトのナビゲーション メニューに移動し、クラウドホスト環境を選択します。
  2. 削除する環境を強調表示し、Deallocate を選択します。この環境では、Azure サブスクリプションのコンピュータの電源がダウンします。
  3. 割り当て解除が正常に行われた後、環境は割り当て解除済の状態になります。 削除ボタンを使用して削除プロセスを開始できるようになります。

クラウド ホスト環境で作成された仮想ネットワーク (VNET) が他のクラウド ホスト環境でも使用されている場合は、クラウド ホスト環境を削除できません。 このシナリオは一般的ではありませんが、顧客の中には、開発環境間でより簡単にファイルを共有するため、すべての彼らの開発環境はすべて既存の VNET を再利用してほしいというケースもあります。 このシナリオが実装されている場合、元の VNET を作成した基本環境を削除する前に、その他の環境も削除する必要があります。

削除操作が失敗した場合、次の問題いずれかが発生した可能性を確認します。

  • Azure コネクタの管理証明書が期限切れです。
  • Azure サブスクリプションが、元のテナントから別のテナントに移動されました。
  • Azure サブスクリプションが無効になっています。
  • サブスクリプションには Azure ポリシーがあり、環境のリソース グループ内の 1 つ以上のリソースを削除できないようになっています。

Lifecycle Services で削除操作を正常に完了できなかった場合、その操作は 未完了 とマークされます。 Lifecycle Services メタデータの削除ボタンを使用して、Lifecycle Services バックエンド システムからこの環境のメタデータをクリーンアップします。

注記

この操作では、Azure サブスクリプション内のリソースの削除を試みません。 環境のリソース グループがまだ存在する場合は、お客様の責任で手動で削除してください。

環境のリソース グループは、Lifecycle Services の環境と同じ名前で、Azure サブスクリプションで容易に識別できます。

ローカルで実行されている VM

仮想ハード ディスク (VHD) は Lifecycle Services からダウンロードができるようになり、ローカル コンピューター上に設定可能です。 このシステムは、開発者によるアクセスを目的としており、財務と運用アプリの事前構成済みワンボックス開発環境です。 VHD は、資産タイプのダウンロード可能な VHD の下で、Lifecycle Services の共有アセットライブラリで使用可能です。

  1. Lifecycle Services のメイン ページに移動して共有アセット ライブラリを選択するか、または 共有アセット ライブラリ に移動します。
  2. 資産タイプのダウンロード可能な VHD を選択します。
  3. 目的の財務と運用バージョンに基づいて、探している VHD を検索します。 VHD は、ダウンロードする必要がある複数のファイル パーツに分割されています。 たとえば、 "VHD - 10.0.5" で始まる資産ファイルは、バージョン 10.0.5 をインストールするために必要な別のファイルです。
  4. 目的の VHD に関連付けられているすべてのファイル (パーツ) をローカル フォルダーにダウンロードします。
  5. ダウンロードが完了したら、ダウンロードした実行可能ファイルを実行して、ソフトウェア使用許諾契約に同意し、VHD を抽出するファイル パスを選択します。 このステップにより、ローカルの仮想マシンを実行するのに使用できるローカル VHD ファイルが作成されます。

Commerce 用 VHD の構成

コマースも構成している場合は、このセクションの手順に従います。

ダウンロード可能な VHD を POS のカスタマイズに使用するには、次の手順も実行する必要があります。

仮想マシンをローカルで実行

Hyper-V マネージャーから VM を実行するには、これらの手順に従います。

  1. VM を起動するには、開始を選択します。

  2. ウィンドウで VM を開くには、接続を選択します。

  3. ツール バーで Ctrl + Alt + Delete ボタンを選択してください。 VM は、ほとんどのキーボード コマンドを受け取りますが、その中に Ctrl + Alt + Del は含まれていません。 したがって、ボタンまたはメニュー コマンドを使用する必要があります。

  4. 次の資格情報を使用して VM にログインします。

    • ユーザー名: localadmin
    • パスワード: pass@word1

    ヒント

    画面解像度を変更することにより、VM ウィンドウのサイズを変更することができます。 VM でデスクトップを右クリックし、画面の解像度 をクリックします。 ディスプレイに適した解像度を選択します。

  5. 管理者ユーザーを準備します。 詳細については、次のセクションを参照してください。

  6. バッチ マネージャー サービスを起動します。 このステップは、バッチ ジョブまたはワークフローを実行している場合に必要です。

    1. 管理者としてコマンド プロンプト ウィンドウを開きます。
    2. net start DynamicsAxBatch と入力し、Enter キーを押します。

    また、サービスを サービス ウィンドウから開始することができます。

  7. 必要に応じて更新プログラムを適用します。

コマースのコンフィギュレーション

POS カスタマイズで、ゲスト VM でもこれらの手順に従う必要があります。

  1. Microsoft Emulator for Windows 10 Mobile Anniversary Update をダウンロードしてインストールします。
  2. Hyper-V ホスト サービスを起動します。 詳細については、Hyper-V: Hyper-V 仮想マシン管理サービスを実行している必要があります を参照してください。 起動中にエラーが発生した場合は、ゲスト VM で Hyper-V ロールをアンインストールし、再インストールすることもできます。

管理者ユーザーのプロビジョニング

開発者がアクセスするには、インスタンスで管理者である必要があります。 Lifecycle Services を介して提供される環境については、適切なユーザーを配置してください。 詳細については、よく寄せられる質問 を参照してください。 ローカル LCS で管理者として資格情報をプロビジョニングするには、管理者ユーザー プロビジョニング ツールを実行します。 ローカル VM では、デスクトップに提供されているリンクがあります。

  1. 管理者として管理者ユーザーのプロビジョニング ツールを実行します (アイコンを右クリックし、管理者として実行をクリックします)。
  2. 電子メール アドレスを入力し、送信を選択します。

メモ

管理者ユーザー プロビジョニング ツールは、Lifecycle Services を通じて提供される環境ではサポートされていません。 ローカル VM でのみ使用する必要があります。

注記

バージョン 10.0.24 以降ににリリースされた仮想ハード ドライブ (VHD) を使用するローカル VM については、代わりに最初に使用する際にダウンロードできる VHD を設定するの手順を使用する必要があります。

コマースのコンフィギュレーション

コマースも構成している場合は、このセクションの手順に従います。

ローカル アプリケーションの基本 URL

ユーザーが管理者としてプロビジョニングされた後、ユーザーは次のベース URL に移動してコンピュータ上のインスタンスにアクセスできます: https://usnconeboxax1aos.cloud.onebox.dynamics.com。 バージョン管理を使用しており、複数の開発 VMs を同じ Azure DevOps プロジェクトに接続する予定がある場合は、ローカル VM 名を変更してください。 手順については、ローカル開発 (VHD) 環境の名前変更 を参照してください。

コマースのコンフィギュレーション

POS アプリケーションの URL は https://usnconeboxax1pos.cloud.onebox.dynamics.com/です。 

クラウド POS アプリケーションの URL は https://usnconeboxax1pos.cloud.onebox.dynamics.com です。  構成手順を完了すると、この VM には Microsoft Entra テナントがプロビジョニングされます。 Microsoft Entra 管理者アカウントは、デモ データ内のレジ担当者アカウントにマップされます。 この環境の POS デバイスを簡単にアクティブにするには、このレジ担当者アカウントを使用できます。

  • 出納係ユーザー ID: 000160
  • 出納係パスワード: 123
  • 出納係 LE: USRT
  • 出納係ストア: ヒューストン

パッケージ、ソース コード、およびその他の AOS コンフィギュレーションの場所

VM で、AOSWebApplication の web.config file を開くことによって、ほとんどのアプリケーション コンフィギュレーションが表示されます。

  1. IIS を起動します。

  2. サイト>AOSWebApplication に移動します。

  3. 右クリックしてから、エクスプローラー をクリックしてエクスプローラーを開きます。

  4. メモ帳や他のテキスト エディターで web.config ファイルを開きます。 多くの開発者や管理者にとって、次のキーが重要です。

    • Aos.MetadataDirectory - このキーは、プラットフォームとアプリケーションのバイナリを含むパッケージ フォルダの場所、およびソースコードをポイントします。 (ソース コードは、開発環境でのみ使用できます。) 一般的な値は、c:\packages、c:\AosServicePackagesLocalDirectory、および J:AosServicePackagesLocalDirectory です。
    • DataAccess.Database - このキーは、データベースの名前を保持します。
    • Aos.AppRoot - このキーは、Application Object Server (AOS) Web アプリケーションのルート フォルダーをポイントします。

コマースのコンフィギュレーション

ソフトウェア開発キット (SDK) は、C:\RetailSDK にあります。 アプリケーションの使用およびカスタマイズ方法の詳細については、次のトピックを参照してください。

本社からの既存の暗号化されたデータの削除

複数のハードウェアを複数のモデルに接続する場合、イベント ビューアで次の "NoCertificateFoundException" というエラーが表示される場合、そのロールに対応する EC 環境の Commerce 構成では、配置された環境から販売プロパティを手動で削除する必要があります。

No certificate found for id <id value presented>...

自分の VHD 環境の AOS で、SECUREMERCHANTPROPERTIES 属性または CONNECTIONMERCHANTPROPERTIES 属性でプリロードされた値が設定されている場合、これらの値は次のテーブルからクリアされる必要があります。

SELECT SECUREMERCHANTPROPERTIES FROM dbo.RETAILHARDWAREPROFILE -- hardware profile form
SELECT SECUREMERCHANTPROPERTIES FROM dbo.RETAILCHANNELPAYMENTCONNECTORLINE -- online stores form
SELECT SECUREMERCHANTPROPERTIES FROM dbo.CREDITCARDACCOUNTSETUP -- payment service form 
SELECT CONNECTIONSTRING FROM dbo.RETAILCONNDATABASEPROFILE -- payment service connection string for CDX

プリロードされた値が見つかった場合は、次の例のようなスクリプトで属性値を空に設定します。

警告

以下に示す UPDATE スクリプトの例は、前述の証明書の問題を経験する新たに準備された環境の例です。 破壊的なデータの更新や破壊的なデータの更新を回避するために、目的のテーブルまたは行の値のみを更新する必要があります。 更新するテーブルの特定の行を更新する場合は、追加のセレクタが必要な場合があります。

UPDATE dbo.RETAILHARDWAREPROFILE SET SECUREMERCHANTPROPERTIES=";)
UPDATE dbo.RETAILCHANNELPAYMENTCONNECTORLINE SET SECUREMERCHANTPROPERTIES=";)
UPDATE dbo.CREDITCARDACCOUNTSETUP SET SECUREMERCHANTPROPERTIES=";)
UPDATE dbo.RETAILCONNDATABASEPROFILE SET CONNECTIONSTRING=";

クリアした後、本社のフォームを使用して、環境に適したハードウェア プロファイル、オンライン店舗チャンネル、または支払サービス フォームで支払ゲートウェイの販売者の詳細を設定します。 支払オプションに必要な設定手順については、次の該当する記事を参照してください。

VM でのランタイムの再配置または再起動

ローカルのランタイムを再起動して、すべてのパッケージを再配置するには、次の手順を実行します。

  1. ファイル エクスプローラーを開き、C:\CustomerServiceUnit に移動します。
  2. AOSDeploy.cmd を右クリックして管理者として実行 をクリックします。

このプロセス時間がかかる場合があります。 cmd.exe ウィンドウが終了すると、プロセスが完了します。 ランタイムを再配置せずに AOS を再起動するのみの場合は、管理者の Command Prompt ウィンドウから iisreset を実行するか、IIS から AOSWebApplication を再起動します。

よく寄せられる質問

現在、ワークグループで展開している Microsoft Entra ドメインに、クラウドホスト環境を参加させることは可能ですか?

これらの環境は自己完結型でテストは行われていません。Azure を介して展開すると Microsoft Entra ドメインに参加した場合にもサポートされていません。

Lifecycle Services でローカルアカウントのパスワードを非表示にする方法はありますか?

これは、プロジェクトにおけるユーザーのセキュリティ ロールを プロジェクト チーム メンバー ロールに下げた場合のみ可能であり、環境マネージャー、または プロジェクト所有者 ロールのローカル アカウント パスワードを非表示にすることはできません。

クラウド ホスト環境は Azure Bastion でサポートされていますか?

これらの環境はテストされておらず、Azure Bastion でサポートされてもいません。

環境に、「更新された Microsoft Entra ID テナントに、返信 URL コンフィギュレーションがありません」というエラー メッセージが表示され、失敗の状態です。 この問題をどのように解決しますか?

このメッセージは、レベル 1/顧客管理環境が、配置時に使用するテナントとは異なる Azure AD テナントを使用して構成されていることを示します。 この問題の解決に役立つさまざまなオプションがあります:

  1. (推奨) 環境を削除し、環境が使用されるテナントで再配置します。
  2. 設定を配置時に使用したテナント のコンフィギュレーションに戻します。
  3. 環境の状態が失敗した場合、またはサイン イン エラーが発生している場合に、既存の環境を修正する方法 の手順に従い、ターゲット テナントの返信 URL を更新します。

パートナーまたは ISV として、作業する顧客向けクラウド ホスト型の配置を円滑化するにはどのようにしますか?

特定の環境に対して、すべてのコンフィギュレーションおよび統合が正しく準備されるように、レベル 1 または顧客管理環境を顧客の Microsoft Entra テナントの下に配置する必要があります。 テナントと環境の関連付けは、環境を配置したユーザーに基づいて決定されます。

クラウド ホスト型の配置を円滑にするために、パートナー企業は、この手順に従って顧客固有のクラウド ホスト環境を作成することをお勧めします。 これにより、配置が正しいテナント下で確実に登録されます。

  • 環境が使用されるテナントからユーザーを通じて環境を配置します。 レベル 1 または顧客管理またはクラウド ホスト環境のテナントを変更するには、管理者ユーザーのプロビジョニング ツールを使用すべきではありません。

メモ

Azure サブスクリプションに関連付けられている Microsoft Entra テナントは、環境コンフィギュレーションでは一切の役割を果たします。 Azure サブスクリプションおよび対応するコネクタ コンフィギュレーションは、Azure リソースの配置にのみ使用されます。

自分の開発環境で管理者ユーザー プロビジョニング ツールを実行したところ、次のサインイン エラーが発生しました: 「エラー: Microsoft EntraSTS50011: リクエストで指定された返信 URL がアプリケーションに対して構成されている返信 URL と一致しません」

上記の説明のように、正しい Microsoft Entra テナント下に財務と運用環境を配置することが非常に重要です。 LCS を使用してレベル 1 または顧客管理環境において、Microsoft Entra テナント設定の変更は配置後にはサポートされません。

環境が失敗した状態の場合、またはサインイン エラーが発生している場合に、既存の環境をどのように修正しますか?

以前に、管理者ユーザーのプロビジョニング ツールを使用してテナントの設定を更新した環境がある場合は、それらの環境を削除した後、正しい Microsoft Entra テナント下に再配置することをお勧めします。

既存の環境を削除して再配置できない場合は、URL を構成済 Microsoft Entra テナントに追加する必要があります。 テナント管理者は、次のコマンドを実行できます。

メモ

URL は手動で追加されるので、環境を削除する場合は URL のクリーンアップも手動で行う必要があります。

  1. まだコンピューターで実行していない場合は、Microsoft.Graph Powershell モジュールをインストールする必要があります。

    Install-Module Microsoft.Graph
    
  2. web.config ファイルから次の値を取得します。

    $Microsoft EntraTenant = <Value of Aad.TenantDomainGUID from web.config>
    $EnvironmentUrl = <Value of Infrastructure.HostUrl from web.config>
    
    # For example, if value is spn:fd663e81-110e-4c18-8995-ddf534bcf5e1 then take only fd663e81-110e-4c18-8995-ddf534bcf5e1
    $Microsoft EntraRealm = <Value of Aad.Realm from web.config without spn: prefix. >
    
  3. web.config ファイル内のテナントの Microsoft Entra テナント管理者アカウントを介して、次のコマンドを実行します。

    # Using tenant admin account under this tenant login via Microsoft Graph PowerShell cmdlet.
    Connect-MgGraph -TenantId $Microsoft EntraTenant -Scopes "Application.ReadWrite.All"
    
    # Get Service Principal details
    $SP = Get-MgServicePrincipal -Filter "AppId eq '$Microsoft EntraRealm'"
    
    # Add Reply URLs
    [System.Collections.ArrayList]$ReplyUrls = $SP.ReplyUrls
    $ReplyUrls.Add("$EnvironmentUrl")
    $ReplyUrls.Add("$EnvironmentUrl/oauth")
    
    #Set/Update Reply URL
    Update-MgServicePrincipal -ServicePrincipalId $SP.Id -ReplyUrls $ReplyUrls
    
    # Log out
    Disconnect-MgGraph
    

環境は修正されましたが、まだエラー状態です。 この問題をどのように解決しますか?

環境に対して最初に停止から開始操作を実行し、Lifecycle Services から環境を再起動します。 環境の構成が正しいと検出された場合、環境 URL は自動的に開始操作の 2 時間以内に再起動します。

ローカル開発環境で管理者ユーザー プロビジョニング ツールを実行中に、「キーのパスワードの値の長さが '128' の上限を超えています」 というエラーが表示されます。

バージョン 10.0.24 以降にリリースされた仮想ハード ドライブ (VHD) を使用している場合は、管理者ユーザー プロビジョニング ツールの前に自己署名証明書生成ツールを実行する必要があります。 詳細情報については、最初に使用する際にダウンロードできる VHD を設定する を参照してください。