

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

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