AWS.Compute.EKSManagedNode - AWS 通信ネットワークビルダー

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

AWS.Compute.EKSManagedNode

AWS TNB は、Amazon EKS Kubernetes クラスターのノード (Amazon EC2 インスタンス) のプロビジョニングとライフサイクル管理を自動化する EKS Managed Node グループをサポートしています。EKS ノードグループを作成するには、次の手順を実行します。

  • AMI の ID または AMI タイプを指定して、クラスターワーカーノードの Amazon マシンイメージ (AMI) を選択します。

  • SSH アクセス用の Amazon EC2 キーペアと、ノードグループのスケーリングプロパティを指定します。

  • ノードグループが Amazon EKS クラスターに関連付けられていることを確認します。

  • ワーカーノードのサブネットを指定します。

  • 必要に応じて、セキュリティグループ、ノードラベル、プレイスメントグループをノードグループにアタッチします。

構文

tosca.nodes.AWS.Compute.EKSManagedNode: capabilities: compute: properties: ami_type: String ami_id: String instance_types: List key_pair: String root_volume_encryption: Boolean root_volume_encryption_key_arn: String scaling: properties: desired_size: Integer min_size: Integer max_size: Integer properties: node_role: String tags: List kubernetes_version: String requirements: cluster: String subnets: List network_interfaces: List security_groups: List placement_group: String user_data: String labels: List

機能

compute

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

ami_type

Amazon EKS がサポートする AMI タイプ。

必須: はい

タイプ: 文字列

使用できる値: AL2_x86_64 | AL2_x86_64_GPU | AL2_ARM_64 | CUSTOM | BOTTLEROCKET_ARM_64 | BOTTLEROCKET_x86_64 | BOTTLEROCKET_ARM_64_NVIDIA | 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 TNB 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 を復号しません。

scaling

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

desired_size

この NodeGroup のインスタンスの数。

必須: はい

タイプ: 整数

min_size

この NodeGroup のインスタンスの最小数。

必須: はい

タイプ: 整数

max_size

この NodeGroup のインスタンスの最大数。

必須: はい

タイプ: 整数

プロパティ

node_role

Amazon EC2 インスタンスにアタッチされた IAM ロールの ARN。

必須: はい

タイプ: 文字列

tags

リソースにアタッチするタグ。

必須: いいえ

タイプ: リスト

kubernetes_version

Managed Node group. AWS TNB の Kubernetes バージョンは、Kubernetes バージョン 1.23 から 1.30 をサポートしています。以下の点を考慮してください。

  • kubernetes_version または を指定しますami_id。両方を指定することはできません。

  • は、 AWS.Compute.EKSManagedNode バージョン以下kubernetes_versionである必要があります。

  • .Compute AWS.EKSManagedNode バージョンと では、3 つのバージョンが異なる場合がありますkubernetes_version

  • kubernetes_version または が指定されていない場合ami_id、 AWS TNB は AWS.Compute.EKSManagedNodeバージョンの最新の AMI を使用して を作成します。 EKSManagedNode

必須: いいえ

タイプ: 文字列

指定できる値: 1.23 | 1.24 | 1.25 | 1.26 | 1.27 | 1.28 | 1.29 | 1.30

要件

cluster

AWS.Compute.EKS ノード。

必須: はい

タイプ: 文字列

subnets

AWS.Networking.Subnet ノード。

必須: はい

タイプ: リスト

network_interfaces

AWS.Networking.ENI ノード。ネットワークインターフェイスとサブネットが同じアベイラビリティーゾーンに設定されていることを確認してください。異なる場合は、インスタンス化が失敗します。

を設定するとnetwork_interfacesAWS.Compute.EKS ノードに multus_roleプロパティを含めた場合、 AWS TNB は multusプロパティから ENIs に関連するアクセス許可を取得します。それ以外の場合、 AWS TNB は node_role プロパティから ENI に関連するアクセス許可を取得します。

必須: いいえ

タイプ: リスト

security_groups

AWS.Networking.SecurityGroup ノード。

必須: いいえ

タイプ: リスト

placement_group

tosca.nodes.AWS.Compute.PlacementGroup ノード。

必須: いいえ

タイプ: 文字列

user_data

tosca.nodes.AWS.Compute.UserData ノードのリファレンス。ユーザーデータスクリプトは、マネージド型ノードグループによって起動される Amazon EC2 インスタンスに渡されます。カスタムユーザーデータの実行に必要なアクセス許可を、ノードグループに渡される node_role に追加します。

必須: いいえ

タイプ: 文字列

labels

ノードラベルのリスト。ノードラベルには名前と値が必要です。次の条件を使用してラベルを作成します。

  • 名前と値は で区切る必要があります=

  • 名前と値の長さは、それぞれ最大 63 文字です。

  • ラベルには、文字 (A~Z、a~z)、数字 (0~9)、および次の文字を含めることができます。 [-, _, ., *, ?]

  • 名前と値は、英数字、、?または * 文字で開始および終了する必要があります。

例えば、myLabelName1=*NodeLabelValue1

必須: いいえ

タイプ: リスト

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