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
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 API IAM.
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.
Topik
Buat profil instans IAM untuk instans Amazon EC2 (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 memungkinkan Amazon EC2 berfungsi 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 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:::DOC-EXAMPLE-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 atau titik akhir CodeDeploy Amazon Virtual Private Cloud (VPC), 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 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
-
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 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.
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 instans IAM bernama
CodeDeployDemo-EC2-Instance-Profile
. Profil instans memungkinkan Amazon EC2 meneruskan peran IAM yang diberi namaCodeDeployDemo-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 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 EC2 di Panduan Pengguna Amazon EC2.
Membuat profil instans IAM untuk instans Amazon EC2 (konsol)
Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.
-
Dalam kolom IAM, dalam panel navigas, 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 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:::DOC-EXAMPLE-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 atau titik akhir CodeDeploy Amazon Virtual Private Cloud (VPC), Anda perlu menambahkan lebih banyak izin. Lihat Menggunakan CodeDeploy dengan Amazon Virtual Private Cloud untuk informasi selengkapnya.
-
Pilih Selanjutnya.
-
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 penggunaan EC2.
Pilih Selanjutnya.
-
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.
-
Untuk menggunakan Systems Manager untuk menginstal atau mengkonfigurasi CodeDeploy agen, pilih kotak centang di sebelah AmazonSSM ManagedInstanceCore. 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 Selanjutnya.
-
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 EC2 di Panduan Pengguna Amazon EC2.