

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ネットワークサービス記述子テンプレート
<a name="nsd-template"></a>

ネットワークサービス記述子 (NSD) テンプレートを定義します。

## 構文
<a name="nsd-template-syntax"></a>

```
tosca_definitions_version: tnb_simple_yaml_1_0

vnfds:
  - descriptor\$1id: String
    namespace: String

topology_template:

  inputs:
    SampleInputParameter:
      type: String
      description: "Sample parameter description"
      default: "DefaultSampleValue"

  node\$1templates:
    SampleNode1: tosca.nodes.AWS.NS
```

## 定義済みのパラメータを使用する
<a name="using-defined-parameters"></a>

VPC ノードの CIDR ブロックなどのパラメータを動的に渡す場合は、`{ get_input: input-parameter-name }` 構文を使用して NSD テンプレートでパラメータを定義できます。その後、同じ NSD テンプレートでパラメータを再利用します。

次のコード例は、パラメータを定義して使用する方法を示しています。

```
tosca_definitions_version: tnb_simple_yaml_1_0

topology_template:

  inputs:
    cidr_block:
      type: String
      description: "CIDR Block for VPC"
      default: "10.0.0.0/24"

  node_templates:
    ExampleSingleClusterNS:
      type: tosca.nodes.AWS.NS
      properties:
        descriptor_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
         .....

    ExampleVPC:
      type: tosca.nodes.AWS.Networking.VPC
      properties:
        cidr_block: { get_input: cidr_block }
```

## VNFD インポート
<a name="vnfd-import"></a>

 `descriptor_id`    
記述子の UUID。  
必須: はい  
タイプ: 文字列  
パターン: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`

 `namespace`    
一意の名前。  
必須: はい  
タイプ: 文字列

## トポロジテンプレート
<a name="nsd-topology-template"></a>

 `node_templates`    
可能な TOSCA AWS ノードは次のとおりです。  
+ [AWS.NS](node-ns.md)
+ [AWS.Compute.EKS](node-eks.md)
+ [AWS.Compute.EKS.AuthRole](node-eks-authrole.md)
+ [AWS.Compute.EKSManagedNode](node-eks-managed-node.md)
+ [AWS.Compute.EKSSelfManagedNode](node-eks-self-managed.md)
+ [AWS.Compute.PlacementGroup](node-compute-placement-group.md)
+ [AWS.Compute.UserData](node-compute-user-data.md)
+ [AWS.Networking.SecurityGroup](node-networking-security-group.md)
+ [AWS.Networking.SecurityGroupEgressRule](node-networking-security-group-egress-rule.md)
+ [AWS.Networking.SecurityGroupIngressRule](node-networking-security-group-ingress-rule.md)
+ [AWS.Resource.Import](node-resource-import.md)
+ [AWS.Networking.ENI](node-eni.md)
+ [AWS.HookExecution](node-hook-execution.md)
+ [AWS.Networking.InternetGateway](node-internet-gateway.md)
+ [AWS.Networking.RouteTable](node-route-table.md)
+ [AWS.Networking.Subnet](node-subnet.md)
+ [AWS.Deployment.VNFDeployment](node-vnf-deployment.md)
+ [AWS.Networking.VPC](node-vpc.md)
+ [AWS.Networking.NATGateway](node-nat-gateway.md)
+ [AWS.Networking.Route](node-route.md)

# AWS.NS
<a name="node-ns"></a>

 AWS ネットワークサービス (NS) ノードを定義します。

## 構文
<a name="node-ns-syntax"></a>

```
tosca.nodes.AWS.NS:
  properties:
    descriptor\$1id: String
    descriptor\$1version: String
    descriptor\$1name: String
```

## プロパティ
<a name="node-ns-properties"></a>

 `descriptor_id`    
記述子の UUID。  
必須: はい  
タイプ: 文字列  
パターン: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`

 `descriptor_version`    
NSD のバージョン。  
必須: はい  
タイプ: 文字列  
パターン: `^[0-9]{1,5}\\.[0-9]{1,5}\\.[0-9]{1,5}.*`

 `descriptor_name`    
記述子の名前。  
必須: はい  
タイプ: 文字列

## 例
<a name="node-ns-example"></a>

```
SampleNS:
  type: tosca.nodes.AWS.NS
  properties:
    descriptor_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111"
    descriptor_version: "1.0.0"
    descriptor_name: "Test NS Template"
```

# AWS.Compute.EKS
<a name="node-eks"></a>

クラスターの名前、目的の Kubernetes バージョン、および Kubernetes コントロールプレーンが NFs に必要な AWS リソースを管理できるようにするロールを指定します。Multus コンテナネットワークインターフェイス (CNI) プラグインが有効になっています。複数のネットワークインターフェイスをアタッチし、Kubernetes ベースのネットワーク機能に高度なネットワーク設定を適用できます。また、クラスターエンドポイントのアクセスとクラスターのサブネットも指定します。

## 構文
<a name="node-eks-syntax"></a>

```
tosca.nodes.AWS.Compute.EKS:
  capabilities:
    multus:
      properties:
        enabled: Boolean
        multus\$1role: String
    ebs\$1csi:
      properties:
        enabled: Boolean
        version: String      
  properties:
    version: String
    access: String
    cluster\$1role: String
    tags: List
    ip\$1family: String        
  requirements:
    subnets: List
```

## 機能
<a name="node-eks-capabilities"></a><a name="node_eks_multus"></a>`multus`

オプション。Multus コンテナネットワークインターフェイス (CNI) の使用方法を定義するプロパティです。

`multus` を含めた場合は、`enabled` および `multus_role` の各プロパティを指定します。

 `enabled`    
デフォルトの Multus 機能が有効かどうかを示します。  
必須: はい  
型: ブール値

 `multus_role`    
Multus ネットワークインターフェイス管理のロール。  
必須: はい  
タイプ: 文字列<a name="node_eks_ebs_csi"></a>`ebs_csi`

Amazon EKS クラスターにインストールされる Amazon EBS Container Storage Interface (CSI) ドライバーを定義するプロパティ。

このプラグインを有効にして、、 AWS ローカルゾーン AWS Outposts、または で Amazon EKS セルフマネージドノードを使用します AWS リージョン。詳細については、「****Amazon EKS ユーザーガイド」の「[Amazon Elastic Block Store CSI ドライバー](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html)」を参照してください。

 `enabled`    
デフォルトの Amazon EBS CSI ドライバーがインストールされているかどうかを示します。  
必須: いいえ  
型: ブール

 `version`    
Amazon EBS CSI ドライバーアドオンのバージョン。バージョンは、*DescribeAddonVersions* アクションによって返されるバージョンのいずれかに一致する必要があります。詳細については、「**Amazon EKS API リファレンス」の「[DescribeAddonVersions](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html)」を参照してください。  
必須: いいえ  
タイプ: 文字列

## プロパティ
<a name="node-eks-properties"></a>

 `version`    
クラスターの Kubernetes バージョン AWS Telco Network Builder は、Kubernetes バージョン 1.25 から 1.32 をサポートしています。  
必須: はい  
タイプ: 文字列  
指定できる値: 1.25 \$1 1.26 \$1 1.27 \$1 1.28 \$1 1.29 \$1 1.30 \$1 1.31 \$1 1.32

 `access`    
クラスターエンドポイントのアクセス。  
必須: はい  
タイプ: 文字列  
使用できる値: `PRIVATE` \$1 `PUBLIC` \$1 `ALL`

 `cluster_role`    
クラスター管理のロール。  
必須: はい  
タイプ: 文字列

 `tags`    
このリソースにアタッチするタグ。  
必須: いいえ  
タイプ: リスト

 `ip_family`    
クラスター内のサービスアドレスとポッドアドレスの IP ファミリーを示します。  
許可される値: `IPv4`、`IPv6`  
デフォルト値: `IPv4`  
必須: いいえ  
タイプ: 文字列

## 要件
<a name="node-eks-requirements"></a>

 `subnets`    
[AWS.Networking.Subnet](node-subnet.md) ノード。  
必須: はい  
タイプ: リスト

## 例
<a name="node-eks-example"></a>

