デプロイ パッケージの作成

このセクションでは、ソリューションのデプロイ パッケージを作成する手順について説明します。デプロイ パッケージはパートナー ポータルを通じてアップロードされ、VM ソリューションを送信するために必要です。

デプロイメントとは、ソリューションに必要なリソースなど、一緒に作成および管理される一連のリソースです。デプロイ パッケージまたはデプロイ テンプレートとは、通常一緒にデプロイされる一連のリソースの仕様であり、特定のソリューションのデプロイ プロセスを合理化します。Deployment Manager により、シンプルな YAML、JSON、または ProtoText 構成ファイルを使用して、VM ソリューションのデプロイ テンプレートとパッケージを作成できます。

ソリューションが、基本的なファイアウォール ルールを使用した単一の仮想マシン インスタンスの単純なデプロイである場合は、パートナー ポータルで直接にデプロイ パッケージを構成できます。

ほとんどのユースケースでは、Deployment Manager のオープンソースdeploymentmanager-autogenツールを使用して、Deployment Manager パッケージを生成することをおすすめします。Deployment Manager Autogen では、デプロイ パッケージに次の機能が含まれます。

  • 割り当てで CPU と GPU をチェックし、ユーザーが割り当て要件を超えたソリューションをデプロイできないようにします。
  • Deployment Manager ページでの動的な料金更新。
  • 共有 VPC のサポート。
  • 複数のネットワーク インターフェース カードを備えた VM のサポート。
  • ユーザーが選択したゾーンで使用できないマシンタイプ、GPU、またはサブネットワークを選択できないようにする機能。

始める前に

 Caution: Your deployment must not use Terraform, or have any dependencies
 on Terraform.
  • Docker をインストールして、リリースされた Docker イメージから Autogen をビルドして実行できるようにします。

    ソースコードから Autogen をビルドする場合は、Autogen GitHub リポジトリの手順に従ってください。

  • Autogen のコマンドライン エイリアスを設定します。

これを行うには、次のように入力します。

alias autogen='docker run \
  --rm \
  --workdir /mounted \
  --mount type=bind,source="$(pwd)",target=/mounted \
  --user $(id -u):$(id -g) \
  gcr.io/cloud-marketplace-tools/dm/autogen'

autogen --help

Autogen 構成ファイルの作成

Autogen リポジトリの example-config フォルダにある例を変更して、初期構成ファイルを作成することをおすすめします。

構成ファイルとプロトファイル(autogen.protodeployment_package_autogen_spec.protomarketing_info.proto)内のコメントには、フィールドに関する情報(フィールドの必須とオプションの区別など)が含まれています。単一のソリューションのデプロイ パッケージを生成する場合、構成ファイルは DeploymentPackageInput プロトの仕様に従う必要があります。複数のソリューションのデプロイ パッケージを生成する場合、構成ファイルは BatchInput プロトの仕様に従う必要があります。これらの仕様はどちらも、autogen.proto にあります。

構成ファイルを作成するには、サンプル構成ファイルの各フィールドを変更してソリューションの構成を反映し、編集した構成ファイルで Autogen を実行します。

他のサンプル構成も testdata フォルダにあります。

デプロイ パッケージの生成

以下は、example-config/solution.yaml の仕様を読み取り、パッケージを solution-folder というフォルダに出力するサンプル コマンドです。

mkdir solution_folder

autogen \
  --input_type YAML \
  --single_input example-config/solution.yaml \
  --output_type PACKAGE \
  --output solution_folder

コマンドラインから Autogen を実行するには、次の 2 つのパラメータのいずれかを含める必要があります。

  • --single_input、1 つのソリューションのパッケージを生成する場合
  • --batch_input、複数のソリューションのパッケージを生成する場合

また、--input_type--output_type などのオプションのパラメータを使用して、Autogen が読み取る形式または書き込む形式を指定することもできます。可能なすべてのオプションについては、Autogen のドキュメントをご覧ください。

デプロイ パッケージが作成されたら、solution_folder フォルダを圧縮してから、その圧縮ファイルをパートナー ポータルにアップロードできます。

パートナー ポータルでのシンプルな Deployment Manager パッケージの作成

基本的なファイアウォール ルールを備えた単一の仮想マシン インスタンスのシンプルなデプロイであるソリューションでは、パートナー ポータルで直接デプロイ パッケージを構成できます。

これを構成するには、パートナー ポータルを開き、ソリューションのリストからソリューションを選択して、次の手順に従います。

  1. [Deployment Package] の横にある [Edit] をクリックします。
  2. [パッケージを生成] を選択して、[続行] をクリックします。
  3. [プロジェクト] と [イメージ] のプルダウンを使用して VM イメージを選択し、[続行] をクリックします。
  4. [最小マシンタイプ] と [デフォルトのマシンタイプ] の設定を選択して、[続行] をクリックします。
  5. 顧客が取るべきデプロイ後の次のステップを追加して、[続行] をクリックします。
  6. ファイアウォール ルールと、該当する場合はその他のネットワーク オプションを設定して、[続行] をクリックします。
  7. サイトまたは管理 URL を宣言することを選択できます。ソリューションにログインが必要な場合は、ソリューションを送信するときにログインの詳細を設定できます。[Continue] をクリックします。
  8. [パッケージのコンテンツを一覧表示] で、VM イメージのオペレーティング システムの [オペレーティング システム名] と [OS バージョン] を選択します。次に、ソリューションの一部として含まれるソフトウェアの追加部分ごとに、[名前] と [バージョン] を追加できます。パッケージのコンテンツをすべてリストしたら、[続行] をクリックします。
  9. 前の手順を完了すると、ソリューション パッケージが [確認] に表示されます。ソリューション パッケージをダウンロードするか、[JSON を編集] をクリックして手動で変更できます。[保存] をクリックしてパッケージを保存し、ソリューションに戻ります。

より複雑なデプロイの場合、デプロイを最初から作成できます。プロジェクトに適したソリューションの種類がわからない場合は、Google パートナー エンジニアにご相談ください。

カスタマー ビューからのデプロイ パッケージ

以降では、自動生成された標準ソリューション テンプレートに基づくソリューションについて、ソリューションをデプロイするときに顧客に表示される画面レイアウトについて説明します。

パッケージのデプロイに関するカスタマー ビュー

次のスクリーンショットの左側には、標準のユーザー入力要素が表示されています。ゾーン、マシンタイプ、ディスク オプション、ネットワーク オプションなどがあります。

顧客のデプロイに複数のネットワーク インターフェース カードが必要な場合は、[ネットワーク インターフェースを追加] をクリックして、ネットワーク インターフェースを追加できます。

ソリューションをデプロイするには、顧客が入力フィールドに記入して、[デプロイ] をクリックする必要があります。

デプロイされたパッケージのカスタマー ビュー

次の画像は、ソリューションが正常にデプロイされた後、顧客にどのように表示されるかを示しています。

次のスクリーンショットの右側には、標準の出力要素が表示されています。サイトのアドレス、仮の管理者パスワード、インスタンスの情報などがあります。