

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
<a name="tutorials-stackset-deployment"></a>

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.

**penting**  
Sebagai bagian dari pembuatan pipa, ember artefak S3 yang disediakan oleh pelanggan akan digunakan CodePipeline untuk artefak. (Ini berbeda dari bucket yang digunakan untuk aksi sumber S3.) Jika bucket artefak S3 berada di akun yang berbeda dari akun untuk pipeline Anda, pastikan bucket artefak S3 dimiliki oleh Akun AWS yang aman dan dapat diandalkan.

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 CloudFormation StackSets dan cara kerjanya. Lihat [StackSets konsep](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html) di *Panduan AWS CloudFormation Pengguna*.

**Topics**
+ [Prasyarat](#tutorials-stackset-deployment-prereq)
+ [Langkah 1: Unggah AWS CloudFormation template sampel dan file parameter](#tutorials-stackset-deployment-upload)
+ [Langkah 2: Buat alur Anda](#tutorials-stackset-action-pipeline)
+ [Langkah 3: Lihat penyebaran awal](#tutorials-stackset-action-initial)
+ [Langkah 4: Tambahkan CloudFormationStackInstances tindakan](#tutorials-stacksets-instances)
+ [Langkah 5: Lihat sumber daya set tumpukan untuk penerapan Anda](#tutorials-stacksets-view)
+ [Langkah 6: Buat pembaruan ke set tumpukan Anda](#tutorials-stacksets-update)

## Prasyarat
<a name="tutorials-stackset-deployment-prereq"></a>

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 Anda**
+ Ikuti petunjuk di [Siapkan izin dasar untuk operasi set tumpukan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html#stacksets-prereqs-accountsetup). Peran Anda harus diberi nama **`AWSCloudFormationStackSetAdministrationRole`**.

**Untuk membuat peran layanan di akun target**
+ Buat peran layanan di akun target yang mempercayai akun administrator. Ikuti petunjuk di [Siapkan izin dasar untuk operasi set tumpukan](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-self-managed.html#stacksets-prereqs-accountsetup). Peran Anda harus diberi nama **`AWSCloudFormationStackSetExecutionRole`**. 

## Langkah 1: Unggah AWS CloudFormation template sampel dan file parameter
<a name="tutorials-stackset-deployment-upload"></a>

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 Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Pilih **Buat bucket**.

1. Dalam **nama Bucket**, masukkan nama untuk bucket Anda.

   Di **Wilayah**, pilih Wilayah tempat Anda ingin membuat pipeline. Pilih **Buat bucket**.

1. Setelah ember dibuat, spanduk sukses ditampilkan. Pilih **Buka detail ember**.

1. 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](https://s3.amazonaws.com/cloudformation-stackset-sample-templates-us-east-1/EnableAWSCloudtrail.yml).

1. 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"
     }
   ]
   ```

1. 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"
   ]
   ```

1. 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
   ```

1. 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
<a name="tutorials-stackset-action-pipeline"></a>

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 CloudFormation tumpukan yang membuat kumpulan tumpukan.
+ Tahap penerapan dengan aksi penerapan instance CloudFormation tumpukan yang membuat tumpukan dan instance di dalam akun target.

**Untuk membuat pipeline dengan CloudFormationStackSet tindakan**

1. Masuk ke Konsol Manajemen AWS dan buka CodePipeline konsol di [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

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

1. Pada **Langkah 1: Pilih halaman opsi pembuatan**, di bawah **Opsi pembuatan**, pilih opsi **Build custom pipeline**. Pilih **Berikutnya**.

1. Pada **Langkah 2: Pilih pengaturan pipeline**, dalam **nama Pipeline**, masukkan**MyStackSetsPipeline**.

1. 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](pipeline-types.md).

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

1. 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 Wilayah pipeline dan satu bucket artefak per AWS Wilayah tempat Anda menjalankan tindakan.  
Untuk informasi selengkapnya, lihat [Artefak input dan output](welcome-introducing-artifacts.md) dan [CodePipeline referensi struktur pipa](reference-pipeline-structure.md).

   Pilih **Berikutnya**.

1. Pada **Langkah 3: Tambahkan halaman tahap sumber**, di **penyedia Sumber**, pilih **Amazon S3**.

1. Di **Bucket**, masukkan bucket sumber S3 yang Anda buat untuk tutorial ini, seperti`BucketName`. Dalam **kunci objek S3**, masukkan path file dan nama file untuk file ZIP Anda, seperti`MyFiles.zip`.

1. Pilih **Berikutnya**.

1. Pada **Langkah 4: Tambahkan tahap build**, pilih **Lewati tahap build**, lalu terima pesan peringatan dengan memilih **Lewati** lagi. 

   Pilih **Berikutnya**.

1. Pada **Langkah 5: Tambahkan tahap pengujian**, pilih **Lewati tahap pengujian**, lalu terima pesan peringatan dengan memilih **Lewati** lagi. 

   Pilih **Berikutnya**.

1. Pada **Langkah 6: Tambahkan tahap penerapan**:

   1. Di **penyedia Deploy**, pilih **AWS CloudFormation Stack Set**.

   1. 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.

   1. 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
      ```

   1. 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
      ```

   1. Di **target Deployment Wilayah AWS**, masukkan satu Wilayah untuk penerapan instance tumpukan awal Anda, seperti. `us-east-1`

   1. 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
      ```

   1. Di **Capabilities**, pilih CAPABILITY\$1IAM dan CAPABILITY\$1NAMED\$1IAM.

   1. Dalam **model Izin**, pilih SELF\$1MANAGED.

   1. Dalam **persentase toleransi kegagalan**, masukkan`20`.

   1. Dalam **persentase bersamaan Max**, masukkan`25`.

   1. Pilih **Berikutnya**.

   1. Pada **Langkah 7: Tinjau**, pilih **Buat pipeline**. Tampilan pipa Anda. 

   1. Biarkan pipeline Anda berjalan. 

## Langkah 3: Lihat penyebaran awal
<a name="tutorials-stackset-action-initial"></a>

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/](https://console.aws.amazon.com/codepipeline/).

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

1. Pilih CloudFormation tindakan pada **CloudFormationStackSet**tindakan di pipeline Anda. Templat, sumber daya, dan peristiwa untuk kumpulan tumpukan Anda ditampilkan di CloudFormation konsol.

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

1. 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 adalah`CURRENT`.

## Langkah 4: Tambahkan CloudFormationStackInstances tindakan
<a name="tutorials-stacksets-instances"></a>

Buat tindakan berikutnya di pipeline Anda yang memungkinkan Anda 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/](https://console.aws.amazon.com/codepipeline/).

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

1. Pilih untuk mengedit pipeline. Pipeline ditampilkan dalam mode **Edit**. 

1. Pada tahap **Deploy**, pilih **Edit**.

1. Di bawah tindakan penyebaran **AWS CloudFormation Stack Set**, pilih **Tambahkan grup tindakan**.

1. Pada halaman **Edit tindakan**, tambahkan detail tindakan:

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

   1. Di **penyedia Action**, pilih **AWS CloudFormation Stack Instances.**

   1. Di bawah **Input artefak**, pilih **SourceArtifact**.

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

   1. 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
      ```

   1. 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
      ```

   1. Dalam **persentase toleransi kegagalan**, masukkan`20`.

   1. Dalam **persentase bersamaan Max**, masukkan`25`.

   1. Pilih **Simpan**.

   1. .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
<a name="tutorials-stacksets-view"></a>

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/](https://console.aws.amazon.com/codepipeline/).

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

1. Pilih CloudFormation tindakan pada **`AWS CloudFormation Stack Instances`**tindakan di pipeline Anda. Templat, sumber daya, dan peristiwa untuk kumpulan tumpukan Anda ditampilkan di CloudFormation konsol.

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

1. 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 adalah`CURRENT`.

## Langkah 6: Buat pembaruan ke set tumpukan Anda
<a name="tutorials-stacksets-update"></a>

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 usang.

1. Buka CodePipeline konsol di [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

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

1. Pilih untuk mengedit tindakan **AWS CloudFormation Stack Set** di pipeline Anda. Dalam **Deskripsi**, tulis deskripsi yang ada dengan deskripsi baru untuk kumpulan tumpukan.

1. Pilih untuk mengedit tindakan **AWS CloudFormation Stack Instances** di pipeline Anda. Di **target Deployment Wilayah AWS**, hapus `us-east-2` nilai yang dimasukkan saat tindakan dibuat.

1. Simpan perubahan. Pilih **Rilis perubahan** untuk menjalankan pipeline Anda.

1. Buka tindakan Anda di CloudFormation. Pilih tab **StackSet info**. Dalam **StackSet deskripsi**, verifikasi bahwa deskripsi baru ditampilkan.

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