Tutorial: Buat pipeline dengan AWS CloudFormation StackSets tindakan penerapan - AWS CodePipeline

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

Tutorial: Buat pipeline dengan AWS CloudFormation StackSets tindakan penerapan

Dalam tutorial ini, Anda menggunakan AWS CodePipeline konsol untuk membuat pipeline dengan tindakan penerapan untuk membuat kumpulan tumpukan dan membuat instance tumpukan. Saat pipeline berjalan, template membuat kumpulan tumpukan dan juga membuat dan memperbarui instance tempat set tumpukan digunakan.

Ada dua cara untuk mengelola izin untuk kumpulan tumpukan: peran IAM yang dikelola sendiri dan AWS -dikelola. Tutorial ini memberikan contoh dengan izin yang dikelola sendiri.

Untuk menggunakan Stacksets secara efektif CodePipeline, Anda harus memiliki pemahaman yang jelas tentang konsep di balik AWS CloudFormation StackSets dan cara kerjanya. Lihat StackSets konsep di Panduan AWS CloudFormation Pengguna.

catatan

Tindakan CloudFormationStackSet dan CloudFormationStackInstances tindakan tidak tersedia di Asia Pasifik (Hong Kong), Eropa (Zurich), Eropa (Milan), Afrika (Cape Town), dan Timur Tengah (Bahrain). Untuk mereferensikan tindakan lain yang tersedia, lihatIntegrasi produk dan layanan dengan CodePipeline.

Prasyarat

Untuk operasi set tumpukan, Anda menggunakan dua akun berbeda: akun administrasi dan akun target. Anda membuat set tumpukan di akun administrator. Anda membuat tumpukan individual milik tumpukan yang ditetapkan di akun target.

Untuk membuat peran administrator dengan akun administrator
Untuk membuat peran layanan di akun target

Langkah 1: Unggah AWS CloudFormation template sampel dan file parameter

Buat bucket sumber untuk template set tumpukan dan file parameter Anda. Unduh file AWS CloudFormation templat sampel, atur file parameter, lalu zip file sebelum diunggah ke bucket sumber S3 Anda.

catatan

Pastikan untuk ZIP file sumber sebelum Anda mengunggah ke bucket sumber S3 Anda, meskipun satu-satunya file sumber adalah template.

Untuk membuat bucket sumber S3
  1. Masuk ke AWS Management Console dan buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  2. Pilih Buat bucket.

  3. Dalam nama Bucket, masukkan nama untuk bucket Anda.

    Di Wilayah, pilih Wilayah tempat Anda ingin membuat pipeline. Pilih Create bucket (Buat bucket).

  4. Setelah ember dibuat, spanduk sukses ditampilkan. Pilih Buka detail ember.

  5. Pada tab Properties, pilih Versioning. Pilih Aktifkan pembuatan versi, lalu pilih Simpan.

Untuk membuat file AWS CloudFormation template
  1. Unduh contoh file template berikut untuk menghasilkan CloudTrail konfigurasi untuk set tumpukan:https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml.

  2. Simpan file sebagai template.yml.

Untuk membuat file parameters.txt
  1. Buat file dengan parameter untuk penyebaran Anda. Parameter adalah nilai yang ingin Anda perbarui di tumpukan Anda saat runtime. File contoh berikut memperbarui parameter template untuk kumpulan tumpukan Anda untuk mengaktifkan validasi logging dan peristiwa global.

    [ { "ParameterKey": "EnableLogFileValidation", "ParameterValue": "true" }, { "ParameterKey": "IncludeGlobalEvents", "ParameterValue": "true" } ]
  2. Simpan file sebagai parameters.txt.

Untuk membuat file accounts.txt
  1. Buat file dengan akun tempat Anda ingin membuat instance, seperti yang ditunjukkan pada file contoh berikut.

    [ "111111222222","333333444444" ]
  2. Simpan file sebagai accounts.txt.

Untuk membuat dan mengunggah file sumber
  1. Gabungkan file menjadi satu file ZIP. File Anda akan terlihat seperti ini di file ZIP Anda.

    template.yml parameters.txt accounts.txt
  2. Unggah file ZIP ke bucket S3 Anda. File ini adalah artefak sumber yang dibuat oleh wizard Create Pipeline untuk tindakan penerapan Anda. CodePipeline

Langkah 2: Buat alur Anda

Dalam bagian ini, Anda membuat alur dengan tindakan berikut:

  • Tahap sumber dengan aksi sumber S3 di mana artefak sumber adalah file template Anda dan file sumber pendukung apa pun.

  • Tahap penerapan dengan aksi penyebaran set AWS CloudFormation tumpukan yang membuat kumpulan tumpukan.

  • Tahap penerapan dengan aksi penerapan instance AWS CloudFormation tumpukan yang membuat tumpukan dan instance di dalam akun target.

