PowerShell を使用したブループリント定義のインポートとエクスポート

重要

2026 年 7 月 11 日に、Blueprints (プレビュー) は非推奨になります。 既存のブループリントの定義と割り当てを Template Specsデプロイ スタックに移行します。 ブループリント アーティファクトは、デプロイ スタックの定義に使用される ARM JSON テンプレートまたは Bicep ファイルに変換されます。 アーティファクトを ARM リソースとして作成する方法については、次を参照してください。

Azure Blueprints は、Azure portal で完全に管理できます。 組織では、Azure Blueprints の使用を進める場合、ブループリント定義をマネージド コードとして考える必要があります。 この概念は、多くの場合、Infrastructure as Code (IaC) と呼ばれます。 ブループリント定義をコードとして扱うことは、Azure portal の機能にはない利点があります。 次のような利点があります。

  • ブループリント定義の共有
  • ブループリント定義のバックアップ
  • 異なるテナントまたはサブスクリプションでのブループリント定義の再利用
  • ソース管理へのブループリント定義の配置
    • テスト環境でのブループリント定義の自動テスト
    • 継続的インテグレーションと継続的デプロイ (CI/CD) パイプラインのサポート

理由にかかわらず、ブループリント定義をコードとして管理することには利点があります。 この記事では、Az.Blueprint モジュールで Import-AzBlueprintWithArtifact および Export-AzBlueprintWithArtifact コマンドを使用する方法について説明します。

前提条件

この記事では、Azure Blueprints に関する実用的な知識があることを前提としています。 そうでない場合は、次の記事を参照してください。

まだインストールされていない場合は、「Az.Blueprint モジュールを追加する」の手順に従って、PowerShell ギャラリーから Az.Blueprint モジュールをインストールして検証します。

ブループリント定義のフォルダー構造

ブループリントのエクスポートとインポートについて確認する前に、ブループリント定義を構成するファイルがどのような構造であるかを見てみましょう。 ブループリント定義は、専用のフォルダーに格納するようにします。

重要

Import-AzBlueprintWithArtifact コマンドレットの Name パラメーターに値が渡されない場合は、ブループリント定義が格納されているフォルダーの名前が使用されます。

ブループリント定義 (blueprint.json という名前を付ける必要があります) と共に、ブループリント定義を構成する成果物があります。 各成果物は、必ず artifacts という名前のサブフォルダー内に存在します。 まとめると、ブループリント定義の構造は、フォルダー内の JSON ファイルとして、次のようになります。

.
|
|- MyBlueprint/  _______________ # Root folder name becomes default name of blueprint definition
|  |- blueprint.json  __________ # The blueprint definition. Fixed name.
|
|  |- artifacts/  ______________ # Subfolder for all blueprint artifacts. Fixed name.
|     |- artifact.json  ________ # Blueprint artifact as JSON file. Artifact named from file.
|     |- ...
|     |- more-artifacts.json

ブループリント定義をエクスポートする

ブループリント定義をエクスポートする手順は簡単です。 ブループリント定義をエクスポートすると、共有、バックアップ、またはソース管理への配置に便利な場合があります。

  • Blueprint [必須]
    • ブループリント定義を指定します
    • Get-AzBlueprint を使用して参照オブジェクトを取得します
  • OutputPath [必須]
    • ブループリント定義の JSON ファイルを保存するパスを指定します
    • 出力ファイルは、ブループリント定義の名前を含むサブフォルダー内にあります
  • Version (省略可能)
    • Blueprint 参照オブジェクトに複数のバージョンへの参照が含まれている場合に出力するバージョンを指定します。
  1. {subId} のように表されるサブスクリプションからエクスポートするブループリント定義への参照を取得します。

    # Login first with Connect-AzAccount if not using Cloud Shell
    
    # Get version '1.1' of the blueprint definition in the specified subscription
    $bpDefinition = Get-AzBlueprint -SubscriptionId '{subId}' -Name 'MyBlueprint' -Version '1.1'
    
  2. Export-AzBlueprintWithArtifact コマンドレットを使用して、指定したブループリント定義をエクスポートします。

    Export-AzBlueprintWithArtifact -Blueprint $bpDefinition -OutputPath 'C:\Blueprints'
    

ブループリント定義をインポートする

エクスポートしたブループリント定義があるか、必要なフォルダー構造に手動で作成したブループリント定義がある場合は、そのブループリント定義を別の管理グループまたはサブスクリプションにインポートすることができます。

組み込みのブループリント定義の例については、Azure Blueprints の GitHub リポジトリを参照してください。

  • Name [必須]
    • 新しいブループリント定義の名前を指定します
  • InputPath [必須]
  • ManagementGroupId (省略可能)
    • 現在のコンテキストが既定値でない場合にブループリント定義を保存する管理グループ ID
    • ManagementGroupId または SubscriptionId を指定する必要があります
  • SubscriptionId (省略可能)
    • 現在のコンテキストが既定値でない場合にブループリント定義を保存するサブスクリプション ID
    • ManagementGroupId または SubscriptionId を指定する必要があります
  1. Import-AzBlueprintWithArtifact コマンドレットを使用して、指定したブループリント定義をインポートします。

    # Login first with Connect-AzAccount if not using Cloud Shell
    
    Import-AzBlueprintWithArtifact -Name 'MyBlueprint' -ManagementGroupId 'DevMG' -InputPath 'C:\Blueprints\MyBlueprint'
    

ブループリント定義をインポートしたら、PowerShell を使用して割り当てます

高度なブループリント定義の作成の詳細については、次の記事を参照してください。

次のステップ