CodeDeploy komponen utama - AWS CodeDeploy

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

CodeDeploy komponen utama

Sebelum Anda mulai bekerja dengan layanan ini, Anda harus membiasakan diri dengan komponen utama dari proses CodeDeploy penyebaran.

Aplikasi

Aplikasi adalah nama yang secara unik mengidentifikasi aplikasi yang ingin Anda terapkan. CodeDeploy menggunakan nama ini, yang berfungsi sebagai wadah, untuk memastikan kombinasi yang benar dari revisi, konfigurasi penerapan, dan grup penyebaran direferensikan selama penerapan.

Platform komputasi

Platform komputasi adalah platform tempat CodeDeploy menyebarkan aplikasi. Ada tiga platform komputasi:

  • EC2/On-Premise: Menjelaskan instance server fisik yang dapat berupa instance EC2 cloud Amazon, server lokal, atau keduanya. Aplikasi yang dibuat menggunakan platform komputasi EC2 /On-Premises dapat terdiri dari file yang dapat dieksekusi, file konfigurasi, gambar, dan banyak lagi.

    Deployment yang menggunakan platform komputasi EC2 /On-Premises mengelola cara lalu lintas diarahkan ke instance dengan menggunakan tipe penerapan di tempat atau biru/hijau. Untuk informasi selengkapnya, lihat Ikhtisar jenis CodeDeploy penerapan.

  • AWS Lambda: Digunakan untuk menyebarkan aplikasi yang terdiri dari versi terbaru dari fungsi Lambda. AWS Lambda mengelola fungsi Lambda dalam lingkungan komputasi tanpa server yang terdiri dari struktur komputasi ketersediaan tinggi. Semua administrasi sumber daya komputasi dilakukan oleh AWS Lambda. Untuk informasi selengkapnya, lihat Komputasi dan Aplikasi Tanpa Server. Untuk informasi selengkapnya tentang AWS Lambda dan fungsi Lambda, lihat. AWS Lambda

    Anda dapat mengelola cara lalu lintas dialihkan ke versi fungsi Lambda yang diperbarui selama penerapan dengan memilih kenari, linier, atau konfigurasi. all-at-once

  • Amazon ECS: Digunakan untuk menyebarkan aplikasi ECS kontainer Amazon sebagai set tugas. CodeDeploy melakukan penyebaran biru/hijau dengan menginstal versi aplikasi yang diperbarui sebagai set tugas pengganti baru. CodeDeploy mengubah rute lalu lintas produksi dari tugas aplikasi asli yang disetel ke set tugas pengganti. Set tugas asli dihentikan setelah penerapan berhasil. Untuk informasi selengkapnya tentang AmazonECS, lihat Amazon Elastic Container Service.

    Anda dapat mengelola cara lalu lintas dialihkan ke set tugas yang diperbarui selama penerapan dengan memilih kenari, linier, atau konfigurasi. all-at-once

catatan

Penerapan ECS biru/hijau Amazon didukung melalui keduanya dan. CodeDeploy AWS CloudFormation Detail untuk penerapan ini dijelaskan di bagian berikutnya.

Konfigurasi deployment

Konfigurasi penerapan adalah seperangkat aturan penerapan dan kondisi keberhasilan dan kegagalan penerapan yang digunakan CodeDeploy selama penerapan. Jika penerapan Anda menggunakan platform komputasi EC2 /On-Premises, Anda dapat menentukan jumlah minimum instans sehat untuk penerapan. Jika penerapan Anda menggunakan AWS Lambda atau platform ECS komputasi Amazon, Anda dapat menentukan cara lalu lintas dirutekan ke fungsi atau set tugas Lambda yang diperbarui. ECS

Untuk informasi selengkapnya tentang menentukan jumlah minimum host sehat untuk penerapan yang menggunakan platform komputasi EC2 /On-Premises, lihat. Tentang jumlah minimum contoh sehat

Konfigurasi penerapan berikut menentukan cara lalu lintas dirutekan selama penerapan yang menggunakan Lambda atau platform komputasi: ECS

  • Canary: Lalu lintas dialihkan dalam dua peningkatan. Anda dapat memilih dari opsi kenari yang telah ditentukan yang menentukan persentase lalu lintas yang digeser ke fungsi Lambda yang diperbarui atau set ECS tugas dalam kenaikan pertama dan interval, dalam hitungan menit, sebelum lalu lintas yang tersisa digeser dalam kenaikan kedua.

  • Linier: Lalu lintas dialihkan dalam peningkatan yang sama dengan jumlah menit yang sama di antara setiap kenaikan. Anda dapat memilih dari opsi linier yang telah ditentukan sebelumnya yang menentukan persentase lalu lintas yang bergeser dalam setiap kenaikan dan jumlah menit di antara setiap kenaikan.

  • J ll-at-once: Semua lalu lintas digeser dari fungsi Lambda asli ECS atau set tugas ke fungsi yang diperbarui atau set tugas sekaligus.

Grup penyebaran

Grup penyebaran adalah sekumpulan instance individual. Grup penerapan berisi instance yang ditandai secara individual, instans Amazon di grup Amazon EC2 Auto EC2 Scaling, atau keduanya. Untuk informasi tentang tag EC2 instans Amazon, lihat Bekerja dengan Tag Menggunakan Konsol. Untuk informasi tentang instance lokal, lihat. Working with On-Premises Instances Untuk informasi tentang EC2 Auto Scaling Amazon, lihat. Mengintegrasikan CodeDeploy dengan Auto Scaling Amazon EC2

Jenis deployment

