

Ini adalah *Panduan Referensi CloudFormation Template* baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat [Panduan AWS CloudFormation Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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

# `UpdatePolicy`atribut
<a name="aws-attribute-updatepolicy"></a>

Gunakan `UpdatePolicy` atribut untuk menentukan cara CloudFormation menangani pembaruan ke sumber daya tertentu selama operasi pembaruan tumpukan. 

**Topics**
+ [Ikhtisar](#aws-resource-update-policies)
+ [WorkSpaces Kebijakan pembaruan aplikasi](#aws-attribute-update-policy-app-stream-fleet)
+ [AutoScalingReplacingUpdate kebijakan](#cfn-attributes-updatepolicy-replacingupdate)
+ [AutoScalingRollingUpdate kebijakan](#cfn-attributes-updatepolicy-rollingupdate)
+ [AutoScalingScheduledAction kebijakan](#cfn-attributes-updatepolicy-scheduledactions)
+ [UseOnlineResharding kebijakan](#cfn-attributes-updatepolicy-useonlineresharding)
+ [EnableVersionUpgrade kebijakan](#cfn-attributes-updatepolicy-upgradeopensearchdomain)
+ [CodeDeployLambdaAliasUpdate kebijakan](#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate)
+ [Contoh](#aws-attribute-updatepolicy-examples)

## Ikhtisar
<a name="aws-resource-update-policies"></a>

Dengan menggunakan `UpdatePolicy` atribut, Anda dapat mengontrol bagaimana sumber daya berikut diperbarui, seperti yang dijelaskan di sini:
+ **[AWS::AppStream::Fleet](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-appstream-fleet.html)**— CloudFormation dapat menghentikan dan memulai armada, yang menyebabkan instance armada diganti. Dengan demikian, semua instance akan memiliki perubahan terbaru yang diterapkan segera setelah pembaruan tumpukan.
+ **[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html)**— Dengan grup Auto Scaling, Anda dapat menggunakan satu atau beberapa kebijakan pembaruan untuk mengontrol cara CloudFormation menangani pembaruan tertentu. Kebijakan ini meliputi:
  + **`AutoScalingReplacingUpdate`dan `AutoScalingRollingUpdate` kebijakan** — CloudFormation dapat mengganti grup Auto Scaling dan instance-nya dengan `AutoScalingReplacingUpdate` kebijakan, atau hanya mengganti instans dengan kebijakan. `AutoScalingRollingUpdate` Operasi penggantian ini terjadi ketika Anda membuat satu atau beberapa perubahan berikut:
    + Ubah grup Auto Scaling. [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-launchconfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-launchconfiguration.html)
    + Ubah properti grup Auto Scaling. `VPCZoneIdentifier`
    + Ubah properti grup Auto Scaling. `LaunchTemplate`
    + Ubah properti grup Auto Scaling. `PlacementGroup`
    + Perbarui grup Auto Scaling yang berisi instance yang tidak cocok dengan saat ini. `LaunchConfiguration`

    Jika `AutoScalingReplacingUpdate` dan `AutoScalingRollingUpdate` kebijakan yang ditentukan, pengaturan `WillReplace` properti untuk `true` memberikan `AutoScalingReplacingUpdate` diutamakan.
  + **`AutoScalingScheduledAction`kebijakan** — Kebijakan ini berlaku saat Anda memperbarui tumpukan yang menyertakan grup Auto Scaling dengan tindakan terjadwal yang menskalakan grup pada waktu tertentu. CloudFormation tidak dapat mengubah ukuran minimum, ukuran maksimum, atau kapasitas grup yang diinginkan kecuali mereka telah diubah secara eksplisit dalam template tumpukan. Kebijakan ini membantu mencegah pembaruan tak terduga yang dapat mengganggu aktivitas penskalaan terjadwal.
+ **[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticache-replicationgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticache-replicationgroup.html)**— CloudFormation dapat memodifikasi pecahan grup replikasi dengan menambahkan atau menghapus pecahan, daripada mengganti seluruh sumber daya. 
+ **[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-opensearchservice-domain.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-opensearchservice-domain.html)**dan **[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticsearch-domain.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticsearch-domain.html)**(lama) — CloudFormation dapat meningkatkan domain OpenSearch Layanan ke versi baru OpenSearch atau Elasticsearch tanpa mengganti seluruh sumber daya. 
+ **[https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-alias.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-lambda-alias.html)**— CloudFormation dapat melakukan CodeDeploy penyebaran ketika versi berubah pada alias. 

Bagian berikut menjelaskan sintaks dan properti untuk `UpdatePolicy` atribut yang didukung oleh setiap jenis sumber daya.

## WorkSpaces Kebijakan pembaruan aplikasi
<a name="aws-attribute-update-policy-app-stream-fleet"></a>

Untuk menghentikan armada WorkSpaces Aplikasi sebelum pembaruan dan memulai ulang setelah pembaruan, gunakan kebijakan pembaruan WorkSpaces Aplikasi. 

### Sintaksis
<a name="aws-attribute-update-policy-app-stream-fleet-syntax"></a>

#### JSON
<a name="aws-attribute-update-policy-app-stream-fleet-syntax-json"></a>

```
{
    "UpdatePolicy": {
        "StopBeforeUpdate": {
            "Type": "{{Boolean}}"
        },
        "StartAfterUpdate": {
            "Type": "{{Boolean}}"
        }
    }
}
```

#### YAML
<a name="aws-attribute-update-policy-app-stream-fleet-syntax-yaml"></a>

```
UpdatePolicy:
  StopBeforeUpdate:
    Type: {{Boolean}}
  StartAfterUpdate:
    Type: {{Boolean}}
```

`StopBeforeUpdate`  <a name="cfn-attributes-updatepolicy-replacingupdate-StopBeforeUpdate"></a>
Menghentikan armada yang ditentukan sebelum pembaruan.  
*Wajib*: Tidak

`StartAfterUpdate`  <a name="cfn-attributes-updatepolicy-replacingupdate-StartAfterUpdate"></a>
Memulai armada yang ditentukan setelah pembaruan.  
*Wajib*: Tidak

## AutoScalingReplacingUpdate kebijakan
<a name="cfn-attributes-updatepolicy-replacingupdate"></a>

Untuk mengganti grup Auto Scaling dan instance yang dikandungnya, gunakan kebijakan. `AutoScalingReplacingUpdate`

Sebelum mencoba pembaruan, pastikan Anda memiliki kapasitas Amazon EC2 yang cukup untuk grup Auto Scaling lama dan baru.

### Sintaksis
<a name="cfn-attributes-updatepolicy-replacingupdate-syntax"></a>

#### JSON
<a name="aws-attribute-updatepolicy-replacingupdate-syntax.json"></a>

```
"UpdatePolicy" : {
  "AutoScalingReplacingUpdate" : {
    "WillReplace" : {{Boolean}}
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-replacingupdate-syntax.yaml"></a>

```
UpdatePolicy:
  AutoScalingReplacingUpdate:
    WillReplace: {{Boolean}}
```

### Sifat-sifat
<a name="cfn-attributes-updatepolicy-replacingupdate-properties"></a>

`WillReplace`  <a name="cfn-attributes-updatepolicy-replacingupdate-willreplace"></a>
Menentukan apakah grup Auto Scaling dan instance yang dikandungnya diganti selama pembaruan. Selama penggantian, CloudFormation pertahankan grup lama sampai selesai membuat yang baru. Jika pembaruan gagal, CloudFormation dapat memutar kembali ke grup Auto Scaling lama dan menghapus grup Auto Scaling yang baru.  
Saat CloudFormation membuat grup baru, itu tidak melepaskan atau melampirkan instance apa pun. Setelah berhasil membuat grup Auto Scaling baru, CloudFormation hapus grup Auto Scaling lama selama proses pembersihan.  
Ketika Anda mengatur `WillReplace` parameter, ingat untuk menentukan pencocokan [`CreationPolicy`atribut](aws-attribute-creationpolicy.md). Jika jumlah minimum instance (ditentukan oleh `MinSuccessfulInstancesPercent` properti) tidak menandakan keberhasilan dalam `Timeout` periode (ditentukan dalam `CreationPolicy` atribut), pembaruan penggantian gagal dan kembali ke CloudFormation grup Auto Scaling lama.  
*Tipe*: Boolean  
*Wajib*: Tidak

## AutoScalingRollingUpdate kebijakan
<a name="cfn-attributes-updatepolicy-rollingupdate"></a>

Untuk melakukan pembaruan bergulir instans dalam grup Auto Scaling daripada menunggu aktivitas penskalaan untuk secara bertahap mengganti instance lama dengan instance yang lebih baru, gunakan kebijakan tersebut. `AutoScalingRollingUpdate` Kebijakan ini memberi Anda fleksibilitas untuk menentukan apakah CloudFormation menggantikan instance yang ada di grup Auto Scaling dalam batch atau sekaligus tanpa mengganti seluruh sumber daya. 

Hal-hal yang perlu dipertimbangkan saat menggunakan `AutoScalingRollingUpdate` kebijakan:
+ Saat CloudFormation memutar kembali pembaruan, ia menggunakan `UpdatePolicy` konfigurasi yang ditentukan dalam template sebelum pembaruan tumpukan saat ini. Misalnya, Anda mengubah `MaxBatchSize` dari 1 menjadi 10 di`UpdatePolicy`, melakukan pembaruan tumpukan, dan pembaruan itu gagal. CloudFormation akan menggunakan 1 sebagai ukuran batch maksimum saat berputar kembali, bukan 10. Untuk menghindari skenario ini, buat perubahan `UpdatePolicy` pada pembaruan terpisah sebelum pembaruan apa pun ke grup Auto Scaling yang kemungkinan akan memulai pembaruan bergulir.
+ CloudFormation merekomendasikan untuk menentukan `SuspendProcesses` properti untuk menangguhkan sementara proses Penskalaan Otomatis Amazon EC2 yang mungkin mengganggu pembaruan bergulir dan menyebabkannya gagal. Untuk informasi selengkapnya, [lihat Bagaimana cara memperbarui grup Auto Scaling saat memperbarui tumpukan? CloudFormation ](https://repost.aws/knowledge-center/auto-scaling-group-rolling-updates)
+ CloudFormation mendukung penggunaan kait siklus hidup Amazon EC2 Auto Scaling saat meluncurkan atau menghentikan instans. Ini memberi Anda waktu untuk melakukan tindakan kustom pada instance sebelum pindah ke status berikutnya. Untuk memastikan bahwa instance baru mencapai `InService` status, selesaikan kait siklus hidup dengan `CONTINUE` hasil saat tindakan kustom selesai. Secara default, jika tidak ada respons yang diterima dan waktu pengait siklus hidup habis, peluncuran instance akan dianggap tidak berhasil dan ditinggalkan. Jika tidak ada instance yang mencapai `InService` status, pembaruan bergulir pada akhirnya akan gagal.
+ Fitur Amazon EC2 Auto Scaling seperti kebijakan pemeliharaan instans, kebijakan penghentian, dan perlindungan penskalaan tidak tersedia untuk digunakan dengan pembaruan bergulir. CloudFormation Rencanakan pembaruan bergulir Anda sesuai dengan itu.
+ Jika Anda menggunakan `AutoScalingRollingUpdate` kebijakan dan menghapus pengaturan grup penempatan, grup penempatan akan dihapus dari grup Auto Scaling dan template. CloudFormation Ini juga memicu pembaruan bergulir, sehingga instance baru tidak akan diluncurkan ke grup penempatan.

### Sintaksis
<a name="cfn-attributes-updatepolicy-rollingupdate-syntax"></a>

#### JSON
<a name="aws-attribute-updatepolicy-rollingupdate-syntax.json"></a>

```
"UpdatePolicy" : {
  "AutoScalingRollingUpdate" : {
    "MaxBatchSize" : {{Integer}},
    "MinActiveInstancesPercent" : {{Integer}},
    "MinInstancesInService" : {{Integer}},
    "MinSuccessfulInstancesPercent" : {{Integer}},
    "PauseTime" : {{String}},
    "SuspendProcesses" : [ {{List of processes}} ],
    "WaitOnResourceSignals" : {{Boolean}}
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-rollingupdate-syntax.yaml"></a>

```
UpdatePolicy:
  AutoScalingRollingUpdate:
    MaxBatchSize: {{Integer}}
    MinActiveInstancesPercent: {{Integer}}
    MinInstancesInService: {{Integer}}
    MinSuccessfulInstancesPercent: {{Integer}}
    PauseTime: {{String}}
    SuspendProcesses:
      - {{List of processes}}
    WaitOnResourceSignals: {{Boolean}}
```

### Sifat-sifat
<a name="aws-attribute-updatepolicy-rollingupdate-properties"></a>

`MaxBatchSize`  <a name="cfn-attributes-updatepolicy-rollingupdate-maxbatchsize"></a>
Menentukan jumlah maksimum contoh yang dapat diganti secara bersamaan.  
*Default*: `1`  
*Maksimum*: `100`  
*Tipe*: Integer  
*Wajib*: Tidak

`MinActiveInstancesPercent`  <a name="cfn-attributes-updatepolicy-rollingupdate-minactiveinstancespercent"></a>
Menentukan persentase instance dalam grup Auto Scaling yang harus berada dalam `InService` status relatif terhadap kapasitas yang diinginkan grup tersebut selama pembaruan bergulir agar pembaruan berhasil. Anda dapat menentukan nilai dari 0 hingga 100. CloudFormation putaran ke sepersepuluh persen terdekat. Misalnya, jika Anda memperbarui lima instans dengan `InService` persentase minimum 50, setidaknya tiga instance harus dalam status. `InService` Jika sebuah instance tidak bertransisi ke `InService` status dalam waktu tetap 1 jam, CloudFormation asumsikan bahwa instance tidak diperbarui.  
Pengaturan `MinActiveInstancesPercent` di dalam Anda juga `UpdatePolicy` akan memengaruhi instans yang diluncurkan saat `DesiredCapacity` properti `AWS::AutoScaling::AutoScalingGroup` sumber daya disetel lebih tinggi dari kapasitas yang diinginkan saat ini dari grup Auto Scaling tersebut.  
*Default*: `100`  
*Tipe*: Integer  
*Wajib*: Tidak

`MinInstancesInService`  <a name="cfn-attributes-updatepolicy-rollingupdate-mininstancesinservice"></a>
Menentukan jumlah minimum instance yang harus digunakan dalam grup Auto Scaling CloudFormation saat memperbarui instance lama. Nilai ini harus kurang [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-maxsize](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-maxsize)dari grup Auto Scaling.  
Kami menyarankan Anda menetapkan nilai `MinInstancesInService` properti ke setidaknya grup Auto Scaling. [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-minsize](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-minsize) Ini menghindari potensi masalah ketersediaan selama pembaruan bergulir karena 0 instance yang melayani lalu lintas pelanggan. 
*Default*: `0`  
*Tipe*: Integer  
*Wajib*: Tidak

`MinSuccessfulInstancesPercent`  <a name="cfn-attributes-updatepolicy-rollingupdate-minsuccessfulinstancespercent"></a>
Menentukan persentase instance dalam pembaruan bergulir Auto Scaling yang harus memberi sinyal keberhasilan agar pembaruan berhasil. Anda dapat menentukan nilai dari 0 hingga 100. CloudFormationputaran ke sepersepuluh persen terdekat. Sebagai contoh, jika Anda memperbarui lima instans dengan persentase sukses minimum `50`, tiga instans harus memberi sinyal berhasil. Jika instance tidak mengirim sinyal dalam waktu yang ditentukan di `PauseTime` properti, CloudFormation asumsikan bahwa instance tidak diperbarui.  
Kami menyarankan Anda menetapkan nilai `MinSuccessfulInstancesPercent` properti ke nilai yang lebih besar dari 0. Ketika `MinSuccessfulInstancesPercent` properti diatur ke 0, CloudFormation menunggu 0% dari instance kapasitas berada dalam keadaan. `InService` `MinSuccessfulInstancesPercent`kembali segera dan sebelum mempertimbangkan status grup Auto Scaling `UPDATE_COMPLETE` untuk beralih ke sumber daya berikutnya yang ditentukan dalam template tumpukan. Jika grup Auto Scaling lainnya ditentukan dalam CloudFormation template Anda, mereka akan diperbarui secara bersamaan. Ketika semua grup Auto Scaling diterapkan sekaligus dengan 0% dari instance kapasitas dalam suatu `InService` status, maka Anda akan mengalami masalah ketersediaan, karena 0 instans yang melayani lalu lintas pelanggan.  
*Default*: `100`  
*Tipe*: Integer  
*Wajib*: Tidak

`PauseTime`  <a name="cfn-attributes-updatepolicy-rollingupdate-pausetime"></a>
Jumlah waktu yang CloudFormation berhenti setelah membuat perubahan ke batch instance untuk memberikan waktu untuk memulai aplikasi perangkat lunak.   
Tentukan `PauseTime` dalam [format ISO8601 durasi](https://en.wikipedia.org/wiki/ISO_8601#Durations) (dalam format`PT{{#}}H{{#}}M{{#}}S`, di mana masing-masing {{\#}} adalah jumlah jam, menit, dan detik, masing-masing). Maksimum `PauseTime` adalah satu jam (`PT1H`).  
Kapan `WaitOnResourceSignals` diatur ke`true`, `PauseTime` bertindak sebagai nilai batas waktu. Ini menentukan waktu maksimum yang CloudFormation menunggu untuk menerima jumlah sinyal valid yang diperlukan dari instance yang diganti selama pembaruan bergulir dan dari instance baru yang ditambahkan dengan meningkatkan [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-desiredcapacity](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-autoscaling-autoscalinggroup.html#cfn-autoscaling-autoscalinggroup-desiredcapacity)properti sumber daya. `AWS::AutoScaling::AutoScalingGroup` Jika `PauseTime` terlampaui sebelum CloudFormation menerima sinyal yang diharapkan, pembaruan gagal. Untuk hasil terbaik, tentukan periode waktu yang menyediakan waktu yang cukup bagi aplikasi Anda untuk memulai. Jika update perlu di-rollback, singkat `PauseTime` dapat menyebabkan rollback gagal.
*Default*: `PT5M` (5 menit) saat `WaitOnResourceSignals` properti disetel ke`true`. Jika tidak, tidak ada nilai default yang ditetapkan.   
*Tipe*: String  
*Wajib*: Tidak

`SuspendProcesses`  <a name="cfn-attributes-updatepolicy-rollingupdate-suspendprocesses"></a>
Menentukan proses Auto Scaling untuk ditangguhkan selama pembaruan tumpukan. Proses penangguhan mencegah Auto Scaling mengganggu pembaruan tumpukan. Misalnya, Anda dapat menangguhkan hal yang mengkhawatirkan sehingga Amazon EC2 Auto Scaling tidak memulai kebijakan penskalaan yang terkait dengan alarm. Untuk nilai yang valid, lihat [Jenis proses](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html#process-types) di Panduan Pengguna *Amazon EC2 Auto Scaling*.  
*Default*: Tidak ditentukan  
*Jenis*: Daftar proses Auto Scaling  
*Wajib*: Tidak

`WaitOnResourceSignals`  <a name="cfn-attributes-updatepolicy-rollingupdate-waitonresourcesignals"></a>
Menentukan apakah CloudFormation menunggu sinyal sukses dari instance baru sebelum melanjutkan pembaruan. CloudFormation menunggu `PauseTime` durasi yang ditentukan untuk sinyal sukses.  
Untuk memberi sinyal pada grup Auto Scaling, gunakan skrip [cfn-signal](cfn-signal.md) helper. Untuk grup Auto Scaling yang terkait dengan Elastic Load Balancing, pertimbangkan untuk menambahkan pemeriksaan kesehatan untuk memastikan bahwa instans sehat sebelum menandakan keberhasilan dengan menggunakan skrip helper. [cfn-init](cfn-init.md) [Sebagai contoh, lihat `verify_instance_health` perintah di templat sampel untuk pembaruan GitHub bergulir Amazon EC2 Auto Scaling di repositori kami.](https://github.com/aws-cloudformation/aws-cloudformation-templates/tree/main/AutoScaling)  
*Default*: `false`  
*Jenis:* Boolean  
*Diperlukan*: Bersyarat. Jika Anda menentukan `MinSuccessfulInstancesPercent` properti, `WaitOnResourceSignals` properti harus diatur ke`true`.

## AutoScalingScheduledAction kebijakan
<a name="cfn-attributes-updatepolicy-scheduledactions"></a>

Untuk menentukan cara CloudFormation menangani pembaruan untuk`MinSize`,`MaxSize`, dan `DesiredCapacity` properti saat `AWS::AutoScaling::AutoScalingGroup` sumber daya memiliki tindakan terjadwal terkait, gunakan `AutoScalingScheduledAction` kebijakan tersebut.

Dengan tindakan terjadwal, properti ukuran grup Auto Scaling dapat berubah kapan saja. Saat Anda memperbarui tumpukan dengan grup Auto Scaling dan tindakan terjadwal, CloudFormation selalu tetapkan nilai properti ukuran grup grup Auto Scaling Anda ke nilai yang ditentukan dalam `AWS::AutoScaling::AutoScalingGroup` sumber daya templat Anda, meskipun tindakan terjadwal berlaku.

Jika Anda tidak CloudFormation ingin mengubah salah satu nilai properti ukuran grup ketika Anda memiliki tindakan terjadwal yang berlaku, gunakan kebijakan `AutoScalingScheduledAction` pembaruan dan setel `IgnoreUnmodifiedGroupSizeProperties` `true` untuk CloudFormation mencegah perubahan`MinSize`,`MaxSize`, atau `DesiredCapacity` properti kecuali Anda telah mengubah nilai ini di templat Anda.



### Sintaksis
<a name="cfn-attributes-updatepolicy-scheduledactions-syntax"></a>

#### JSON
<a name="aws-attribute-updatepolicy-scheduledactions-syntax.json"></a>

```
"UpdatePolicy" : {
  "AutoScalingScheduledAction" : {
    "IgnoreUnmodifiedGroupSizeProperties" : {{Boolean}}
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-scheduledactions-syntax.yaml"></a>

```
UpdatePolicy:
  AutoScalingScheduledAction:
    IgnoreUnmodifiedGroupSizeProperties: {{Boolean}}
```

### Sifat-sifat
<a name="cfn-attributes-updatepolicy-scheduledactions-properties"></a>

`IgnoreUnmodifiedGroupSizeProperties`  <a name="cfn-attributes-updatepolicy-scheduledactions-ignoreunmodifiedgroupsizeproperties"></a>
Jika`true`, CloudFormation abaikan perbedaan properti ukuran grup antara grup Auto Scaling Anda saat ini dan grup Auto Scaling yang dijelaskan dalam sumber daya template Anda `AWS::AutoScaling::AutoScalingGroup` selama pembaruan tumpukan. Jika Anda mengubah salah satu nilai properti ukuran grup dalam template Anda, CloudFormation gunakan nilai yang dimodifikasi dan memperbarui grup Auto Scaling Anda.  
Properti ini diabaikan selama rollback stack.
*Default*: `false`  
*Tipe*: Boolean  
*Wajib*: Tidak

## UseOnlineResharding kebijakan
<a name="cfn-attributes-updatepolicy-useonlineresharding"></a>

Untuk memodifikasi serpihan grup replikasi dengan menambahkan atau menghapus serpihan, daripada mengganti seluruh sumber daya [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticache-replicationgroup.html), gunakan kebijakan pembaruan `UseOnlineResharding`.

Jika `UseOnlineResharding` diatur ke`true`, Anda dapat memperbarui `NumNodeGroups` dan `NodeGroupConfiguration` properti `AWS::ElastiCache::ReplicationGroup` sumber daya, dan CloudFormation akan memperbarui properti tersebut tanpa gangguan. Ketika `UseOnlineResharding` diatur ke`false`, atau tidak ditentukan, memperbarui `NumNodeGroups` dan `NodeGroupConfiguration` properti menghasilkan CloudFormation penggantian seluruh `AWS::ElastiCache::ReplicationGroup` sumber daya.

Kebijakan `UseOnlineResharding` pembaruan tidak memiliki properti.

Hal-hal yang perlu dipertimbangkan saat mengatur `UseOnlineResharding` kebijakan pembaruan ke `true`:
+ Kami sangat menyarankan Anda melakukan pembaruan untuk `NumNodeGroups` dan `NodeGroupConfiguration` properti sebagai satu-satunya pembaruan dalam operasi pembaruan tumpukan tertentu.

  Memperbarui konfigurasi grup simpul grup replikasi adalah operasi intensif sumber daya. Jika pembaruan tumpukan gagal, CloudFormation tidak akan mengembalikan perubahan pada konfigurasi grup node dari grup replikasi. Namun, CloudFormation akan memutar kembali properti lain yang diubah sebagai bagian dari operasi pembaruan yang gagal.
+ Pembaruan grup simpul apa pun memerlukan identifikasi semua grup simpul.

  Jika Anda menentukan `NodeGroupConfiguration` properti, Anda juga harus menentukan NodeGroupId untuk setiap konfigurasi grup node CloudFormation agar dapat memperbarui jumlah node tanpa gangguan.

  Saat membuat grup replikasi, jika Anda tidak menentukan ID untuk setiap grup simpul, ElastiCache secara otomatis menghasilkan ID untuk setiap grup simpul. Untuk memperbarui grup replikasi tanpa gangguan, gunakan ElastiCache console ([https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)) atau [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html)untuk mengambil IDs untuk semua grup node dalam grup replikasi. Kemudian tentukan ID untuk setiap grup simpul dalam templat tumpukan Anda sebelum mencoba untuk menambah atau menghapus serpihan.
**catatan**  
Sebagai praktik terbaik, ketika Anda membuat grup replikasi dalam templat tumpukan, termasuk ID untuk setiap grup simpul yang Anda tentukan.

  Selain itu, memperbarui jumlah simpul tanpa gangguan mengharuskan Anda telah secara akurat menentukan `PrimaryAvailabilityZone`, `ReplicaAvailabilityZones`, dan `ReplicaCount` properti untuk setiap `NodeGroupConfiguration` juga. Sekali lagi, Anda dapat menggunakan ElastiCache console ([https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/)) atau [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html)untuk mengambil nilai aktual untuk setiap grup node dan membandingkannya dengan nilai dalam template tumpukan Anda. Anda dapat memperbarui nilai properti dari grup simpul sebagai pembaruan tumpukan terpisah, atau sebagai bagian dari pembaruan tumpukan yang sama yang mengubah jumlah grup simpul.

  Saat Anda menggunakan kebijakan `UseOnlineResharding` pembaruan untuk memperbarui jumlah grup node tanpa gangguan, mendistribusikan ruang kunci ElastiCache secara merata di antara jumlah slot yang ditentukan. Ini tidak dapat diperbarui nanti. Oleh karena itu, setelah memperbarui jumlah grup simpul dengan cara ini, Anda harus menghapus nilai yang ditentukan untuk `Slots` properti masing-masing `NodeGroupConfiguration` templat tumpukan, karena tidak lagi mencerminkan nilai-nilai yang sebenarnya dalam setiap grup simpul.
+ Hasil penghapusan grup simpul yang sebenarnya mungkin berbeda.

  Ketika Anda menentukan `NumNodeGroups` nilai yang kurang dari jumlah grup node saat ini, CloudFormation menginstruksikan ElastiCache untuk menghapus sebanyak mungkin grup node yang diperlukan untuk mencapai jumlah node yang ditentukan. Namun, ElastiCache mungkin tidak selalu dapat menghapus jumlah kelompok node yang diinginkan. Jika tidak ElastiCache dapat menghapus jumlah grup node yang diinginkan, CloudFormation buat acara tumpukan yang mengingatkan Anda akan hal ini. Dalam kasus di mana tidak ElastiCache dapat menghapus grup node *apa pun*, pembaruan CloudFormation sumber daya gagal.

Untuk informasi selengkapnya tentang memodifikasi grup replikasi, lihat [ModifyReplicationGroupShardConfiguration](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html)di Referensi *Amazon ElastiCache API*.

### Sintaksis
<a name="cfn-attributes-updatepolicy-useonlineresharding-syntax"></a>

#### JSON
<a name="cfn-attributes-updatepolicy-useonlineresharding-syntax.json"></a>

```
"UpdatePolicy" : {
  "UseOnlineResharding" : {{Boolean}}
}
```

#### YAML
<a name="cfn-attributes-updatepolicy-useonlineresharding-syntax.yaml"></a>

```
UpdatePolicy:
  UseOnlineResharding: {{Boolean}}
```

## EnableVersionUpgrade kebijakan
<a name="cfn-attributes-updatepolicy-upgradeopensearchdomain"></a>

Untuk memutakhirkan domain OpenSearch Layanan ke versi baru OpenSearch atau Elasticsearch daripada mengganti keseluruhan [AWS::OpenSearchService::Domain](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-opensearchservice-domain.html)atau [AWS::Elasticsearch::Domain](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-elasticsearch-domain.html)sumber daya, gunakan kebijakan `EnableVersionUpgrade` pembaruan.

Jika `EnableVersionUpgrade` disetel ke`true`, Anda dapat memperbarui `EngineVersion` properti `AWS::OpenSearchService::Domain` sumber daya (atau `ElasticsearchVersion` properti sumber `AWS::Elasticsearch::Domain` daya lama), dan CloudFormation akan memperbarui properti itu tanpa gangguan. Kapan `EnableVersionUpgrade` diatur ke`false`, atau tidak ditentukan, memperbarui `EngineVersion` atau `ElasticsearchVersion` properti menghasilkan CloudFormation penggantian seluruh `AWS::Elasticsearch::Domain` sumber daya`AWS::OpenSearchService::Domain`/.

Kebijakan `EnableVersionUpgrade` pembaruan tidak memiliki properti.

Untuk informasi selengkapnya, lihat [Memutakhirkan domain OpenSearch Layanan](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/version-migration.html) di Panduan Pengembang OpenSearch Layanan Amazon.

### Sintaksis
<a name="cfn-attributes-updatepolicy-upgradeopensearchdomain-syntax"></a>

#### JSON
<a name="cfn-attributes-updatepolicy-upgradeopensearchdomain-syntax.json"></a>

```
"UpdatePolicy" : {
  "EnableVersionUpgrade" : {{Boolean}}
}
```

#### YAML
<a name="cfn-attributes-updatepolicy-upgradeopensearchdomain-syntax.yaml"></a>

```
UpdatePolicy:
  EnableVersionUpgrade: {{Boolean}}
```

## CodeDeployLambdaAliasUpdate kebijakan
<a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate"></a>

Untuk melakukan CodeDeploy penerapan saat versi berubah pada `AWS::Lambda::Alias` sumber daya, gunakan kebijakan `CodeDeployLambdaAliasUpdate` pembaruan.

### Sintaksis
<a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-syntax"></a>

#### JSON
<a name="aws-attribute-updatepolicy-codedeploylambdaaliasupdate-syntax.json"></a>

```
"UpdatePolicy" : {
  "CodeDeployLambdaAliasUpdate" : {
    "AfterAllowTrafficHook" : {{String}},
    "ApplicationName" : {{String}},
    "BeforeAllowTrafficHook" : {{String}},
    "DeploymentGroupName" : {{String}}
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-codedeploylambdaaliasupdate-syntax.yaml"></a>

```
UpdatePolicy:
  CodeDeployLambdaAliasUpdate:
    AfterAllowTrafficHook: {{String}}
    ApplicationName: {{String}}
    BeforeAllowTrafficHook: {{String}}
    DeploymentGroupName: {{String}}
```

### Sifat-sifat
<a name="aws-attribute-updatepolicy-codedeploylambdaaliasupdate-properties"></a>

`AfterAllowTrafficHook`  <a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-afterallowtraffichook"></a>
Nama fungsi Lambda untuk dijalankan setelah perutean lalu lintas selesai.  
*Wajib*: Tidak  
*Tipe*: String

`ApplicationName`  <a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-applicationname"></a>
Nama CodeDeploy aplikasi.  
*Wajib*: Ya  
*Tipe*: String

`BeforeAllowTrafficHook`  <a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-beforeallowtraffichook"></a>
Nama fungsi Lambda untuk dijalankan sebelum perutean lalu lintas dimulai.  
*Wajib*: Tidak  
*Tipe*: String

`DeploymentGroupName`  <a name="cfn-attributes-updatepolicy-codedeploylambdaaliasupdate-deploymentgroupname"></a>
Nama grup CodeDeploy penyebaran. Di sinilah kebijakan pergeseran lalu lintas ditetapkan.  
*Wajib*: Ya  
*Tipe: *String

Untuk contoh yang menentukan `UpdatePolicy` atribut untuk `AWS::Lambda::Alias` sumber daya, lihat [Kebijakan pembaruan alias Lambda](#aws-resource-lambda-alias-example).

## Contoh
<a name="aws-attribute-updatepolicy-examples"></a>

Contoh berikut menunjukkan cara menambahkan kebijakan pembaruan ke grup Auto Scaling dan cara mempertahankan ketersediaan saat memperbarui metadata.

### Menambahkan `UpdatePolicy` ke grup Auto Scaling
<a name="aws-attribute-updatepolicy-example-1"></a>

Contoh berikut menunjukkan cara menambahkan kebijakan pembaruan. Selama pembaruan, grup Auto Scaling memperbarui instance dalam batch dua dan menyimpan minimal satu instance dalam layanan. Karena `WaitOnResourceSignals` bendera disetel, grup Auto Scaling menunggu instance baru yang ditambahkan ke grup. Instans baru harus memberi sinyal pada grup Auto Scaling sebelum memperbarui batch instance berikutnya.

#### JSON
<a name="attribute-updatepolicy-example-1.json"></a>

```
"ASG" : {
  "Type":"AWS::AutoScaling::AutoScalingGroup",
  "Properties":{
    "VPCZoneIdentifier":[ "{{subnetIdAz1}}", "{{subnetIdAz2}}", "{{subnetIdAz3}}" ],
    "LaunchTemplate":{
      "LaunchTemplateId":{
        "Ref":"{{logicalName}}"
      },
      "Version":{
        "Fn::GetAtt":[
          "{{logicalName}}",
          "LatestVersionNumber"
        ]
      }
    },
    "MaxSize":"4",
    "MinSize":"1"
  },
  "UpdatePolicy":{
    "AutoScalingScheduledAction":{
      "IgnoreUnmodifiedGroupSizeProperties":"true"
    },
    "AutoScalingRollingUpdate":{
      "MinInstancesInService":"1",
      "MaxBatchSize":"2",
      "WaitOnResourceSignals":"true",
      "PauseTime":"PT10M",
      "SuspendProcesses":[
        "HealthCheck",
        "ReplaceUnhealthy",
        "AZRebalance",
        "AlarmNotification",
        "ScheduledActions",
        "InstanceRefresh"
      ]
    }
  }
}
```

#### YAML
<a name="attribute-updatepolicy-example-1.yaml"></a>

```
ASG:
  Type: AWS::AutoScaling::AutoScalingGroup
  Properties:
    VPCZoneIdentifier:
      - {{subnetIdAz1}}
      - {{subnetIdAz2}}
      - {{subnetIdAz3}}
    LaunchTemplate:
      LaunchTemplateId: !Ref {{logicalName}}
      Version: !GetAtt {{logicalName}}.LatestVersionNumber
    MaxSize: '4'
    MinSize: '1'
  UpdatePolicy:
    AutoScalingScheduledAction:
      IgnoreUnmodifiedGroupSizeProperties: 'true'
    AutoScalingRollingUpdate:
      MinInstancesInService: '1'
      MaxBatchSize: '2'
      WaitOnResourceSignals: 'true'
      PauseTime: PT10M
      SuspendProcesses:
        - HealthCheck
        - ReplaceUnhealthy
        - AZRebalance
        - AlarmNotification
        - ScheduledActions
        - InstanceRefresh
```

### AutoScalingReplacingUpdate kebijakan
<a name="attribute-updatepolicy-AutoScalingReplacingUpdate"></a>

Contoh berikut mendeklarasikan kebijakan yang memaksa grup Auto Scaling terkait diganti selama pembaruan. Agar pembaruan berhasil, persentase instans (ditentukan oleh `MinSuccessfulPercentParameter` parameter) harus menandakan keberhasilan dalam `Timeout` periode.

#### JSON
<a name="attribute-updatepolicy-example-2.json"></a>

```
"UpdatePolicy" : {
  "AutoScalingReplacingUpdate" : {
    "WillReplace" : true
  }
},
"CreationPolicy" : {
  "ResourceSignal" : {
    "Count" : { "Ref" : "ResourceSignalsOnCreate"},
    "Timeout" : "PT10M"
  },
  "AutoScalingCreationPolicy" : {
    "MinSuccessfulInstancesPercent" : { "Ref" : "MinSuccessfulPercentParameter" }
  }
}
```

#### YAML
<a name="attribute-updatepolicy-example-2.yaml"></a>

```
UpdatePolicy:
  AutoScalingReplacingUpdate:
    WillReplace: true
CreationPolicy:
  ResourceSignal:
    Count: !Ref 'ResourceSignalsOnCreate'
    Timeout: PT10M
  AutoScalingCreationPolicy:
    MinSuccessfulInstancesPercent: !Ref 'MinSuccessfulPercentParameter'
```

### Pertahankan ketersediaan saat memperbarui metadata untuk skrip pembantu cfn-init
<a name="aws-attribute-updatepolicy-cfn-init-metadata"></a>

Saat Anda menginstal aplikasi perangkat lunak pada instance Anda, Anda dapat menggunakan kunci [`AWS::CloudFormation::Init`](aws-resource-init.md) metadata dan skrip [cfn-init](cfn-init.md) helper untuk mem-bootstrap instance di grup Auto Scaling Anda. CloudFormation menginstal paket, menjalankan perintah, dan melakukan tindakan bootstrap lainnya yang dijelaskan dalam metadata.

Ketika Anda hanya memperbarui metadata (misalnya, ketika memperbarui paket ke versi lain), Anda dapat menggunakan [cfn-hup](cfn-hup.md) daemon pembantu untuk mendeteksi dan menerapkan pembaruan. Namun, `cfn-hup` daemon berjalan secara independen pada setiap instans. Jika daemon ada untuk berjalan pada waktu yang sama pada semua instans, aplikasi atau layanan Anda mungkin tidak tersedia selama pembaruan. Untuk menjamin ketersediaan, Anda dapat memaksa CloudFormation pembaruan bergulir sehingga memperbarui instans Anda satu batch pada satu waktu.

**penting**  
Memaksa pembaruan bergulir membutuhkan CloudFormation untuk membuat instance baru dan kemudian menghapus yang lama. Setiap informasi yang disimpan pada instans lama hilang.

Untuk memaksa pembaruan bergulir, ubah ID logis sumber daya konfigurasi peluncuran, lalu perbarui tumpukan dan referensi apa pun yang menunjuk ke ID logika asli (seperti grup Auto Scaling terkait). CloudFormation memicu pembaruan bergulir pada grup Auto Scaling, menggantikan semua instance.

### Templat asli
<a name="aws-attribute-updatepolicy-cfn-init-metadata-original"></a>

```
"LaunchConfig": {
  "Type" : "AWS::AutoScaling::LaunchConfiguration",
  "Metadata" : {
    "Comment" : "Install a simple PHP application",
    "AWS::CloudFormation::Init" : {
    ...
    }
  }
}
```

### ID logis yang diperbarui
<a name="aws-attribute-updatepolicy-cfn-init-metadata-updated"></a>

```
"LaunchConfigUpdateRubygemsPkg": {
  "Type" : "AWS::AutoScaling::LaunchConfiguration",
  "Metadata" : {
    "Comment" : "Install a simple PHP application",
    "AWS::CloudFormation::Init" : {
    ...
    }
  }
}
```

### Kebijakan pembaruan alias Lambda
<a name="aws-resource-lambda-alias-example"></a>

Contoh berikut menentukan `UpdatePolicy` atribut untuk `AWS::Lambda::Alias` sumber daya. Semua detail deployment didefinisikan oleh aplikasi dan grup deployment yang diteruskan ke kebijakan.

#### JSON
<a name="aws-attribute-updatepolicy-codedeploylambda.json"></a>

```
"Alias": {
  "Type": "AWS::Lambda::Alias",
  "Properties": {
    "FunctionName": {
      "Ref": "LambdaFunction"
    },
    "FunctionVersion": {
      "Fn::GetAtt": [
        "FunctionVersionTwo",
        "Version"
      ]
    },
    "Name": "MyAlias"
  },
  "UpdatePolicy": {
    "CodeDeployLambdaAliasUpdate": {
      "ApplicationName": {
        "Ref": "CodeDeployApplication"
      },
      "DeploymentGroupName": {
        "Ref": "CodeDeployDeploymentGroup"
      },
      "BeforeAllowTrafficHook": {
        "Ref": "PreHookLambdaFunction"
      },
      "AfterAllowTrafficHook": {
        "Ref": "PreHookLambdaFunction"
      }
    }
  }
}
```

#### YAML
<a name="aws-attribute-updatepolicy-codedeploylambda-example.yaml"></a>

```
Alias:
  Type: AWS::Lambda::Alias
  Properties:
    FunctionName: !Ref LambdaFunction
    FunctionVersion: !GetAtt FunctionVersionTwo.Version
    Name: MyAlias
  UpdatePolicy:
    CodeDeployLambdaAliasUpdate:
      ApplicationName: !Ref CodeDeployApplication
      DeploymentGroupName: !Ref CodeDeployDeploymentGroup
      BeforeAllowTrafficHook: !Ref PreHookLambdaFunction
      AfterAllowTrafficHook: !Ref PreHookLambdaFunction
```