```
SampleEKS:
  type: tosca.nodes.AWS.Compute.EKS
  properties:
    version: "1.26"
    access: "ALL"
    cluster_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleRole"
    ip_family: "IPv6"
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing" 
  capabilities:
    multus:
      properties:
        enabled: true
        multus_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/MultusRole"
    ebs_csi:
      properties:
        enabled: true
        version: "v1.16.0-eksbuild.1"        
  requirements:
    subnets:
    - SampleSubnet01
    - SampleSubnet02
```

# AWS.Compute.EKS.AuthRole
<a name="node-eks-authrole"></a>

AuthRole を使用すると Amazon EKS クラスター `aws-auth` `ConfigMap` に IAM ロールを追加できるようになり、ユーザーは IAM ロールを使用して Amazon EKS クラスターにアクセスできます。

## 構文
<a name="node-eks-authrole-syntax"></a>

```
tosca.nodes.AWS.Compute.EKS.AuthRole:
  properties:
    role\$1mappings: List
      arn: String
      groups: List  
  requirements:
    clusters: List
```

## プロパティ
<a name="node-eks-authrole-properties"></a>

 `role_mappings`    
Amazon EKS クラスター `aws-auth` `ConfigMap` に追加する必要がある IAM ロールを定義するマッピングのリスト。    
 `arn`    
IAM ロールの ARN。  
必須: はい  
タイプ: 文字列  
 `groups`    
`arn` で定義されているロールに割り当てる Kubernetes グループ。  
必須: いいえ  
タイプ: リスト

## 要件
<a name="node-eks-authrole-requirements"></a>

 `clusters`    
[AWS.Compute.EKS](node-eks.md) ノード。  
必須: はい  
タイプ: リスト

## 例
<a name="node-eks-authrole-example"></a>

```
EKSAuthMapRoles:
    type: tosca.nodes.AWS.Compute.EKS.AuthRole
    properties:
        role_mappings:
        - arn: arn:aws:iam::${AWS::TNB::AccountId}:role/TNBHookRole1
          groups:
          - system:nodes
          - system:bootstrappers
        - arn: arn:aws:iam::${AWS::TNB::AccountId}:role/TNBHookRole2
          groups:
          - system:nodes
          - system:bootstrappers
    requirements:
         clusters: 
         - Free5GCEKS1
         - Free5GCEKS2
```

# AWS.Compute.EKSManagedNode
<a name="node-eks-managed-node"></a>

AWS TNB は EKS Managed Node グループをサポートし、Amazon EKS Kubernetes クラスターのノード (Amazon EC2 インスタンス) のプロビジョニングとライフサイクル管理を自動化します。EKS ノードグループを作成するには、以下を実行します。
+ AMI の ID または AMI タイプを指定して、クラスターワーカーノードの Amazon マシンイメージ (AMI) を選択します。
+ SSH アクセス用の Amazon EC2 キーペアと、ノードグループのスケーリングプロパティを指定します。
+ ノードグループが Amazon EKS クラスターに関連付けられていることを確認します。
+ ワーカーノードのサブネットを指定します。
+ 必要に応じて、セキュリティグループ、ノードラベル、プレイスメントグループをノードグループにアタッチします。

## 構文
<a name="node-eks-managed-node-syntax"></a>

```
tosca.nodes.AWS.Compute.EKSManagedNode:
  capabilities:
    compute:
      properties:
        ami\$1type: String
        ami\$1id: String
        instance\$1types: List
        key\$1pair: String
        root\$1volume\$1encryption: Boolean
        root\$1volume\$1encryption\$1key\$1arn: String
        root\$1volume\$1size: Integer 
    scaling:
      properties:
        desired\$1size: Integer
        min\$1size: Integer
        max\$1size: Integer       
  properties:
    node\$1role: String
    tags: List
    kubernetes\$1version: String        
  requirements:
    cluster: String
    subnets: List
    network\$1interfaces: List
    security\$1groups: List
    placement\$1group: String
    user\$1data: String
    labels: List
```

## 機能
<a name="node-eks-managed-node-capabilities"></a><a name="node_eks_managed_node_compute"></a>`compute`

Amazon EKS マネージド型ノードグループのコンピューティングパラメータを定義するプロパティ (Amazon EC2 インスタンスタイプや Amazon EC2 インスタンス AMI など)。

 `ami_type`    
Amazon EKS がサポートする AMI タイプ。  
必須: はい  
タイプ: 文字列  
指定できる値: `AL2_x86_64` \$1 `AL2_x86_64_GPU` \$1 `AL2_ARM_64` \$1 `AL2023_x86_64` \$1 `AL2023_ARM_64` \$1 \$1 `AL2023_x86_64_NVIDIA` \$1 `AL2023_x86_64_NEURON` \$1 `CUSTOM` \$1 `BOTTLEROCKET_ARM_64` \$1 `BOTTLEROCKET_x86_64` `BOTTLEROCKET_ARM_64_NVIDIA` \$1 `BOTTLEROCKET_x86_64_NVIDIA`

 `ami_id`    
AMI の ID。  
必須: いいえ  
タイプ: 文字列  
テンプレートで `ami_type`と の両方が指定され`ami_id`ている場合、 AWS TNB は `ami_id`値のみを使用して を作成します`EKSManagedNode`。

 `instance_types`    
インスタンスのサイズ。  
必須: はい  
タイプ: リスト

 `key_pair`    
SSH アクセスを有効にする EC2 キーペア。  
必須: はい  
タイプ: 文字列

 `root_volume_encryption`    
Amazon EBS ルートボリュームの Amazon EBS 暗号化を有効にします。このプロパティが指定されていない場合、 AWS TNB はデフォルトで Amazon EBS ルートボリュームを暗号化します。  
必須: いいえ  
デフォルト: true  
型: ブール値

 `root_volume_encryption_key_arn`    
 AWS KMS key. AWS TNB の ARN は、通常のキー ARN、マルチリージョンキー ARN、エイリアス ARN をサポートしています。  
必須: いいえ  
タイプ: 文字列  
+ `root_volume_encryption` が false の場合、 を含めないでください`root_volume_encryption_key_arn`。
+ AWS TNB は、Amazon EBS-backed AMI のルートボリューム暗号化をサポートしています。
+ AMI のルートボリュームがすでに暗号化されている場合は、 AWS TTB `root_volume_encryption_key_arn`がルートボリュームを再暗号化するための を含める必要があります。
+  AMI のルートボリュームが暗号化されていない場合、 AWS TNB は `root_volume_encryption_key_arn` を使用してルートボリュームを暗号化します。

  を含めない場合`root_volume_encryption_key_arn`、 AWS TNB は が提供するデフォルトキー AWS Key Management Service を使用してルートボリュームを暗号化します。
+ AWS TNB は暗号化された AMI を復号しません。

 `root_volume_size`    
Amazon Elastic Block Store ルートボリュームのサイズを GiBs。  
必須: いいえ  
デフォルト: 20  
タイプ: 整数  
指定できる値: 1～16,384<a name="node_eks_managed_node_scaling"></a>`scaling`

Amazon EKS マネージド型ノードグループのスケーリングパラメータ (必要な Amazon EC2 インスタンスの数、ノードグループ内の Amazon EC2 インスタンスの最小数と最大数など) を定義するプロパティ。

 `desired_size`    
この NodeGroup のインスタンスの数。  
必須: はい  
型: 整数

 `min_size`    
この NodeGroup のインスタンスの最小数。  
必須: はい  
型: 整数

 `max_size`    
この NodeGroup のインスタンスの最大数。  
必須: はい  
型: 整数

## プロパティ
<a name="node_eks_managed_node-properties"></a>

 `node_role`    
Amazon EC2 インスタンスにアタッチされた IAM ロールの ARN。  
必須: はい  
タイプ: 文字列

 `tags`    
リソースにアタッチするタグ。  
必須: いいえ  
タイプ: リスト

 `kubernetes_version`    
Managed Node group. AWS TNB の Kubernetes バージョンは、Kubernetes バージョン 1.25 から 1.32 をサポートしています。以下の点を考慮してください。  
+ `kubernetes_version` または を指定します`ami_id`。両方を指定することはできません。
+ は、 AWS.Compute.EKSManagedNode バージョン以下`kubernetes_version`である必要があります。
+  AWS.Compute.EKSManagedNode バージョンと の間には 3 つのバージョンがあります`kubernetes_version`。
+ `kubernetes_version` または `ami_id`が指定されていない場合、 AWS TNB は`AWS.Compute.EKSManagedNode`最新バージョンの AMI を使用して を作成します。 `EKSManagedNode`
必須: いいえ  
タイプ: 文字列  
指定できる値: 1.25 \$1 1.26 \$1 1.27 \$1 1.28 \$1 1.29 \$1 1.30 \$1 1.31 \$1 1.32

