

 **Bantu meningkatkan halaman ini ** 

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

Untuk berkontribusi pada panduan pengguna ini, pilih GitHub ** tautan ** Edit halaman ini di yang terletak di panel kanan setiap halaman.

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

# IAM role simpul Amazon EKS
<a name="create-node-role"></a>

`kubelet`Daemon node Amazon EKS melakukan panggilan ke AWS API atas nama Anda. Simpul menerima izin untuk panggilan API ini melalui profil instans IAM dan kebijakan terkait. Sebelum Anda dapat meluncurkan simpul dan mendaftarkannya ke dalam sebuah klaster, Anda harus membuat IAM role untuk digunakan oleh simpul ketika diluncurkan. Persyaratan ini berlaku untuk simpul yang diluncurkan dengan AMI yang dioptimalkan oleh Amazon EKS dan disediakan oleh Amazon, atau dengan AMI simpul lainnya yang ingin Anda gunakan. Selain itu, persyaratan ini berlaku untuk grup node terkelola dan node yang dikelola sendiri.

**catatan**  
Anda tidak dapat menggunakan peran yang sama yang digunakan untuk membuat cluster apa pun.

Sebelum membuat node, Anda harus membuat peran IAM dengan izin berikut:
+ Izin `kubelet` untuk menjelaskan sumber daya Amazon EC2 di VPC, seperti yang disediakan oleh kebijakan. [ AmazonEKSWorkerNodePolicy ](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSWorkerNodePolicy.html) Kebijakan ini juga memberikan izin untuk Agen Identitas Pod Amazon EKS.
+ Izin `kubelet` untuk menggunakan gambar kontainer dari Amazon Elastic Container Registry (Amazon ECR), seperti yang disediakan oleh [ AmazonEC2ContainerRegistryPullOnly ](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ContainerRegistryPullOnly.html) kebijakan. Izin untuk menggunakan gambar kontainer dari Amazon Elastic Container Registry (Amazon ECR) diperlukan karena add-on bawaan untuk jaringan menjalankan pod yang menggunakan gambar kontainer dari Amazon ECR.
+ (Opsional) Izin untuk Agen Identitas Pod Amazon EKS untuk menggunakan `eks-auth:AssumeRoleForPodIdentity` tindakan untuk mengambil kredenSIAL untuk pod. Jika Anda tidak menggunakan [ AmazonEKSWorkerNodePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKSWorkerNodePolicy.html), maka Anda harus memberikan izin ini selain izin EC2 untuk menggunakan EKS Pod Identity.
+ (Opsional) Jika Anda tidak menggunakan IRSA atau EKS Pod Identity untuk memberikan izin ke pod CNI VPC, maka Anda harus memberikan izin untuk VPC CNI pada peran instans. Anda dapat menggunakan kebijakan [`AmazonEKS_CNI_Policy`](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEKS_CNI_Policy.html) terkelola (jika Anda membuat cluster dengan `IPv4` keluarga) atau kebijakan [ IPv6 yang Anda buat ](cni-iam-role.md#cni-iam-role-create-ipv6-policy) (jika Anda membuat cluster dengan `IPv6` keluarga). Namun, daripada melampirkan kebijakan ke peran ini, sebaiknya Anda melampirkan kebijakan ke peran terpisah yang digunakan khusus untuk add-on Amazon VPC CNI. Untuk informasi selengkapnya tentang membuat peran terpisah untuk add-on Amazon VPC CNI, lihat. [Konfigurasikan plugin Amazon VPC CNI untuk menggunakan IRSA](cni-iam-role.md)
+ (Opsional) Izin `kubelet` untuk menggunakan gambar kontainer dari Amazon ECR Public (public.ecr.aws), seperti yang disediakan oleh kebijakan. [ AmazonElasticContainerRegistryPublicReadOnly ](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonElasticContainerRegistryPublicReadOnly.html) Izin ini disarankan jika Anda menarik gambar kontainer dari ECR Public. Tanpa mereka, tarikan akan berhasil, tetapi mungkin terbatas pada tingkat.

**catatan**  
Grup node Amazon EC2 harus memiliki peran IAM yang berbeda dari profil Fargate. Untuk informasi selengkapnya, lihat [Peran IAM eksekusi Pod Amazon EKS](pod-execution-role.md).

## Periksa apakah peran simpul sudah ada
<a name="check-worker-node-role"></a>

Anda dapat menggunakan prosedur berikut untuk memeriksa dan melihat apakah akun Anda sudah memiliki peran simpul Amazon EKS.

1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

1. Di panel navigasi sebelah kiri, pilih **Peran**.

1. Cari daftar peran untuk`eksNodeRole`,`AmazonEKSNodeRole`, atau`NodeInstanceRole`. Jika peran dengan salah satu nama tersebut tidak ada, lihat [Membuat IAM role simpul Amazon EKS](#create-worker-node-role) untuk membuat peran tersebut. Jika peran yang berisi`eksNodeRole`,`AmazonEKSNodeRole`, atau `NodeInstanceRole` memang ada, pilih peran tersebut untuk melihat kebijakan yang dilampirkan.

1. Pilih **Izin**.

1. Pastikan bahwa kebijakan ** AmazonEKSWorkerNodePolicy ** dan yang ** AmazonEC2ContainerRegistryPullOnly ** dikelola dilampirkan ke peran atau kebijakan khusus dilampirkan dengan izin minimal.
**catatan**  
Jika kebijakan **AmazonEKS\_CNI\_Policy** terlampir pada peran, sebaiknya hapus dan lampirkan kebijakan tersebut ke IAM role yang dipetakan ke akun layanan `aws-node` Kubernetes sebagai gantinya. Untuk informasi selengkapnya, lihat [Konfigurasikan plugin Amazon VPC CNI untuk menggunakan IRSA](cni-iam-role.md).

1. Pilih Relasi ** kepercayaan**, lalu pilih ** Edit kebijakan kepercayaan**.

1. Verifikasi bahwa hubungan kepercayaan berisi kebijakan berikut. Jika hubungan kepercayaan sesuai dengan kebijakan berikut, pilih **Cancel** (Batalkan). Jika hubungan kepercayaan tidak cocok, salin kebijakan ke ** jendela ** Edit kebijakan kepercayaan dan pilih Per ** barui kebijakan**.

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sts:AssumeRole"
               ],
               "Principal": {
                   "Service": [
                       "ec2.amazonaws.com"
                   ]
               }
           }
       ]
   }
   ```

## Membuat IAM role simpul Amazon EKS
<a name="create-worker-node-role"></a>

Anda dapat membuat peran IAM node dengan Konsol Manajemen AWS atau AWS CLI.

 Konsol Manajemen AWS   

1. Buka konsol IAM di https://console.aws.amazon.com/iam/.

1. Di panel navigasi sebelah kiri, pilih **Peran**.

1. Pada ** halaman ** Peran, pilih ** Buat peran**.

1. Pada ** halaman ** Pilih entitas tepercaya, lakukan hal berikut:

   1. Di ** bagian ** Jenis entitas tepercaya, pilih ** AWS layanan**.

   1. Di bawah ** Kasus penggunaan**, pilih ** EC2**.

   1. Pilih **Berikutnya**.

1. Pada ** halaman ** Tambah izin, lampirkan kebijakan kustom atau lakukan hal berikut:

   1. Di dalam kotak **Filter kebijakan**, masukkan `AmazonEKSWorkerNodePolicy`.

   1. Pilih kotak centang ** AmazonEKSWorkerNodePolicy ** di sebelah kiri hasil pencarian.

   1. Pilih ** Hapus filter**.

   1. Di dalam kotak **Filter kebijakan**, masukkan `AmazonEC2ContainerRegistryPullOnly`.

   1. Pilih kotak centang ** AmazonEC2ContainerRegistryPullOnly ** di sebelah kiri hasil pencarian.

      Kebijakan terkelola ** Amazoneks\_CNI\_Pol ** icy, atau kebijakan [ IPv6 ](cni-iam-role.md#cni-iam-role-create-ipv6-policy) yang Anda buat juga harus dilampirkan ke peran ini atau ke peran lain yang dipetakan ke akun layanan Kubernetes. `aws-node` Sebaiknya tetapkan kebijakan ke peran yang terkait dengan akun layanan Kubernetes, alih-alih menugaskannya ke peran ini. Untuk informasi selengkapnya, lihat [Konfigurasikan plugin Amazon VPC CNI untuk menggunakan IRSA](cni-iam-role.md).

   1. Pilih **Berikutnya**.

1. Pada ** halaman ** Nama, ulasan, dan buat, lakukan hal berikut:

   1. Untuk Nama ** Per ** an, masukkan nama unik untuk peran Anda, seperti`AmazonEKSNodeRole`.

   1. Untuk ** Deskripsi**, ganti teks saat ini dengan teks deskriptif seperti`Amazon EKS - Node role`.

   1. Di bawah ** Tambah tag (Opsional)**, tambahkan metadata ke peran dengan melampirkan tag sebagai pasangan kunci-nilai. Untuk informasi selengkapnya tentang penggunaan tanda di IAM, lihat [Menandai sumber daya IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) di *Panduan Pengguna IAM*.

   1. Pilih **Buat peran**.

 AWS CLI  

1. Jalankan perintah berikut untuk membuat `node-role-trust-relationship.json` file.

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "sts:AssumeRole"
               ],
               "Principal": {
                   "Service": [
                       "ec2.amazonaws.com"
                   ]
               }
           }
       ]
   }
   ```

1. Buat peran IAM.

   ```
   aws iam create-role \
     --role-name AmazonEKSNodeRole \
     --assume-role-policy-document file://"node-role-trust-relationship.json"
   ```

1. Lampirkan dua kebijakan yang dikelola IAM yang diperlukan ke peran IAM.

   ```
   aws iam attach-role-policy \
     --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodePolicy \
     --role-name AmazonEKSNodeRole
   aws iam attach-role-policy \
     --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnly \
     --role-name AmazonEKSNodeRole
   ```

1. Lampirkan salah satu kebijakan IAM berikut ke peran IAM tergantung pada keluarga IP yang digunakan untuk membuat cluster. Kebijakan harus dilampirkan ke peran ini atau peran yang terkait dengan akun `aws-node` layanan Kubernetes yang digunakan untuk plugin Amazon VPC CNI untuk Kubernetes. Sebaiknya tugaskan kebijakan ke dalam peran yang terkait dengan akun layanan Kubernetes. Untuk menetapkan kebijakan ke peran yang terkait dengan akun layanan Kubernetes, lihat. [Konfigurasikan plugin Amazon VPC CNI untuk menggunakan IRSA](cni-iam-role.md)
   + IPv4

     ```
     aws iam attach-role-policy \
       --policy-arn arn:aws: iam::aws:policy/AmazonEKS_CNI_Policy \
       --role-name AmazonEKSNodeRole
     ```
   + IPv6

     1. Salin teks berikut dan simpan ke file bernama `vpc-cni-ipv6-policy.json`.

        ```
        {
            "Version":"2012-10-17",		 	 	 
            "Statement": [
                {
                    "Effect": "Allow",
                    "Action": [
                        "ec2:AssignIpv6Addresses",
                        "ec2:DescribeInstances",
                        "ec2:DescribeTags",
                        "ec2:DescribeNetworkInterfaces",
                        "ec2:DescribeInstanceTypes"
                    ],
                    "Resource": "*"
                },
                {
                    "Effect": "Allow",
                    "Action": [
                        "ec2:CreateTags"
                    ],
                    "Resource": [
                        "arn:aws:ec2:*:*:network-interface/*"
                    ]
                }
            ]
        }
        ```

     1. Buat kebijakan IAM.

        ```
        aws iam create-policy --policy-name AmazonEKS_CNI_IPv6_Policy --policy-document file://vpc-cni-ipv6-policy.json
        ```

     1. Lampirkan kebijakan IAM ke peran IAM. Ganti {{111122223333}} dengan ID akun Anda.

        ```
        aws iam attach-role-policy \
          --policy-arn arn:aws: iam::111122223333:policy/AmazonEKS_CNI_IPv6_Policy \
          --role-name AmazonEKSNodeRole
        ```