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/Lokal: Menjelaskan instance server fisik yang dapat berupa instans cloud Amazon EC2, server lokal, atau keduanya. Aplikasi yang dibuat menggunakan platform komputasi EC2/On-premise dapat terdiri dari file yang dapat dieksekusi, file konfigurasi, gambar, dan banyak lagi.

    Penerapan yang menggunakan platform komputasi EC2/Lokal 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 kontainer Amazon ECS 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 Amazon ECS, 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 biru/hijau Amazon ECS 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/Lokal, Anda dapat menentukan jumlah minimum instans sehat untuk penerapan. Jika penerapan Anda menggunakan AWS Lambda atau platform komputasi Amazon ECS, Anda dapat menentukan cara lalu lintas dirutekan ke fungsi Lambda atau set tugas ECS yang diperbarui.

Untuk informasi selengkapnya tentang menentukan jumlah minimum host sehat untuk penerapan yang menggunakan platform komputasi EC2/Lokal, 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 sebelumnya yang menentukan persentase lalu lintas yang digeser ke fungsi Lambda Anda yang diperbarui atau tugas ECS yang ditetapkan 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 atau tugas ECS diatur ke fungsi yang diperbarui atau set tugas sekaligus.

Grup penyebaran

Grup penyebaran adalah sekumpulan instance individual. Grup penerapan berisi instans yang ditandai secara individual, instans Amazon EC2 di grup Auto Scaling Amazon EC2, atau keduanya. Untuk informasi tentang tag instans Amazon EC2, lihat Bekerja dengan Tag Menggunakan Konsol. Untuk informasi tentang instance lokal, lihat. Working with On-Premises Instances Untuk informasi tentang Auto Scaling Amazon EC2, 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/Lokal 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/lokal: 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 komputasi AWS Lambda Amazon ECS atau 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 biru/hijau ECS yang didukung.

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

catatan

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

Profil instans IAM

Profil instans IAM adalah peran IAM yang Anda lampirkan ke instans Amazon EC2 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 instans IAM untuk instans Amazon EC2 Anda.

Revisi

Revisi adalah versi aplikasi Anda. Revisi penyebaran AWS Lambda adalah file berformat YAMAL atau JSON 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 lokal disimpan di bucket atau repositori Amazon S3. GitHub Untuk Amazon S3, revisi secara unik diidentifikasi oleh kunci objek Amazon S3 dan ETag-nya, versi, atau keduanya. Untuk GitHub, revisi diidentifikasi secara unik oleh ID komitnya.

Peran layanan

Peran layanan adalah peran IAM yang memberikan izin ke AWS layanan sehingga dapat mengakses sumber daya. AWS 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 pada instans atau nama grup Auto Scaling Amazon EC2 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 topik Amazon SNS sehingga notifikasi dapat dikirim saat penerapan atau kejadian instans 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: