

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Referensi TOSCA untuk TNB AWS
Referensi TOSCA

Spesifikasi Topologi dan Orkestrasi untuk Aplikasi Cloud (TOSCA) adalah sintaks deklaratif yang CSPs digunakan untuk menggambarkan topologi layanan web berbasis cloud, komponennya, hubungan, dan proses yang mengelolanya. CSPs jelaskan titik koneksi, tautan logis antara titik koneksi, dan kebijakan seperti afinitas dan keamanan dalam templat TOSCA. CSPs kemudian unggah template ke AWS TNB yang mensintesis sumber daya yang dibutuhkan untuk membangun jaringan 5G yang berfungsi di seluruh AWS Availability Zones.

**Topics**
+ [

# Templat VNFD
](vnfd-template.md)
+ [

# Templat deskriptor layanan jaringan
](nsd-template.md)
+ [

# Node umum
](common-nodes.md)

# Templat VNFD
Templat VNFD

Mendefinisikan template deskriptor fungsi jaringan virtual (VNFD).

## Sintaks


```
tosca_definitions_version: tnb_simple_yaml_1_0

topology_template:

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

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

## Templat topologi


 `node_templates`    
Node TOSCA. AWS Node yang mungkin adalah:  
+ [AWS.VNF](node-vnf.md)
+ [AWS.Artefacts.Helm](node-helm.md)

# AWS.VNF
AWS.VNF

Mendefinisikan node fungsi jaringan AWS virtual (VNF).

## Sintaks


```
tosca.nodes.AWS.VNF:
  properties:
    descriptor\$1id: String
    descriptor\$1version: String
    descriptor\$1name: String
    provider: String
  requirements:
    helm: String
```

## Properti


 `descriptor_id`    
UUID deskriptor.  
Wajib: Ya  
Tipe: String  
Pola: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`

 `descriptor_version`    
Versi VNFD.  
Wajib: Ya  
Tipe: String  
Pola: `^[0-9]{1,5}\\.[0-9]{1,5}\\.[0-9]{1,5}.*`

 `descriptor_name`    
Nama deskriptor.  
Wajib: Ya  
Tipe: String

 `provider`    
Penulis VNFD.  
Wajib: Ya  
Tipe: String

## Persyaratan


 `helm`    
Direktori Helm mendefinisikan artefak kontainer. Ini adalah referensi ke [AWS.Artifacts.Helm](node-helm.md).   
Wajib: Ya  
Tipe: String

## Contoh


```
SampleVNF:
  type: tosca.nodes.AWS.VNF
  properties:
    descriptor_id: "6a792e0c-be2a-45fa-989e-5f89d94ca898"
    descriptor_version: "1.0.0"
    descriptor_name: "Test VNF Template"
    provider: "Operator"
  requirements:
    helm: SampleHelm
```

# AWS.Artifacts.Helm
AWS.Artifacts.Helm

Mendefinisikan AWS Helm Node.

## Sintaks


```
tosca.nodes.AWS.Artifacts.Helm:
  properties:
    implementation: String
```

## Properti


 `implementation`    
Direktori lokal yang berisi bagan Helm dalam paket CSAR.  
Wajib: Ya  
Tipe: String

## Contoh


```
SampleHelm:
  type: tosca.nodes.AWS.Artifacts.Helm
  properties:
    implementation: "./vnf-helm"
```

# Templat deskriptor layanan jaringan
Templat NSD

Mendefinisikan template deskriptor layanan jaringan (NSD).

## Sintaksis


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

## Menggunakan parameter yang ditentukan


Bila Anda ingin meneruskan parameter secara dinamis, seperti blok CIDR untuk node VPC, Anda dapat menggunakan `{ get_input: input-parameter-name }` sintaks dan menentukan parameter dalam template NSD. Kemudian gunakan kembali parameter di template NSD yang sama.

Contoh berikut menunjukkan bagaimana mendefinisikan dan menggunakan parameter:

```
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 }
```

## Impor VNFD


 `descriptor_id`    
UUID deskriptor.  
Wajib: Ya  
Tipe: String  
Pola: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`

 `namespace`    
Nama yang unik.  
Wajib: Ya  
Tipe: String

## Templat topologi


 `node_templates`    
 AWS Node TOSCA yang mungkin adalah:  
+ [AWS.NS](node-ns.md)
+ [AWS.compute.eks](node-eks.md)
+ [AWS.compute.eks. AuthRole](node-eks-authrole.md)
+ [AWS.Menghitung. EKSManagedNode](node-eks-managed-node.md)
+ [AWS.Menghitung. EKSSelfManagedNode](node-eks-self-managed.md)
+ [AWS.Menghitung. PlacementGroup](node-compute-placement-group.md)
+ [AWS.Menghitung. UserData](node-compute-user-data.md)
+ [AWS.Jaringan. SecurityGroup](node-networking-security-group.md)
+ [AWS.Jaringan. SecurityGroupEgressRule](node-networking-security-group-egress-rule.md)
+ [AWS.Jaringan. SecurityGroupIngressRule](node-networking-security-group-ingress-rule.md)
+ [AWS.Resource.Impor](node-resource-import.md)
+ [AWS.networking.eni](node-eni.md)
+ [AWS.HookExecution](node-hook-execution.md)
+ [AWS.Jaringan. InternetGateway](node-internet-gateway.md)
+ [AWS.Jaringan. RouteTable](node-route-table.md)
+ [AWS.Networking.Subnet](node-subnet.md)
+ [AWS.Penerapan. VNFDeployment](node-vnf-deployment.md)
+ [AWS.networking.vpc](node-vpc.md)
+ [AWS.Jaringan. NATGateway](node-nat-gateway.md)
+ [AWS.Networking.Route](node-route.md)

# AWS.NS
AWS.NS

Mendefinisikan node layanan AWS jaringan (NS).

## Sintaksis


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

## Properti


 `descriptor_id`    
UUID deskriptor.  
Wajib: Ya  
Tipe: String  
Pola: `[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}`

 `descriptor_version`    
Versi NSD.  
Wajib: Ya  
Tipe: String  
Pola: `^[0-9]{1,5}\\.[0-9]{1,5}\\.[0-9]{1,5}.*`

 `descriptor_name`    
Nama deskriptor.  
Wajib: Ya  
Tipe: String

## Contoh


```
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
AWS.compute.eks

Berikan nama klaster, versi Kubernetes yang diinginkan, dan peran yang memungkinkan bidang kontrol Kubernetes mengelola sumber daya yang diperlukan untuk Anda. AWS NFs Plugin Multus Container Network Interface (CNI) diaktifkan. Anda dapat melampirkan beberapa antarmuka jaringan dan menerapkan konfigurasi jaringan lanjutan ke fungsi jaringan berbasis Kubernetes. Anda juga menentukan akses endpoint cluster dan subnet untuk cluster Anda.

## Sintaksis


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

## Kemampuan
<a name="node_eks_multus"></a>`multus`

Opsional. Properti yang mendefinisikan penggunaan Multus Container Network Interface (CNI). 

