

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

# 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"
```