VMware Aria Automation は、より迅速にクラウド プロバイダのより多くの機能をサポートするために、プラグイン ベース アーキテクチャを利用できるようになりました。プラグイン ベース デザインでは、VMware Aria Automation によって定義されたプロパティのほか、パブリック クラウド プロバイダ自体によって定義され、ドキュメント化されたすべてのリソースとプロパティにアクセスできます。

注: プラグイン ベース デザインはベータ版であり、変更される可能性があります。現在は、AWS プラグインと Google Cloud Platform (GCP) プラグインのみがサポートされています。

プラグインについて

VMware Aria Automation は、パブリック クラウド プロバイダ専用の独立したプラグインをサポートします。プラグイン アーキテクチャを採用することで、更新されたプロバイダ設定に迅速にアクセスでき、Automation Assembler ユーザー エクスペリエンスの敏捷性が向上します。クラウド プロバイダがリソースやプロパティを追加する場合、リソースやプロパティは関連付けられたプラグインに簡単に追加できます。

多くのプラグインはオープン ソースであり、pypi.org から入手できます。通常、VMware Aria Automation のバージョンが新しくなると、そのたびに最新のプラグインが組み込まれます。

割り当てについて

これまで割り当て設定は、常に各リソースに統合されていました。一方で、プラグイン方式では、割り当てに他の設計手順が提供されています。割り当ては、ヘルパーの形でリソースから分離できます。ヘルパーは、リソースとゾーン化およびプロファイル化されたインフラストラクチャとの間のブリッジとして機能します。

ヘルパーは 1 対多で設定でき、1 つのヘルパーで複数のリソースに対してゾーン配置などの割り当てロジックを提供できます。そのうえで、クラウド プロバイダで定義され、関連付けられたプラグインでサポートされる全プロパティのリストに従ってリソースを細かくカスタマイズします。

図 1. クラウド プロバイダのネイティブ プロパティ
クラウド プロバイダのプロパティ

プロパティはクラウド プロバイダ側から提供されるため、デザイン キャンバスで割り当てヘルパーが操作できるのはベンダー固有のプロパティのみです。クラウドに依存しないデザインでは割り当てヘルパーを使用できません。クラウドに依存しないテンプレートが必要な場合は、クラウドに依存しないリソース要素と従来のリソース内での割り当て方法を引き続き使用してください。

割り当てヘルパーは、プラグイン ベースのリソース、Terraform リソース、およびカスタム リソースで使用できます。

使用可能な割り当てヘルパー

ヘルパーには次の割り当て機能があります。

  • コンピューティング ヘルパー

    プロビジョニングするためのアカウント、リージョン、ゾーンを検索します。また、プロジェクトに設定されたプロビジョニングの優先順位も解決します。

  • カスタム命名ヘルパー

    リソースのカスタム名を生成します。

  • フレーバー ヘルパー

    フレーバー マッピングの名前を、コンピューティングで選択されたリージョンの instanceType に解決します。

  • イメージ ヘルパー

    イメージ マッピングの名前を、コンピューティングで選択されたリージョンの imageId に解決します。

  • ネットワーク ヘルパー

    リージョンのネットワーク プロファイルが作成されている場合、展開では、それらのネットワークが選択対象になります。それ以外の場合は、リージョン内で検出されたすべてのネットワークが候補になります。ネットワーク ヘルパーに必要なプロパティは、ネットワーク タイプのみです。

  • ストレージ ヘルパー

    ストレージ プロファイルからストレージ アイテムを選択します。必須プロパティはありませんが、タグを使用するか storageAttributes を指定して制約を設定できます。selectedStorage の入力と出力はクラウド プロバイダによって異なるため、正しい入力と出力を使用する必要があります。

割り当てヘルパーのプロパティは、コード エディタで表示できます。また、割り当てヘルパーのプロパティは、[展開] 画面で最近の展開を開き、右側のペインを開いても表示できます。

プラグイン ベースのリソース

VMware Aria Automation では、最大 250,000 のプラグイン ベースのリソースがサポートされます。デザイン キャンバスで使用可能なリソースは、クラウド プロバイダで直接使用可能なリソースと同じです。

たとえば、AWS の場合は次のリソースをプロビジョニングできます。

  • EC2 インスタンス
  • EC2 ボリューム
  • EC2 VPC
  • RDS DB クラスタ
  • RDS DB インスタンス
  • S3 バケット
  • その他

EC2 インスタンスなどのプラグイン ベースの仮想マシンが、請求可能なオブジェクトになりました。請求可能なオブジェクトは、Automation Assembler の [リソース] 画面で確認できます。

従来のリソース

Automation Assembler の左側のメニューで、以前のデザイン リソースには (Classic) というラベルが表示されるようになりました。割り当てヘルパーは、プラグイン ベースのリソース、Terraform リソース、およびカスタム リソースで使用できますが、従来のリソースでは使用できません。

テンプレートにはこれまでどおり従来のリソースを追加できます。また、従来のリソースとテンプレートの間、およびヘルパーを使用するリソースの間に依存関係を設定することもできます。

デザイン方法

プラグイン リソースのワークフロー
  1. [インフラストラクチャ] で、これまでと同じ方法でアカウント、ゾーン、プロジェクト、マッピング、プロファイル、および機能タグを追加します。
  2. デザイン キャンバスに割り当てヘルパーをドラッグします。
  3. 従来のリソース以外のリソースをドラッグします。
  4. ヘルパーにバインドを追加します。

    コード エディタでプロパティ バインドを手動で記述することも、キャンバス内で割り当てヘルパーを非従来型のリソースに接続することもできます。

    一部のプロパティ バインドは、コード エディタで自動的に作成されます。これらのプロパティ バインドは事前定義済みであり、今後拡張される可能性があります。詳細については、割り当てヘルパーからリソースへのリンクを参照してください。

    重要:

    複数の割り当てヘルパーを非従来型のリソースに接続すると、共有値がオーバーライドされます。たとえば、コンピューティング割り当てヘルパーを接続した後でイメージ割り当てヘルパーを接続すると、region プロパティの値が resource.Allocations_Compute_1.selectedRegion.id から resource.Allocations_Flavor_1.selectedRegion.id に変わります。

  5. コード エディタで、割り当てヘルパーと非従来型のリソースを構成します。

割り当てヘルパーからリソースへのリンク

割り当てヘルパーをリソースにリンクすると、コード エディタで次のプロパティ バインドが自動的に作成されます。

  • Allocations.Compute
    • AWS EC2 インスタンス:accountregionavailability_zone
    • AWS EC2 ボリューム:accountregionavailability_zone
    • AWS S3 バケット:accountregion
    • GCP コンピューティング インスタンス:accountzone
    • GCP コンピューティング ディスク:accountzone
    • GCP コンピューティング ネットワーク:account
    • GCP コンピューティング サブネットワーク:account
  • Allocations.Flavor
    • AWS EC2 インスタンス:accountregioninstance_type
  • Allocations.Image
    • AWS EC2 インスタンス:accountregionimage_id
  • Allocations.Network
    • AWS EC2 インスタンス:accountregionsubnet_id
    • GCP コンピューティング ネットワーク:account
    • GCP コンピューティング サブネットワーク:account