Jika Anda menyertakan`multus`, tentukan `enabled` dan `multus_role` properti.

 `enabled`    
Menunjukkan apakah kemampuan Multus default diaktifkan.  
Wajib: Ya  
Jenis: Boolean

 `multus_role`    
Peran untuk manajemen antarmuka jaringan Multus.  
Wajib: Ya  
Tipe: String<a name="node_eks_ebs_csi"></a>`ebs_csi`

Properti yang menentukan driver Amazon EBS Container Storage Interface (CSI) yang diinstal di cluster Amazon EKS.

Aktifkan plugin ini untuk menggunakan node yang dikelola sendiri Amazon EKS di AWS Outposts, AWS Local Zones, atau Wilayah AWS. Untuk informasi selengkapnya, lihat [driver Amazon Elastic Block Store CSI](https://docs.aws.amazon.com/eks/latest/userguide/ebs-csi.html) di **Panduan Pengguna Amazon EKS**.

 `enabled`    
Menunjukkan apakah driver Amazon EBS CSI default diinstal.  
Wajib: Tidak  
Jenis: Boolean

 `version`    
Versi add-on driver Amazon EBS CSI. Versi harus cocok dengan salah satu versi yang dikembalikan oleh *DescribeAddonVersions*tindakan. Untuk informasi selengkapnya, lihat [DescribeAddonVersions](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeAddonVersions.html)di *Referensi API Amazon EKS*   
Wajib: Tidak  
Tipe: String

## Properti


 `version`    
Versi Kubernetes untuk cluster. AWS Telco Network Builder mendukung Kubernetes versi 1.25 hingga 1.32.  
Wajib: Ya  
Tipe: String  
Nilai yang mungkin: 1,25 \$1 1,26 \$1 1,27 \$1 1,28 \$1 1,29 \$1 1,30 \$1 1,31 \$1 1,32

 `access`    
Akses endpoint cluster.  
Wajib: Ya  
Tipe: String  
Nilai yang mungkin: `PRIVATE` \$1 `PUBLIC` \$1 `ALL`

 `cluster_role`    
Peran manajemen cluster.  
Wajib: Ya  
Tipe: String

 `tags`    
Tag untuk dilampirkan ke sumber daya.  
Wajib: Tidak  
Tipe: Daftar

 `ip_family`    
Menunjukkan keluarga IP untuk alamat layanan dan pod di cluster.  
Nilai yang diizinkan:`IPv4`, `IPv6`  
Nilai default: `IPv4`  
Wajib: Tidak  
Tipe: String

## Persyaratan


 `subnets`    
Sebuah [AWS simpul.Networking.Subnet](node-subnet.md).  
Wajib: Ya  
Tipe: Daftar

## Contoh


```
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
AWS.compute.eks. AuthRole

An AuthRole memungkinkan Anda menambahkan peran IAM ke kluster Amazon EKS `aws-auth` `ConfigMap` sehingga pengguna dapat mengakses kluster Amazon EKS menggunakan peran IAM.

## Sintaksis


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

## Properti


 `role_mappings`    
Daftar pemetaan yang menentukan peran IAM yang perlu ditambahkan ke kluster Amazon EKS. `aws-auth` `ConfigMap`    
 `arn`    
ARN dari IAM role.  
Wajib: Ya  
Tipe: String  
 `groups`    
Grup Kubernetes untuk menetapkan peran yang ditentukan dalam. `arn`  
Wajib: Tidak  
Tipe: Daftar

## Persyaratan


 `clusters`    
Sebuah [AWS simpul.compute.eks](node-eks.md).  
Wajib: Ya  
Tipe: Daftar

## Contoh


```
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.Menghitung. EKSManagedNode
AWS.Menghitung. EKSManagedNode

AWS TNB mendukung grup Node Terkelola EKS untuk mengotomatiskan penyediaan dan pengelolaan siklus hidup node (instans Amazon EC2 ) untuk klaster Amazon EKS Kubernetes. Untuk membuat grup EKS Node, lakukan hal berikut:
+ Pilih Amazon Machine Images (AMI) untuk node pekerja klaster Anda dengan memberikan ID AMI atau tipe AMI.
+ Menyediakan EC2 key pair Amazon untuk akses SSH dan properti penskalaan untuk grup node Anda.
+ Pastikan grup node Anda dikaitkan dengan kluster Amazon EKS.
+ Berikan subnet untuk node pekerja.
+ Secara opsional, lampirkan grup keamanan, label node, dan grup penempatan ke grup node Anda.

## Sintaksis


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

## Kemampuan
<a name="node_eks_managed_node_compute"></a>`compute`

Properti yang menentukan parameter komputasi untuk grup node terkelola Amazon EKS, seperti, jenis EC2 instans Amazon dan EC2 instans Amazon AMIs.

 `ami_type`    
Jenis AMI yang didukung Amazon EKS.  
Wajib: Ya  
Tipe: String  
Nilai yang mungkin: `AL2_x86_64` `AL2_x86_64_GPU` \$1 `AL2_ARM_64` `AL2023_x86_64` \$1 `AL2023_ARM_64` \$1 `AL2023_x86_64_NVIDIA` \$1 `AL2023_x86_64_NEURON` \$1 `CUSTOM` \$1 `BOTTLEROCKET_ARM_64` \$1 `BOTTLEROCKET_x86_64` \$1 `BOTTLEROCKET_ARM_64_NVIDIA` \$1 `BOTTLEROCKET_x86_64_NVIDIA`

 `ami_id`    
ID AMI.  
Wajib: Tidak  
Tipe: String  
Jika keduanya `ami_type` dan `ami_id` ditentukan dalam template, AWS TNB hanya akan menggunakan `ami_id` nilai untuk membuat`EKSManagedNode`.

 `instance_types`    
Ukuran instance.  
Wajib: Ya  
Tipe: Daftar

 `key_pair`    
Pasangan EC2 kunci untuk mengaktifkan akses SSH.  
Wajib: Ya  
Tipe: String

 `root_volume_encryption`    
Mengaktifkan enkripsi Amazon EBS untuk volume root Amazon EBS. Jika properti ini tidak disediakan, AWS TNB mengenkripsi volume root Amazon EBS secara default.  
Wajib: Tidak  
Default: betul  
Jenis: Boolean

 `root_volume_encryption_key_arn`    
ARN dari kuncinya. AWS KMS AWS TNB mendukung ARN kunci reguler, ARN kunci multi-wilayah dan alias ARN.  
Wajib: Tidak  
Tipe: String  
+ Jika `root_volume_encryption` salah, jangan sertakan`root_volume_encryption_key_arn`.
+ AWS TNB mendukung enkripsi volume root dari AMI yang didukung Amazon EBS.
+ Jika volume root AMI sudah dienkripsi, Anda harus menyertakan AWS TNB `root_volume_encryption_key_arn` untuk mengenkripsi ulang volume root.
+  Jika volume root AMI tidak dienkripsi, AWS TNB menggunakan `root_volume_encryption_key_arn` untuk mengenkripsi volume root.

  Jika Anda tidak menyertakan`root_volume_encryption_key_arn`, AWS TNB menggunakan kunci default yang disediakan oleh AWS Key Management Service untuk mengenkripsi volume root.
+ AWS TNB tidak mendekripsi AMI terenkripsi.

 `root_volume_size`    
Ukuran volume root Amazon Elastic Block Store di GiBs.  
Wajib: Tidak  
Default: 20  
Jenis: Integer  
Nilai yang mungkin: 1 hingga 16.384<a name="node_eks_managed_node_scaling"></a>`scaling`

Properti yang menentukan parameter penskalaan untuk grup node terkelola Amazon EKS, seperti, jumlah EC2 instans Amazon yang diinginkan, dan jumlah EC2 instans Amazon minimum dan maksimum dalam grup node.

 `desired_size`    
Jumlah contoh dalam hal ini NodeGroup.  
Wajib: Ya  
Jenis: Integer

 `min_size`    
Jumlah minimum contoh dalam hal ini NodeGroup.  
Wajib: Ya  
Jenis: Integer

 `max_size`    
Jumlah maksimum contoh dalam hal ini NodeGroup.  
Wajib: Ya  
Jenis: Integer

## Properti


 `node_role`    
ARN dari peran IAM yang melekat pada instans Amazon. EC2   
Wajib: Ya  
Tipe: String

 `tags`    
Tag yang akan dilampirkan ke sumber daya.  
Wajib: Tidak  
Tipe: Daftar

 `kubernetes_version`    
Versi Kubernetes untuk grup Managed Node. AWS TNB mendukung Kubernetes versi 1.25 hingga 1.32. Pertimbangkan hal berikut:  
+ Tentukan salah satu `kubernetes_version` atau`ami_id`. Jangan menentukan keduanya.
+ `kubernetes_version`Harus kurang dari atau sama dengan AWS.Compute. EKSManagedVersi simpul.
+ Mungkin ada perbedaan 3 versi antara AWS.Compute. EKSManagedVersi node dan`kubernetes_version`.
+ Jika tidak `ami_id` ada `kubernetes_version` atau yang ditentukan, AWS TNB akan menggunakan AMI terbaru dari `AWS.Compute.EKSManagedNode` versi tersebut untuk membuat `EKSManagedNode`
Wajib: Tidak  
Tipe: String  
Nilai yang mungkin: 1,25 \$1 1,26 \$1 1,27 \$1 1,28 \$1 1,29 \$1 1,30 \$1 1,31 \$1 1,32

## Persyaratan


 `cluster`    
Sebuah [AWS simpul.compute.eks](node-eks.md).  
Wajib: Ya  
Tipe: String

 `subnets`    
Sebuah [AWS simpul.Networking.Subnet](node-subnet.md).  
Wajib: Ya  
Tipe: Daftar

 `network_interfaces`    
Sebuah [AWS simpul.networking.ENI](node-eni.md). Pastikan antarmuka jaringan dan subnet disetel ke Availability Zone yang sama atau instantiasi akan gagal.  
Saat Anda AWS menyetel`network_interfaces`, TNB memperoleh izin yang terkait dengan ENIs dari `multus_role` properti jika Anda menyertakan `multus` properti di simpul [AWS.compute.eks](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html). Jika tidak, AWS TNB memperoleh izin yang terkait dengan ENIs dari properti [node\$1role](#node_eks_managed_node_node_role).  
Wajib: Tidak  
Tipe: Daftar

 `security_groups`    
Sebuah [AWS.Networking. SecurityGroup](node-networking-security-group.md)simpul.  
Wajib: Tidak  
Tipe: Daftar

 `placement_group`    
Sebuah [tosca.nodes.AWS.Menghitung. PlacementGroup](node-compute-placement-group.md)simpul.  
Wajib: Tidak  
Tipe: String

 `user_data`    
Sebuah [tosca.nodes.AWS.Menghitung. UserData](node-compute-user-data.md)referensi simpul. Skrip data pengguna diteruskan ke EC2 instans Amazon yang diluncurkan oleh grup node terkelola. Tambahkan izin yang diperlukan untuk menjalankan data pengguna kustom ke node\$1role yang diteruskan ke grup node.  
Wajib: Tidak  
Tipe: String

 `labels`    
Daftar label node. Label node harus memiliki nama dan nilai. Buat label menggunakan kriteria berikut:  
+ Nama dan nilai harus dipisahkan oleh`=`.
+ Nama dan nilai masing-masing dapat mencapai 63 karakter panjangnya.
+ Label dapat mencakup huruf (A-Z, a-z,), angka (0-9) dan karakter berikut: `[-, _, ., *, ?]`
+ Nama dan nilai harus dimulai dan diakhiri dengan alfanumerik,`?`, atau karakter. `*`
Sebagai contoh, `myLabelName1=*NodeLabelValue1`.  
Wajib: Tidak  
Tipe: Daftar

## Contoh


```
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.Menghitung. EKSSelfManagedNode
AWS.Menghitung. EKSSelfManagedNode

AWS TNB mendukung node yang dikelola sendiri Amazon EKS untuk mengotomatiskan penyediaan dan pengelolaan siklus hidup node ( EC2 instans Amazon) untuk klaster Amazon EKS Kubernetes. Untuk membuat grup node Amazon EKS, lakukan hal berikut:
+ Pilih Amazon Machine Images (AMI) untuk node pekerja klaster Anda dengan memberikan salah satu ID AMI.
+ Menyediakan EC2 key pair Amazon untuk akses SSH.
+ Pastikan grup node Anda dikaitkan dengan kluster Amazon EKS.
+ Berikan jenis instans dan ukuran yang diinginkan, minimum, dan maksimum.
+ Berikan subnet untuk node pekerja.
+ Secara opsional, lampirkan grup keamanan, label node, dan grup penempatan ke grup node Anda.

## Sintaksis


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

## Kemampuan
<a name="node_eks_self_managed_node_compute"></a>`compute`

Properti yang menentukan parameter komputasi untuk node yang dikelola sendiri Amazon EKS, seperti, jenis EC2 instans Amazon dan EC2 instans AMIs Amazon.

 `ami_id`    
ID AMI digunakan untuk meluncurkan instance. AWS TNB mendukung instans yang memanfaatkan. IMDSv2 Untuk informasi selengkapnya, lihat [Versi IMDS](imds-version.md).  
Anda dapat memperbarui ID AMI untuk`EKSSelfManagedNode`. Versi Amazon EKS dari AMI harus sama dengan atau hingga 2 versi lebih rendah dari versi cluster Amazon EKS. Misalnya jika versi cluster Amazon EKS adalah 1.31, maka versi Amazon EKS AMI harus 1.31, 1.30, atau 1.29.
Wajib: Ya  
Tipe: String

 `instance_type`    
Ukuran instance.  
Wajib: Ya  
Tipe: String

 `key_pair`    
Amazon EC2 key pair untuk mengaktifkan akses SSH.  
Wajib: Ya  
Tipe: String

 `root_volume_encryption`    
Mengaktifkan enkripsi Amazon EBS untuk volume root Amazon EBS. Jika properti ini tidak disediakan, AWS TNB mengenkripsi volume root Amazon EBS secara default.  
Wajib: Tidak  
Default: betul  
Jenis: Boolean

 `root_volume_encryption_key_arn`    
ARN dari kuncinya. AWS KMS AWS TNB mendukung ARN kunci reguler, ARN kunci multi-wilayah dan alias ARN.  
Wajib: Tidak  
Tipe: String  
+ Jika `root_volume_encryption` salah, jangan sertakan`root_volume_encryption_key_arn`.
+ AWS TNB mendukung enkripsi volume root dari AMI yang didukung Amazon EBS.
+ Jika volume root AMI sudah dienkripsi, Anda harus menyertakan AWS TNB `root_volume_encryption_key_arn` untuk mengenkripsi ulang volume root.
+  Jika volume root AMI tidak dienkripsi, AWS TNB menggunakan `root_volume_encryption_key_arn` untuk mengenkripsi volume root.

  Jika Anda tidak menyertakan`root_volume_encryption_key_arn`, AWS TNB menggunakan AWS Managed Services untuk mengenkripsi volume root.
+ AWS TNB tidak mendekripsi AMI terenkripsi.

 `root_volume_size`    
Ukuran volume root Amazon Elastic Block Store di GiBs.  
Wajib: Tidak  
Default: 20  
Jenis: Integer  
Nilai yang mungkin: 1 hingga 16.384<a name="node_eks_self_managed_node_scaling"></a>`scaling`

Properti yang menentukan parameter penskalaan untuk node yang dikelola sendiri Amazon EKS, seperti, jumlah instans Amazon yang diinginkan, dan jumlah EC2 instans Amazon minimum dan maksimum dalam EC2 grup node.

 `desired_size`    
Jumlah contoh dalam hal ini NodeGroup.  
Wajib: Ya  
Jenis: Integer

 `min_size`    
Jumlah minimum contoh dalam hal ini NodeGroup.  
Wajib: Ya  
Jenis: Integer

 `max_size`    
Jumlah maksimum contoh dalam hal ini NodeGroup.  
Wajib: Ya  
Jenis: Integer

## Properti


 `node_role`    
ARN dari peran IAM yang melekat pada instans Amazon. EC2   
Wajib: Ya  
Tipe: String

 `tags`    
Tag yang akan dilampirkan ke sumber daya. Tag akan disebarkan ke instance yang dibuat oleh sumber daya.  
Wajib: Tidak  
Tipe: Daftar

## Persyaratan


 `cluster`    
Sebuah [AWS simpul.compute.eks](node-eks.md).  
Wajib: Ya  
Tipe: String

 `subnets`    
Sebuah [AWS simpul.Networking.Subnet](node-subnet.md).  
Wajib: Ya  
Tipe: Daftar

 `network_interfaces`    
Sebuah [AWS simpul.networking.ENI](node-eni.md). Pastikan antarmuka jaringan dan subnet disetel ke Availability Zone yang sama atau instantiasi akan gagal.  
Saat Anda AWS menyetel`network_interfaces`, TNB memperoleh izin yang terkait dengan ENIs dari `multus_role` properti jika Anda menyertakan `multus` properti di simpul [AWS.compute.eks](https://docs.aws.amazon.com/tnb/latest/ug/node-eks.html). Jika tidak, AWS TNB memperoleh izin yang terkait dengan ENIs dari properti [node\$1role](#node_eks_self_managed_node_role).  
Wajib: Tidak  
Tipe: Daftar

 `security_groups`    
Sebuah [AWS.Networking. SecurityGroup](node-networking-security-group.md)simpul.  
Wajib: Tidak  
Tipe: Daftar

 `placement_group`    
Sebuah [tosca.nodes.AWS.Menghitung. PlacementGroup](node-compute-placement-group.md)simpul.  
Wajib: Tidak  
Tipe: String

 `user_data`    
Sebuah [tosca.nodes.AWS.Menghitung. UserData](node-compute-user-data.md)referensi simpul. Skrip data pengguna diteruskan ke EC2 instans Amazon yang diluncurkan oleh grup node yang dikelola sendiri. Tambahkan izin yang diperlukan untuk mengeksekusi data pengguna kustom ke node\$1role yang diteruskan ke grup node.  
Wajib: Tidak  
Tipe: String

 `labels`    
Daftar label node. Label node harus memiliki nama dan nilai. Buat label menggunakan kriteria berikut:  
+ Nama dan nilai harus dipisahkan oleh`=`.
+ Nama dan nilai masing-masing dapat mencapai 63 karakter panjangnya.
+ Label dapat mencakup huruf (A-Z, a-z,), angka (0-9), dan karakter berikut: `[-, _, ., *, ?]`
+ Nama dan nilai harus dimulai dan diakhiri dengan alfanumerik,`?`, atau karakter. `*`
Sebagai contoh, `myLabelName1=*NodeLabelValue1`.  
Wajib: Tidak  
Tipe: Daftar

## Contoh


```
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.Menghitung. PlacementGroup
AWS.Menghitung. PlacementGroup

Sebuah PlacementGroup node mendukung berbagai strategi untuk menempatkan EC2 instans Amazon.

Saat Anda meluncurkan Amazon baru EC2instance, EC2 layanan Amazon mencoba menempatkan instance sedemikian rupa sehingga semua instans Anda tersebar di perangkat keras yang mendasarinya untuk meminimalkan kegagalan yang berkorelasi. Anda dapat menggunakan *grup penempatan* untuk mempengaruhi penempatan grup instans *interdependen* guna memenuhi kebutuhan beban kerja Anda.

## Sintaksis


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

## Properti


 `strategy`    
Strategi yang digunakan untuk menempatkan EC2 instance Amazon.  
Wajib: Ya  
Tipe: String  
Nilai yang mungkin: CLUSTER \$1 PARTISI \$1 SPREAD\$1HOST \$1 SPREAD\$1RACK  
+ **CLUSTER** — mengemas instance berdekatan di dalam Availability Zone. Strategi ini memungkinkan beban kerja untuk mencapai kinerja jaringan latensi rendah yang diperlukan untuk node-to-node komunikasi yang digabungkan secara ketat yang khas dari aplikasi komputasi kinerja tinggi (HPC).
+ **PARTISI** — menyebarkan instance Anda di seluruh partisi logis sehingga grup instance dalam satu partisi tidak berbagi perangkat keras yang mendasarinya dengan grup instance di partisi yang berbeda. Strategi ini biasanya digunakan oleh beban kerja yang terdistribusi dan direplikasi besar, seperti Hadoop, Cassandra, dan Kafka.
+ **SPREAD\$1RACK** — menempatkan sekelompok kecil instance di perangkat keras dasar yang berbeda untuk mengurangi kegagalan yang berkorelasi.
+ **SPREAD\$1HOST** - digunakan hanya dengan kelompok penempatan Outpost. Menempatkan sekelompok kecil instance di perangkat keras dasar yang berbeda untuk mengurangi kegagalan yang berkorelasi.

 `partition_count`    
Jumlah partisi.  
Wajib: Diperlukan hanya ketika `strategy` diatur ke`PARTITION`.  
Jenis: Integer  
Nilai yang mungkin: 1 \$1 2 \$13 \$1 4 \$1 5 \$1 6 \$1 7

 `tags`    
Tag yang dapat Anda lampirkan ke sumber daya grup penempatan.  
Wajib: Tidak  
Tipe: Daftar

## Contoh


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

# AWS.Menghitung. UserData
AWS.Menghitung. UserData

AWS TNB mendukung peluncuran EC2 instans Amazon dengan data pengguna khusus, melalui UserData node di Network Service Descriptor (NSD). Untuk informasi selengkapnya tentang data pengguna kustom, lihat [Data pengguna dan skrip shell](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-shell-scripts) di *Panduan EC2 Pengguna Amazon*.

Selama instantiasi jaringan, AWS TNB menyediakan pendaftaran EC2 instans Amazon ke cluster melalui skrip data pengguna. Ketika data pengguna khusus juga disediakan, AWS TNB menggabungkan kedua skrip dan meneruskannya sebagai skrip [multimime](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html#user-data-mime-multi) ke Amazon. EC2 Skrip data pengguna khusus dijalankan sebelum skrip pendaftaran Amazon EKS.

Untuk menggunakan variabel kustom dalam skrip data pengguna, tambahkan tanda seru `!` setelah kurawal kurawal terbuka. `{` Misalnya, untuk digunakan `MyVariable` dalam skrip, masukkan: `{!MyVariable}`

**catatan**  
AWS TNB mendukung skrip data pengguna hingga berukuran 7 KB.
Karena AWS TNB menggunakan CloudFormation untuk memproses dan merender skrip `multimime` data pengguna, pastikan bahwa skrip mematuhi semua aturan. CloudFormation 

## Sintaksis


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

## Properti


 `implementation`    
Jalur relatif ke definisi skrip data pengguna. Formatnya harus: `./scripts/script_name.sh`  
Wajib: Ya  
Tipe: String

 `content_type`    
Jenis konten skrip data pengguna.  
Wajib: Ya  
Tipe: String  
Nilai yang mungkin: `x-shellscript`

## Contoh


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

# AWS.Jaringan. SecurityGroup
AWS.Jaringan. SecurityGroup

AWS TNB mendukung grup keamanan untuk mengotomatiskan penyediaan Grup [Keamanan EC2 Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-security-groups.html) yang dapat Anda lampirkan ke grup node cluster Amazon EKS Kubernetes.

## Sintaksis


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

## Properti


 `description`    
Deskripsi kelompok keamanan. Anda dapat menggunakan hingga 255 karakter untuk menggambarkan grup. Anda hanya dapat menyertakan huruf (A-Z dan a-z), angka (0-9), spasi, dan karakter khusus berikut: .\$1-:/() \$1, @ [] \$1=&; \$1\$1\$1 \$1\$1  
Wajib: Ya  
Tipe: String

 `name`    
Nama untuk kelompok keamanan. Anda dapat menggunakan hingga 255 karakter untuk nama tersebut. Anda hanya dapat menyertakan huruf (A-Z dan a-z), angka (0-9), spasi, dan karakter khusus berikut: .\$1-:/() \$1, @ [] \$1=&; \$1\$1\$1 \$1\$1  
Wajib: Ya  
Tipe: String

 `tags`    
Tag yang dapat Anda lampirkan ke sumber daya grup keamanan.  
Wajib: Tidak  
Tipe: Daftar

## Persyaratan


 `vpc`    
Sebuah [AWS simpul.networking.vpc](node-vpc.md).  
Wajib: Ya  
Tipe: String

## Contoh


```
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.Jaringan. SecurityGroupEgressRule
AWS.Jaringan. SecurityGroupEgressRule

AWS TNB mendukung aturan keluar grup keamanan untuk mengotomatiskan penyediaan Aturan Keluar Grup EC2 Keamanan Amazon yang dapat dilampirkan ke .Networking. AWS SecurityGroup. Perhatikan bahwa Anda harus memberikan cidr\$1 ip/destination\$1security\$1group/destination \$1prefix\$1list sebagai tujuan untuk lalu lintas keluar.

## Sintaksis


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

## Properti


 `cidr_ip`    
Rentang IPv4 alamat dalam format CIDR. Anda harus menentukan rentang CIDR yang memungkinkan lalu lintas keluar.  
Wajib: Tidak  
Tipe: String

 `cidr_ipv6`    
Rentang IPv6 alamat dalam format CIDR, untuk lalu lintas keluar. Anda harus menentukan grup keamanan tujuan (`destination_security_group` atau `destination_prefix_list`) atau rentang CIDR (`cidr_ip` atau `cidr_ipv6`).  
Wajib: Tidak  
Tipe: String

 `description`    
Deskripsi aturan grup keamanan jalan keluar (keluar). Anda dapat menggunakan hingga 255 karakter untuk menggambarkan aturan.  
Wajib: Tidak  
Tipe: String

 `destination_prefix_list`    
ID daftar awalan dari daftar awalan terkelola Amazon VPC yang ada. Ini adalah tujuan dari instance grup node yang terkait dengan grup keamanan. Untuk informasi selengkapnya tentang daftar awalan [terkelola, lihat Daftar awalan terkelola](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html) di Panduan Pengguna Amazon *VPC*.  
Wajib: Tidak  
Tipe: String

 `from_port`    
Jika protokolnya adalah TCP atau UDP, ini adalah awal dari rentang port. Jika protokolnya adalah ICMP atau ICMPv6, ini adalah nomor jenisnya. Nilai -1 menunjukkan semua ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 kode.  
Wajib: Tidak  
Jenis: Integer

 `ip_protocol`    
Nama protokol IP (tcp, udp, icmp, icmpv6) atau nomor protokol. Gunakan -1 untuk menentukan semua protokol. Saat mengotorisasi aturan grup keamanan, menentukan -1 atau nomor protokol selain tcp, udp, icmp, atau icmpv6 memungkinkan lalu lintas di semua port, terlepas dari rentang port apa pun yang Anda tentukan. Untuk tcp, udp, dan icmp, Anda harus menentukan rentang port. Untuk icmpv6, rentang port adalah opsional; jika Anda menghilangkan rentang port, lalu lintas untuk semua jenis dan kode diperbolehkan.  
Wajib: Ya  
Tipe: String

 `to_port`    
Jika protokolnya adalah TCP atau UDP, ini adalah akhir dari rentang port. Jika protokolnya adalah ICMP atau ICMPv6, ini adalah kodenya. Nilai -1 menunjukkan semua ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 kode.  
Wajib: Tidak  
Jenis: Integer

## Persyaratan


 `security_group`    
ID grup keamanan tempat aturan ini akan ditambahkan.  
Wajib: Ya  
Tipe: String

 `destination_security_group`    
Referensi ID atau TOSCA dari grup keamanan tujuan yang diizinkan lalu lintas keluar.  
Wajib: Tidak  
Tipe: String

## Contoh


```
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.Jaringan. SecurityGroupIngressRule
AWS.Jaringan. SecurityGroupIngressRule

AWS TNB mendukung aturan masuknya grup keamanan untuk mengotomatiskan penyediaan Aturan Ingress Grup Keamanan EC2 Amazon yang dapat dilampirkan ke .Networking. AWS SecurityGroup. Perhatikan bahwa Anda harus memberikan cidr\$1 ip/source\$1security\$1group/source \$1prefix\$1list sebagai sumber untuk lalu lintas masuk.

## Sintaksis


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

## Properti


 `cidr_ip`    
Rentang IPv4 alamat dalam format CIDR. Anda harus menentukan rentang CIDR yang memungkinkan lalu lintas masuk.  
Wajib: Tidak  
Tipe: String

 `cidr_ipv6`    
Rentang IPv6 alamat dalam format CIDR, untuk lalu lintas masuk. Anda harus menentukan grup keamanan sumber (`source_security_group`atau`source_prefix_list`) atau rentang CIDR (`cidr_ip`atau`cidr_ipv6`).  
Wajib: Tidak  
Tipe: String

 `description`    
Deskripsi aturan grup keamanan ingress (inbound). Anda dapat menggunakan hingga 255 karakter untuk menggambarkan aturan.  
Wajib: Tidak  
Tipe: String

 `source_prefix_list`    
ID daftar awalan dari daftar awalan terkelola Amazon VPC yang ada. Ini adalah sumber dari mana instance grup node yang terkait dengan grup keamanan akan diizinkan untuk menerima lalu lintas dari. Untuk informasi selengkapnya tentang daftar awalan [terkelola, lihat Daftar awalan terkelola](https://docs.aws.amazon.com/vpc/latest/userguide/managed-prefix-lists.html) di Panduan Pengguna Amazon *VPC*.  
Wajib: Tidak  
Tipe: String

 `from_port`    
Jika protokolnya adalah TCP atau UDP, ini adalah awal dari rentang port. Jika protokolnya adalah ICMP atau ICMPv6, ini adalah nomor jenisnya. Nilai -1 menunjukkan semua ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 kode.  
Wajib: Tidak  
Jenis: Integer

 `ip_protocol`    
Nama protokol IP (tcp, udp, icmp, icmpv6) atau nomor protokol. Gunakan -1 untuk menentukan semua protokol. Saat mengotorisasi aturan grup keamanan, menentukan -1 atau nomor protokol selain tcp, udp, icmp, atau icmpv6 memungkinkan lalu lintas di semua port, terlepas dari rentang port apa pun yang Anda tentukan. Untuk tcp, udp, dan icmp, Anda harus menentukan rentang port. Untuk icmpv6, rentang port adalah opsional; jika Anda menghilangkan rentang port, lalu lintas untuk semua jenis dan kode diperbolehkan.  
Wajib: Ya  
Tipe: String

 `to_port`    
Jika protokolnya adalah TCP atau UDP, ini adalah akhir dari rentang port. Jika protokolnya adalah ICMP atau ICMPv6, ini adalah kodenya. Nilai -1 menunjukkan semua ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6 types, you must specify all ICMP/ICMPv 6 kode.  
Wajib: Tidak  
Jenis: Integer

## Persyaratan


 `security_group`    
ID grup keamanan tempat aturan ini akan ditambahkan.  
Wajib: Ya  
Tipe: String

 `source_security_group`    
Referensi ID atau TOSCA dari grup keamanan sumber tempat lalu lintas masuk diizinkan.  
Wajib: Tidak  
Tipe: String

## Contoh


```
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.Impor
AWS.Resource.Impor

Anda dapat mengimpor AWS sumber daya berikut ke AWS TNB:
+ VPC
+ Subnet
+ Tabel Rute
+ Internet Gateway
+ Grup Keamanan

## Sintaksis


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

## Properti


 `resource_type`    
Jenis sumber daya yang diimpor ke AWS TNB.  
Wajib: Tidak  
Tipe: Daftar

 `resource_id`    
ID sumber daya yang diimpor ke AWS TNB.  
Wajib: Tidak  
Tipe: Daftar

## Contoh


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

# AWS.networking.eni
AWS.networking.eni

Antarmuka jaringan adalah komponen jaringan logis dalam VPC yang mewakili kartu jaringan virtual. Antarmuka jaringan diberi alamat IP baik secara otomatis atau manual berdasarkan subnetnya. Setelah menerapkan EC2 instans Amazon di subnet, Anda dapat melampirkan antarmuka jaringan ke subnet, atau melepaskan antarmuka jaringan dari instans Amazon tersebut dan menyambung kembali ke EC2 instans Amazon EC2 lain di subnet tersebut. Indeks perangkat mengidentifikasi posisi dalam urutan lampiran.

## Sintaksis


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

## Properti


 `device_index`    
Indeks perangkat harus lebih besar dari nol.  
Wajib: Ya  
Jenis: Integer

 `source_dest_check`    
Menunjukkan apakah antarmuka jaringan melakukan pemeriksaan sumber/tujuan. Nilai `true` berarti bahwa pemeriksaan diaktifkan, dan `false` berarti pemeriksaan dinonaktifkan.  
Nilai yang diizinkan: true, false  
Default: betul  
Wajib: Tidak  
Jenis: Boolean

 `tags`    
Tag yang akan dilampirkan ke sumber daya.  
Wajib: Tidak  
Tipe: Daftar

## Persyaratan


 `subnet`    
Sebuah [AWS simpul.Networking.Subnet](node-subnet.md).  
Wajib: Ya  
Tipe: String

 `security_groups`    
Sebuah [AWS.Networking. SecurityGroup](node-networking-security-group.md)simpul.  
Wajib: Tidak  
Tipe: String

## Contoh


```
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
AWS.HookExecution

Pengait siklus hidup memberi Anda kemampuan untuk menjalankan skrip Anda sendiri sebagai bagian dari infrastruktur dan instantiasi jaringan Anda.

## Sintaksis


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

## Kemampuan
<a name="node_hook_execution"></a>`execution`

Properti untuk mesin eksekusi hook yang menjalankan skrip hook.

 `type`    
Jenis mesin eksekusi hook.  
Wajib: Tidak  
Tipe: String  
Nilai yang mungkin: `CODE_BUILD` 

## Persyaratan


 `definition`    
Sebuah [AWS. HookDefinition.Bash simpul](node-hook-bash.md).  
Wajib: Ya  
Tipe: String

 `vpc`    
Sebuah [AWS simpul.networking.vpc](node-vpc.md).  
Wajib: Ya  
Tipe: String

## Contoh


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

# AWS.Jaringan. InternetGateway
AWS.Jaringan. InternetGateway

Mendefinisikan Node Gateway AWS Internet.

## Sintaksis


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

## Kemampuan
<a name="node_internet_gateway_routing"></a>`routing`

Properti yang menentukan koneksi routing dalam VPC. Anda harus menyertakan `ipv6_dest_cidr` properti `dest_cidr` atau properti.

 `dest_cidr`    
Blok IPv4 CIDR yang digunakan untuk pencocokan tujuan. Properti ini digunakan untuk membuat rute masuk `RouteTable` dan nilainya digunakan sebagai`DestinationCidrBlock`.  
Wajib: Tidak jika Anda menyertakan `ipv6_dest_cidr` properti.  
Tipe: String

 `ipv6_dest_cidr`    
Blok IPv6 CIDR yang digunakan untuk pencocokan tujuan.  
Wajib: Tidak jika Anda menyertakan `dest_cidr` properti.  
Tipe: String

## Properti


 `tags`    
Tag yang akan dilampirkan ke sumber daya.  
Wajib: Tidak  
Tipe: Daftar

 `egress_only`    
Properti IPv6 -spesifik. Menunjukkan apakah gateway internet hanya untuk komunikasi jalan keluar atau tidak. Kapan `egress_only` benar, Anda harus mendefinisikan `ipv6_dest_cidr` properti.  
Wajib: Tidak  
Jenis: Boolean

## Persyaratan


 `vpc`    
Sebuah [AWS simpul.networking.vpc](node-vpc.md).  
Wajib: Ya  
Tipe: String

 `route_table`    
Sebuah [AWS.Networking. RouteTable](node-route-table.md)simpul.  
Wajib: Ya  
Tipe: String

## Contoh


```
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.Jaringan. RouteTable
AWS.Jaringan. RouteTable

Tabel rute berisi seperangkat aturan, yang disebut rute, yang menentukan ke mana lalu lintas jaringan dari subnet dalam VPC atau gateway Anda diarahkan. Anda harus mengaitkan tabel rute dengan VPC.

## Sintaksis


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

## Properti


 `tags`    
Tag untuk dilampirkan ke sumber daya.  
Wajib: Tidak  
Tipe: Daftar

## Persyaratan


 `vpc`    
Sebuah [AWS simpul.networking.vpc](node-vpc.md).  
Wajib: Ya  
Tipe: String

## Contoh


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

# AWS.Networking.Subnet
AWS.Networking.Subnet

Subnet adalah berbagai alamat IP di VPC Anda, dan harus berada sepenuhnya dalam satu Availability Zone. Anda harus menentukan VPC, blok CIDR, Availability Zone, dan tabel rute untuk subnet Anda. Anda juga harus menentukan apakah subnet Anda pribadi atau publik.

## Sintaksis


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

## Properti


 `type`    
Menunjukkan apakah instance yang diluncurkan di subnet ini menerima alamat publik IPv4.  
Wajib: Ya  
Tipe: String  
Nilai yang mungkin: `PUBLIC` \$1 `PRIVATE`

 `availability_zone`    
Availability Zone untuk subnet. Bidang ini mendukung AWS Availability Zone dalam suatu AWS Wilayah, misalnya `us-west-2` (US West (Oregon)). Ini juga mendukung AWS Local Zones dalam Availability Zone, misalnya`us-west-2-lax-1a`.  
Wajib: Ya  
Tipe: String

 `cidr_block`    
Blok CIDR untuk subnet.  
Wajib: Tidak  
Tipe: String

 `ipv6_cidr_block`    
Blok CIDR digunakan untuk membuat IPv6 subnet. Jika Anda menyertakan properti ini, jangan sertakan`ipv6_cidr_block_suffix`.  
Wajib: Tidak  
Tipe: String

 `ipv6_cidr_block_suffix`    
Sufiks heksadesimal 2 digit dari blok IPv6 CIDR untuk subnet yang dibuat melalui Amazon VPC. Gunakan format berikut: `2-digit hexadecimal::/subnetMask`  
Jika Anda menyertakan properti ini, jangan sertakan`ipv6_cidr_block`.  
Wajib: Tidak  
Tipe: String

 `outpost_arn`    
ARN dari subnet AWS Outposts itu akan dibuat di. Tambahkan properti ini ke template NSD jika Anda ingin meluncurkan node yang dikelola sendiri Amazon EKS. AWS Outposts Untuk informasi selengkapnya, lihat [Amazon EKS AWS Outposts di](https://docs.aws.amazon.com/eks/latest/userguide/eks-outposts.html) *Panduan Pengguna Amazon EKS*.  
Jika Anda menambahkan properti ini ke template NSD, Anda harus menetapkan nilai untuk `availability_zone` properti ke Availability Zone dari AWS Outposts.  
Wajib: Tidak  
Tipe: String

 `tags`    
Tag yang akan dilampirkan ke sumber daya.  
Wajib: Tidak  
Tipe: Daftar

## Persyaratan


 `vpc`    
Sebuah [AWS simpul.networking.vpc](node-vpc.md).  
Wajib: Ya  
Tipe: String

 `route_table`    
Sebuah [AWS.Networking. RouteTable](node-route-table.md)simpul.  
Wajib: Ya  
Tipe: String

## Contoh


```
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.Penerapan. VNFDeployment
AWS.Penerapan. VNFDeployment

Penerapan NF dimodelkan dengan menyediakan infrastruktur dan aplikasi yang terkait dengannya. Atribut [cluster](#node_vnf_deployment_cluster) menentukan kluster EKS untuk meng-host Anda NFs. Atribut [vnfs](#node_vnf_deployment_vnfs) menentukan fungsi jaringan untuk penyebaran Anda. Anda juga dapat menyediakan operasi kait siklus hidup opsional tipe [pre\$1create dan [post\$1create](#node_vnf_deployment_post_create)](#node_vnf_deployment_pre_create) untuk menjalankan instruksi khusus untuk penerapan Anda, seperti memanggil API sistem Manajemen Inventaris.

## Sintaksis


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

## Persyaratan


 `deployment`    
Sebuah [AWS.Deployment. VNFDeployment](node-vnf.md)simpul.  
Wajib: Tidak  
Tipe: String

 `cluster`    
Sebuah [AWS simpul.compute.eks](node-eks.md).  
Wajib: Ya  
Tipe: String

 `vnfs`    
Sebuah [AWS simpul.VNF](node-vnf.md).  
Wajib: Ya  
Tipe: String

## Antarmuka


### Kait


Mendefinisikan tahap saat kait siklus hidup dijalankan.

 `pre_create`    
Sebuah [AWS. HookExecution](node-hook-execution.md)simpul. Hook ini dijalankan sebelum `VNFDeployment` node menyebar.  
Wajib: Tidak  
Tipe: String

 `post_create`    
Sebuah [AWS. HookExecution](node-hook-execution.md)simpul. Hook ini dijalankan setelah `VNFDeployment` node menyebar.  
Wajib: Tidak  
Tipe: String

## Contoh


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

# AWS.networking.vpc
AWS.networking.vpc

Anda harus menentukan blok CIDR untuk virtual private cloud (VPC) Anda.

## Sintaksis


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

## Properti


 `cidr_block`    
Rentang IPv4 jaringan untuk VPC, dalam notasi CIDR.  
Wajib: Ya  
Tipe: String

 `ipv6_cidr_block`    
Blok IPv6 CIDR digunakan untuk membuat VPC.  
Nilai yang diizinkan: `AMAZON_PROVIDED`  
Wajib: Tidak  
Tipe: String

 `dns_support`    
Menunjukkan apakah instans yang diluncurkan di VPC mendapatkan nama host DNS.  
Wajib: Tidak  
Jenis: Boolean  
Default: `false` 

 `tags`    
Tag untuk dilampirkan ke sumber daya.  
Wajib: Tidak  
Tipe: Daftar

## Contoh


```
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.Jaringan. NATGateway
AWS.Jaringan. NATGateway

Anda dapat menentukan node NAT Gateway publik atau pribadi melalui subnet. Untuk gateway publik, jika Anda tidak memberikan id alokasi IP Elastis, AWS TNB akan mengalokasikan IP Elastis untuk akun Anda dan mengaitkannya ke gateway.

## Sintaksis


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

## Properti


 `subnet`    
[AWS Referensi simpul.Networking.Subnet](https://docs.aws.amazon.com/tnb/latest/ug/node-subnet.html).  
Wajib: Ya  
Tipe: String

 `internet_gateway`    
[AWS.Networking. InternetGateway](https://docs.aws.amazon.com/tnb/latest/ug/node-internet-gateway.html)referensi simpul.  
Wajib: Ya  
Tipe: String

## Properti


 `type`    
Menunjukkan apakah gateway bersifat publik atau pribadi.  
Nilai yang diizinkan:`PUBLIC`, `PRIVATE`  
Wajib: Ya  
Tipe: String

 `eip_allocation_id`    
ID yang mewakili alokasi alamat IP Elastis.  
Wajib: Tidak  
Tipe: String

 `tags`    
Tag untuk dilampirkan ke sumber daya.  
Wajib: Tidak  
Tipe: Daftar

## Contoh


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

# AWS.Networking.Route
AWS.Networking.Route

Anda dapat menentukan node rute yang mengaitkan rute tujuan ke NAT Gateway sebagai sumber daya target, dan menambahkan rute ke tabel rute terkait.

## Sintaksis


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

## Properti


 `dest_cidr_blocks`    
Daftar IPv4 rute tujuan ke sumber daya target.  
Wajib: Ya  
Tipe: Daftar  
Jenis anggota: String

## Persyaratan


 `nat_gateway`    
[AWS.Networking. NATGateway](https://docs.aws.amazon.com/tnb/latest/ug/node-nat-gateway.html)referensi simpul.  
Wajib: Ya  
Tipe: String

 `route_table`    
[AWS.Networking. RouteTable](https://docs.aws.amazon.com/tnb/latest/ug/node-route-table.html)referensi simpul.  
Wajib: Ya  
Tipe: String

## Contoh


```
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.Toko. SSMParameters
AWS.Toko. SSMParameters

Anda dapat membuat parameter SSM melalui AWS TNB. Parameter SSM yang Anda buat dibuat di SSM dan diawali dengan ID instance jaringan AWS TNB. Hal ini mencegah nilai parameter dari penggantian ketika beberapa instance dipakai dan ditingkatkan menggunakan template NSD yang sama.

## Sintaksis


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

## Properti
Parameter

 `name`    
Nama properti ssm. Gunakan format berikut: `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+$`  
Setiap nama parameter harus kurang dari 256 karakter.  
Wajib: Ya  
Tipe: String

 `value`    
Nilai properti ssm. Gunakan salah satu format berikut:  
+ Untuk nilai tanpa referensi: `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+$`
+ Untuk referensi statis: `^\$\{[a-zA-Z0-9]+\.(properties|capabilities|requirements)(\.([a-zA-Z0-9\-_]+))+\}$`
+ Untuk referensi dinamis: `^\$\{[a-zA-Z0-9]+\.(name|id|arn)\}$`
Nilai setiap parameter harus kurang dari 4 KB.  
Wajib: Ya  
Tipe: String

 `tags`    
Tag yang dapat Anda lampirkan ke properti SSM.  
Wajib: Tidak  
Tipe: Daftar

## Contoh


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

# Node umum
Node umum

Tentukan node untuk NSD dan VNFD.
+ [AWS. HookDefinition](node-hook-bash.md).Bash

# AWS.HookDefinition.Bash
AWS.HookDefinition.Bash

Mendefinisikan sebuah AWS HookDefinition in`bash`.

## Sintaksis


```
tosca.nodes.AWS.HookDefinition.Bash:
  properties:
    implementation: String
    environment\$1variables: List
    execution\$1role: String
```

## Properti


 `implementation`    
Jalur relatif ke definisi hook. Formatnya harus: `./hooks/script_name.sh`  
Wajib: Ya  
Tipe: String

 `environment_variables`    
Variabel lingkungan untuk skrip hook bash. Gunakan format berikut: `envName=envValue` dengan pola regex berikut:  
+ Untuk nilai tanpa referensi: `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+=[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+$`
+ Untuk referensi statis: `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+=\$\{[a-zA-Z0-9]+\.(properties|capabilities|requirements)(\.([a-zA-Z0-9\-_]+))+\}$`
+ Untuk referensi dinamis: `^[a-zA-Z0-9]+[a-zA-Z0-9\-\_]*[a-zA-Z0-9]+=\$\{[a-zA-Z0-9]+\.(name|id|arn)\}$`
Pastikan `envName=envValue` nilainya memenuhi kriteria berikut:  
+ Jangan gunakan spasi.
+ Mulailah **envName** dengan huruf (A-Z atau a-z) atau angka (0-9).
+ Jangan memulai nama variabel lingkungan dengan kata kunci yang dicadangkan AWS TNB berikut (case insensitive):
  + CODEBUILD
  + TNB
  + RUMAH
  + AWS
+ Anda dapat menggunakan sejumlah huruf (A-Z atau a-z), angka (0-9), dan karakter khusus dan untuk `-` dan`_`. **envName** **envValue**
+ Setiap variabel lingkungan (masing-masing **envName** =**envValue**) harus kurang dari 128 karakter.
Contoh: `A123-45xYz=Example_789`  
Wajib: Tidak  
Tipe: Daftar

 `execution_role`    
Peran untuk eksekusi hook.  
Wajib: Ya  
Tipe: String

## Contoh


```
SampleHookScript:
  type: tosca.nodes.AWS.HookDefinition.Bash
  properties:
    implementation: "./hooks/myhook.sh"
    environment_variables:
      - "variable01=value01"
      - "variable02=value02"
    execution_role: "arn:aws:iam::${AWS::TNB::AccountId}:role/SampleHookPermission"
```