Untuk membuat pipeline dengan CloudFormationStackSet tindakan
  1. Masuk ke AWS Management Console dan buka CodePipeline konsol di http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Pada halaman Selamat Datang, halaman Memulai, atau halaman Alur, pilih Buat alur.

  3. Di Langkah 1: Pilih pengaturan alur, di Nama alur, masukkan MyStackSetsPipeline.

  4. Dalam tipe Pipeline, pilih V1 untuk keperluan tutorial ini. Anda juga dapat memilih V2; Namun, perhatikan bahwa jenis pipa berbeda dalam karakteristik dan harga. Untuk informasi selengkapnya, lihat Jenis pipa.

  5. Dalam peran Layanan, pilih Peran layanan baru CodePipeline untuk memungkinkan membuat peran layanan di IAM.

  6. Di toko Artifact, tinggalkan default.

    catatan

    Ini bukan bucket sumber untuk kode sumber Anda. Ini adalah penyimpanan artifact untuk alur Anda. Penyimpanan artifact terpisah, seperti bucket S3, diperlukan untuk setiap alur. Saat membuat atau mengedit pipeline, Anda harus memiliki bucket artefak di Region pipeline dan satu bucket artefak per AWS Wilayah tempat Anda menjalankan tindakan.

    Untuk informasi selengkapnya, silakan lihat Artefak input dan output dan CodePipeline referensi struktur pipa.

    Pilih Berikutnya.

  7. Pada Langkah 2: Tambahkan halaman tahap sumber, di penyedia Sumber, pilih Amazon S3.

  8. Di Bucket, masukkan bucket sumber S3 yang Anda buat untuk tutorial ini, sepertiBucketName. Dalam kunci objek S3, masukkan path file dan nama file untuk file ZIP Anda, sepertiMyFiles.zip.

  9. Pilih Berikutnya.

  10. Pada Langkah 3: Tambahkan tahap build, pilih Lewati tahap build, lalu terima pesan peringatan dengan memilih Lewati lagi.

    Pilih Berikutnya.

  11. Pada Langkah 4: Tambahkan tahap penerapan:

    1. Di penyedia Deploy, pilih AWS CloudFormationStack Set.

    2. Di Stack set name, masukkan nama untuk stack set. Ini adalah nama kumpulan tumpukan yang dibuat template.

      catatan

      Catat nama set tumpukan Anda. Anda akan menggunakannya saat menambahkan tindakan StackSets penerapan kedua ke pipeline Anda.

    3. Di jalur Template, masukkan nama artefak dan jalur file tempat Anda mengunggah file template Anda. Misalnya, masukkan yang berikut ini menggunakan nama SourceArtifact artefak sumber default.

      SourceArtifact::template.yml
    4. Di target Deployment, masukkan nama artefak dan jalur file tempat Anda mengunggah file akun. Misalnya, masukkan yang berikut ini menggunakan nama SourceArtifact artefak sumber default.

      SourceArtifact::accounts.txt
    5. Di target Deployment Wilayah AWS, masukkan satu Wilayah untuk penerapan instance tumpukan awal Anda, seperti. us-east-1

    6. Perluas opsi Deployment. Di Parameter, masukkan nama artefak dan jalur file tempat Anda mengunggah file parameter Anda. Misalnya, masukkan yang berikut ini menggunakan nama SourceArtifact artefak sumber default.

      SourceArtifact::parameters.txt

      Untuk memasukkan parameter sebagai input literal daripada jalur file, masukkan yang berikut ini:

      ParameterKey=EnableLogFileValidation,ParameterValue=true ParameterKey=IncludeGlobalEvents,ParameterValue=true
    7. Di Capabilities, pilih CAPABILITY_IAM dan CAPABILITY_NAMED_IAM.

    8. Dalam model Izin, pilih SELF_MANAGED.

    9. Dalam persentase toleransi kegagalan, masukkan20.

    10. Dalam persentase bersamaan Max, masukkan25.

    11. Pilih Berikutnya.

    12. Pilih Buat pipeline. Tampilan pipa Anda.

    13. Biarkan pipeline Anda berjalan.

Langkah 3: Lihat penyebaran awal

Lihat sumber daya dan status untuk penerapan awal Anda. Setelah memverifikasi penerapan berhasil membuat kumpulan tumpukan Anda, Anda dapat menambahkan tindakan kedua ke tahap Deploy Anda.

Untuk melihat sumber daya
  1. Buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/.

  2. Di bawah Pipelines, pilih pipeline Anda dan pilih View. Diagram menunjukkan sumber pipa dan tahapan penerapan Anda.

  3. Pilih AWS CloudFormation tindakan pada CloudFormationStackSettindakan di pipeline Anda. Templat, sumber daya, dan peristiwa untuk kumpulan tumpukan Anda ditampilkan di AWS CloudFormation konsol.

  4. Di panel navigasi kiri, pilih StackSets. Dalam daftar, pilih set tumpukan baru.

  5. Pilih tab Stack instance. Verifikasi bahwa satu instance tumpukan untuk setiap akun yang Anda berikan telah dibuat di Wilayah us-east-1. Verifikasi bahwa status untuk setiap instance stack adalahCURRENT.

