Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan register-on-premises-instance perintah (ARN Sesi IAM) untuk mendaftarkan instans lokal
Untuk kontrol maksimum atas otentikasi dan pendaftaran instans lokal, Anda dapat menggunakan register-on-premises-instanceperintah dan kredensyal sementara yang diperbarui secara berkala yang dihasilkan dengan (). AWS Security Token Service AWS STS Peran IAM statis untuk instance mengasumsikan peran AWS STS kredenal yang diperbarui ini untuk melakukan operasi penerapan. CodeDeploy
Metode ini paling berguna ketika Anda perlu mendaftarkan sejumlah besar instance. Ini memungkinkan Anda untuk mengotomatiskan proses pendaftaran dengan CodeDeploy. Anda dapat menggunakan sistem identitas dan autentikasi Anda sendiri untuk mengautentikasi instans lokal dan mendistribusikan kredensil sesi IAM dari layanan ke instans untuk digunakan. CodeDeploy
catatan
Atau, Anda dapat menggunakan pengguna IAM bersama yang didistribusikan ke semua instans lokal untuk memanggil AWS STS AssumeRoleAPI guna mengambil kredensil sesi untuk instance lokal. Metode ini kurang aman dan tidak direkomendasikan untuk lingkungan produksi atau misi kritis.
Gunakan informasi dalam topik berikut untuk mengonfigurasi instans lokal menggunakan kredensil keamanan sementara yang dihasilkan. AWS STS
Topik
- Prasyarat pendaftaran ARN sesi IAM
- Langkah 1: Buat peran IAM yang akan diasumsikan oleh instans lokal
- Langkah 2: Hasilkan kredensyal sementara untuk instance individual menggunakan AWS STS
- Langkah 3: Tambahkan file konfigurasi ke instans lokal
- Langkah 4: Siapkan instans lokal untuk penerapan CodeDeploy
- Langkah 5: Daftarkan instans lokal dengan CodeDeploy
- Langkah 6: Tandai instans lokal
- Langkah 7: Menerapkan revisi aplikasi ke instans lokal
- Langkah 8: Lacak penerapan ke instans lokal
Prasyarat pendaftaran ARN sesi IAM
Selain prasyarat yang tercantum dalamPrasyarat untuk mengonfigurasi instans lokal, persyaratan tambahan berikut harus dipenuhi:
Izin IAM
Identitas IAM yang Anda gunakan untuk mendaftarkan instans lokal harus diberikan izin untuk melakukan operasi. CodeDeploy Pastikan kebijakan AWSCodeDeployFullAccessterkelola dilampirkan pada identitas IAM. Untuk selengkapnya, lihat kebijakan AWS terkelola di Panduan Pengguna IAM.
Sistem untuk menyegarkan kredensyal sementara
Jika Anda menggunakan ARN sesi IAM untuk mendaftarkan instans lokal, Anda harus memiliki sistem untuk menyegarkan kredenal sementara secara berkala. Kredensi sementara kedaluwarsa setelah satu jam atau lebih cepat jika periode yang lebih pendek ditentukan saat kredensil dihasilkan. Ada dua metode untuk menyegarkan kredensyal:
-
Metode 1: Gunakan sistem identitas dan otentikasi yang ada di jaringan perusahaan Anda dengan skrip CRON yang secara berkala melakukan polling identitas dan sistem otentikasi dan menyalin kredensyal sesi terbaru ke instans. Ini memungkinkan Anda untuk mengintegrasikan otentikasi dan struktur identitas Anda AWS tanpa perlu membuat perubahan pada CodeDeploy agen atau layanan untuk mendukung jenis otentikasi yang Anda gunakan di organisasi Anda.
-
Metode 2: Jalankan tugas CRON secara berkala pada instance untuk memanggil AWS STS AssumeRoletindakan dan menulis kredensyal sesi ke file yang dapat diakses CodeDeploy agen. Metode ini masih memerlukan penggunaan pengguna IAM dan menyalin kredensil ke instans lokal, tetapi Anda dapat menggunakan kembali pengguna dan kredensil IAM yang sama di seluruh armada instans lokal.
catatan
Terlepas dari apakah Anda menggunakan metode 1 atau 2, Anda harus menyiapkan proses untuk memulai ulang CodeDeploy agen setelah kredensyal sesi sementara diperbarui sehingga kredensyal baru berlaku.
Untuk informasi tentang membuat dan bekerja dengan AWS STS kredensyal, lihat Referensi AWS Security Token Service API dan Menggunakan kredensyal keamanan sementara untuk meminta akses ke sumber daya. AWS
Langkah 1: Buat peran IAM yang akan diasumsikan oleh instans lokal
Anda dapat menggunakan konsol IAM AWS CLI atau IAM untuk membuat peran IAM yang akan digunakan oleh instans lokal untuk mengautentikasi dan berinteraksi. CodeDeploy
Anda hanya perlu membuat peran IAM tunggal. Setiap instans lokal Anda dapat mengambil peran ini untuk mengambil kredenal keamanan sementara yang memberikan izin yang diberikan untuk peran ini.
Peran yang Anda buat akan memerlukan izin berikut untuk mengakses file yang diperlukan untuk menginstal CodeDeploy agen:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "*" } ] }
Sebaiknya batasi kebijakan ini hanya pada bucket Amazon S3 yang perlu diakses instans lokal. Jika Anda membatasi kebijakan ini, pastikan untuk memberikan akses ke bucket Amazon S3 yang berisi agen. CodeDeploy Jika tidak, kesalahan dapat terjadi setiap kali CodeDeploy agen diinstal atau diperbarui pada instans lokal. Untuk informasi tentang mengontrol akses ke bucket Amazon S3, lihat Mengelola izin akses ke sumber daya Amazon S3 Anda.
Untuk membuat peran IAM
-
Panggil perintah create-role menggunakan
--role-name
opsi untuk menentukan nama untuk peran IAM (misalnya,CodeDeployInstanceRole
) dan--assume-role-policy-document
opsi untuk memberikan izin.Saat Anda membuat peran IAM untuk instance ini, Anda mungkin memberinya nama
CodeDeployInstanceRole
dan menyertakan izin yang diperlukan dalam file bernama:CodeDeployRolePolicy.json
aws iam create-role --role-name CodeDeployInstanceRole --assume-role-policy-document file://CodeDeployRolePolicy.json
-
Dalam output panggilan ke create-role perintah, perhatikan nilai bidang ARN. Sebagai contoh:
arn:aws:iam::123456789012:role/CodeDeployInstanceRole
Anda akan memerlukan peran ARN saat menggunakan AWS STS AssumeRoleAPI untuk menghasilkan kredensi jangka pendek untuk setiap instance.
Untuk informasi selengkapnya tentang membuat peran IAM, lihat Membuat peran untuk mendelegasikan izin ke AWS layanan di Panduan Pengguna IAM.
Untuk informasi tentang menetapkan izin ke peran yang ada, lihat put-role-policydi Referensi AWS CLI Perintah.
Langkah 2: Hasilkan kredensyal sementara untuk instance individual menggunakan AWS STS
Sebelum Anda membuat kredensyal sementara yang akan digunakan untuk mendaftarkan instans lokal, Anda harus membuat atau memilih identitas IAM (pengguna atau peran) yang akan Anda buat kredensyal sementara. sts:AssumeRole
Izin harus disertakan dalam pengaturan kebijakan untuk identitas IAM ini.
Untuk informasi tentang pemberian sts:AssumeRole
izin ke identitas IAM, lihat Membuat peran untuk mendelegasikan izin ke layanan dan. AWS AssumeRole
Ada dua cara untuk menghasilkan kredensyal sementara:
-
Gunakan perintah assume-role dengan. AWS CLI Sebagai contoh:
aws sts assume-role --role-arn arn:aws:iam::
12345ACCOUNT
:role/role-arn
--role-session-namesession-name
Di mana:
-
12345ACCOUNT
adalah nomor akun 12 digit untuk organisasi Anda. -
role-arn
adalah ARN dari peran yang akan diasumsikan, yang Anda hasilkan. Langkah 1: Buat peran IAM yang akan diasumsikan oleh instans lokal -
nama sesi adalah nama
yang ingin Anda berikan ke sesi peran yang Anda buat sekarang.
catatan
Jika Anda menggunakan skrip CRON yang secara berkala melakukan polling identitas dan sistem otentikasi dan menyalin kredensyal sesi terbaru ke instance (metode 1 untuk menyegarkan kredensyal sementara yang dijelaskan dalamPrasyarat pendaftaran ARN sesi IAM), Anda dapat menggunakan SDK apa pun yang didukung untuk memanggil. AWS AssumeRole
-
-
Gunakan alat yang disediakan oleh AWS.
aws-codedeploy-session-helper Alat ini menghasilkan AWS STS kredensil dan menuliskannya ke file yang Anda tempatkan pada instance. Alat ini paling cocok untuk metode 2 untuk menyegarkan kredensyal sementara yang dijelaskan dalam. Prasyarat pendaftaran ARN sesi IAM Dalam metode ini, aws-codedeploy-session-helper alat ditempatkan pada setiap instance dan menjalankan perintah menggunakan izin pengguna IAM. Setiap instance menggunakan kredensyal pengguna IAM yang sama dalam hubungannya dengan alat ini.
Untuk informasi lebih lanjut, lihat aws-codedeploy-session-helper
GitHub repositori. catatan
Setelah Anda membuat kredensil sesi IAM, letakkan kredenal sesi IAM di lokasi mana pun di instans lokal. Pada langkah berikutnya, Anda akan mengonfigurasi CodeDeploy agen untuk mengakses kredensil di lokasi ini.
Sebelum melanjutkan, pastikan sistem yang akan Anda gunakan untuk menyegarkan kredenal sementara secara berkala sudah ada. Jika kredensyal sementara tidak di-refresh, penerapan ke instans lokal akan gagal. Untuk informasi selengkapnya, lihat “Sistem untuk menyegarkan kredensyal sementara” di. Prasyarat pendaftaran ARN sesi IAM
Langkah 3: Tambahkan file konfigurasi ke instans lokal
Tambahkan file konfigurasi ke instans lokal, menggunakan izin root atau administrator. File konfigurasi ini digunakan untuk mendeklarasikan kredenal IAM dan AWS wilayah target yang akan digunakan. CodeDeploy File harus ditambahkan ke lokasi tertentu pada instance lokal. File harus menyertakan ARN sesi sementara IAM, ID kunci rahasia dan kunci akses rahasia, dan wilayah target. AWS
Untuk menambahkan file konfigurasi
-
Membuat file bernama
codedeploy.onpremises.yml
(untuk Server Ubuntu atau instans lokal RHEL) atauconf.onpremises.yml
(untuk instance lokal Windows Server) di lokasi berikut pada instans lokal:-
Untuk Server Ubuntu:
/etc/codedeploy-agent/conf
-
Untuk Windows Server:
C:\ProgramData\Amazon\CodeDeploy
-
-
Gunakan editor teks untuk menambahkan informasi berikut ke
codedeploy.onpremises.yml
file yang baru dibuat (Linux) atauconf.onpremises.yml
file (Windows):--- iam_session_arn:
iam-session-arn
aws_credentials_file:credentials-file
region:supported-region
Di mana:
-
iam-session-arn
adalah ARN sesi IAM yang Anda catat. Langkah 2: Hasilkan kredensyal sementara untuk instance individual menggunakan AWS STS -
credentials-file
adalah lokasi file kredensial untuk ARN sesi sementara, seperti yang disebutkan dalam. Langkah 2: Hasilkan kredensyal sementara untuk instance individual menggunakan AWS STS -
wilayah yang didukung
adalah salah satu daerah yang CodeDeploy mendukung, seperti yang tercantum di Wilayah dan titik akhir di. Referensi Umum AWS
-
Langkah 4: Siapkan instans lokal untuk penerapan CodeDeploy
Instal dan konfigurasikan AWS CLI
Instal dan konfigurasikan instans lokal AWS CLI di tempat. (Ini AWS CLI akan digunakan untuk mengunduh dan menginstal CodeDeploy agen pada instance lokal.)
-
Untuk menginstal instans lokal, ikuti petunjuk di Menyiapkan instans AWS CLI di Panduan AWS Command Line Interface Pengguna. AWS CLI
catatan
CodeDeploy perintah untuk bekerja dengan instance lokal menjadi tersedia di versi 1.7.19 dari. AWS CLI Jika Anda memiliki versi yang AWS CLI sudah diinstal, Anda dapat memeriksa versinya dengan meneleponaws --version.
-
Untuk mengonfigurasi instans lokal, ikuti petunjuk dalam Mengonfigurasi AWS CLI di AWS Command Line Interface Panduan Pengguna. AWS CLI
penting
Saat Anda mengonfigurasi AWS CLI (misalnya, dengan memanggil aws configure perintah), pastikan untuk menentukan ID kunci rahasia dan kunci akses rahasia dari pengguna IAM yang memiliki, setidaknya, izin yang dijelaskan dalam. Prasyarat pendaftaran ARN sesi IAM
Mengatur Variabel Lingkungan AWS_REGION (Server Ubuntu dan RHEL Saja)
Jika Anda tidak menjalankan Ubuntu Server atau RHEL pada instans lokal Anda, lewati langkah ini dan langsung ke “Instal CodeDeploy agen.”
Instal CodeDeploy agen di Server Ubuntu atau instans lokal RHEL dan aktifkan instance untuk memperbarui CodeDeploy agen setiap kali versi baru tersedia. Anda melakukan ini dengan menyetel variabel AWS_REGION
lingkungan pada instance ke pengidentifikasi salah satu wilayah yang didukung oleh CodeDeploy. Kami menyarankan Anda menetapkan nilai ke wilayah tempat CodeDeploy aplikasi, grup penyebaran, dan revisi aplikasi Anda berada (misalnya,us-west-2
). Untuk daftar wilayah, lihat Wilayah dan titik akhir di. Referensi Umum AWS
Untuk mengatur variabel lingkungan, panggil yang berikut ini dari terminal:
export AWS_REGION=
supported-region
Di mana wilayah yang didukung
adalah pengenal wilayah (misalnya,). us-west-2
Instal CodeDeploy agen
-
Untuk instance lokal Server Ubuntu, ikuti petunjuknyaInstal CodeDeploy agen untuk Server Ubuntu, lalu kembali ke halaman ini.
-
Untuk instance lokal RHEL, ikuti petunjuknyaInstal CodeDeploy agen untuk Amazon Linux atau RHEL, lalu kembali ke halaman ini.
-
Untuk instance lokal Windows Server, ikuti petunjuknyaInstal CodeDeploy agen untuk Windows Server, lalu kembali ke halaman ini.
Langkah 5: Daftarkan instans lokal dengan CodeDeploy
Petunjuk dalam langkah ini mengasumsikan Anda mendaftarkan instans lokal dari instans lokal itu sendiri. Anda dapat mendaftarkan instans lokal dari perangkat atau instans terpisah yang telah AWS CLI diinstal dan dikonfigurasi.
Gunakan AWS CLI untuk mendaftarkan instance lokal CodeDeploy sehingga dapat digunakan dalam penerapan.
Sebelum Anda dapat menggunakan AWS CLI, Anda akan memerlukan ARN dari kredenal sesi sementara yang Anda buat. Langkah 3: Tambahkan file konfigurasi ke instans lokal Misalnya, untuk contoh yang Anda identifikasi sebagaiAssetTag12010298EX
:
arn:sts:iam::123456789012:assumed-role/CodeDeployInstanceRole/AssetTag12010298EX
Panggil register-on-premises-instanceperintah, tentukan:
-
Nama yang secara unik mengidentifikasi instance lokal (dengan opsi).
--instance-name
penting
Untuk membantu mengidentifikasi instans lokal, terutama untuk tujuan debugging, kami sangat menyarankan Anda menentukan nama yang memetakan ke beberapa karakteristik unik instans lokal (misalnya, nama sesi kredenal STS dan nomor seri atau pengenal aset internal, jika berlaku). Jika Anda menentukan alamat MAC sebagai nama, ketahuilah bahwa alamat MAC berisi karakter yang CodeDeploy tidak mengizinkan, seperti titik dua (:). Untuk daftar karakter yang diizinkan, lihatCodeDeploy kuota.
-
ARN sesi IAM yang Anda atur untuk mengautentikasi beberapa instans lokal. Langkah 1: Buat peran IAM yang akan diasumsikan oleh instans lokal
Sebagai contoh:
aws deploy register-on-premises-instance --instance-name
name-of-instance
--iam-session-arn arn:aws:sts::account-id
:assumed-role/role-to-assume
/session-name
Di mana:
-
name-of-instance
adalah nama yang Anda gunakan untuk mengidentifikasi instance lokal, sepertiAssetTag12010298EX
. -
account-id adalah ID
akun 12 digit untuk organisasi Anda, seperti.111222333444
-
role-to-assume
adalah nama peran IAM yang Anda buat untuk instance, sepertiCodeDeployInstanceRole
. -
nama sesi
adalah nama peran sesi yang Anda tentukan. Langkah 2: Hasilkan kredensyal sementara untuk instance individual menggunakan AWS STS
Langkah 6: Tandai instans lokal
Anda dapat menggunakan konsol AWS CLI atau CodeDeploy konsol untuk menandai instans lokal. (CodeDeploymenggunakan tag instans lokal untuk mengidentifikasi target penerapan selama penerapan.)
Untuk menandai instance lokal (CLI)
-
Panggil perintah add-tags-to-on-premises-instances, dengan menentukan:
-
Nama yang secara unik mengidentifikasi instance lokal (dengan opsi).
--instance-names
-
Nama kunci tag instans lokal dan nilai tag yang ingin Anda gunakan (dengan
--tags
opsi). Anda harus menentukan nama dan nilai. CodeDeploy tidak mengizinkan tag instance lokal yang hanya memiliki nilai.Sebagai contoh:
aws deploy add-tags-to-on-premises-instances --instance-names AssetTag12010298EX --tags Key=Name,Value=CodeDeployDemo-OnPrem
-
Untuk menandai instance lokal (konsol)
Masuk ke AWS Management Console dan buka CodeDeploy konsol di https://console.aws.amazon.com/codedeploy
. catatan
Masuk dengan pengguna yang sama dengan yang Anda aturMemulai dengan CodeDeploy.
Di panel navigasi, perluas Deploy, dan pilih Instans lokal.
-
Dalam daftar instance lokal, pilih nama instans lokal yang ingin Anda tag.
-
Dalam daftar tag, pilih atau masukkan kunci tag dan nilai tag yang diinginkan. Setelah Anda memasukkan kunci tag dan nilai tag, baris lain muncul. Anda dapat mengulangi ini hingga 10 tag. Untuk menghapus sebuah tag, pilih Hapus.
-
Setelah Anda menambahkan tag, pilih Perbarui Tag.
Langkah 7: Menerapkan revisi aplikasi ke instans lokal
Anda sekarang siap untuk menerapkan revisi aplikasi ke instans lokal yang terdaftar dan diberi tag.
Anda menerapkan revisi aplikasi ke instans lokal dengan cara yang mirip dengan menerapkan revisi aplikasi ke instans Amazon EC2. Untuk petunjuk, lihat Buat penerapan dengan CodeDeploy. Instruksi ini mencakup tautan ke prasyarat, termasuk membuat aplikasi, membuat grup penyebaran, dan menyiapkan revisi aplikasi. Jika Anda memerlukan contoh revisi aplikasi sederhana untuk diterapkan, Anda dapat membuat yang dijelaskan Langkah 2: Buat contoh revisi aplikasi dalam. Tutorial: Menerapkan aplikasi ke instans lokal dengan CodeDeploy (Windows Server, Ubuntu Server, atau Red Hat Enterprise Linux)
penting
Jika Anda menggunakan kembali peran CodeDeploy layanan sebagai bagian dari pembuatan grup penerapan yang menargetkan instance lokal, Anda Tag:get*
harus menyertakan Action
bagian pernyataan kebijakan peran layanan. Untuk informasi selengkapnya, lihat Langkah 2: Buat peran layanan untuk CodeDeploy.
Langkah 8: Lacak penerapan ke instans lokal
Setelah menerapkan revisi aplikasi ke instans lokal yang terdaftar dan ditandai, Anda dapat melacak kemajuan penerapan.
Anda melacak penerapan ke instans lokal dengan cara yang mirip dengan melacak penerapan ke instans Amazon EC2. Untuk petunjuk, lihat Lihat CodeDeploy detail penerapan .