Gunakan perintah register (ARN pengguna IAM) untuk mendaftarkan instans lokal - AWS CodeDeploy

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

Gunakan perintah register (ARN pengguna IAM) untuk mendaftarkan instans lokal

penting

Mendaftarkan instance menggunakan pengguna IAM tidak disarankan karena menggunakan kredensi statis (permanen) untuk otentikasi. Untuk keamanan yang lebih baik, sebaiknya daftarkan instans menggunakan kredensi sementara untuk otentikasi. Untuk informasi selengkapnya, lihat Gunakan register-on-premises-instance perintah (ARN Sesi IAM) untuk mendaftarkan instans lokal.

penting

Pastikan Anda memiliki rencana untuk memutar kunci akses pengguna IAM (kredensi permanen). Untuk informasi selengkapnya, lihat Memutar kunci akses.

Bagian ini menjelaskan cara mengonfigurasi instans lokal dan mendaftar serta menandainya CodeDeploy dengan upaya paling sedikit. registerPerintah ini paling berguna ketika Anda bekerja dengan armada tunggal atau kecil instance lokal. Anda dapat menggunakan register perintah hanya ketika Anda menggunakan ARN pengguna IAM untuk mengautentikasi sebuah instance. Anda tidak dapat menggunakan register perintah dengan ARN sesi IAM untuk otentikasi.

Bila Anda menggunakan register perintah, Anda dapat membiarkan CodeDeploy melakukan hal berikut:

  • Buat pengguna IAM AWS Identity and Access Management untuk instance lokal, jika Anda tidak menentukannya dengan perintah.

  • Simpan kredenal pengguna IAM ke file konfigurasi instans lokal.

  • Daftarkan instance lokal dengan CodeDeploy.

  • Tambahkan tag ke instance lokal, jika Anda menentukannya sebagai bagian dari perintah.

catatan

register-on-premises-instancePerintah adalah alternatif dari perintah register. Anda menggunakan register-on-premises-instance perintah jika Anda ingin mengonfigurasi instans lokal dan mendaftar dan menandainya dengan CodeDeploy sebagian besar milik Anda sendiri. register-on-premises-instancePerintah ini juga memberi Anda opsi untuk menggunakan ARN sesi IAM untuk mendaftarkan instance alih-alih ARN pengguna IAM. Pendekatan ini memberikan keuntungan besar jika Anda memiliki armada besar instance lokal. Secara khusus, Anda dapat menggunakan ARN sesi IAM tunggal untuk mengautentikasi beberapa instance alih-alih harus membuat pengguna IAM untuk setiap instans lokal satu per satu. Untuk informasi selengkapnya, lihat Gunakan register-on-premises-instance perintah (IAMpenggunaARN) untuk mendaftarkan instans lokal dan Gunakan register-on-premises-instance perintah (ARN Sesi IAM) untuk mendaftarkan instans lokal.

Langkah 1: Instal dan AWS CLI konfigurasikan instans lokal

  1. Instal AWS CLI instans lokal di tempat. Ikuti petunjuk di Menyiapkan dengan AWS CLI di Panduan AWS Command Line Interface Pengguna.

    catatan

    CodeDeploy perintah untuk bekerja dengan instance lokal tersedia di AWS CLI versi 1.7.19 dan yang lebih baru. Jika Anda AWS CLI sudah menginstal, hubungi aws --version untuk memeriksa versinya.

  2. Konfigurasikan AWS CLI instans lokal di tempat. Ikuti petunjuk dalam Mengkonfigurasi Panduan AWS Command Line Interface Pengguna AWS CLI di.

    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 AWS akses berikut selain izin yang ditentukan dalam. Prasyarat untuk mengonfigurasi instans lokal Hal ini memungkinkan untuk mengunduh dan menginstal CodeDeploy agen pada instans lokal. Izin akses mungkin terlihat mirip dengan ini:

    { "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codedeploy:*", "iam:CreateAccessKey", "iam:CreateUser", "iam:DeleteAccessKey", "iam:DeleteUser", "iam:DeleteUserPolicy", "iam:ListAccessKeys", "iam:ListUserPolicies", "iam:PutUserPolicy", "iam:GetUser", "tag:getTagKeys", "tag:getTagValues", "tag:GetResources" ], "Resource" : "*" }, { "Effect" : "Allow", "Action" : [ "s3:Get*", "s3:List*" ], "Resource" : [ "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-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-southeast-1/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-2/*", "arn:aws:s3:::aws-codedeploy-ap-southeast-4/*", "arn:aws:s3:::aws-codedeploy-ap-south-1/*", "arn:aws:s3:::aws-codedeploy-sa-east-1/*" ] } ] }
    catatan

    Jika Anda melihat kesalahan akses ditolak saat mencoba mengakses salah satu bucket Amazon S3 yang ditampilkan sebelumnya, coba hilangkan /* bagian ARN sumber daya bucket, misalnya,. arn:aws:s3:::aws-codedeploy-sa-east-1

Langkah 2: Panggil perintah register

Untuk langkah ini, kami berasumsi Anda mendaftarkan instans lokal dari instans lokal itu sendiri. Anda juga dapat mendaftarkan instans lokal dari perangkat atau instans terpisah yang telah AWS CLI diinstal dan dikonfigurasi seperti yang dijelaskan pada langkah sebelumnya.

Gunakan AWS CLI untuk memanggil perintah register, dengan menentukan:

  • Nama yang secara unik mengidentifikasi instance lokal CodeDeploy (dengan opsi). --instance-name

    penting

    Untuk membantu mengidentifikasi instans lokal nanti, terutama untuk tujuan debugging, kami sangat menyarankan Anda menggunakan nama yang memetakan ke beberapa karakteristik unik instans lokal (misalnya, nomor seri atau beberapa pengenal aset internal unik, jika berlaku). Jika Anda menentukan alamat MAC untuk sebuah nama, ketahuilah bahwa alamat MAC berisi karakter yang CodeDeploy tidak mengizinkan, seperti titik dua (:). Untuk daftar karakter yang diizinkan, lihatCodeDeploy kuota.

  • Secara opsional, ARN pengguna IAM yang sudah ada yang ingin Anda kaitkan dengan instance lokal ini (dengan opsi). --iam-user-arn Untuk mendapatkan ARN dari pengguna IAM, panggil perintah get-user, atau pilih nama pengguna IAM di bagian Pengguna konsol IAM dan kemudian temukan nilai ARN Pengguna di bagian Ringkasan. Jika opsi ini tidak ditentukan, CodeDeploy akan membuat pengguna IAM atas nama Anda di AWS akun Anda dan mengaitkannya dengan instans lokal.

    penting

    Jika Anda menentukan --iam-user-arn opsi, Anda juga harus membuat file konfigurasi instans lokal secara manual, seperti yang dijelaskan dalamLangkah 4: Tambahkan file konfigurasi ke instans lokal.

    Anda hanya dapat mengaitkan satu pengguna IAM hanya dengan satu instans lokal. Mencoba mengaitkan satu pengguna IAM dengan beberapa instans lokal dapat mengakibatkan kesalahan, penerapan gagal ke instans lokal tersebut, atau penerapan ke instans lokal yang terjebak dalam status tertunda yang terus-menerus.

  • Secara opsional, satu set tag instans lokal (dengan --tags opsi) yang CodeDeploy akan digunakan untuk mengidentifikasi kumpulan instans Amazon EC2 yang akan digunakan. Tentukan setiap tag dengan Key=tag-key,Value=tag-value (misalnya,Key=Name,Value=Beta Key=Name,Value=WestRegion). Jika opsi ini tidak ditentukan, tidak ada tag yang akan didaftarkan. Untuk mendaftarkan tag nanti, panggil perintah add-tags-to-on-premises-instances.

  • Secara opsional, AWS wilayah tempat instans lokal akan didaftarkan CodeDeploy (dengan --region opsi). Ini harus menjadi salah satu wilayah yang didukung yang terdaftar di Wilayah dan titik akhir di Referensi Umum AWS(misalnya,us-west-2). Jika opsi ini tidak ditentukan, AWS wilayah default yang terkait dengan pengguna IAM panggilan akan digunakan.

Sebagai contoh:

aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem --tags Key=Name,Value=CodeDeployDemo-OnPrem --region us-west-2

registerPerintah melakukan hal berikut:

  1. Jika tidak ada pengguna IAM yang ditentukan, buat pengguna IAM, lampirkan izin yang diperlukan padanya, dan buat kunci rahasia dan kunci akses rahasia yang sesuai. Instans lokal akan menggunakan pengguna IAM ini dan izin serta kredensialnya untuk mengautentikasi dan berinteraksi dengannya. CodeDeploy

  2. Mendaftarkan instance lokal dengan. CodeDeploy

  3. Jika ditentukan, asosiasi CodeDeploy dalam tag yang ditentukan dengan --tags opsi dengan nama instans lokal yang terdaftar.

  4. Jika pengguna IAM dibuat, juga membuat file konfigurasi yang diperlukan di direktori yang sama dari mana register perintah dipanggil.

Jika perintah ini menemukan kesalahan, pesan kesalahan muncul, menjelaskan bagaimana Anda dapat menyelesaikan langkah-langkah yang tersisa secara manual. Jika tidak, pesan sukses muncul, menjelaskan cara memanggil install perintah seperti yang tercantum pada langkah berikutnya.

Langkah 3: Panggil perintah instal

Dari instance lokal, gunakan AWS CLI untuk memanggil perintah install, dengan menentukan:

  • Jalur ke file konfigurasi (dengan --config-file opsi).

  • Secara opsional, apakah akan mengganti file konfigurasi yang sudah ada pada instance lokal (dengan --override-config opsi). Jika tidak ditentukan, file konfigurasi yang ada tidak akan diganti.

  • Secara opsional, AWS wilayah tempat instans lokal akan didaftarkan CodeDeploy (dengan --region opsi). Ini harus menjadi salah satu wilayah yang didukung yang terdaftar di Wilayah dan titik akhir di Referensi Umum AWS(misalnya,us-west-2). Jika opsi ini tidak ditentukan, AWS wilayah default yang terkait dengan pengguna IAM panggilan akan digunakan.

  • Secara opsional, lokasi khusus untuk menginstal CodeDeploy agen (dengan --agent-installer opsi). Opsi ini berguna untuk menginstal versi khusus CodeDeploy agen yang CodeDeploy tidak mendukung secara resmi (seperti versi khusus berdasarkan repositori CodeDeployagen di GitHub). Nilai harus berupa jalur ke bucket Amazon S3 yang berisi:

    • Skrip instalasi CodeDeploy agen (untuk sistem operasi berbasis Linux atau Unix, mirip dengan file instal di repositori CodeDeployagen di). GitHub

    • File paket penginstal CodeDeploy agen (.msi) (untuk sistem operasi berbasis Windows).

    Jika opsi ini tidak ditentukan, CodeDeploy akan melakukan upaya terbaik untuk menginstal dari lokasinya sendiri versi CodeDeploy agen yang didukung secara resmi yang kompatibel dengan sistem operasi pada instans lokal.

Sebagai contoh:

aws deploy install --override-config --config-file /tmp/codedeploy.onpremises.yml --region us-west-2 --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi

installPerintah melakukan hal berikut:

  1. Memeriksa apakah instans lokal adalah instans Amazon EC2. Jika ya, pesan kesalahan muncul.

  2. Menyalin file konfigurasi instans lokal dari lokasi yang ditentukan pada instance ke lokasi yang diharapkan CodeDeploy agen untuk menemukannya, asalkan file tersebut belum berada di lokasi tersebut.

    Untuk Ubuntu Server dan Red Hat Enterprise Linux (RHEL)), ini adalah/etc/codedeploy-agent/conf/codedeploy.onpremises.yml.

    Untuk Windows Server, ini adalahC:\ProgramData\Amazon\CodeDeploy\conf.onpremises.yml.

    Jika --override-config opsi ditentukan, membuat atau menimpa file.

  3. Menginstal CodeDeploy agen pada instance lokal dan kemudian memulainya.

Langkah 4: 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 menautkan 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 yang ada 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 5: 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 .

Untuk opsi lainnya, lihatMengelola operasi instans lokal di CodeDeploy.