

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

# Langkah 4: Buat profil instans IAM untuk instans Amazon EC2 Anda
<a name="getting-started-create-iam-instance-profile"></a>

**catatan**  
 Jika Anda menggunakan platform komputasi Amazon ECS atau AWS Lambda, lewati langkah ini.

Instans Amazon EC2 Anda memerlukan izin untuk mengakses bucket atau GitHub repositori Amazon S3 tempat aplikasi disimpan. *Untuk meluncurkan instans Amazon EC2 yang kompatibel dengannya CodeDeploy, Anda harus membuat peran IAM tambahan, profil instans.* Petunjuk ini menunjukkan cara membuat profil instans IAM untuk dilampirkan ke instans Amazon EC2 Anda. Peran ini memberikan izin CodeDeploy agen untuk mengakses bucket atau GitHub repositori Amazon S3 tempat aplikasi Anda disimpan.

Anda dapat membuat profil instans IAM dengan AWS CLI, konsol IAM, atau IAM. APIs

**catatan**  
Anda dapat melampirkan profil instans IAM ke instans Amazon EC2 saat meluncurkannya atau ke instans yang diluncurkan sebelumnya. Untuk informasi selengkapnya, lihat [Profil instans](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-usingrole-instanceprofile.html).

**Topics**
+ [Buat profil instans IAM untuk instans Amazon EC2 (CLI)](#getting-started-create-iam-instance-profile-cli)
+ [Membuat profil instans IAM untuk instans Amazon EC2 (konsol)](#getting-started-create-iam-instance-profile-console)

## Buat profil instans IAM untuk instans Amazon EC2 (CLI)
<a name="getting-started-create-iam-instance-profile-cli"></a>

Dalam langkah-langkah ini, kami berasumsi Anda telah mengikuti instruksi dalam tiga langkah pertama[Memulai dengan CodeDeploy](getting-started-codedeploy.md).

1. Pada mesin pengembangan Anda, buat file teks bernama`CodeDeployDemo-EC2-Trust.json`. Tempel konten berikut, yang memungkinkan Amazon EC2 berfungsi atas nama Anda:

------
#### [ JSON ]

****  

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

------

------
#### [ JSON ]

****  

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

------

1. Di direktori yang sama, buat file teks bernama`CodeDeployDemo-EC2-Permissions.json`. Tempel konten berikut:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**catatan**  
Kami menyarankan Anda membatasi kebijakan ini hanya untuk bucket Amazon S3 yang harus diakses instans Amazon EC2 Anda. Pastikan untuk memberikan akses ke bucket Amazon S3 yang berisi agen. CodeDeploy Jika tidak, kesalahan dapat terjadi ketika CodeDeploy agen diinstal atau diperbarui pada instance. Untuk memberikan akses profil instans IAM hanya ke beberapa bucket kit CodeDeploy sumber daya di Amazon S3, gunakan kebijakan berikut, tetapi hapus baris untuk bucket yang ingin Anda cegah aksesnya:  

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::aws-codedeploy-us-east-2/*",
           "arn:aws:s3:::aws-codedeploy-us-east-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-2/*",
           "arn:aws:s3:::aws-codedeploy-ca-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-3/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-north-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-2/*",
           "arn:aws:s3:::aws-codedeploy-il-central-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-east-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",        
           "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-2/*",
           "arn:aws:s3:::aws-codedeploy-me-central-1/*",
           "arn:aws:s3:::aws-codedeploy-me-south-1/*",
           "arn:aws:s3:::aws-codedeploy-sa-east-1/*"
         ]
       }
     ]
   }
   ```
**catatan**  
Jika Anda ingin menggunakan [otorisasi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization) atau titik akhir CodeDeploy Amazon Virtual Private Cloud (VPC), Anda perlu menambahkan lebih banyak izin. Lihat [Menggunakan CodeDeploy dengan Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints) untuk informasi selengkapnya.

1. Dari direktori yang sama, panggil **create-role** perintah untuk membuat peran IAM bernama**CodeDeployDemo-EC2-Instance-Profile**, berdasarkan informasi di file pertama:
**penting**  
Pastikan untuk menyertakan `file://` sebelum nama file. Diperlukan dalam perintah ini.

   ```
   aws iam create-role --role-name CodeDeployDemo-EC2-Instance-Profile --assume-role-policy-document file://CodeDeployDemo-EC2-Trust.json
   ```

1. Dari direktori yang sama, panggil **put-role-policy** perintah untuk memberikan peran bernama **CodeDeployDemo-EC2-Instance-Profile** izin berdasarkan informasi dalam file kedua:
**penting**  
Pastikan untuk menyertakan `file://` sebelum nama file. Diperlukan dalam perintah ini.

   ```
   aws iam put-role-policy --role-name CodeDeployDemo-EC2-Instance-Profile --policy-name CodeDeployDemo-EC2-Permissions --policy-document file://CodeDeployDemo-EC2-Permissions.json
   ```

1. Hubungi **attach-role-policy** untuk memberikan peran izin Amazon EC2 Systems Manager sehingga SSM dapat menginstal agen. CodeDeploy Kebijakan ini tidak diperlukan jika Anda berencana untuk menginstal agen dari bucket Amazon S3 publik dengan baris perintah. Pelajari lebih lanjut tentang [menginstal CodeDeploy agen](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html). 

   ```
   aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore --role-name CodeDeployDemo-EC2-Instance-Profile
   ```

1. Panggil **create-instance-profile** perintah diikuti dengan **add-role-to-instance-profile** perintah untuk membuat profil instans IAM bernama**CodeDeployDemo-EC2-Instance-Profile**. Profil instans memungkinkan Amazon EC2 meneruskan peran IAM yang diberi nama **CodeDeployDemo-EC2-Instance-Profile** ke instans Amazon EC2 saat instans pertama kali diluncurkan:

   ```
   aws iam create-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile
   aws iam add-role-to-instance-profile --instance-profile-name CodeDeployDemo-EC2-Instance-Profile --role-name CodeDeployDemo-EC2-Instance-Profile
   ```

   *Jika Anda perlu mendapatkan nama profil instans IAM, lihat [list-instance-profiles-for-role](https://docs.aws.amazon.com/cli/latest/reference/iam/list-instance-profiles-for-role.html) di bagian IAM Referensi.AWS CLI *

Anda sekarang telah membuat profil instans IAM untuk dilampirkan ke instans Amazon EC2 Anda. Untuk informasi selengkapnya, lihat [peran IAM untuk Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) EC2 di Panduan Pengguna *Amazon EC2*.

## Membuat profil instans IAM untuk instans Amazon EC2 (konsol)
<a name="getting-started-create-iam-instance-profile-console"></a>

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Dalam kolom IAM, dalam panel navigas, pilih **Kebijakan**, lalu pilih **Buat kebijakan**.

1. Pada halaman **Tentukan izin**, pilih **JSON**.

1. Hapus `JSON` kode contoh.

1. Tempel kode berikut:

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": [
                   "s3:Get*",
                   "s3:List*"
               ],
               "Effect": "Allow",
               "Resource": "*"
           }
       ]
   }
   ```
**catatan**  
Kami menyarankan Anda membatasi kebijakan ini hanya untuk bucket Amazon S3 yang harus diakses instans Amazon EC2 Anda. Pastikan untuk memberikan akses ke bucket Amazon S3 yang berisi agen. CodeDeploy Jika tidak, kesalahan dapat terjadi ketika CodeDeploy agen diinstal atau diperbarui pada instance. Untuk memberikan akses profil instans IAM hanya ke beberapa bucket kit CodeDeploy sumber daya di Amazon S3, gunakan kebijakan berikut, tetapi hapus baris untuk bucket yang ingin Anda cegah aksesnya:  

   ```
   {
     "Version": "2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource": [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::aws-codedeploy-us-east-2/*",
           "arn:aws:s3:::aws-codedeploy-us-east-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-1/*",
           "arn:aws:s3:::aws-codedeploy-us-west-2/*",
           "arn:aws:s3:::aws-codedeploy-ca-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-west-3/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-central-2/*",
           "arn:aws:s3:::aws-codedeploy-eu-north-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-1/*",
           "arn:aws:s3:::aws-codedeploy-eu-south-2/*",
           "arn:aws:s3:::aws-codedeploy-il-central-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-east-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-northeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-1/*",        
           "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-3/*",
           "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-1/*",
           "arn:aws:s3:::aws-codedeploy-ap-south-2/*",
           "arn:aws:s3:::aws-codedeploy-me-central-1/*",
           "arn:aws:s3:::aws-codedeploy-me-south-1/*",
           "arn:aws:s3:::aws-codedeploy-sa-east-1/*"
         ]
       }
     ]
   }
   ```
**catatan**  
Jika Anda ingin menggunakan [otorisasi IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/intro-structure.html#intro-structure-authorization) atau titik akhir CodeDeploy Amazon Virtual Private Cloud (VPC), Anda perlu menambahkan lebih banyak izin. Lihat [Menggunakan CodeDeploy dengan Amazon Virtual Private Cloud](https://docs.aws.amazon.com/codedeploy/latest/userguide/vpc-endpoints) untuk informasi selengkapnya.

1.  Pilih **Berikutnya**. 

1. Pada halaman **Tinjau dan buat**, di kotak **Nama kebijakan**, ketik**CodeDeployDemo-EC2-Permissions**.

1.  (Opsional) Untuk **Deskripsi**, ketik deskripsi untuk kebijakan. 

1. Pilih **Buat kebijakan**.

1. Di panel navigasi, pilih **Peran**, lalu pilih **Buat peran**.

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

1. Pilih **Berikutnya**.

1.  Dalam daftar kebijakan, pilih kotak centang di samping kebijakan yang baru saja Anda buat (**CodeDeployDemo-EC2-Permissions**). Jika perlu, gunakan kotak pencarian untuk menemukan kebijakan. 

1.  Untuk menggunakan Systems Manager untuk menginstal atau mengonfigurasi CodeDeploy agen, pilih kotak centang di sebelah **Amazon SSMManaged InstanceCore**. Kebijakan AWS terkelola ini memungkinkan instance untuk menggunakan fungsionalitas inti layanan Systems Manager. Jika perlu, gunakan kotak pencarian untuk menemukan kebijakan. Kebijakan ini tidak diperlukan jika Anda berencana untuk menginstal agen dari bucket Amazon S3 publik dengan baris perintah. Pelajari lebih lanjut tentang [menginstal CodeDeploy agen](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html). 

1.  Pilih **Berikutnya**. 

1. Pada halaman **Nama, tinjau, dan buat**, di **Nama peran**, masukkan nama untuk peran layanan (misalnya,**CodeDeployDemo-EC2-Instance-Profile**), lalu pilih **Buat peran**.

   Anda juga dapat memasukkan deskripsi untuk peran layanan ini di **Deskripsi peran**.

Anda sekarang telah membuat profil instans IAM untuk dilampirkan ke instans Amazon EC2 Anda. Untuk informasi selengkapnya, lihat [peran IAM untuk Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html) EC2 di Panduan Pengguna *Amazon EC2*.