Jenis penyebaran adalah metode yang digunakan untuk membuat revisi aplikasi terbaru tersedia pada instance dalam grup penyebaran. Ada dua jenis penyebaran:

  • Penyebaran di tempat: Aplikasi pada setiap instance dalam grup penyebaran dihentikan, revisi aplikasi terbaru diinstal, dan versi baru aplikasi dimulai dan divalidasi. Anda dapat menggunakan penyeimbang beban sehingga setiap instance dideregistrasi selama penerapannya dan kemudian dikembalikan ke layanan setelah penerapan selesai. Hanya penerapan yang menggunakan platform komputasi EC2 /On-Premises yang dapat menggunakan penerapan di tempat. Untuk informasi selengkapnya tentang penerapan di tempat, lihat. Ikhtisar penerapan di tempat

  • Penerapan biru/hijau: Perilaku penerapan Anda bergantung pada platform komputasi yang Anda gunakan:

    • Biru/hijau pada platform komputasi EC2 /On-Premises: Instance dalam grup penerapan (lingkungan asli) digantikan oleh kumpulan instans yang berbeda (lingkungan pengganti) menggunakan langkah-langkah berikut:

      • Instans disediakan untuk lingkungan pengganti.

      • Revisi aplikasi terbaru diinstal pada instance pengganti.

      • Waktu tunggu opsional terjadi untuk kegiatan seperti pengujian aplikasi dan verifikasi sistem.

      • Instans di lingkungan penggantian terdaftar dengan satu atau lebih penyeimbang beban Elastic Load Balancing, menyebabkan lalu lintas dialihkan ke sana. Contoh di lingkungan asli dideregistrasi dan dapat dihentikan atau terus berjalan untuk penggunaan lain.

      catatan

      Jika Anda menggunakan platform komputasi EC2 /Lokal, ketahuilah bahwa penerapan biru/hijau hanya berfungsi dengan instans Amazon. EC2

    • Biru/hijau pada platform ECS komputasi atau AWS Lambda Amazon: Lalu lintas digeser secara bertahap sesuai dengan konfigurasi kenari, linier, atau penerapan. all-at-once

    • Penerapan biru/hijau melalui AWS CloudFormation: Lalu lintas dialihkan dari sumber daya Anda saat ini ke sumber daya yang diperbarui sebagai bagian dari pembaruan tumpukan. AWS CloudFormation Saat ini, hanya penerapan ECS biru/hijau yang didukung.

    Untuk mengetahui informasi selengkapnya tentang deployment blue/green, lihat Ikhtisar penyebaran biru/hijau.

catatan

Penerapan ECS biru/hijau Amazon didukung menggunakan keduanya dan. CodeDeploy AWS CloudFormation Detail untuk penerapan ini dijelaskan di bagian berikutnya.

Profil instans IAM

Profil IAM instans adalah IAM peran yang Anda lampirkan ke EC2 instans Amazon Anda. Profil ini mencakup izin yang diperlukan untuk mengakses bucket Amazon S3 GitHub atau repositori tempat aplikasi disimpan. Untuk informasi selengkapnya, lihat Langkah 4: Buat profil IAM instans untuk EC2 instans Amazon Anda.

Revisi

Revisi adalah versi aplikasi Anda. Revisi penyebaran AWS Lambda adalah file yang JSON diformat YAML - atau -yang menentukan informasi tentang fungsi Lambda yang akan digunakan. Revisi penyebaran EC2 /On-Premise adalah file arsip yang berisi konten sumber (kode sumber, halaman web, file yang dapat dieksekusi, dan skrip penerapan) dan file spesifikasi aplikasi (file). AppSpec AWS Revisi Lambda dapat disimpan di ember Amazon S3. EC2/Revisi di Tempat disimpan di bucket atau repositori Amazon S3. GitHub Untuk Amazon S3, revisi diidentifikasi secara unik oleh kunci objek Amazon S3 dan versi, atau keduanya. ETag Untuk GitHub, revisi diidentifikasi secara unik oleh ID komitnya.

Peran layanan

Peran layanan adalah IAM peran yang memberikan izin ke AWS layanan sehingga dapat mengakses AWS sumber daya. Kebijakan yang Anda lampirkan ke peran layanan menentukan AWS sumber daya yang dapat diakses layanan dan tindakan yang dapat dilakukan dengan sumber daya tersebut. Untuk CodeDeploy, peran layanan digunakan untuk hal berikut:

  • Untuk membaca tag yang diterapkan ke instance atau nama grup Amazon EC2 Auto Scaling yang terkait dengan instans. Hal ini memungkinkan CodeDeploy untuk mengidentifikasi instance yang dapat digunakan aplikasi.

  • Untuk melakukan operasi pada instans, Amazon EC2 Auto Scaling mengelompokkan, dan penyeimbang beban Elastic Load Balancing.

  • Untuk mempublikasikan informasi ke SNS topik Amazon sehingga notifikasi dapat dikirim saat penyebaran atau kejadian instance tertentu terjadi.

  • Untuk mengambil informasi tentang CloudWatch alarm untuk mengatur pemantauan alarm untuk penyebaran.

Untuk informasi selengkapnya, lihat Langkah 2: Buat peran layanan untuk CodeDeploy.

Revisi target

Revisi target adalah versi terbaru dari revisi aplikasi yang telah Anda unggah ke repositori Anda dan ingin menyebarkan ke instance dalam grup penyebaran. Dengan kata lain, revisi aplikasi saat ini ditargetkan untuk deployment. Ini juga merupakan revisi yang ditarik untuk penerapan otomatis.

Komponen lainnya

Untuk informasi tentang komponen lain dalam CodeDeploy alur kerja, lihat topik berikut: