Application Design Center のカタログを使用すると、アプリケーション テンプレートとインポートされたコンポーネント テンプレートをスペース間で公開して共有し、アーキテクチャを標準化して、チーム間で作業の重複を回避できます。スペースでテンプレートを作成またはインポートすると、デフォルトでは、それらのテンプレートはそのスペースのメンバーのみが使用できます。中央のプラットフォーム チームが、他のフォルダやプロジェクトの開発チームがデプロイする必要がある、承認済みでポリシーに準拠したテンプレートを管理している場合は、スペース間でカタログを共有できます。各スペースには、テンプレートの公開、カタログ メタデータの編集、他のアプリケーション管理境界のスペースとのカタログの共有を行うことができる単一のカタログが含まれています。
始める前に
このドキュメントのタスクを実行するには、次の表に示すように、アプリ対応フォルダまたは管理プロジェクトに必要なロールを付与するよう管理者に依頼してください。
| タスク | 必要なロール |
|---|---|
| アプリケーション テンプレートをスペース カタログに公開する | Application Design Center 管理者(roles/designcenter.admin) |
| カタログを宛先スペースと共有する | Application Design Center 管理者(roles/designcenter.admin) |
ロールの詳細については、IAM を使用したアクセス制御をご覧ください。
カタログを管理する前に、次の操作を行います。
アプリケーション テンプレートをカタログに公開する
テンプレートを他のスペースと共有する前に、テンプレートをカタログに公開します。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
[テンプレートを追加] をクリックします。
[デフォルト カタログにテンプレートを追加] 領域で、次の操作を行います。
- 特定のテンプレートを検索するには、[フィルタ] フィールドにテンプレート名を入力します。
- このカタログにテンプレートを追加するには、[アクション] 列で [カタログに追加] をクリックします。
[完了] をクリックします。カタログにアクセスできるスペースは、選択したテンプレートにアクセスできます。
カタログを共有するには、カタログをスペースと共有するをご覧ください。
gcloud CLI
テンプレートを追加するカタログのカタログ ID を特定します。
gcloud design-center spaces catalogs list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE次のように置き換えます。
PROJECT: 実際の管理プロジェクト ID。LOCATION: カタログのリージョン。SPACE: スペース ID。
詳細については、gcloud design-center spaces catalogs list をご覧ください。
カタログに追加するテンプレートのテンプレート ID を特定します。たとえば、次のコマンドはアプリケーション テンプレートを一覧表示します。
gcloud design-center spaces application-templates list \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --filter=FILTER次のように置き換えます。
PROJECT: 実際の管理プロジェクト ID。LOCATION: カタログのリージョン。SPACE: スペース ID。FILTER: 検索結果を絞り込むためのフィルタ。例:"displayName:my-app-template*"
詳細については、gcloud design-center spaces application-templates list をご覧ください。
アプリケーション テンプレートを commit します。
gcloud design-center spaces application-templates commit TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE次のように置き換えます。
TEMPLATE: commit するテンプレートのテンプレート ID。PROJECT: 実際の管理プロジェクト ID。LOCATION: アプリケーション テンプレートのリージョン。SPACE: スペース ID。
詳細については、gcloud design-center spaces application-templates commit をご覧ください。
commit コマンドの
name出力をコピーします。この名前は、カタログ テンプレート リビジョンを作成するときにapplication-template-revision-source値として指定します。アプリケーション テンプレートがカタログにまだ存在しないことを確認します。
gcloud design-center spaces catalogs templates list \ --catalog=CATALOG \ --project=PROJECT \ --location=LOCATION \ --space=SPACE次のように置き換えます。
CATALOG: カタログ ID。例:default-catalogPROJECT: 実際の管理プロジェクト ID。LOCATION: カタログのリージョン。SPACE: スペース ID。
詳細については、gcloud design-center spaces catalogs templates list をご覧ください。
アプリケーション テンプレートがカタログにない場合は、カタログ テンプレートを作成します。
gcloud design-center spaces catalogs templates create CATALOG_TEMPLATE \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --catalog=CATALOG \ --template-category=TEMPLATE_CATEGORY次のように置き換えます。
CATALOG_TEMPLATE: 作成するカタログ テンプレートのカタログ テンプレート ID。PROJECT: 実際の管理プロジェクト ID。LOCATION: カタログのリージョン。SPACE: スペース ID。CATALOG: カタログ ID。TEMPLATE_CATEGORY: テンプレートのカテゴリ。例:application-template
詳細については、gcloud design-center spaces catalogs templates create をご覧ください。
カタログ テンプレートのリビジョンを作成します。これにより、デベロッパーがアプリケーションのソースとして使用する最初のリビジョンが作成されます。
gcloud design-center spaces catalogs templates revisions create REVISION \ --project=PROJECT \ --location=LOCATION \ --space=SPACE \ --catalog=CATALOG \ --template=CATALOG_TEMPLATE \ --application-template-revision-source=APPLICATION_TEMPLATE_REVISION_SOURCE次のように置き換えます。
REVISION: 作成するリビジョンのリビジョン ID。例:r1PROJECT: 実際の管理プロジェクト ID。LOCATION: カタログのリージョン。SPACE: スペース ID。CATALOG: カタログ ID。CATALOG_TEMPLATE: テンプレート ID。APPLICATION_TEMPLATE_REVISION_SOURCE: アプリケーション テンプレートのリビジョン ソース。この値は、アプリケーション テンプレートを commit したときにコピーしたものです。例:projects/my-project/locations/us-central1/spaces/my-space/applicationTemplates/my-app-template/revisions/r1
詳細については、gcloud design-center spaces catalogs templates revisions create をご覧ください。
改訂したテンプレートを共有する
テンプレートに変更を加えても、その変更はカタログに自動的に公開されません。最新のリビジョンを共有するには、テンプレートをカタログに再度公開します。
カタログからテンプレートを削除する
特定のテンプレートをスペースと共有する必要がなくなった場合は、カタログから削除します。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
このカタログのテンプレートを管理するには、[カタログ内のテンプレート] をクリックします。
テンプレートを削除するには、 [アクション] をクリックし、[カタログから削除] を選択します。
- フィールドにテンプレートの名前を入力します。
- [削除] をクリックします。
gcloud CLI
カタログからテンプレートを削除します。
gcloud design-center spaces catalogs templates delete CATALOG_TEMPLATE \
--catalog=CATALOG \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--force
次のように置き換えます。
CATALOG_TEMPLATE: カタログから削除するテンプレートのカタログ テンプレート ID。CATALOG: カタログ ID。PROJECT: 実際の管理プロジェクト ID。LOCATION: カタログのリージョン。SPACE: スペース ID。
詳細については、gcloud design-center spaces catalogs templates delete をご覧ください。
カタログをスペースと共有する
カタログを共有できるのは、ソーススペースと同じリージョンにあり、別のアプリケーション管理境界にある宛先スペースのみです。
カタログをスペースと共有する手順は次のとおりです。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
[カタログを共有] をクリックします。
[共有先] フィールドで、宛先スペースが次のいずれかにあるかどうかを選択します。
- フォルダ: フォルダレベルのアプリケーション管理境界。
- プロジェクト: プロジェクト レベルのアプリケーション管理境界。
[プロジェクト / フォルダ ID] フィールドに、宛先スペースが存在するアプリケーション管理境界のプロジェクト ID またはフォルダ ID を入力します。
元のスペースと同じリージョンのスペースが、[スペース名] フィールドに自動的に入力されます。
[共有] をクリックします。
デベロッパーは、App Design Center でスペースを開き、ナビゲーション メニューから [共有済みテンプレート] をクリックして、共有カタログのテンプレートを表示できます。
gcloud CLI
カタログをスペースと共有します。
gcloud design-center spaces catalogs shares create SHARE \
--project=PROJECT \
--space=SPACE \
--location=LOCATION \
--catalog=CATALOG \
--destination-space=DESTINATION_SPACE
次のように置き換えます。
SHARE: 作成する共有の共有 ID。PROJECT: 実際の管理プロジェクト ID。SPACE: スペース ID。LOCATION: カタログのリージョン。CATALOG: 共有するカタログのカタログ ID。DESTINATION_SPACE: 宛先スペースの完全修飾名(projects/my-dest-project/locations/us-central1/spaces/my-dest-spaceなど)。
詳細については、gcloud design-center spaces catalogs shares create をご覧ください。
スペースとのカタログの共有を停止する
スペースとのカタログの共有を停止するには、次の手順を行います。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
[共有するスペース] をクリックします。
このカタログをスペースと共有しないようにするには、 [アクション] をクリックし、[共有を停止] を選択します。
- フィールドにスペース名を入力します。
- [共有を停止] をクリックします。
gcloud CLI
スペースとのカタログの共有を停止します。
gcloud design-center spaces catalogs shares delete SHARE \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--catalog=CATALOG
次のように置き換えます。
SHARE: 削除する共有の共有 ID。PROJECT: 実際の管理プロジェクト ID。LOCATION: カタログのリージョン。SPACE: スペース ID。CATALOG: 共有するカタログのカタログ ID。
詳細については、gcloud design-center spaces catalogs shares delete をご覧ください。
カタログ メタデータを編集する
カタログを管理するには、次の手順でわかりやすい名前と説明を付けます。
デザイン キャンバス
ナビゲーション メニューで [カタログ] をクリックします。
カタログの詳細を確認します。
[表示名] を変更するには、次の操作を行います。
- [ 表示名を編集] をクリックします。
- [表示名] フィールドに新しい名前を入力します。
- [保存] をクリックします。
[説明] を変更するには、次の操作を行います。
- [ 説明を編集] をクリックします。
- [説明] フィールドに新しい説明を入力します。
- [保存] をクリックします。
gcloud CLI
gcloud design-center spaces catalogs update CATALOG \
--project=PROJECT \
--location=LOCATION \
--space=SPACE \
--description=DESCRIPTION \
--display-name=DISPLAY_NAME
次のように置き換えます。
CATALOG: カタログ ID。PROJECT: 実際の管理プロジェクト ID。LOCATION: カタログのリージョン。SPACE: スペース ID。DESCRIPTION: カタログの説明。DISPLAY_NAME: カタログの表示名。
詳細については、gcloud design-center spaces catalogs update をご覧ください。
次のステップ
- アプリケーション テンプレートを設計して、独自の構成を定義します。
- アプリケーションを管理して、リソースを更新、スケーリング、削除する方法を学習する。
- コンポーネントをインポートして、テンプレート設計で独自の Terraform モジュールを使用します。