

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

# Migrasi AWS CloudFormation tumpukan untuk meluncurkan templat
<a name="migrate-launch-configurations-with-cloudformation"></a>

Anda dapat memigrasikan template CloudFormation tumpukan yang ada dari konfigurasi peluncuran ke templat peluncuran. Untuk melakukan ini, tambahkan template peluncuran langsung ke template tumpukan yang ada dan kemudian kaitkan template peluncuran dengan grup Penskalaan Otomatis di template tumpukan. Kemudian, gunakan template yang dimodifikasi untuk memperbarui tumpukan Anda. 

Saat bermigrasi ke template peluncuran, topik ini menghemat waktu Anda dengan memberikan instruksi untuk menulis ulang konfigurasi peluncuran di template CloudFormation tumpukan Anda sebagai templat peluncuran. Untuk informasi selengkapnya tentang memigrasikan konfigurasi peluncuran untuk meluncurkan template, lihat[Migrasikan grup Penskalaan Otomatis Anda untuk meluncurkan template](migrate-to-launch-templates.md).

**Topics**
+ [Menemukan grup Auto Scaling yang menggunakan konfigurasi peluncuran](#find-auto-scaling-groups-to-migrate)
+ [Memperbarui tumpukan untuk menggunakan template peluncuran](#update-stack-to-use-launch-template)
+ [Memahami perilaku pembaruan sumber daya tumpukan](#understand-update-behavior)
+ [Lacak migrasi](#track-the-migration)
+ [Luncurkan referensi pemetaan konfigurasi](#launch-configuration-mapping-reference)

## Menemukan grup Auto Scaling yang menggunakan konfigurasi peluncuran
<a name="find-auto-scaling-groups-to-migrate"></a>

**Untuk menemukan grup Auto Scaling yang menggunakan konfigurasi peluncuran**
+ Gunakan [ perintah ](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/autoscaling/describe-auto-scaling-groups.html) describe-auto-scaling-groups berikut untuk mencantumkan nama grup Penskalaan Otomatis yang menggunakan konfigurasi peluncuran di Wilayah yang ditentukan. Sertakan `--filters` opsi untuk mempersempit hasil ke grup yang terkait dengan CloudFormation tumpukan (dengan memfilter dengan kunci `aws:cloudformation:stack-name` tag). 

  ```
  aws autoscaling describe-auto-scaling-groups --region {{REGION}} \
    --filters Name=tag-key,Values=aws:cloudformation:stack-name \
    --query 'AutoScalingGroups[?LaunchConfigurationName!=`null`].AutoScalingGroupName'
  ```

  Berikut ini adalah contoh output.

  ```
  [
      "{stack-name}-group-1",
      "{stack-name}-group-2",
      "{stack-name}-group-3"
  ]
  ```

  Anda dapat menemukan AWS CLI perintah tambahan yang berguna untuk menemukan grup Penskalaan Otomatis untuk bermigrasi dan memfilter keluaran[Migrasikan grup Penskalaan Otomatis Anda untuk meluncurkan template](migrate-to-launch-templates.md).

**penting**  
Jika sumber daya tumpukan Anda memiliki `AWSEB` namanya, ini berarti sumber daya tersebut dibuat melalui AWS Elastic Beanstalk. Dalam hal ini, Anda harus memperbarui lingkungan Beanstalk untuk mengarahkan Elastic Beanstalk untuk menghapus konfigurasi peluncuran dan menggantinya dengan template peluncuran.

## Memperbarui tumpukan untuk menggunakan template peluncuran
<a name="update-stack-to-use-launch-template"></a>

Ikuti langkah-langkah di bagian ini untuk melakukan hal berikut:
+ Tulis ulang konfigurasi peluncuran sebagai template peluncuran menggunakan properti template peluncuran yang setara. 
+ Kaitkan template peluncuran baru dengan grup Auto Scaling. 
+ Terapkan pembaruan ini.

**Untuk memodifikasi template tumpukan dan memperbarui tumpukan**

1. Ikuti prosedur umum yang sama untuk memodifikasi template tumpukan yang dijelaskan dalam [ Memodifikasi template tumpukan ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-get-template.html) di Panduan *AWS CloudFormation Pengguna*.

1. Tulis ulang konfigurasi peluncuran sebagai template peluncuran. Lihat contoh berikut ini: 

   **Contoh: Konfigurasi peluncuran sederhana **

   ```
   ---
   Resources:
     myLaunchConfig: 
       Type: AWS::AutoScaling::LaunchConfiguration
       Properties: 
         ImageId: ami-02354e95b3example
         InstanceType: t3.micro
         SecurityGroups:
           - !Ref EC2SecurityGroup
         KeyName: MyKeyPair
         BlockDeviceMappings: 
           - DeviceName: /dev/xvda
             Ebs: 
               VolumeSize: 150
               DeleteOnTermination: true
         UserData: 
           Fn::Base64: !Sub |
             #!/bin/bash -xe
             yum install -y aws-cfn-bootstrap
             /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource myASG --region ${AWS::Region}
   ```

   **Contoh: Template peluncuran setara **

   ```
   ---
   Resources:
     myLaunchTemplate:
       Type: AWS::EC2::LaunchTemplate
       Properties:
         LaunchTemplateName: {{!Sub ${AWS::StackName}-launch-template}}
         LaunchTemplateData:
           ImageId: ami-02354e95b3example
           InstanceType: t3.micro
           SecurityGroupIds:
             - Ref! EC2SecurityGroup
           KeyName: MyKeyPair
           BlockDeviceMappings: 
             - DeviceName: /dev/xvda
               Ebs: 
                 VolumeSize: 150
                 DeleteOnTermination: true
           UserData: 
             Fn::Base64: !Sub |
               #!/bin/bash -x
               yum install -y aws-cfn-bootstrap
               /opt/aws/bin/cfn-signal -e $? --stack ${AWS::StackName} --resource myASG --region ${AWS::Region}
   ```

   Untuk informasi referensi untuk semua properti yang didukung Amazon EC2, lihat  [ AWS: :EC2:: LaunchTemplate ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)  *AWS CloudFormation * 

   Perhatikan bagaimana template peluncuran `LaunchTemplateName` menyertakan properti dengan nilai`!Sub ${AWS::StackName}-launch-template`. Ini diperlukan jika Anda ingin nama template peluncuran menyertakan nama tumpukan.

1. Jika `IamInstanceProfile` properti hadir dalam konfigurasi peluncuran Anda, Anda harus mengubahnya menjadi struktur dan menentukan nama atau ARN profil instance. Sebagai contoh, lihat  [ AWS: :EC2:: LaunchTemplate ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)  

1. Jika properti`AssociatePublicIpAddress`,`InstanceMonitoring`, atau `PlacementTenancy` hadir dalam konfigurasi peluncuran Anda, Anda harus mengonversinya menjadi struktur. Sebagai contoh, lihat  [ AWS: :EC2:: LaunchTemplate ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)  

   Pengecualian adalah ketika nilai `MapPublicIpOnLaunch` properti pada subnet yang Anda gunakan untuk grup Penskalaan Otomatis cocok dengan nilai `AssociatePublicIpAddress` properti dalam konfigurasi peluncuran Anda. Dalam hal ini, Anda dapat mengabaikan `AssociatePublicIpAddress` properti. Pro `AssociatePublicIpAddress` perti ini hanya digunakan untuk mengganti `MapPublicIpOnLaunch` properti untuk mengubah apakah instance menerima alamat IPv4 publik saat diluncurkan. 

1. Anda dapat menyalin grup keamanan dari `SecurityGroups` properti ke salah satu dari dua tempat di template peluncuran Anda. Biasanya, Anda menyalin grup keamanan ke `SecurityGroupIds` properti. Namun, jika Anda membuat `NetworkInterfaces` struktur dalam template peluncuran untuk menentukan `AssociatePublicIpAddress` properti, maka Anda harus menyalin grup keamanan ke `Groups` properti antarmuka jaringan sebagai gantinya.

1. Jika ada `BlockDeviceMapping` struktur yang ada dalam konfigurasi peluncuran Anda dengan `NoDevice` set to`true`, maka Anda harus menentukan string kosong `NoDevice` di template peluncuran Anda agar Amazon EC2 menghilangkan perangkat.

1. Jika `SpotPrice` properti ada dalam konfigurasi peluncuran Anda, kami sarankan Anda menghilangkannya dari template peluncuran Anda. Instans Spot Anda akan diluncurkan dengan harga Spot saat ini. Harga ini tidak akan pernah melebihi On-Demand harga.

   Untuk meminta Instans Spot, Anda memiliki dua opsi yang saling eksklusif:
   + Yang pertama adalah menggunakan `InstanceMarketOptions` struktur dalam template peluncuran Anda (tidak disarankan). Untuk informasi selengkapnya, lihat  [ AWS: :EC2:: LaunchTemplate InstanceMarketOptions ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-instancemarketoptions.html)  di Panduan Pengguna. *AWS CloudFormation *
   + Yang lainnya adalah menambahkan `MixedInstancesPolicy` struktur ke grup Auto Scaling Anda. Melakukannya memberi Anda lebih banyak opsi untuk bagaimana Anda membuat permintaan. Permintaan Instans Spot di template peluncuran Anda tidak mendukung lebih dari satu pilihan jenis instans per grup Penskalaan Otomatis. Namun, kebijakan instance campuran mendukung lebih dari satu pemilihan jenis instans per grup Penskalaan Otomatis. Permintaan Instance Spot mendapat manfaat dari memiliki lebih dari satu jenis instans untuk dipilih. Untuk informasi selengkapnya, lihat  [ AWS::AutoScaling AutoScalingGroup MixedInstancesPolicy ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-autoscaling-autoscalinggroup-mixedinstancespolicy.html)  di Panduan *AWS CloudFormation Pengguna*.

1. Hapus `LaunchConfigurationName` properti dari AutoScalingGroup [https://docs.aws.amazon.com/en_us/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html](https://docs.aws.amazon.com/en_us/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)AWS::AutoScaling:::. Tambahkan template peluncuran di tempatnya.

   Dalam contoh berikut, fungsi [ intrinsik ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) Ref mendapatkan ID sumber LaunchTemplate [https://docs.aws.amazon.com/en_us/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html](https://docs.aws.amazon.com/en_us/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html) AWS: :EC2:: dengan ID logis. `myLaunchTemplate` [GetAtt](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html)Fungsi mendapatkan nomor versi terbaru (misalnya,`1`) dari template peluncuran untuk `Version` properti.

   **Contoh: Tanpa kebijakan instance campuran **

   ```
   ---
   Resources:
     myASG:
       Type: AWS::AutoScaling::AutoScalingGroup
       Properties:
         LaunchTemplate:
           LaunchTemplateId: {{!Ref myLaunchTemplate}}
           Version: {{!GetAtt myLaunchTemplate.LatestVersionNumber}}
         ...
   ```

   **Contoh: Dengan kebijakan instance campuran **

   ```
   ---
   Resources:
     myASG:
       Type: AWS::AutoScaling::AutoScalingGroup
       Properties:        
         MixedInstancesPolicy:
           LaunchTemplate:
             LaunchTemplateSpecification:
               LaunchTemplateId: {{!Ref myLaunchTemplate}}
               Version: {{!GetAtt myLaunchTemplate.LatestVersionNumber}}
         ...
   ```

   Untuk informasi referensi untuk semua properti yang didukung Amazon EC2 Auto Scaling, lihat  [AWS::AutoScaling:: AutoScalingGroup ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html)  di Panduan *AWS CloudFormation * Pengguna.

1. Saat Anda siap untuk menerapkan pembaruan ini, ikuti CloudFormation prosedur untuk memperbarui tumpukan dengan template tumpukan yang dimodifikasi. Untuk informasi selengkapnya, lihat [ Memodifikasi template tumpukan ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-get-template.html) di Panduan *AWS CloudFormation Pengguna*. 

## Memahami perilaku pembaruan sumber daya tumpukan
<a name="understand-update-behavior"></a>

CloudFormation memperbarui sumber daya tumpukan dengan membandingkan perubahan antara template yang diperbarui yang Anda berikan, dan konfigurasi sumber daya yang Anda jelaskan di versi templat tumpukan sebelumnya. Konfigurasi sumber daya yang tidak berubah tetap tidak terpengaruh selama proses pembaruan.

CloudFormation mendukung [ UpdatePolicy ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html) atribut untuk grup Auto Scaling. Untuk mengganti instance yang ada setelah Anda menyelesaikan prosedur ini, tambahkan `UpdatePolicy` atribut ke tumpukan Anda. Setel kebijakan pembaruan ke`AutoScalingInstanceRefresh`. Untuk informasi selengkapnya, lihat [ AutoScalingInstanceRefresh kebijakan ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-instancerefresh) di Panduan *AWS CloudFormation Pengguna*.

Jika Anda tidak menentukan `UpdatePolicy` atribut untuk grup Penskalaan Otomatis, template peluncuran diperiksa kebenarannya, tetapi CloudFormation tidak menerapkan perubahan apa pun di instans dalam grup Penskalaan Otomatis. Semua instans baru akan menggunakan template peluncuran Anda, tetapi instans yang ada terus berjalan dengan konfigurasi peluncuran yang awalnya diluncurkan (meskipun konfigurasi peluncuran tidak ada). Pengecualiannya adalah ketika Anda mengubah opsi pembelian, misalnya, dengan menambahkan kebijakan instance campuran. Dalam hal ini, grup Penskalaan Otomatis Anda secara bertahap menggantikan instans yang ada dengan instans baru agar sesuai dengan opsi pembelian baru.

Jika Anda harus mengembalikan perubahan untuk beralih dari konfigurasi peluncuran ke peluncuran templat, pastikan untuk menguji operasi rollback.

## Lacak migrasi
<a name="track-the-migration"></a>

**Untuk melacak migrasi**

1. Di [Konsol CloudFormation](https://console.aws.amazon.com/cloudformation), pilih tumpukan yang diperbarui dan kemudian pilih tab **Kejadian** untuk melihat kejadian tumpukan.

1. Untuk memperbarui daftar acara dengan acara terbaru, pilih tombol refresh di CloudFormation konsol.

1. Saat tumpukan Anda diperbarui, Anda akan melihat beberapa peristiwa untuk setiap pembaruan sumber daya. Jika Anda melihat pengecualian di ** kolom alasan ** Status yang menunjukkan masalah saat mencoba membuat template peluncuran, lihat [Memecahkan masalah Amazon EC2 Auto Scaling: Luncurkan templat](ts-as-launch-template.md) penyebab potensial.

1. (Opsional) Tergantung pada penggunaan `UpdatePolicy` atribut, Anda dapat memantau kemajuan grup Penskalaan Otomatis dari halaman [ grup Penskalaan ](https://console.aws.amazon.com/ec2/v2/home?#AutoScalingGroups) Otomatis di konsol Amazon EC2. Pilih grup Auto Scaling. Pada ** tab ** Aktivitas, di bawah ** Riwayat aktivitas**, ** kolom ** Status menunjukkan apakah grup Penskalaan Otomatis Anda telah berhasil meluncurkan atau menghentikan instans, atau apakah aktivitas penskalaan masih berlangsung. 

1. Ketika pembaruan tumpukan selesai, CloudFormation mengeluarkan event `UPDATE_COMPLETE` stack. Untuk informasi selengkapnya, lihat [ Memantau kemajuan pembaruan tumpukan ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-monitor-stack.html) di Panduan *AWS CloudFormation Pengguna*. 

1. Setelah pembaruan tumpukan selesai, buka halaman [ Launch template ](https://console.aws.amazon.com/ec2/v2/#LaunchTemplates) dan [ Luncurkan halaman ](https://console.aws.amazon.com/ec2/v2/home?#LaunchConfigurations) konfigurasi konsol Amazon EC2. Anda akan melihat template peluncuran baru dibuat, dan konfigurasi peluncuran dihapus. 

## Luncurkan referensi pemetaan konfigurasi
<a name="launch-configuration-mapping-reference"></a>

Untuk tujuan referensi, tabel berikut mencantumkan semua properti tingkat atas di sumber daya  [AWS::AutoScaling:: LaunchConfiguration ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-launchconfiguration.html)  sumber daya  [ AWS: :EC2:: LaunchTemplate ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html)  


| Luncurkan properti sumber konfigurasi | Luncurkan properti target template | 
| --- | --- | 
| AssociatePublicIpAddress | NetworkInterfaces.AssociatePublicIpAddress | 
| BlockDeviceMappings | BlockDeviceMappings | 
| ClassicLinkVPCId | Tidak tersedia¹ | 
| ClassicLinkVPCSecurityGroups | Tidak tersedia¹ | 
| EbsOptimized | EbsOptimized | 
| IamInstanceProfile | En IamInstanceProfile.Arn tah atauIamInstanceProfile.Name, tapi tidak keduanya  | 
| ImageId | ImageId | 
| InstanceId | InstanceId | 
| InstanceMonitoring | Monitoring.Enabled | 
| InstanceType | InstanceType | 
| KernelId | KernelId | 
| KeyName | KeyName | 
| LaunchConfigurationName | LaunchTemplateName | 
| MetadataOptions | MetadataOptions | 
| PlacementTenancy | Placement.Tenancy  | 
| RamDiskId | RamDiskId | 
| SecurityGroups | En SecurityGroupIds tah atauNetworkInterfaces.Groups, tapi tidak keduanya | 
| SpotPrice | InstanceMarketOptions.SpotOptions.MaxPrice | 
| UserData | UserData | 

¹ Pro `ClassicLinkVPCId` `ClassicLinkVPCSecurityGroups` perti dan tidak tersedia untuk digunakan dalam template peluncuran EC2-Classic karena tidak lagi tersedia.