クラウド管理者は、カスタム命名割り当てヘルパーを使用して、Automation Assembler でリソースのカスタム名を生成できます。カスタム命名割り当てヘルパーは、任意のリソース タイプで使用できます。

Automation Assembler でカスタム命名テンプレートを定義したら、カスタム命名割り当てヘルパーを使用して、[デザイン] キャンバスでカスタム命名テンプレートを参照できます。詳細については、「カスタム リソース命名」を参照してください。

以降の使用事例は、[汎用] リソース タイプと [マシン] リソース タイプを指定してカスタム命名割り当てヘルパーを使用する方法を示しています。[汎用] リソース タイプは、使用可能なすべてのリソースをカバーし、カスタム命名割り当てヘルパーにのみリンクされます。

注:

[汎用] リソース タイプを指定してカスタム命名テンプレートを作成する場合は、カスタム命名割り当てヘルパーを使用してリソースのカスタム名を生成する必要があります。割り当てヘルパーを追加しないと、リソースの名前は生成されません。

割り当ておよび割り当てヘルパーの詳細については、「Automation Assembler でのプラグイン ベース デザインと展開」を参照してください。

開始する前に

割り当てヘルパーを使用する前に、クラウド アカウントを設定してリソース インフラストラクチャをビルドする必要があります。詳細については、「クラウド アカウントの追加」および「リソース インフラストラクチャのビルド」を参照してください。

汎用命名テンプレートの作成

カスタム命名割り当てヘルパーを使用するには、カスタム命名テンプレートを作成する必要があります。この例では、展開用に組織レベルの [汎用] 命名テンプレートを作成します。組織レベルの命名テンプレートは、デフォルトですべての展開に適用されます。

プロジェクト レベルの命名テンプレートを作成することもできます。詳細については、「カスタム リソース命名」を参照してください。

組織レベルの命名テンプレートを作成するには、次の手順を実行します。

  1. [インフラストラクチャ] > [管理] > [カスタム名] の順に選択して、[新しいカスタム名] をクリックします。
  2. カスタム命名テンプレートの名前と説明を入力します。
  3. スコープとして [組織] を選択します。
  4. [新規命名テンプレート] をクリックして、次のオプションを構成します。
    オプション
    リソース タイプ 汎用
    テンプレート名 my-custom template

    テンプレート名はユーザー定義の文字列で、指定されたテンプレートの識別子として機能します。

    リソース タイプが [汎用] の場合は、テンプレート名を指定する必要があります。

    リソース タイプとして [マシン] を選択した場合、作成できるマシン タイプのテンプレートはプロジェクトごとに 1 つのみのため、テンプレート名を参照する必要はありません。

    テンプレート形式 resource-${#####}
    開始カウンタ値 1
    増分ステップ 1

    この構成では、割り当てられたプロジェクトにおける展開が、この開始点から増分されます。

    この例では、開始カウンタが 1 で増分が 1 のため、最初の展開に付けられる番号は 2 です。展開を 1 から開始する必要がある場合は、開始カウンタをゼロに、増分を 1 に設定します。

  5. [追加] をクリックします。
  6. 必要に応じて、カスタム命名テンプレートを追加します。
  7. [作成] をクリックします。

次のセクションでは、カスタム命名割り当てヘルパーを使用するいくつかのテンプレートの例を示します。

汎用テンプレートを使用した 1 つのリソースのプロビジョニング

次のクラウド テンプレートは、[汎用] タイプのテンプレートを使用して、プラグイン ベースの 1 つの AWS EC2 インスタンスの名前を生成する方法を示しています。この例では、テンプレートの名前 (my-custom-template) を参照する必要があります。

formatVersion: 1
inputs: {}
resources:
  Allocations_CustomNaming_1:
    type: Allocations.CustomNaming
    properties:
      resourceType: Generic 
      templateName: my-custom-template
      numberOfNamesToGenerate: 1
  Idem_AWS_EC2_INSTANCE_2:
    type: Idem.AWS.EC2.INSTANCE
    properties:
      name: ${resource.Allocations_CustomNaming_1.selectedNames[0]} # an array of generated custom names
      region: us-west-2
      account: aws
      availability_zone: us-west-2b
      image_id: ami-022e8df2148a65830
      instance_type: t2.nano

マシン テンプレートを使用した 1 つのリソースのプロビジョニング

次のテンプレートは、[マシン] タイプのテンプレートを使用して、1 つの AWS EC2 インスタンスのカスタム命名を生成する方法を示しています。作成できるマシン テンプレートはプロジェクトごとに 1 つのみのため、テンプレートの名前を指定する必要はありません。

formatVersion: 1
inputs: {}
resources:
  Allocations_CustomNaming_1:
    type: Allocations.CustomNaming
    properties:
      resourceType: Machine
      numberOfNamesToGenerate: 1
  Idem_AWS_EC2_INSTANCE_2:
    type: Idem.AWS.EC2.INSTANCE
    properties:
      name: ${resource.Allocations_CustomNaming_1.selectedNames[0]}
      region: us-west-2
      account: aws
      availability_zone: us-west-2b
      image_id: ami-022e8df2148a65830
      instance_type: t2.nano

マシン テンプレートを使用した複数のリソースのプロビジョニング

次のテンプレートは、[マシン] タイプのテンプレートを使用して、複数の AWS EC2 インスタンスの名前を生成する方法を示しています。作成できるマシン テンプレートはプロジェクトごとに 1 つのみのため、テンプレートの名前を指定する必要はありません。

formatVersion: 1
inputs: {}
resources:
  Allocations_CustomNaming_1:
    type: Allocations.CustomNaming
    properties:
      resourceType: Machine
      numberOfNamesToGenerate: 2
  Idem_AWS_EC2_INSTANCE_1:
    type: Idem.AWS.EC2.INSTANCE
    properties:
      name: ${resource.Allocations_CustomNaming_1.selectedNames[0]}
      region: us-west-2
      account: aws
      availability_zone: us-west-2b
      image_id: ami-022e8df2148a65830
      instance_type: t2.nano
  Idem_AWS_EC2_INSTANCE_2:
    type: Idem.AWS.EC2.INSTANCE
    properties:
      name: ${resource.Allocations_CustomNaming_1.selectedNames[1]}
      region: us-west-2
      account: aws
      availability_zone: us-west-2b
      image_id: ami-022e8df2148a65830
      instance_type: t2.nano

汎用テンプレートを使用したリソースのクラスタのプロビジョニング

次のテンプレートは、汎用テンプレートを使用して、AWS EC2 インスタンスのクラスタをプロビジョニングする方法を示しています。この例では、テンプレートの名前 (my-custom-template) を参照する必要があります。

formatVersion: 1
inputs: {}
resources:
  Allocations_CustomNaming_1:
    type: Allocations.CustomNaming
    properties:
      resourceType: Generic
      templateName: my-custom-template
      numberOfNamesToGenerate: 2
  Idem_AWS_EC2_INSTANCE_2:
    type: Idem.AWS.EC2.INSTANCE
    allocatePerInstance: true
    properties:
      name: ${resource.Allocations_CustomNaming_1.selectedNames[count.index]}
      region: us-west-2
      account: aws
      availability_zone: us-west-2b
      image_id: ami-022e8df2148a65830
      instance_type: t2.nano
      count: 2