カスタマイズ ファイルを使用することで、チームの開発ボックスを簡単に作成できるようになります。 開発ボックスのカスタマイズでは、イメージ定義と呼ばれるファイルを作成することで、共有チームのカスタマイズを作成できます。 その後、このイメージ定義から再利用可能なイメージを作成してカスタマイズを最適化し、開発ボックスの作成時に時間を節約できます。
イメージは、新しいイメージ定義が検出されるか、既存のイメージ定義が更新されるたびに、イメージ定義を含むカタログに対して既定で自動的にビルドされます。 自動ビルドは古い構成を防ぎ、開発ボックスの信頼性を向上するのに役立ちますが、実行時に開発ボックス メーターを通じてコストが発生します。 イメージのビルド プロセス中に、カスタマイズ ファイルを実行してイメージを生成するための開発ボックスが作成されます。イメージのビルドに必要なコンピューティング リソースと時間に基づいてコストが発生します。 カタログの作成時またはカタログ設定を使用して、自動イメージ ビルドを無効にすることができます。
この記事では、開発チームのデベロッパー センター イメージングを構成する方法について説明します。
[前提条件]
この記事の手順を完了するには、次のものが必要です。
- 開発ボックスの作成に使用するチーム カスタマイズ ファイル。 カスタマイズ ファイルがない場合は、「 チームのカスタマイズを構成する」を参照してください。
カスタマイズを構成するために必要なアクセス許可
開発ボックスにカスタマイズを作成して適用するために必要なアクションを実行するには、次のアクセス許可が必要です:
| アクション | アクセス許可/ロール |
|---|---|
| デベロッパー センターでプロジェクト レベルのカタログを有効にする。 | サブスクリプションに対する書き込みアクセス権限を持つプラットフォーム エンジニア。 |
| プロジェクトのカタログ同期設定を有効にする。 | サブスクリプションに対する書き込みアクセス権限を持つプラットフォーム エンジニア。 |
| プロジェクトにカタログをアタッチする。 | プロジェクトに対するプロジェクト管理者または共同作成者のアクセス許可。 |
| タスクをカタログに追加する。 | カタログをホストするリポジトリに追加するアクセス許可。 |
開発ボックス プールを管理するには、次のアクセス許可が必要です。
| アクション | 権限 |
|---|---|
| 開発ボックス プールを作成、削除、または更新する。 | - Azure サブスクリプションまたは特定のリソース グループに対する所有者または共同作成者アクセス許可。
- プロジェクトの DevCenter プロジェクト管理者アクセス許可。 |
プロジェクト レベルのカタログを有効にする
カタログをプロジェクトにアタッチするには、プロジェクト レベルのカタログを有効にする必要があります。 詳細については、「 Microsoft Dev Box でのカタログの追加と管理」を参照してください。
プロジェクトのカタログ同期設定を構成する
Azure portal にサインインします。
検索ボックスに「 プロジェクト」と入力します。 結果一覧から、[プロジェクト] を選択します。
カタログ同期設定を構成する Dev Box プロジェクトを開きます。
[カタログ] を選択します。
同期設定を選択します。
[同期設定] ウィンドウで [イメージ定義] を選択し、[保存] を選択します。
定義ファイルを含むカタログをアタッチする
イメージ定義としてカスタマイズ ファイルを使用する前に、定義ファイルを含むカタログをプロジェクトにアタッチします。 カタログは GitHub または Azure Repos から取得できます。 詳細については、「 GitHub または Azure Repos からのカタログの追加と構成」を参照してください。
注
イメージ定義は、プロジェクト レベルでのみサポートされます。 イメージ定義を含むカタログは、デベロッパー センターではなくプロジェクトにアタッチする必要があります。
[イメージ定義] ペインには、プロジェクトがアクセスできるイメージ定義が一覧表示されます。
再利用可能なイメージをビルドする
イメージ定義から再利用可能なイメージを構築して、パフォーマンスを最適化し、信頼性を高めることができます。 ビルドされたイメージは、プールから作成されたすべての開発ボックスに適用されます。 DevCenter サービスは、バックグラウンドで開発ボックスを作成し、イメージ定義からカスタマイズを適用し、結果のイメージをマネージド リソース グループ内の Azure コンピューティング ギャラリーにエクスポートします。
イメージをビルドするには、自動または手動の 2 つの方法があります。 既定では、新しいイメージ定義が検出されるか、既存のイメージ定義が更新されるたびに、イメージが自動的に作成されます。 この機能は、古い構成を防ぎ、開発ボックスの信頼性を向上するのに役立ちます。 イメージをビルドするタイミングを制御するには、自動イメージ ビルドを無効にし、ビルドを手動でトリガーします。
注
イメージ ビルドでは、カスタマイズが適用される際に、実行時に開発ボックスのメーターを通じてコストが発生します。
自動イメージ ビルドと手動イメージ ビルドを構成する方法については、以下のタブを選択してください。
既存のカタログの自動イメージ ビルドを構成する
Azure portal にサインインします。
検索ボックスに「 プロジェクト」と入力します。 結果一覧から、[プロジェクト] を選択します。
構成するカタログを含むプロジェクトを開きます。
左側のメニューで、[カタログ] を選択 します。
カタログの一覧から、イメージ定義を含むカタログを選択します。
カタログの詳細ページで、[イメージの 自動ビルド ] チェックボックスを使用して、自動イメージ ビルドの使用を有効または無効にします。
デベロッパー センター イメージングが提供する信頼性とパフォーマンスの向上を活用するために、自動ビルドを有効にすることをお勧めします。[保存] を選択して変更を保存します。 自動ビルド機能により、カスタマイズが再利用可能なイメージにフラット化され、開発ボックスの作成のパフォーマンスと信頼性が大幅に向上します。
自動イメージ ビルドが無効になっている場合は、イメージ定義から再利用可能なイメージを作成または更新するときに、イメージ ビルドを手動でトリガーする必要があります。
イメージのビルド プロセス中に、Dev Box は、スナップショットを格納する一時ストレージ アカウントをサブスクリプションに作成します。 このストレージ アカウントは匿名 BLOB アクセスを許可せず、ストレージ BLOB リーダー アクセスを持つ ID によってのみアクセスできます。 Dev Box サービスがスナップショットをエクスポートできるようにするには、ストレージ アカウントにパブリック ネットワークからアクセスできる必要があります。 パブリック ネットワーク アクセスを持つストレージ アカウントの作成をブロックする Azure ポリシーがある場合は、DevCenter プロジェクトが存在するサブスクリプションの例外を作成します。
Important
イメージ定義からイメージをビルドすると、すべてのカスタマイズを適用してイメージを生成する開発ボックスが作成されます。 既定では、イメージ定義レベルでカスタム ネットワークが構成されていない場合、開発ボックスは Microsoft が管理する仮想ネットワークに接続されます。 イメージの生成が正常に行われるように、オンプレミスまたはプライベート リソースへのアクセスが必要なタスクの場合は、イメージ定義で ネットワーク構成 プロパティを使用します。
イメージ定義を使用するように開発ボックス プールを構成する
開発チームがカスタマイズを使用できるようにするには、イメージ定義を使用するように開発ボックス プールを構成します。 プロジェクトのカタログにリンクされているリポジトリにカスタマイズ ファイル (imagedefinition.yaml) を格納します。 プールのイメージ定義を指定すると、カスタマイズが新しい開発ボックスに適用されます。
開発ボックス プールを作成する
開Microsoft Dev Boxでは、発ボックス プールとは、一緒に管理する開発ボックスのコレクションです。 ユーザーが開発ボックスを作成するには、最低でも一つの開発ボックスプールが必要です。
次の手順では、プロジェクトで開発ボックス プールを作成する方法を示します。
利用可能なデベロッパー センターとプロジェクトがない場合は、「 クイック スタート: Microsoft Dev Box を構成 して作成する」の手順に従います。
Azure portal にサインインします。
検索ボックスに「 プロジェクト」と入力します。 結果一覧から、[プロジェクト] を選択します。
開発ボックス プールを作成するプロジェクトを開きます。
開発用ボックスプールを選択し、「作成」を選択します。
[ 開発ボックス プールの作成 ] ウィンドウの [ 基本 ] タブで、次の値を入力します。
Setting 価値 名前 プールの名前を入力します。 プール名は、開発者が開発ボックスを作成する際に選択できるように表示されます。 名前は、プロジェクト内で一意にする必要があります。 定義 イメージ定義を選択します。 計算する このプール内の開発ボックスの仮想マシン サイズを選択します。 ストレージ このプール内の開発ボックスのストレージ サイズを選択します。 休止状態 休止状態がサポートされているかどうかを示します。 リージョン ネットワーク接続 1.[Microsoft ホステッド ネットワークにデプロイする] を選びます。
2. 開発ボックスに使うデプロイ リージョンを選びます。 最適なユーザー エクスペリエンスを実現するために、想定する開発ボックス ユーザーに近いリージョンを選びます。ライセンス このプール内の開発ボックスに適用する Azure ハイブリッド特典ライセンスが組織にあることを確認するには、このチェック ボックスをオンにします。 を選択してを作成します。
開発ボックスの休止状態のサポート
Dev Box では、次の両方の条件が満たされた場合に休止状態がサポートされます。
- イメージ定義で定義されているソース イメージは、休止状態をサポートします。
- 開発ボックス プールのコンピューティング リソースは休止状態をサポートします。
イメージまたはプールのいずれかが休止状態をサポートしていない場合、そのプール内の開発ボックスではこの機能を使用できません。 休止状態がサポートされていない場合は、イメージ定義で指定された基本イメージが休止状態のサポートを使用して作成されていること、およびプールがそのイメージ定義を使用していることを確認します。
休止状態に対する Dev Box のサポートの詳細については、「 Microsoft Dev Box で休止状態を構成する」を参照してください。
開発者ポータルを使用して開発ボックスを作成する
カスタマイズが正しく適用されていることを確認するには、Microsoft Dev Box 開発者ポータルで開発ボックスを作成します。 「クイック スタート: Microsoft Dev Box 開発者ポータルを使用して開発ボックスを作成して接続する」の手順に従い、新しく作成した開発ボックスに接続し、カスタマイズが期待どおりに動作することを確認します。
イメージ定義を調整し、新しい開発ボックスを作成して変更をテストできます。 カスタマイズが正しい場合は、イメージ定義から再利用可能なイメージをビルドできます。