AWS.コンピューティング。EKSSelfManagedNode - AWS Telco Network Builder

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

AWS.コンピューティング。EKSSelfManagedNode

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

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

  • SSH アクセス用の Amazon EC2キーペアを指定します。

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

  • インスタンスタイプと、必要なサイズ、最小サイズ、最大サイズを指定します。

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

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

構文

tosca.nodes.AWS.Compute.EKSSelfManagedNode: capabilities: compute: properties: ami_id: String instance_type: String 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 requirements: cluster: String subnets: List network_interfaces: List security_groups: List placement_group: String user_data: String labels: List

機能

compute

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

ami_id

インスタンスの起動に使用される AMI ID。 AWS TNB は、 を活用するインスタンスをサポートしますIMDSv2。詳細については、「IMDS バージョン」を参照してください。

必須: はい

型: 文字列

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 キーARNの 。 AWS TNB は、通常のキー ARN、マルチリージョンキー ARN、およびエイリアス をサポートしますARN。

必須: いいえ

型: 文字列

注記
  • root_volume_encryption が false の場合、 を含めないでくださいroot_volume_encryption_key_arn

  • AWS TNB は、Amazon EBSでバックアップされた AMIのルートボリューム暗号化をサポートします。

  • AMIのルートボリュームが既に暗号化されている場合は、ルートボリュームを再暗号化するには、 root_volume_encryption_key_arn の AWS TNB を含める必要があります。

  • AMIのルートボリュームが暗号化されていない場合、 AWS TNB は root_volume_encryption_key_arn を使用してルートボリュームを暗号化します。

    を含めない場合root_volume_encryption_key_arn、 AWS TNB は AWS Managed Services を使用してルートボリュームを暗号化します。

  • AWS TNB は暗号化された を復号しませんAMI。

scaling

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

desired_size

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

必須: はい

型: 整数

min_size

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

必須: はい

型: 整数

max_size

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

必須: はい

型: 整数

プロパティ

node_role

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

必須: はい

型: 文字列

tags

リソースにアタッチするタグ。タグは、リソースによって作成されたインスタンスに伝播されます。

必須:いいえ

タイプ: リスト

要件

cluster

AWS.Compute.EKS ノード。

必須: はい

型: 文字列

subnets

AWS.Networking.Subnet ノード。

必須:はい

タイプ: リスト

network_interfaces

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

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

必須:いいえ

タイプ: リスト

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

必須:いいえ

タイプ: リスト

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