Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Langkah 4: Buat profil IAM instans untuk EC2 instans Amazon Anda
catatan
Jika Anda menggunakan platform komputasi Amazon ECS atau AWS Lambda, lewati langkah ini.
EC2Instans Amazon Anda memerlukan izin untuk mengakses bucket GitHub atau repositori Amazon S3 tempat aplikasi disimpan. Untuk meluncurkan EC2 instans Amazon yang kompatibel dengannya CodeDeploy, Anda harus membuat IAM peran tambahan, profil instans. Petunjuk ini menunjukkan cara membuat profil IAM instans untuk dilampirkan ke EC2 instans Amazon Anda. Peran ini memberikan izin CodeDeploy agen untuk mengakses bucket atau GitHub repositori Amazon S3 tempat aplikasi Anda disimpan.
Anda dapat membuat profil IAM instance dengan AWS CLI, IAM konsol, atau file IAMAPIs.
catatan
Anda dapat melampirkan profil IAM instance ke EC2 instans Amazon saat meluncurkannya atau ke instans yang diluncurkan sebelumnya. Untuk informasi selengkapnya, lihat Profil instans.
Topik
Buat profil IAM instans untuk EC2 instans Amazon Anda () CLI
Dalam langkah-langkah ini, kami berasumsi Anda telah mengikuti instruksi dalam tiga langkah pertamaMemulai dengan CodeDeploy.
-
Pada mesin pengembangan Anda, buat file teks bernama
CodeDeployDemo-EC2-Trust.json
. Tempel konten berikut, yang EC2 memungkinkan Amazon bekerja atas nama Anda:{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
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 EC2 Amazon 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 IAM instans 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 IAMotorisasi atau titik akhir Amazon Virtual Private Cloud (VPC) CodeDeploy, Anda perlu menambahkan lebih banyak izin. Lihat Menggunakan CodeDeploy dengan Amazon Virtual Private Cloud untuk informasi selengkapnya.
-
Dari direktori yang sama, panggil create-role perintah untuk membuat IAM peran 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
-
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
-
Hubungi attach-role-policy untuk memberikan peran izin Amazon EC2 Systems Manager sehingga SSM dapat menginstal CodeDeploy agen. 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.
aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore --role-name CodeDeployDemo-EC2-Instance-Profile
-
Panggil create-instance-profile perintah diikuti dengan add-role-to-instance-profile perintah untuk membuat profil IAM instance bernama
CodeDeployDemo-EC2-Instance-Profile
. Profil instans memungkinkan Amazon EC2 meneruskan IAM peran yang diberi namaCodeDeployDemo-EC2-Instance-Profile
ke EC2 instans Amazon saat instance 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 IAM instance, lihat list-instance-profiles-for-role di IAM bagian AWS CLI Referensi.
Anda sekarang telah membuat profil IAM instance untuk dilampirkan ke EC2 instans Amazon Anda. Untuk informasi selengkapnya, lihat IAMperan untuk Amazon EC2 di Panduan EC2 Pengguna Amazon.
Buat profil IAM instans untuk EC2 instans Amazon Anda (konsol)
Masuk ke AWS Management Console dan buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Di IAM konsol, di panel navigasi, pilih Kebijakan, lalu pilih Buat kebijakan.
-
Pada halaman Tentukan izin, pilih JSON.
Hapus
JSON
kode contoh.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 EC2 Amazon 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 IAM instans 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 IAMotorisasi atau titik akhir Amazon Virtual Private Cloud (VPC) CodeDeploy, Anda perlu menambahkan lebih banyak izin. Lihat Menggunakan CodeDeploy dengan Amazon Virtual Private Cloud untuk informasi selengkapnya.
-
Pilih Berikutnya.
-
Pada halaman Tinjau dan buat, di kotak Nama kebijakan, ketik
CodeDeployDemo-EC2-Permissions
. -
(Opsional) Untuk Deskripsi, ketik deskripsi untuk kebijakan.
-
Pilih Buat kebijakan.
Di panel navigasi, pilih Peran, lalu pilih Buat peran.
-
Di bawah Kasus penggunaan, pilih kasus EC2penggunaan.
Pilih Berikutnya.
-
Dalam daftar kebijakan, pilih kotak centang di samping kebijakan yang baru saja Anda buat (CodeDeployDemo- EC2 -Izin). Jika perlu, gunakan kotak pencarian untuk menemukan kebijakan.
-
Untuk menggunakan Systems Manager untuk menginstal atau mengkonfigurasi CodeDeploy agen, pilih kotak centang di sebelah A mazonSSMManaged 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.
-
Pilih Berikutnya.
-
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 IAM instance untuk dilampirkan ke EC2 instans Amazon Anda. Untuk informasi selengkapnya, lihat IAMperan untuk Amazon EC2 di Panduan EC2 Pengguna Amazon.