## 要件
<a name="node-eks-managed-node-requirements"></a>

 `cluster`    
[AWS.Compute.EKS](node-eks.md) ノード。  
必須: はい  
タイプ: 文字列

 `subnets`    
[AWS.Networking.Subnet](node-subnet.md) ノード。  
必須: はい  
タイプ: リスト

 `network_interfaces`    
[AWS.Networking.ENI](node-eni.md) ノード。ネットワークインターフェイスとサブネットが同じアベイラビリティーゾーンに設定されていることを確認してください。異なる場合は、インスタンス化が失敗します。  
を設定すると`network_interfaces`、[AWS.Compute.EKS](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html) ノードに `multus_role`プロパティを含めると、 AWS TNB は `multus`プロパティから ENIs に関連するアクセス許可を取得します。それ以外の場合、 AWS TNB は [node\$1role](#node_eks_managed_node_node_role) プロパティから ENI に関連するアクセス許可を取得します。  
必須: いいえ  
タイプ: リスト

 `security_groups`    
[AWS.Networking.SecurityGroup](node-networking-security-group.md) ノード。  
必須: いいえ  
タイプ: リスト

 `placement_group`    
[tosca.nodes.AWS.Compute.PlacementGroup](node-compute-placement-group.md) ノード。  
必須: いいえ  
タイプ: 文字列

 `user_data`    
[tosca.nodes.AWS.Compute.UserData](node-compute-user-data.md) ノードのリファレンス。ユーザーデータスクリプトは、マネージド型ノードグループによって起動される Amazon EC2 インスタンスに渡されます。カスタムユーザーデータの実行に必要なアクセス許可を、ノードグループに渡される node\$1role に追加します。  
必須: いいえ  
タイプ: 文字列

 `labels`    
ノードラベルのリスト。ノードラベルには名前と値が必要です。次の条件を使用してラベルを作成します。  
+ 名前と値は で区切る必要があります`=`。
+ 名前と値の長さはそれぞれ最大 63 文字です。
+ ラベルには、文字 (A～Z、a～z)、数字 (0～9)、および次の文字を含めることができます。 `[-, _, ., *, ?]`
+ 名前と値は、英数字、、`?`または `*` 文字で始まる必要があります。
例: `myLabelName1=*NodeLabelValue1`  
必須: いいえ  
タイプ: リスト

## 例
<a name="node-eks-managed-node-example"></a>

```
SampleEKSManagedNode:
  type: tosca.nodes.AWS.Compute.EKSManagedNode
  capabilities:
    compute:
      properties:
        ami_type: "AL2_x86_64"
        instance_types:
          - "t3.xlarge"
        key_pair: "SampleKeyPair"
        root_volume_encryption: true
        root_volume_encryption_key_arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        root_volume_size: 1500    
    scaling:
      properties:
        desired_size: 1
        min_size: 1
        max_size: 1
  properties:
    node_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleRole"
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing" 
    kubernetes_version:
      - "1.30" 
  requirements:
    cluster: SampleEKS
    subnets:
      - SampleSubnet
    network_interfaces:
      - SampleENI01
      - SampleENI02
    security_groups:
      - SampleSecurityGroup01
      - SampleSecurityGroup02
    placement_group: SamplePlacementGroup
    user_data: CustomUserData
    labels:
      - "sampleLabelName001=sampleLabelValue001"
      - "sampleLabelName002=sampleLabelValue002"
```

# AWS.Compute.EKSSelfManagedNode
<a name="node-eks-self-managed"></a>

AWS TNB は Amazon EKS セルフマネージドノードをサポートし、Amazon EKS Kubernetes クラスターのノード (Amazon EC2 インスタンス) のプロビジョニングとライフサイクル管理を自動化します。Amazon EKS ノードグループを作成するには、次の手順を実行します。
+ AMI の ID のいずれかを指定して、クラスターワーカーノードの Amazon マシンイメージ (AMI) を選択します。
+ SSH アクセス用の Amazon EC2 キーペアを指定します。
+ ノードグループが Amazon EKS クラスターに関連付けられていることを確認します。
+ インスタンスタイプ、必要なサイズ、最小サイズ、最大サイズを指定します。
+ ワーカーノードのサブネットを指定します。
+ 必要に応じて、セキュリティグループ、ノードラベル、プレイスメントグループをノードグループにアタッチします。

## 構文
<a name="node-eks-self-managed-node-syntax"></a>

```
tosca.nodes.AWS.Compute.EKSSelfManagedNode:
  capabilities:
    compute:
      properties:
        ami\$1id: String
        instance\$1type: String
        key\$1pair: String
        root\$1volume\$1encryption: Boolean
        root\$1volume\$1encryption\$1key\$1arn: String    
        root\$1volume\$1size: Integer
    scaling:
      properties:
        desired\$1size: Integer
        min\$1size: Integer
        max\$1size: Integer  
  properties:
    node\$1role: String    
    tags: List          
  requirements:
    cluster: String
    subnets: List
    network\$1interfaces: List
    security\$1groups: List
    placement\$1group: String
    user\$1data: String
    labels: List
```

## 機能
<a name="node-eks-self-managed-node-capabilities"></a><a name="node_eks_self_managed_node_compute"></a>`compute`

Amazon EKS セルフマネージド型ノードのコンピューティングパラメータを定義するプロパティ (Amazon EC2 インスタンスタイプや Amazon EC2 インスタンス AMI など)。

 `ami_id`    
インスタンスの起動に使用される AMI ID。 AWS TNB は IMDSv2 を利用するインスタンスをサポートします。詳細については、「[IMDS バージョン](imds-version.md)」を参照してください。  
の AMI ID を更新できます`EKSSelfManagedNode`。AMI の Amazon EKS バージョンは、Amazon EKS クラスターバージョンと同じか、最大 2 つ前のバージョンである必要があります。例えば、Amazon EKS クラスターバージョンが 1.31 の場合、Amazon EKS AMI バージョンは 1.31、1.30、または 1.29 である必要があります。
必須: はい  
タイプ: 文字列

 `instance_type`    
インスタンスのサイズ。  
必須: はい  
タイプ: 文字列

 `key_pair`    
SSH アクセスを有効にする Amazon EC2 キーペア。  
必須: はい  
タイプ: 文字列

 `root_volume_encryption`    
Amazon EBS ルートボリュームの Amazon EBS 暗号化を有効にします。このプロパティが指定されていない場合、 AWS TNB はデフォルトで Amazon EBS ルートボリュームを暗号化します。  
必須: いいえ  
デフォルト: true  
型: ブール値

 `root_volume_encryption_key_arn`    
 AWS KMS key. AWS TNB の ARN は、通常のキー ARN、マルチリージョンキー ARN、エイリアス ARN をサポートしています。  
必須: いいえ  
タイプ: 文字列  
+ `root_volume_encryption` が false の場合、 を含めないでください`root_volume_encryption_key_arn`。
+ AWS TNB は、Amazon EBS-backed AMI のルートボリューム暗号化をサポートしています。
+ AMI のルートボリュームがすでに暗号化されている場合は、 AWS TTB `root_volume_encryption_key_arn`がルートボリュームを再暗号化するための を含める必要があります。
+  AMI のルートボリュームが暗号化されていない場合、 AWS TNB は `root_volume_encryption_key_arn` を使用してルートボリュームを暗号化します。

  を含めない場合`root_volume_encryption_key_arn`、 AWS TNB は AWS Managed Services を使用してルートボリュームを暗号化します。
+ AWS TNB は暗号化された AMI を復号しません。

 `root_volume_size`    
Amazon Elastic Block Store ルートボリュームのサイズを GiBs。  
必須: いいえ  
デフォルト: 20  
タイプ: 整数  
指定できる値: 1～16,384<a name="node_eks_self_managed_node_scaling"></a>`scaling`

Amazon EKS セルフマネージド型ノードのスケーリングパラメータ (必要な Amazon EC2 インスタンスの数、ノードグループ内の Amazon EC2 インスタンスの最小数と最大数など) を定義するプロパティ。

 `desired_size`    
この NodeGroup のインスタンスの数。  
必須: はい  
型: 整数

 `min_size`    
この NodeGroup のインスタンスの最小数。  
必須: はい  
型: 整数

 `max_size`    
この NodeGroup のインスタンスの最大数。  
必須: はい  
型: 整数

## プロパティ
<a name="node-eks-self-managed-node-properties"></a>

 `node_role`    
Amazon EC2 インスタンスにアタッチされた IAM ロールの ARN。  
必須: はい  
タイプ: 文字列

 `tags`    
リソースにアタッチするタグ。タグは、リソースによって作成されたインスタンスに伝播されます。  
必須: いいえ  
タイプ: リスト

## 要件
<a name="node-eks-self-managed-node-requirements"></a>

 `cluster`    
[AWS.Compute.EKS](node-eks.md) ノード。  
必須: はい  
タイプ: 文字列

 `subnets`    
[AWS.Networking.Subnet](node-subnet.md) ノード。  
必須: はい  
タイプ: リスト

 `network_interfaces`    
[AWS.Networking.ENI](node-eni.md) ノード。ネットワークインターフェイスとサブネットが同じアベイラビリティーゾーンに設定されていることを確認してください。異なる場合は、インスタンス化が失敗します。  
を設定すると`network_interfaces`、[AWS.Compute.EKS](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html) ノードに `multus_role`プロパティを含めると、 AWS TNB は `multus`プロパティから ENIs に関連するアクセス許可を取得します。それ以外の場合、 AWS TNB は [node\$1role](#node_eks_self_managed_node_role) プロパティから ENI に関連するアクセス許可を取得します。  
必須: いいえ  
タイプ: リスト

 `security_groups`    
[AWS.Networking.SecurityGroup](node-networking-security-group.md) ノード。  
必須: いいえ  
タイプ: リスト

 `placement_group`    
[tosca.nodes.AWS.Compute.PlacementGroup](node-compute-placement-group.md) ノード。  
必須: いいえ  
タイプ: 文字列

 `user_data`    
[tosca.nodes.AWS.Compute.UserData](node-compute-user-data.md) ノードのリファレンス。ユーザーデータスクリプトは、セルフマネージド型ノードグループによって起動された Amazon EC2 インスタンスに渡されます。カスタムユーザーデータの実行に必要なアクセス許可を、ノードグループに渡される node\$1role に追加します。  
必須: いいえ  
タイプ: 文字列

 `labels`    
ノードラベルのリスト。ノードラベルには名前と値が必要です。次の条件を使用してラベルを作成します。  
+ 名前と値は で区切る必要があります`=`。
+ 名前と値の長さはそれぞれ最大 63 文字です。
+ ラベルには、文字 (A～Z、a～z)、数字 (0～9)、および次の文字を含めることができます。 `[-, _, ., *, ?]`
+ 名前と値は、英数字、、`?`または `*` 文字で始まる必要があります。
例: `myLabelName1=*NodeLabelValue1`  
必須: いいえ  
タイプ: リスト

## 例
<a name="node-eks-self-managed-node-example"></a>

```
SampleEKSSelfManagedNode:
  type: tosca.nodes.AWS.Compute.EKSSelfManagedNode
  capabilities:
    compute:
      properties:
        ami_id: "ami-123123EXAMPLE"
        instance_type: "c5.large"
        key_pair: "SampleKeyPair"
        root_volume_encryption: true
        root_volume_encryption_key_arn: "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        root_volume_size: 1500
    scaling:
      properties:
        desired_size: 1
        min_size: 1
        max_size: 1
  properties:
    node_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleNodeRole" 
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing"          
  requirements:
    cluster: SampleEKSCluster
    subnets:
      - SampleSubnet
    network_interfaces:
      - SampleNetworkInterface01
      - SampleNetworkInterface02
    security_groups:
      - SampleSecurityGroup01
      - SampleSecurityGroup02
    placement_group: SamplePlacementGroup
    user_data: CustomUserData
    labels:
      - "sampleLabelName001=sampleLabelValue001"
      - "sampleLabelName002=sampleLabelValue002"
```

# AWS.Compute.PlacementGroup
<a name="node-compute-placement-group"></a>

PlacementGroup ノードは、Amazon EC2 インスタンスを配置するためのさまざまな戦略をサポートします。

新しい Amazon EC2 インスタンスを起動する場合、Amazon EC2 サービスは、相関性のエラーを最小限に抑えるために、すべてのインスタンスが基盤となるハードウェアに分散されるようにインスタンスを配置します。*プレイスメントグループ*を使用することで、ワークロードのニーズに対応するために*独立した*インスタンスのグループのプレイスメントに影響を与えることができます。

## 構文
<a name="node-compute-placement-group-syntax"></a>

```
tosca.nodes.AWS.Compute.PlacementGroup
  properties:
    strategy: String
    partition\$1count: Integer
    tags: List
```

## プロパティ
<a name="node-compute-placement-group-properties"></a>

 `strategy`    
Amazon EC2 インスタンスを配置するために使用する戦略。  
必須: はい  
タイプ: 文字列  
使用できる値: CLUSTER \$1 PARTITION \$1 SPREAD\$1HOST \$1 SPREAD\$1RACK  
+ **CLUSTER** – アベイラビリティーゾーン内でインスタンスをまとめます。この戦略により、ワークロードは、ハイパフォーマンスコンピューティング (HPC) アプリケーションで典型的な緊密に組み合わされたノード間通信に必要な低レイテンシーネットワークパフォーマンスを実現できます。
+ **PARTITION** – インスタンスを複数の論理パーティションに分散させ、1 つのパーティション内のインスタンスのグループが基盤となるハードウェアを別のパーティション内のインスタンスのグループと共有しないようにします。この戦略は、Hadoop、Cassandra、Kafka などの大規模な分散および複製ワークロードで一般的に使用されます。
+ **SPREAD\$1RACK** – 相関性のエラーを減らすために、少数のインスタンスを基盤となるハードウェア全体に配置します。
+ **SPREAD\$1HOST** – Outpost の配置グループとのみ使用できます。相関性のエラーを減らすために、少数のインスタンスを基盤となるハードウェア全体に配置します。

 `partition_count`    
パーティション数。  
必須: `strategy` が `PARTITION` に設定されている場合のみ必須です。  
タイプ: 整数  
使用できる値: 1 \$1 2 \$13 \$1 4 \$1 5 \$1 6 \$1 7

 `tags`    
配置グループリソースにアタッチできるタグ。  
必須: いいえ  
タイプ: リスト

## 例
<a name="node-compute-placement-group-example"></a>

```
ExamplePlacementGroup:
  type: tosca.nodes.AWS.Compute.PlacementGroup
  properties:
    strategy: "PARTITION"
    partition_count: 5
    tags: 
      - tag_key=tag_value
```

# AWS.Compute.UserData
<a name="node-compute-user-data"></a>

AWS TNB は、Network Service Descriptor (NSD) の UserData ノードを介したカスタムユーザーデータを使用した Amazon EC2 インスタンスの起動をサポートしています。カスタムユーザーデータの詳細については、*Amazon EC2 ユーザーガイド*」の[「ユーザーデータとシェルスクリプト](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts)」を参照してください。

ネットワークのインスタンス化中、 AWS TNB はユーザーデータスクリプトを使用して Amazon EC2 インスタンス登録をクラスターに提供します。カスタムユーザーデータも提供されると、 AWS TNB は両方のスクリプトをマージし、[マルチミー](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-mime-multi)スクリプトとして Amazon EC2 に渡します。カスタムユーザーデータスクリプトは、Amazon EKS 登録スクリプトの前に実行されます。

ユーザーデータスクリプトでカスタム変数を使用するには、開く中括弧 `{` の後ろに感嘆符 `!` を追加します。例えば、スクリプトで `MyVariable` を使用するには、「`{!MyVariable}`」のように入力します。

**注記**  
AWS TNB は、最大 7 KB のサイズのユーザーデータスクリプトをサポートします。
 AWS TNB は CloudFormation を使用して`multimime`ユーザーデータスクリプトを処理およびレンダリングするため、スクリプトがすべての CloudFormation ルールに準拠していることを確認します。

## 構文
<a name="node-compute-user-data-syntax"></a>

```
tosca.nodes.AWS.Compute.UserData:
  properties:
    implementation: String
    content\$1type: String
```

## プロパティ
<a name="node-compute-user-data-properties"></a>

 `implementation`    
ユーザーデータスクリプト定義への相対パス。形式は `./scripts/script_name.sh` にする必要があります。  
必須: はい  
タイプ: 文字列

 `content_type`    
ユーザーデータスクリプトのコンテンツ型。  
必須: はい  
タイプ: 文字列  
使用できる値: `x-shellscript`

## 例
<a name="node-compute-user-data-example"></a>

```
ExampleUserData:
  type: tosca.nodes.AWS.Compute.UserData
  properties:
    content_type: "text/x-shellscript"
    implementation: "./scripts/customUserData.sh"
```

# AWS.Networking.SecurityGroup
<a name="node-networking-security-group"></a>

AWS TNB は、[Amazon EKS Kubernetes クラスターノードグループにアタッチできる Amazon EC2 セキュリティグループの](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html)プロビジョニングを自動化するセキュリティグループをサポートしています。

## 構文
<a name="node-networking-security-group-syntax"></a>

```
tosca.nodes.AWS.Networking.SecurityGroup
  properties:
    description: String
    name: String
    tags: List
  requirements:
    vpc: String
```

## プロパティ
<a name="node-networking-security-group-properties"></a>

 `description`    
セキュリティグループの説明。グループの説明には最大 255 文字を使用できます。文字 (A～Z および a～z)、数字 (0～9)、スペースおよび特殊文字 (.\$1-:/()\$1,@[]\$1=&;\$1\$1\$1\$1\$1) のみが使用できます。  
必須: はい  
タイプ: 文字列

 `name`    
セキュリティグループの名前。名前には最大 255 文字を使用できます。文字 (A～Z および a～z)、数字 (0～9)、スペースおよび特殊文字 (.\$1-:/()\$1,@[]\$1=&;\$1\$1\$1\$1\$1) のみが使用できます。  
必須: はい  
タイプ: 文字列

 `tags`    
セキュリティグループリソースにアタッチできるタグ。  
必須: いいえ  
タイプ: リスト

## 要件
<a name="node-networking-security-group-requirements"></a>

 `vpc`    
[AWS.Networking.VPC](node-vpc.md) ノード。  
必須: はい  
タイプ: 文字列

## 例
<a name="node-networking-security-group-example"></a>

```
SampleSecurityGroup001:
  type: tosca.nodes.AWS.Networking.SecurityGroup
  properties:
        description: "Sample Security Group for Testing"
        name: "SampleSecurityGroup"
        tags:
          - "Name=SecurityGroup"
          - "Environment=Testing"
      requirements:
        vpc: SampleVPC
```

# AWS.Networking.SecurityGroupEgressRule
<a name="node-networking-security-group-egress-rule"></a>

AWS TNB は、.Networking AWS.SecurityGroup にアタッチできる Amazon EC2 セキュリティグループ Egress ルールのプロビジョニングを自動化するセキュリティグループ Egress ルールをサポートしています。エグレストラフィックの宛先として cidr\$1ip/destination\$1security\$1group/destination\$1prefix\$1list を指定する必要があることに注意してください。

## 構文
<a name="node-networking-security-group-egress-rule-syntax"></a>

```
AWS.Networking.SecurityGroupEgressRule
  properties:
    ip\$1protocol: String
    from\$1port: Integer
    to\$1port: Integer
    description: String
    destination\$1prefix\$1list: String
    cidr\$1ip: String
    cidr\$1ipv6: String
  requirements:
    security\$1group: String
    destination\$1security\$1group: String
```

## プロパティ
<a name="node-networking-security-group-egress-rule-properties"></a>

 `cidr_ip`    
CIDR 形式の IPv4 アドレス範囲。エグレストラフィックを許可する CIDR 範囲を指定する必要があります。  
必須: いいえ  
タイプ: 文字列

 `cidr_ipv6`    
出力トラフィック用の CIDR 形式の IPv6 アドレス範囲。対象セキュリティグループ (`destination_security_group` または `destination_prefix_list`) または CIDR 範囲 (`cidr_ip` または `cidr_ipv6`)。  
必須: いいえ  
タイプ: 文字列

 `description`    
Egress (送信) セキュリティグループルールの説明。ルールの説明には最大 255 文字を使用できます。  
必須: いいえ  
タイプ: 文字列

 `destination_prefix_list`    
既存の Amazon VPC マネージドプレフィックスリストのプレフィックスリスト ID。これは、セキュリティグループに関連付けられたノードグループインスタンスからの送信先です。詳細については、「**Amazon VPC ユーザーガイド」の「[マネージドプレフィックスリスト](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html)」を参照してください。  
必須: いいえ  
タイプ: 文字列

 `from_port`    
プロトコルが TCP または UDP の場合、これはポート範囲の始点になります。プロトコルが ICMP または ICMPv6 の場合、これはタイプ番号です。-1 の値はすべての ICMP/ICMPv6 タイプを示します。すべての ICMP/ICMPv6 タイプを指定した場合、すべての ICMP/ICMPv6 コードを指定する必要があります。  
必須: いいえ  
タイプ: 整数

 `ip_protocol`    
IP プロトコル名 (tcp、udp、icmp、icmpv6) またはプロトコル番号。-1 を使用してすべてのプロトコルを指定します。セキュリティグループルールを許可するときに、-1 または tcp、udp、icmp や icmpv6 以外のプロトコル番号を指定すると、指定したポート範囲に関係なく、すべてのポートでトラフィックが許可されます。tcp、udp、および icmp には、ポート範囲を指定する必要があります。icmpv6 の場合、ポート範囲はオプションです。ポート範囲を省略すると、すべてのタイプとコードのトラフィックが許可されます。  
必須: はい  
タイプ: 文字列

 `to_port`    
プロトコルが TCP または UDP の場合、これはポート範囲の終わりになります。プロトコルが ICMP または ICMPv6 の場合、これはコードです。-1 の値はすべての ICMP/ICMPv6 コードを示します。すべての ICMP/ICMPv6 タイプを指定した場合、すべての ICMP/ICMPv6 コードを指定する必要があります。  
必須: いいえ  
タイプ: 整数

## 要件
<a name="node-networking-security-group-egress-rule-requirements"></a>

 `security_group`    
このルールを追加するセキュリティグループの ID。  
必須: はい  
タイプ: 文字列

 `destination_security_group`    
エグレストラフィックが許可される宛先セキュリティグループの ID または TOSCA リファレンス。  
必須: いいえ  
タイプ: 文字列

## 例
<a name="node-networking-security-group-egress-rule-example"></a>

```
SampleSecurityGroupEgressRule:
      type: tosca.nodes.AWS.Networking.SecurityGroupEgressRule
      properties:
        ip_protocol: "tcp"
        from_port: 8000
        to_port: 9000
        description: "Egress Rule for sample security group"
        cidr_ipv6: "2600:1f14:3758:ca00::/64"    
      requirements:
        security_group: SampleSecurityGroup001
        destination_security_group: SampleSecurityGroup002
```

# AWS.Networking.SecurityGroupIngressRule
<a name="node-networking-security-group-ingress-rule"></a>

AWS TNB は、.Networking AWS.SecurityGroup にアタッチできる Amazon EC2 セキュリティグループイングレスルールのプロビジョニングを自動化するセキュリティグループイングレスルールをサポートしています。入力トラフィックのソースとして cidr\$1ip/source\$1security\$1group/source\$1prefix\$1list を指定する必要があることに注意してください。

## 構文
<a name="node-networking-security-group-ingress-rule-syntax"></a>

```
AWS.Networking.SecurityGroupIngressRule
  properties:
    ip\$1protocol: String
    from\$1port: Integer
    to\$1port: Integer
    description: String
    source\$1prefix\$1list: String
    cidr\$1ip: String
    cidr\$1ipv6: String
  requirements:
    security\$1group: String
    source\$1security\$1group: String
```

## プロパティ
<a name="node-networking-security-group-ingress-rule-properties"></a>

 `cidr_ip`    
CIDR 形式の IPv4 アドレス範囲。入力トラフィックを許可する CIDR 範囲を指定する必要があります。  
必須: いいえ  
タイプ: 文字列

 `cidr_ipv6`    
入力トラフィック用の CIDR 形式の IPv6 アドレス範囲。ソースセキュリティグループ (`source_security_group` または `source_prefix_list`) または CIDR 範囲 (`cidr_ip` または `cidr_ipv6`)。  
必須: いいえ  
タイプ: 文字列

 `description`    
入力 (受信) セキュリティグループルールの説明。ルールの説明には最大 255 文字を使用できます。  
必須: いいえ  
タイプ: 文字列

 `source_prefix_list`    
既存の Amazon VPC マネージドプレフィックスリストのプレフィックスリスト ID。このソースから、セキュリティグループに関連付けられているノードグループインスタンスがトラフィックを受信できます。詳細については、「**Amazon VPC ユーザーガイド」の「[マネージドプレフィックスリスト](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html)」を参照してください。  
必須: いいえ  
タイプ: 文字列

 `from_port`    
プロトコルが TCP または UDP の場合、これはポート範囲の始点になります。プロトコルが ICMP または ICMPv6 の場合、これはタイプ番号です。-1 の値はすべての ICMP/ICMPv6 タイプを示します。すべての ICMP/ICMPv6 タイプを指定した場合、すべての ICMP/ICMPv6 コードを指定する必要があります。  
必須: いいえ  
タイプ: 整数

 `ip_protocol`    
IP プロトコル名 (tcp、udp、icmp、icmpv6) またはプロトコル番号。-1 を使用してすべてのプロトコルを指定します。セキュリティグループルールを許可するときに、-1 または tcp、udp、icmp や icmpv6 以外のプロトコル番号を指定すると、指定したポート範囲に関係なく、すべてのポートでトラフィックが許可されます。tcp、udp、および icmp には、ポート範囲を指定する必要があります。icmpv6 の場合、ポート範囲はオプションです。ポート範囲を省略すると、すべてのタイプとコードのトラフィックが許可されます。  
必須: はい  
タイプ: 文字列

 `to_port`    
プロトコルが TCP または UDP の場合、これはポート範囲の終わりになります。プロトコルが ICMP または ICMPv6 の場合、これはコードです。-1 の値はすべての ICMP/ICMPv6 コードを示します。すべての ICMP/ICMPv6 タイプを指定した場合、すべての ICMP/ICMPv6 コードを指定する必要があります。  
必須: いいえ  
タイプ: 整数

## 要件
<a name="node-networking-security-group-ingress-rule-requirements"></a>

 `security_group`    
このルールを追加するセキュリティグループの ID。  
必須: はい  
タイプ: 文字列

 `source_security_group`    
入力トラフィックを許可するソースセキュリティグループの ID または TOSCA リファレンス。  
必須: いいえ  
タイプ: 文字列

## 例
<a name="node-networking-security-group-ingress-rule-example"></a>

```
SampleSecurityGroupIngressRule:
      type: tosca.nodes.AWS.Networking.SecurityGroupIngressRule
      properties:
        ip_protocol: "tcp"
        from_port: 8000
        to_port: 9000
        description: "Ingress Rule for free5GC cluster on IPv6"
        cidr_ipv6: "2600:1f14:3758:ca00::/64"    
      requirements:
        security_group: SampleSecurityGroup1
        source_security_group: SampleSecurityGroup2
```

# AWS.Resource.Import
<a name="node-resource-import"></a>

次の AWS リソースを AWS TNB にインポートできます。
+ VPC
+ サブネット
+ ルートテーブル
+ インターネットゲートウェイ
+ セキュリティグループ

## 構文
<a name="node-resource-import-syntax"></a>

```
tosca.nodes.AWS.Resource.Import
  properties:
    resource\$1type: String
    resource\$1id: String
```

## プロパティ
<a name="node-resource-import-properties"></a>

 `resource_type`    
 AWS TNB にインポートされるリソースタイプ。  
必須: いいえ  
タイプ: リスト

 `resource_id`    
 AWS TNB にインポートされるリソース ID。  
必須: いいえ  
タイプ: リスト

## 例
<a name="node-resource-import-example"></a>

```
SampleImportedVPC:
  type: tosca.nodes.AWS.Resource.Import
  properties:
    resource_type: "tosca.nodes.AWS.Networking.VPC"
    resource_id: "vpc-123456"
```

# AWS.Networking.ENI
<a name="node-eni"></a>

ネットワークインターフェイスは、仮想ネットワークカードを表す VPC 内の論理ネットワーキングコンポーネントです。ネットワークインターフェイスには、サブネットに基づいて自動または手動で IP アドレスが割り当てられます。サブネットに Amazon EC2 インスタンスをデプロイしたら、そのインスタンスにネットワークインターフェイスをアタッチするか、その Amazon EC2 インスタンスからネットワークインターフェイスをデタッチして、そのサブネット内の別の Amazon EC2 インスタンスに再アタッチできます。デバイスインデックスは、アタッチの順番における位置を識別します。

## 構文
<a name="node-eni-syntax"></a>

```
tosca.nodes.AWS.Networking.ENI:
  properties:
    device\$1index: Integer
    source\$1dest\$1check: Boolean
    tags: List
  requirements:
    subnet: String
    security\$1groups: List
```

## プロパティ
<a name="node-eni-properties"></a>

 `device_index`    
デバイスインデックスはゼロより大きくする必要があります。  
必須: はい  
型: 整数

 `source_dest_check`    
ネットワークインターフェイスが送信元/送信先チェックを実行するかどうかを示します。`true` はチェックが有効であることを示し、`false` は無効であることを示します。  
許可される値: true、false  
デフォルト: true  
必須: いいえ  
型: ブール

 `tags`    
リソースにアタッチするタグ。  
必須: いいえ  
タイプ: リスト

## 要件
<a name="node-eni-requirements"></a>

 `subnet`    
[AWS.Networking.Subnet](node-subnet.md) ノード。  
必須: はい  
タイプ: 文字列

 `security_groups`    
[AWS.Networking.SecurityGroup](node-networking-security-group.md) ノード。  
必須: いいえ  
タイプ: 文字列

## 例
<a name="node-eni-example"></a>

```
SampleENI:
  type: tosca.nodes.AWS.Networking.ENI
  properties:
    device_index: 5
    source_dest_check: true
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing" 
  requirements:
    subnet: SampleSubnet
    security_groups:
      - SampleSecurityGroup01
      - SampleSecurityGroup02
```

# AWS.HookExecution
<a name="node-hook-execution"></a>

ライフサイクルフックを使用すると、インフラストラクチャやネットワークのインスタンス化の一環として独自のスクリプトを実行できます。

## 構文
<a name="node-hook-execution-syntax"></a>

```
tosca.nodes.AWS.HookExecution:
  capabilities:
    execution:
      properties:
        type: String
  requirements:
    definition: String
    vpc: String
```

## 機能
<a name="node-hook-execution-capabilities"></a><a name="node_hook_execution"></a>`execution`

フックスクリプトを実行するフック実行エンジンのプロパティ。

 `type`    
フック実行エンジンのタイプ。  
必須: いいえ  
タイプ: 文字列  
使用できる値: `CODE_BUILD` 

## 要件
<a name="node-hook-execution-requirements"></a>

 `definition`    
[AWS.HookDefinition.Bash](node-hook-bash.md) ノード。  
必須: はい  
タイプ: 文字列

 `vpc`    
[AWS.Networking.VPC](node-vpc.md) ノード。  
必須: はい  
タイプ: 文字列

## 例
<a name="node-hook-execution-example"></a>

```
SampleHookExecution:
  type: tosca.nodes.AWS.HookExecution
  requirements:
    definition: SampleHookScript
    vpc: SampleVPC
```

# AWS.Networking.InternetGateway
<a name="node-internet-gateway"></a>

 AWS インターネットゲートウェイノードを定義します。

## 構文
<a name="node-internet-gateway-syntax"></a>

```
tosca.nodes.AWS.Networking.InternetGateway:
  capabilities:
    routing:
      properties:
        dest\$1cidr: String
        ipv6\$1dest\$1cidr: String    
  properties:
    tags: List
    egress\$1only: Boolean
  requirements:
    vpc: String
    route\$1table: String
```

## 機能
<a name="node-internet-gateway-capabilities"></a><a name="node_internet_gateway_routing"></a>`routing`

VPC 内のルーティング接続を定義するプロパティ。`dest_cidr` または `ipv6_dest_cidr` プロパティのいずれかを含める必要があります。

 `dest_cidr`    
ルーティング先の照合に使用する IPv4 CIDR ブロック。このプロパティは `RouteTable` でルートを作成するのに使用され、その値は `DestinationCidrBlock` として使用されます。  
必須: `ipv6_dest_cidr` プロパティを含めた場合は「いいえ」。  
タイプ: 文字列

 `ipv6_dest_cidr`    
ルーティング先の照合に使用する IPv6 CIDR ブロック。  
必須: `dest_cidr` プロパティを含めた場合は「いいえ」。  
タイプ: 文字列

## プロパティ
<a name="node-internet-gateway-properties"></a>

 `tags`    
リソースにアタッチするタグ。  
必須: いいえ  
タイプ: リスト

 `egress_only`    
IPv6 固有のプロパティ。インターネットゲートウェイが出力通信専用かどうかを示します。`egress_only` が true の場合は、`ipv6_dest_cidr` プロパティを定義する必要があります。  
必須: いいえ  
型: ブール

## 要件
<a name="node-internet-gateway-requirements"></a>

 `vpc`    
[AWS.Networking.VPC](node-vpc.md) ノード。  
必須: はい  
タイプ: 文字列

 `route_table`    
[AWS.Networking.RouteTable](node-route-table.md) ノード。  
必須: はい  
タイプ: 文字列

## 例
<a name="node-internet-gateway-example"></a>

```
Free5GCIGW:
  type: tosca.nodes.AWS.Networking.InternetGateway
  properties:
    egress_only: false
  capabilities:
    routing:
      properties:
        dest_cidr: "0.0.0.0/0"
        ipv6_dest_cidr: "::/0"
  requirements:
    route_table: Free5GCRouteTable
    vpc: Free5GCVPC
Free5GCEGW:
  type: tosca.nodes.AWS.Networking.InternetGateway
  properties:
    egress_only: true
  capabilities:
    routing:
      properties:
        ipv6_dest_cidr: "::/0"
  requirements:
    route_table: Free5GCPrivateRouteTable
    vpc: Free5GCVPC
```

# AWS.Networking.RouteTable
<a name="node-route-table"></a>

ルートテーブルには、VPC またはゲートウェイ内のサブネットからのネットワークトラフィックの経路を判断する、ルートと呼ばれる一連のルールが含まれます。ルートテーブルを VPC に関連付ける必要があります。

## 構文
<a name="node-route-table-syntax"></a>

```
tosca.nodes.AWS.Networking.RouteTable:
  properties:
    tags: List
  requirements:
    vpc: String
```

## プロパティ
<a name="node-route-table-properties"></a>

 `tags`    
このリソースにアタッチするタグ。  
必須: いいえ  
タイプ: リスト

## 要件
<a name="node-route-table-requirements"></a>

 `vpc`    
[AWS.Networking.VPC](node-vpc.md) ノード。  
必須: はい  
タイプ: 文字列

## 例
<a name="node-route-table-example"></a>

```
SampleRouteTable:
  type: tosca.nodes.AWS.Networking.RouteTable
  properties: 
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing"
  requirements:
    vpc: SampleVPC
```

# AWS.Networking.Subnet
<a name="node-subnet"></a>

サブネットは、VPC の IP アドレスの範囲で、全体が 1 つのアベイラビリティーゾーンに存在する必要があります。サブネットの VPC、CIDR ブロック、アベイラビリティーゾーン、およびルートテーブルを指定する必要があります。また、サブネットがプライベートかパブリックかを定義する必要もあります。

## 構文
<a name="node-subnet-syntax"></a>

```
tosca.nodes.AWS.Networking.Subnet:
  properties:
    type: String
    availability\$1zone: String
    cidr\$1block: String
    ipv6\$1cidr\$1block: String
    ipv6\$1cidr\$1block\$1suffix: String        
    outpost\$1arn: String
    tags: List
  requirements:
    vpc: String
    route\$1table: String
```

## プロパティ
<a name="node-subnet-properties"></a>

 `type`    
このサブネットで起動されたインスタンスがパブリック IPv4 アドレスを受け取るかどうかを示します。  
必須: はい  
タイプ: 文字列  
使用できる値: `PUBLIC` \$1 `PRIVATE`

 `availability_zone`    
サブネットのアベイラビリティーゾーン。このフィールドは、 AWS リージョン内の AWS アベイラビリティーゾーン (米国西部 `us-west-2` (オレゴン) など) をサポートします。また、 など、アベイラビリティーゾーン内の AWS ローカルゾーンもサポートしています`us-west-2-lax-1a`。  
必須: はい  
タイプ: 文字列

 `cidr_block`    
サブネットの CIDR ブロック。  
必須: いいえ  
タイプ: 文字列

 `ipv6_cidr_block`    
IPv6 サブネットの作成に使用される CIDR ブロック。このプロパティを含める場合は、`ipv6_cidr_block_suffix` を含めないでください。  
必須: いいえ  
タイプ: 文字列

 `ipv6_cidr_block_suffix`    
Amazon VPC 上で作成されたサブネットの IPv6 CIDR ブロックの、2 桁の 16 進数のサフィックス。次の形式を使用します。`2-digit hexadecimal::/subnetMask`  
このプロパティを含める場合は、`ipv6_cidr_block` を含めないでください。  
必須: いいえ  
タイプ: 文字列

 `outpost_arn`    
サブネット AWS Outposts が作成される の ARN。Amazon EKS セルフマネージド型ノードを AWS Outpostsで起動する場合は、このプロパティを NSD テンプレートに追加します。詳細については、「**Amazon EKS ユーザーガイド」の「[AWS Outpostsにおける Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts.html)」を参照してください。  
いこのプロパティを NSD テンプレートに追加する場合、`availability_zone` プロパティの値を AWS Outpostsのアベイラビリティーゾーンに設定する必要があります。  
必須: いいえ  
タイプ: 文字列

 `tags`    
リソースにアタッチするタグ。  
必須: いいえ  
タイプ: リスト

## 要件
<a name="node-subnet-requirements"></a>

 `vpc`    
[AWS.Networking.VPC](node-vpc.md) ノード。  
必須: はい  
タイプ: 文字列

 `route_table`    
[AWS.Networking.RouteTable](node-route-table.md) ノード。  
必須: はい  
タイプ: 文字列

## 例
<a name="node-subnet-example"></a>

```
SampleSubnet01:
  type: tosca.nodes.AWS.Networking.Subnet
  properties:
    type: "PUBLIC"
    availability_zone: "us-east-1a"
    cidr_block: "10.100.50.0/24"
    ipv6_cidr_block_suffix: "aa::/64"
    outpost_arn: "arn:aws:outposts:region:accountId:outpost/op-11223344EXAMPLE"
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing"
  requirements:
    vpc: SampleVPC
    route_table: SampleRouteTable
         
SampleSubnet02:
  type: tosca.nodes.AWS.Networking.Subnet
  properties:
    type: "PUBLIC"
    availability_zone: "us-west-2b"
    cidr_block: "10.100.50.0/24"
    ipv6_cidr_block: "2600:1f14:3758:ca00::/64"
  requirements:
    route_table: SampleRouteTable
    vpc: SampleVPC
```

# AWS.Deployment.VNFDeployment
<a name="node-vnf-deployment"></a>

NF デプロイは、それに関連するインフラストラクチャとアプリケーションを提供することでモデル化されます。[cluster](#node_vnf_deployment_cluster) 属性は、NF をホストする EKS クラスターを指定します。[vnfs](#node_vnf_deployment_vnfs) 属性は、デプロイのネットワーク機能を指定します。また、オプションで [pre\$1create](#node_vnf_deployment_pre_create) と [post\$1create](#node_vnf_deployment_post_create) タイプのライフサイクルフックオペレーションを提供し、インベントリ管理システム API の呼び出しなど、デプロイ固有の命令を実行することもできます。

## 構文
<a name="node-vnf-deployment-syntax"></a>

```
tosca.nodes.AWS.Deployment.VNFDeployment:
  requirements:
    deployment: String
    cluster: String
    vnfs: List
  interfaces:
    Hook:
      pre\$1create: String
      post\$1create: String
```

## 要件
<a name="node-vnf-deployment-requirements"></a>

 `deployment`    
[AWS.Deployment.VNFDeployment](node-vnf.md) ノード。  
必須: いいえ  
タイプ: 文字列

 `cluster`    
[AWS.Compute.EKS](node-eks.md) ノード。  
必須: はい  
タイプ: 文字列

 `vnfs`    
[AWS.VNF](node-vnf.md) ノード。  
必須: はい  
タイプ: 文字列

## インターフェイス
<a name="node-vnf-deployment-interfaces"></a>

### フック
<a name="node-vnf-deployment-hooks"></a>

ライフサイクルフックが実行されるステージを定義します。

 `pre_create`    
[AWS.HookExecution](node-hook-execution.md) ノード。このフックは `VNFDeployment` ノードがデプロイされる前に実行されます。  
必須: いいえ  
タイプ: 文字列

 `post_create`    
[AWS.HookExecution](node-hook-execution.md) ノード。このフックは `VNFDeployment` ノードがデプロイされた後に実行されます。  
必須: いいえ  
タイプ: 文字列

## 例
<a name="node-vnf-deployment-example"></a>

```
SampleHelmDeploy:
  type: tosca.nodes.AWS.Deployment.VNFDeployment
  requirements:
    deployment: SampleHelmDeploy2
    cluster: SampleEKS
    vnfs:
      - vnf.SampleVNF
  interfaces:
    Hook:
      pre_create: SampleHook
```

# AWS.Networking.VPC
<a name="node-vpc"></a>

仮想プライベートクラウド (VPC) の CIDR ブロックを指定する必要があります。

## 構文
<a name="node-vpc-syntax"></a>

```
tosca.nodes.AWS.Networking.VPC:
  properties:
    cidr\$1block: String
    ipv6\$1cidr\$1block: String        
    dns\$1support: String
    tags: List
```

## プロパティ
<a name="node-vpc-properties"></a>

 `cidr_block`    
VPC の IPv4 ネットワーク範囲 (CIDR 表記)。  
必須: はい  
タイプ: 文字列

 `ipv6_cidr_block`    
VPC の作成に使用される IPv6 CIDR ブロック。  
許可される値: `AMAZON_PROVIDED`  
必須: いいえ  
タイプ: 文字列

 `dns_support`    
VPC 内に起動されるインスタンスが DNS ホスト名を取得するかどうかを示します。  
必須: いいえ  
型: ブール  
デフォルト: `false` 

 `tags`    
このリソースにアタッチするタグ。  
必須: いいえ  
タイプ: リスト

## 例
<a name="node-vpc-example"></a>

```
SampleVPC:
  type: tosca.nodes.AWS.Networking.VPC
  properties:
    cidr_block: "10.100.0.0/16"
    ipv6_cidr_block: "AMAZON_PROVIDED"
    dns_support: true
    tags:
      - "Name=SampleVPC"
      - "Environment=Testing"
```

# AWS.Networking.NATGateway
<a name="node-nat-gateway"></a>

パブリックまたはプライベート NAT ゲートウェイノードをサブネット上で定義できます。パブリックゲートウェイの場合、Elastic IP 割り当て ID を指定しない場合、 AWS TNB はアカウントに Elastic IP を割り当て、ゲートウェイに関連付けます。

## 構文
<a name="node-nat-gateway-syntax"></a>

```
tosca.nodes.AWS.Networking.NATGateway:
  requirements:
    subnet: String
    internet\$1gateway: String
  properties:
    type: String
    eip\$1allocation\$1id: String
    tags: List
```

## プロパティ
<a name="node-nat-gateway-requirements"></a>

 `subnet`    
[AWS.Networking.Subnet](https://docs.aws.amazon.com/tnb/latest/ug/node-subnet.html) ノードのリファレンス。  
必須: はい  
タイプ: 文字列

 `internet_gateway`    
[AWS.Networking.InternetGateway](https://docs.aws.amazon.com/tnb/latest/ug/node-internet-gateway.html) ノードのリファレンス。  
必須: はい  
タイプ: 文字列

## プロパティ
<a name="node-nat-gateway-properties"></a>

 `type`    
ゲートウェイがパブリックかプライベートかを示します。  
許可される値: `PUBLIC`、`PRIVATE`  
必須: はい  
タイプ: 文字列

 `eip_allocation_id`    
Elastic IP アドレスの割り当てを表す ID。  
必須: いいえ  
タイプ: 文字列

 `tags`    
このリソースにアタッチするタグ。  
必須: いいえ  
タイプ: リスト

## 例
<a name="node-nat-gateway-example"></a>

```
Free5GCNatGateway01:
  type: tosca.nodes.AWS.Networking.NATGateway
    requirements:
       subnet: Free5GCSubnet01
       internet_gateway: Free5GCIGW
    properties:
       type: PUBLIC
       eip_allocation_id: eipalloc-12345
```

# AWS.Networking.Route
<a name="node-route"></a>

送信先ルートをターゲットリソースとして NAT Gateway に関連付け、関連付けられたルートテーブルにルートを追加するルートノードを定義できます。

## 構文
<a name="node-route-syntax"></a>

```
tosca.nodes.AWS.Networking.Route:
  properties:
    dest\$1cidr\$1blocks: List          
  requirements:
    nat\$1gateway: String
    route\$1table: String
```

## プロパティ
<a name="node-route-properties"></a>

 `dest_cidr_blocks`    
ターゲットリソースへの送信先 IPv4 ルートのリスト。  
必須: はい  
タイプ: リスト  
メンバー型: 文字列

## 要件
<a name="node-route-requirements"></a>

 `nat_gateway`    
[AWS.Networking.NATGateway](https://docs.aws.amazon.com/tnb/latest/ug/node-nat-gateway.html) ノードのリファレンス。  
必須: はい  
タイプ: 文字列

 `route_table`    
[AWS.Networking.RouteTable](https://docs.aws.amazon.com/tnb/latest/ug/node-route-table.html) ノードのリファレンス。  
必須: はい  
タイプ: 文字列

## 例
<a name="node-route-example"></a>

```
Free5GCRoute:
  type: tosca.nodes.AWS.Networking.Route
  properties: 
    dest_cidr_blocks: 
      - 0.0.0.0/0
      - 10.0.0.0/28    
  requirements:
    nat_gateway: Free5GCNatGateway01
    route_table: Free5GCRouteTable
```

# AWS.Store.SSMParameters
<a name="node-ssm"></a>

 AWS TNB を使用して SSM パラメータを作成できます。作成する SSM パラメータは SSM で作成され、 AWS TTB ネットワークインスタンス ID がプレフィックスとして付けられます。これにより、同じ NSD テンプレートを使用して複数のインスタンスがインスタンス化およびアップグレードされた場合に、パラメータ値が上書きされるのを防ぎます。

## 構文
<a name="node-ssm-syntax"></a>

```
tosca.nodes.AWS.Store.SSMParameters
  properties:
    parameters:
      name: String
      value: String         
    tags: List
```

## プロパティ
<a name="node-ssm-properties"></a>パラメータ

 `name`    
ssm プロパティの名前。次の形式を使用します。`^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+$`  
各パラメータの名前は 256 文字未満である必要があります。  
必須: はい  
タイプ: 文字列

 `value`    
ssm プロパティの値。以下のいずれかの形式を使用します。  
+ 参照のない値の場合: `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+$`
+ 静的参照の場合: `^\$\{[a-zA-Z0-9]+\.(properties|capabilities|requirements)(\.([a-zA-Z0-9\-_]+))+\}$`
+ 動的参照の場合: `^\$\{[a-zA-Z0-9]+\.(name|id|arn)\}$`
各パラメータの値は 4 KB 未満である必要があります。  
必須: はい  
タイプ: 文字列

 `tags`    
SSM プロパティにアタッチできるタグ。  
必須: いいえ  
タイプ: リスト

## 例
<a name="node-ssm-example"></a>

```
SampleSSM
    type: tosca.nodes.AWS.Store.SSMParameters
    properties:
        parameters:
            - name: "Name1"
              value: "Value1"
            - name: "EKS_VERSION"
              value: "${SampleEKS.properties.version}"
            - name: "VPC_ID"
              value: "${SampleVPC.id}
            - name: "REGION"
              value: "${AWS::Region}
        tags:
            - "tagKey=tagValue"
```