Dev Box チーム カスタマイズ用のイメージングを構成する
カスタマイズ ファイルを使用することで、チームの開発ボックスを簡単に作成できるようになります。 開発ボックスのカスタマイズでは、イメージ定義と呼ばれるファイルを作成することで、共有チームのカスタマイズを作成できます。 このイメージ定義から再利用可能なイメージを作成することで、カスタマイズが最適化され、開発ボックス作成時の時間を節約できます。 この記事では、イメージ定義を使用するようにプールを構成し、開発チームのために再利用可能なイメージをビルドする方法について説明します。
Microsoft Dev Box チーム カスタマイズのイメージングを構成するには、プロジェクト レベルのカタログを有効にし、プロジェクトのカタログ同期設定を構成します。 次に、定義ファイルを含むカタログをプロジェクトにアタッチし、イメージ定義を使用するように開発ボックス プールを構成し、カスタマイズが新しい開発ボックスに適用されることを確認します。 カスタマイズが正しく適用されると、再利用可能なイメージのビルドを選択できます。これにより、新しい開発ボックスを迅速に作成できます。
重要
Dev Box のチーム カスタマイズ機能は現在プレビュー段階です。 プレビュー状態の詳細については、「Microsoft Azure プレビューの追加の使用条件」を参照してください。 このドキュメントでは、ベータ版、プレビュー版、またはその他のまだ一般提供されていない Azure 機能に適用される法律条項を規定しています。
前提条件
この記事の手順を完了するには、次のものが必要です。
- 既存の開発ボックス定義とネットワーク接続を使用したデベロッパー センター。 デベロッパー センターがない場合は、「クイック スタート: Microsoft Dev Box を構成する」の手順に従って作成します。
- 開発ボックスの作成に使用するチーム カスタマイズ ファイル。 カスタマイズ ファイルがない場合は、「開発ボックス用のカスタマイズ ファイルを記述する」を参照してください。
カスタマイズを構成するために必要なアクセス許可
開発ボックスにカスタマイズを作成して適用するために必要なアクションを実行するには、次のアクセス許可が必要です:
アクション | アクセス許可/ロール |
---|---|
デベロッパー センターでプロジェクト レベルのカタログを有効にする。 | サブスクリプションに対する書き込みアクセス権限を持つプラットフォーム エンジニア。 |
プロジェクトのカタログ同期設定を有効にする。 | サブスクリプションに対する書き込みアクセス権限を持つプラットフォーム エンジニア。 |
プロジェクトにカタログをアタッチする。 | プロジェクトに対するプロジェクト管理者または共同作成者のアクセス許可。 |
カスタマイズ ファイルを作成する。 | 指定なし。 カスタマイズ ファイルは誰でも作成できます。 |
開発ボックスの作成時に、開発者ポータルを使って、YAML ファイルのアップロードと適用を行う。 | Dev Box ユーザー。 |
タスクをカタログに追加する。 | カタログをホストするリポジトリに追加するアクセス許可。 |
開発ボックス プールを管理するには、次のアクセス許可が必要です。
アクション | 権限 |
---|---|
開発ボックス プールを作成、削除、または更新する。 | - Azure サブスクリプションまたは特定のリソース グループに対する所有者または共同作成者アクセス許可。 - プロジェクトの DevCenter プロジェクト管理者アクセス許可。 |
プロジェクト レベルのカタログを有効にする
カタログをプロジェクトにアタッチするには、プロジェクト レベルのカタログを有効にする必要があります。 詳細については、「プロジェクト レベルのカタログを構成する」を参照してください。
プロジェクトのカタログ同期設定を構成する
カタログからイメージ定義を同期するためのプロジェクトを構成します。 この設定により、カタログのイメージ定義を使用して開発ボックス プールを作成できます。
Azure portal にサインインします。
検索ボックスに「プロジェクト」と入力します。 結果一覧から、[プロジェクト] を選択します。
カタログ同期設定を構成する Dev Box プロジェクトを開きます。
[カタログ] を選択します。
同期設定を選択します。
[同期設定] ペインで[イメージ定義] を選択し、[保存] を選択します。
定義ファイルを含むカタログをアタッチする
カスタマイズ ファイルをイメージ定義として使用する前に、定義ファイルを含むカタログをデベロッパー センターまたはプロジェクトにアタッチする必要があります。 カタログは GitHub または Azure Repos から取得できます。
[イメージ定義] ペインには、プロジェクトがアクセスできるイメージ定義が一覧表示されます。
カタログへのアタッチの詳細については、「GitHub または Azure Repos からカタログを追加して構成する」を参照してください。
イメージ定義を使用するように開発ボックス プールを構成する
カスタマイズ ファイル (imagedefinition.yaml) を使用するために開発ボックス プールを構成することで、開発チームはカスタマイズを利用できるようになります。 デベロッパー センターまたはプロジェクトのカタログにリンクされたリポジトリにカスタマイズ ファイルを格納します。 このファイルをプールのイメージ定義として指定すると、カスタマイズが新しい開発ボックスに適用されます。
以下の手順で、開発ボックス プールを作成し、イメージ定義を指定する方法を示します。
Azure portal にサインインします。
検索ボックスに「プロジェクト」と入力します。 結果一覧から、[プロジェクト] を選択します。
新しい開発ボックス プールを関連付ける Dev Box プロジェクトを開きます。
[開発ボックス プール] を選択してから、[作成] を選択します。
[開発ボックス プールの作成] ペインで、次の値を入力します。
設定 値 名前 プールの名前を入力します。 プール名は、開発者が開発ボックスを作成する際に選択できるように表示されます。 これは、プロジェクト内で一意にする必要があります。 定義 このボックスに、アクセス可能なカタログと開発ボックスの定義からのイメージ定義が一覧表示されます。 イメージ定義ファイルを選択します。 ネットワーク接続 [Microsoft ホステッド ネットワークにデプロイする] を選択するか、既存のネットワーク接続を使用します。 シングル サインオンの有効化 [はい] を選択して、このプール内の開発ボックスのシングル サインオンを有効にします。 組織に対してシングル サインオンを構成する必要があります。 詳細については、「開発ボックスのシングル サインオンを有効にする」を参照してください。 Dev box Creator Privileges (開発ボックス作成者の特権) [ローカル管理者] または [標準ユーザー] を選択します。 自動停止を有効にする [はい] が既定値です。 自動停止スケジュールを無効にするには、[いいえ] を選びます。 自動停止スケジュールは、プールの作成後に構成できます。 停止時刻 プール内のすべての開発ボックスをシャットダウンする時刻を選びます。 タイム ゾーン 停止時刻が含まれるタイム ゾーンを選びます。 ライセンス このプール内の開発ボックスに適用する Azure ハイブリッド特典ライセンスが組織にあることを確認するには、このチェック ボックスをオンにします。 [作成] を選択します
新しい開発ボックス プールがリストに表示されることを確認します。 場合によっては、画面を最新の情報に更新する必要があります。
開発者ポータルを使用して開発ボックスを作成する
イメージ定義ファイルのカスタマイズが適用されていることを確認するには、Microsoft Dev Box 開発者ポータルで開発ボックスを作成します。 「クイック スタート: Microsoft Dev Box 開発者ポータルを使用して開発者ボックスを作成して接続する」の手順に従ってください。 次に、新しく作成した開発ボックスに接続し、カスタマイズが期待どおりに動作することを確認します。
変更をテストするために、カスタマイズ ファイルを調整して新しい開発ボックスを作成できます。 適切にカスタマイズされている場合は、再利用可能なイメージをビルドできます。
再利用可能なイメージをビルドする
カスタマイズを最適化し、チームで再利用可能なイメージを作成するには、次の手順に沿って、カスタマイズ ファイルからイメージをビルドします。 このイメージは、プールから作成されたすべての開発ボックスに適用されます。
重要
イメージ定義をイメージに最適化する場合、カスタマイズ ファイルを実行してイメージを生成するための開発ボックスが作成されます。 このプロセス中、この開発ボックスは Microsoft が管理する仮想ネットワークに接続されます。 オンプレミスのリソースへのアクセスを必要とするタスクは失敗する可能性があります。
ビルドが正常に完了すると、開発ボックス プールで自動的にイメージが新しい開発ボックスに使用されます。 イメージをプールに割り当てるために特別な構成を行う必要はありません。 これで、プールから開発ボックスを作成できるようになり、カスタマイズは各開発ボックスに適用されます。