Langkah 4: Tambahkan CloudFormationStackInstances tindakan

Buat tindakan selanjutnya di pipeline Anda yang memungkinkan Anda AWS CloudFormation StackSets membuat instance tumpukan yang tersisa.

Untuk membuat tindakan selanjutnya di pipeline Anda
  1. Buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/.

    Di bawah Pipelines, pilih pipeline Anda dan pilih View. Diagram menunjukkan sumber pipa dan tahapan penerapan Anda.

  2. Pilih untuk mengedit pipeline. Pipeline ditampilkan dalam mode Edit.

  3. Pada tahap Deploy, pilih Edit.

  4. Di bawah tindakan penyebaran AWS CloudFormationStack Set, pilih Tambahkan grup tindakan.

  5. Pada halaman Edit tindakan, tambahkan detail tindakan:

    1. Di Nama tindakan, masukkan nama untuk tindakan tersebut.

    2. Di penyedia Action, pilih AWS CloudFormationStack Instances.

    3. Di bawah Input artefak, pilih SourceArtifact.

    4. Di Stack set name, masukkan nama untuk stack set. Ini adalah nama kumpulan tumpukan yang Anda berikan dalam tindakan pertama.

    5. Di target Deployment, masukkan nama artefak dan jalur file tempat Anda mengunggah file akun. Misalnya, masukkan yang berikut ini menggunakan nama SourceArtifact artefak sumber default.

      SourceArtifact::accounts.txt
    6. Di target Deployment Wilayah AWS, masukkan Wilayah untuk penerapan instance tumpukan Anda yang tersisa, seperti us-east-2 dan eu-central-1 sebagai berikut:

      us-east2, eu-central-1
    7. Dalam persentase toleransi kegagalan, masukkan20.

    8. Dalam persentase bersamaan Max, masukkan25.

    9. Pilih Simpan.

    10. .Secara manual melepaskan perubahan. Pipeline Anda yang diperbarui ditampilkan dengan dua tindakan di tahap Deploy.

Langkah 5: Lihat sumber daya set tumpukan untuk penerapan Anda

Anda dapat melihat sumber daya dan status untuk penerapan set tumpukan Anda.

Untuk melihat sumber daya
  1. Buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/.

  2. Di bawah Pipelines, pilih pipeline Anda, lalu pilih View. Diagram menunjukkan sumber pipa dan tahapan penerapan Anda.

  3. Pilih AWS CloudFormation tindakan pada AWS CloudFormation Stack Instancestindakan di pipeline Anda. Templat, sumber daya, dan peristiwa untuk kumpulan tumpukan Anda ditampilkan di AWS CloudFormation konsol.

  4. Di panel navigasi kiri, pilih StackSets. Dalam daftar, pilih set tumpukan Anda.

  5. Pilih tab Stack instance. Verifikasi bahwa semua instance tumpukan yang tersisa untuk setiap akun yang Anda berikan telah dibuat atau diperbarui di Wilayah yang diharapkan. Verifikasi bahwa status untuk setiap instance stack adalahCURRENT.

Langkah 6: Buat pembaruan ke set tumpukan Anda

Buat pembaruan ke set tumpukan Anda dan terapkan pembaruan ke instance. Dalam contoh ini, Anda juga membuat perubahan pada target penerapan yang ingin Anda tetapkan untuk pembaruan. Contoh yang bukan bagian dari pembaruan pindah ke status yang sudah ketinggalan zaman.

  1. Buka CodePipeline konsol di https://console.aws.amazon.com/codepipeline/.

  2. Di bawah Pipelines, pilih pipeline Anda dan kemudian pilih Edit. Pada tahap Deploy, pilih Edit.

  3. Pilih untuk mengedit tindakan AWS CloudFormationStack Set di pipeline Anda. Dalam Deskripsi, tulis deskripsi yang ada dengan deskripsi baru untuk kumpulan tumpukan.

  4. Pilih untuk mengedit tindakan AWS CloudFormationStack Instances di pipeline Anda. Di target Deployment Wilayah AWS, hapus us-east-2 nilai yang dimasukkan saat tindakan dibuat.

  5. Simpan perubahan. Pilih Rilis perubahan untuk menjalankan pipeline Anda.

  6. Buka tindakan Anda diAWS CloudFormation. Pilih tab StackSet info. Dalam StackSet deskripsi, verifikasi bahwa deskripsi baru ditampilkan.

  7. Pilih tab Stack instance. Di bawah Status, verifikasi bahwa status untuk instance tumpukan di us-east-2 adalah. OUTDATED