

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

# Pemecahan masalah CodeDeploy
<a name="troubleshooting"></a>

Gunakan topik di bagian ini untuk membantu memecahkan masalah dan kesalahan yang mungkin Anda temui saat menggunakan CodeDeploy.

**catatan**  
Anda dapat mengidentifikasi penyebab banyak kegagalan penerapan dengan meninjau file log yang dibuat selama proses penyebaran. Untuk mempermudah, sebaiknya gunakan Amazon CloudWatch Logs untuk memonitor file log secara terpusat alih-alih melihatnya secara instance per instance. Untuk informasi, lihat [Memantau penerapan dengan alat Amazon CloudWatch](monitoring-cloudwatch.md).

**Topics**
+ [Pemecahan masalah umum](troubleshooting-general.md)
+ [Memecahkan masalah EC2/On-premise deployment](troubleshooting-deployments.md)
+ [Memecahkan masalah penerapan Amazon ECS](troubleshooting-ecs.md)
+ [Memecahkan masalah penyebaran Lambda AWS](troubleshooting-deployments-lambda.md)
+ [Memecahkan masalah grup penyebaran](troubleshooting-deployment-groups.md)
+ [Memecahkan masalah contoh](troubleshooting-ec2-instances.md)
+ [Memecahkan masalah GitHub token](troubleshooting-github-token-issues.md)
+ [Memecahkan masalah Amazon EC2 Auto Scaling](troubleshooting-auto-scaling.md)
+ [Kode kesalahan untuk AWS CodeDeploy](error-codes.md)

# Pemecahan masalah umum
<a name="troubleshooting-general"></a>

**Topics**
+ [Daftar periksa pemecahan masalah umum](#troubleshooting-checklist)
+ [CodeDeploy sumber daya penyebaran didukung hanya di beberapa Wilayah AWS](#troubleshooting-supported-regions)
+ [Prosedur dalam panduan ini tidak cocok dengan CodeDeploy konsol](#troubleshooting-old-console)
+ [Peran IAM yang diperlukan tidak tersedia](#troubleshooting-iam-cloudformation)
+ [Menggunakan beberapa editor teks untuk membuat AppSpec file dan skrip shell dapat menyebabkan penerapan gagal](#troubleshooting-text-editors)
+ [Menggunakan Finder di macOS untuk menggabungkan revisi aplikasi dapat menyebabkan penerapan gagal](#troubleshooting-bundle-with-finder)

## Daftar periksa pemecahan masalah umum
<a name="troubleshooting-checklist"></a>

Anda dapat menggunakan daftar periksa berikut untuk memecahkan masalah penerapan yang gagal.

1. Lihat [Lihat CodeDeploy detail penerapan](deployments-view-details.md) dan [Lihat detail contoh dengan CodeDeploy](instances-view-details.md) untuk menentukan mengapa penerapan gagal. Jika Anda tidak dapat menentukan penyebabnya, tinjau item dalam daftar periksa ini.

1. Periksa apakah Anda telah mengonfigurasi instance dengan benar:
   + Apakah instance diluncurkan dengan key pair EC2 ditentukan? Untuk informasi selengkapnya, lihat [Pasangan Kunci EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2-key-pairs.html) di Panduan *Pengguna Amazon EC2*.
   + Apakah profil instans IAM yang benar dilampirkan ke instance? Untuk informasi selengkapnya, lihat [Konfigurasikan instans Amazon EC2 agar berfungsi CodeDeploy](instances-ec2-configure.md) dan [Langkah 4: Buat profil instans IAM untuk instans Amazon EC2 Anda](getting-started-create-iam-instance-profile.md).
   + Apakah instance itu ditandai? Untuk informasi selengkapnya, lihat [Bekerja dengan tag di konsol](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_Console) di *Panduan Pengguna Amazon EC2*.
   + Apakah CodeDeploy agen diinstal, diperbarui, dan berjalan pada instance? Untuk informasi selengkapnya, lihat [Mengelola operasi CodeDeploy agen](codedeploy-agent-operations.md). Untuk memeriksa versi agen mana yang diinstal, lihat[Tentukan versi CodeDeploy agen](codedeploy-agent-operations-version.md).

1. Periksa pengaturan grup aplikasi dan penyebaran:
   + Untuk memeriksa pengaturan aplikasi Anda, lihat[Lihat detail aplikasi dengan CodeDeploy](applications-view-details.md).
   + Untuk memeriksa setelan grup penerapan, lihat[Lihat detail grup penerapan dengan CodeDeploy](deployment-groups-view-details.md).

1. Konfirmasikan revisi aplikasi dikonfigurasi dengan benar:
   + Periksa format AppSpec file Anda. Untuk informasi selengkapnya, lihat [Tambahkan file spesifikasi aplikasi ke revisi untuk CodeDeploy](application-revisions-appspec-file.md) dan [CodeDeploy AppSpec referensi file](reference-appspec-file.md).
   + Periksa bucket atau GitHub repositori Amazon S3 Anda untuk memverifikasi revisi aplikasi Anda berada di lokasi yang diharapkan.
   + Tinjau detail revisi CodeDeploy aplikasi Anda untuk memastikan bahwa itu terdaftar dengan benar. Untuk informasi, lihat [Lihat detail revisi aplikasi dengan CodeDeploy](application-revisions-view-details.md).
   + Jika Anda menerapkan dari Amazon S3, periksa bucket Amazon S3 Anda untuk CodeDeploy memverifikasi izin telah diberikan untuk mengunduh revisi aplikasi. Untuk informasi tentang kebijakan bucket, lihat[Prasyarat penyebaran](deployments-create-prerequisites.md).
   + Jika Anda menerapkan dari GitHub, periksa GitHub repositori Anda untuk memverifikasi CodeDeploy telah diberikan izin untuk mengunduh revisi aplikasi. Untuk informasi selengkapnya, lihat [Buat penerapan dengan CodeDeploy](deployments-create.md) dan [GitHub otentikasi dengan aplikasi di CodeDeploy](integrations-partners-github.md#behaviors-authentication).

1. Periksa apakah peran layanan dikonfigurasi dengan benar. Untuk informasi, lihat [Langkah 2: Buat peran layanan untuk CodeDeploy](getting-started-create-service-role.md).

1. Konfirmasikan bahwa Anda mengikuti langkah-langkah [Memulai dengan CodeDeploy](getting-started-codedeploy.md) untuk: 
   + Menyediakan pengguna dengan izin yang sesuai.
   + Instal atau tingkatkan dan konfigurasikan file AWS CLI.
   + Buat profil instans IAM dan peran layanan.

   Untuk informasi selengkapnya, lihat [Manajemen identitas dan akses untuk AWS CodeDeploy](security-iam.md).

1. Konfirmasikan bahwa Anda menggunakan AWS CLI versi 1.6.1 atau yang lebih baru. Untuk memeriksa versi yang telah Anda instal, hubungi**aws --version**.

Jika Anda masih tidak dapat memecahkan masalah penerapan yang gagal, tinjau masalah lain dalam topik ini.

## CodeDeploy sumber daya penyebaran didukung hanya di beberapa Wilayah AWS
<a name="troubleshooting-supported-regions"></a>

Jika Anda tidak melihat atau tidak dapat mengakses aplikasi, grup penyebaran, instance, atau sumber daya penerapan lainnya dari AWS CLI atau CodeDeploy konsol, pastikan Anda mereferensikan salah satu Wilayah yang terdaftar di [Wilayah](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region) dan AWS titik akhir di. *Referensi Umum AWS*

Instans EC2 dan grup Amazon EC2 Auto Scaling yang digunakan CodeDeploy dalam penerapan harus diluncurkan dan dibuat di salah satu Wilayah ini. AWS 

Jika Anda menggunakan AWS CLI, jalankan **aws configure** perintah dari file AWS CLI. Kemudian Anda dapat melihat dan mengatur AWS Wilayah default Anda.

Jika Anda menggunakan CodeDeploy konsol, pada bilah navigasi, dari pemilih wilayah, pilih salah satu AWS Wilayah yang didukung.

**penting**  
Untuk menggunakan layanan di Wilayah Tiongkok (Beijing) atau Wilayah Tiongkok (Ningxia), Anda harus memiliki akun dan kredensional untuk wilayah tersebut. Akun dan kredensil untuk AWS wilayah lain tidak berfungsi untuk Wilayah Beijing dan Ningxia, dan sebaliknya.  
Informasi tentang beberapa sumber daya untuk Wilayah Tiongkok, CodeDeploy seperti nama bucket Resource Kit CodeDeploy dan prosedur pemasangan agen, tidak termasuk dalam edisi Panduan *Pengguna* ini. CodeDeploy   
Untuk informasi selengkapnya:  
[CodeDeploy](http://docs.amazonaws.cn/en_us/aws/latest/userguide/codedeploy.html)*[Memulai dengan AWS di Wilayah Tiongkok (Beijing)](http://docs.amazonaws.cn/en_us/aws/latest/userguide/introduction.html)*
*CodeDeploy Panduan Pengguna untuk Wilayah Tiongkok* [(versi bahasa Inggris \$1 Versi bahasa](http://docs.amazonaws.cn/en_us/codedeploy/latest/userguide/welcome.html) [Mandarin](http://docs.amazonaws.cn/codedeploy/latest/userguide/welcome.html))

## Prosedur dalam panduan ini tidak cocok dengan CodeDeploy konsol
<a name="troubleshooting-old-console"></a>

 Prosedur dalam panduan ini ditulis untuk mencerminkan desain konsol baru. Jika Anda menggunakan versi konsol yang lebih lama, banyak konsep dan prosedur dasar dalam panduan ini masih berlaku. Untuk mengakses bantuan di konsol baru, pilih ikon informasi. 

## Peran IAM yang diperlukan tidak tersedia
<a name="troubleshooting-iam-cloudformation"></a>

Jika Anda mengandalkan profil instans IAM atau peran layanan yang dibuat sebagai bagian dari AWS CloudFormation tumpukan, jika Anda menghapus tumpukan, semua peran IAM juga akan dihapus. Ini mungkin mengapa peran IAM tidak lagi ditampilkan di konsol IAM dan CodeDeploy tidak lagi berfungsi seperti yang diharapkan. Untuk memperbaiki masalah ini, Anda harus secara manual membuat ulang peran IAM yang dihapus.

## Menggunakan beberapa editor teks untuk membuat AppSpec file dan skrip shell dapat menyebabkan penerapan gagal
<a name="troubleshooting-text-editors"></a>

Beberapa editor teks memperkenalkan karakter yang tidak sesuai dan tidak dicetak ke dalam file. Jika Anda menggunakan editor teks untuk membuat atau memodifikasi AppSpec file atau file skrip shell untuk dijalankan di Amazon Linux, Ubuntu Server, atau instans RHEL, maka penerapan apa pun yang bergantung pada file ini mungkin gagal. Saat CodeDeploy menggunakan file-file ini selama penyebaran, keberadaan karakter ini dapat menyebabkan kegagalan validasi hard-to-troubleshoot AppSpec file dan kegagalan eksekusi skrip. 

Di CodeDeploy konsol, pada halaman detail acara untuk penerapan, pilih **Lihat log**. (Atau Anda menggunakan AWS CLI untuk memanggil [get-deployment-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html)perintah.) Cari kesalahan seperti`invalid character`,`command not found`, atau`file not found`.

Untuk mengatasi masalah ini, kami merekomendasikan yang berikut:
+ Jangan gunakan editor teks yang memperkenalkan karakter non-cetak seperti carriage return (`^M`karakter) ke dalam AppSpec file dan file skrip shell Anda. 
+ Gunakan editor teks yang menampilkan karakter non-pencetakan seperti carriage return dalam AppSpec file dan file skrip shell Anda, sehingga Anda dapat menemukan dan menghapus semua yang mungkin diperkenalkan. Untuk contoh jenis editor teks ini, cari di internet untuk editor teks yang menunjukkan pengembalian carriage.
+ Gunakan editor teks yang berjalan di Amazon Linux, Ubuntu Server, atau instans RHEL untuk membuat file skrip shell yang berjalan di Amazon Linux, Ubuntu Server, atau instans RHEL. Untuk contoh jenis editor teks ini, cari di internet untuk editor skrip shell Linux.
+ Jika Anda harus menggunakan editor teks di Windows atau macOS untuk membuat file skrip shell agar berjalan di Amazon Linux, Ubuntu Server, atau instance RHEL, gunakan program atau utilitas yang mengonversi teks dalam format Windows atau macOS ke format Unix. Untuk contoh program dan utilitas ini, cari di internet untuk DOS ke UNIX atau Mac ke UNIX. Pastikan untuk menguji file skrip shell yang dikonversi pada sistem operasi target.

## Menggunakan Finder di macOS untuk menggabungkan revisi aplikasi dapat menyebabkan penerapan gagal
<a name="troubleshooting-bundle-with-finder"></a>

Penerapan mungkin gagal jika Anda menggunakan aplikasi antarmuka pengguna grafis Finder (GUI) di Mac untuk menggabungkan (zip) AppSpec file dan file serta skrip terkait ke dalam file arsip revisi aplikasi (.zip). Ini karena Finder membuat `__MACOSX` folder perantara dalam file.zip dan menempatkan file komponen ke dalamnya. CodeDeploy tidak dapat menemukan file komponen, sehingga penerapan gagal.

Untuk mengatasi masalah ini, kami sarankan Anda menggunakan perintah AWS CLI to call the [push](https://docs.aws.amazon.com/cli/latest/reference/deploy/push.html), yang mem-zip file komponen ke dalam struktur yang diharapkan. Atau, Anda dapat menggunakan Terminal alih-alih GUI untuk zip file komponen. Terminal tidak membuat `__MACOSX` folder perantara.

# Memecahkan masalah EC2/On-premise deployment
<a name="troubleshooting-deployments"></a>

**Topics**
+ [CodeDeploy CommandPoller kesalahan kredensialnya hilang plugin](#troubleshooting-agent-commandpoller-error)
+ [Penerapan gagal dengan pesan “Validasi pesan yang PKCS7 ditandatangani gagal”](#troubleshooting-deployments-agent-SHA-256)
+ [Penerapan atau pemindahan file yang sama ke lokasi instance yang sama gagal dengan kesalahan “Penerapan gagal karena file tertentu sudah ada di lokasi ini”](#troubleshooting-same-files-different-app-name)
+ [Jalur file yang panjang menyebabkan kesalahan “Tidak ada file atau direktori seperti itu”](#troubleshooting-long-file-paths)
+ [Proses yang berjalan lama dapat menyebabkan penerapan gagal](#troubleshooting-long-running-processes)
+ [Memecahkan masalah peristiwa AllowTraffic siklus hidup yang gagal tanpa kesalahan yang dilaporkan dalam log penerapan](#troubleshooting-deployments-allowtraffic-no-logs)
+ [Memecahkan masalah peristiwa siklus hidup yang gagal ApplicationStop BeforeBlockTraffic, atau AfterBlockTraffic penerapan](#troubleshooting-deployments-lifecycle-event-failures)
+ [Memecahkan masalah peristiwa siklus hidup DownloadBundle penerapan yang gagal dengan UnknownError: tidak dibuka untuk dibaca](#troubleshooting-deployments-downloadbundle)
+ [Memecahkan masalah semua peristiwa siklus hidup yang dilewati kesalahan](#troubleshooting-skipped-lifecycle-events)
+ [PowerShell Skrip Windows gagal menggunakan versi Windows 64-bit PowerShell secara default](#troubleshooting-deployments-powershell)

**catatan**  
Penyebab banyak kegagalan penerapan dapat diidentifikasi dengan meninjau file log yang dibuat selama proses penyebaran. Untuk mempermudah, sebaiknya gunakan Amazon CloudWatch Logs untuk memonitor file log secara terpusat alih-alih melihatnya secara instance per instance. Untuk selengkapnya, lihat [Melihat CodeDeploy Log di Konsol CloudWatch Log](https://aws.amazon.com/blogs/devops/view-aws-codedeploy-logs-in-amazon-cloudwatch-console/).

**Tip**  
*Untuk runbook yang mengotomatiskan banyak tugas pemecahan masalah yang terkait dengan penerapan EC2/On-premise, lihat [AWSSupport-TroubleshootCodeDeploy](https://docs.aws.amazon.com/systems-manager-automation-runbooks/latest/userguide/automation-awssupport-troubleshootcodedeploy.html)di referensi buku runbook Systems Manager Automation.AWS *

## CodeDeploy CommandPoller kesalahan kredensialnya hilang plugin
<a name="troubleshooting-agent-commandpoller-error"></a>

 Jika Anda menerima kesalahan yang mirip dengan`InstanceAgent::Plugins::CodeDeployPlugin::CommandPoller: Missing credentials - please check if this instance was started with an IAM instance profile`, itu mungkin disebabkan oleh salah satu dari berikut ini: 
+  Instance yang Anda terapkan tidak memiliki profil instans IAM yang terkait dengannya. 
+  Profil instans IAM Anda tidak memiliki izin yang benar yang dikonfigurasi. 

 Profil instans IAM memberikan izin CodeDeploy agen untuk berkomunikasi dengan CodeDeploy dan mengunduh revisi Anda dari Amazon S3. Untuk instans EC2, lihat. [Manajemen identitas dan akses untuk AWS CodeDeploy](security-iam.md) Untuk instance lokal, lihat. [Bekerja dengan instans lokal untuk CodeDeploy](instances-on-premises.md) 

## Penerapan gagal dengan pesan “Validasi pesan yang PKCS7 ditandatangani gagal”
<a name="troubleshooting-deployments-agent-SHA-256"></a>

Pesan kesalahan ini menunjukkan instance menjalankan versi CodeDeploy agen yang hanya mendukung algoritma hash SHA-1. Support untuk algoritma hash SHA-2 diperkenalkan dalam versi 1.0.1.854 dari CodeDeploy agen, dirilis pada November 2015. Efektif 17 Oktober 2016, penerapan gagal jika versi CodeDeploy agen lebih awal dari 1.0.1.854 diinstal. Untuk informasi selengkapnya, lihat [AWS untuk beralih ke algoritma SHA256 hash untuk Sertifikat SSL](https://aws.amazon.com/security/security-bulletins/aws-to-switch-to-sha256-hash-algorithm-for-ssl-certificates/), [PEMBERITAHUAN: Menghentikan agen CodeDeploy host yang lebih lama dari versi 1.0.1.85](https://forums.aws.amazon.com/thread.jspa?threadID=223319), dan. [Perbarui CodeDeploy agen](codedeploy-agent-operations-update.md)

## Penerapan atau pemindahan file yang sama ke lokasi instance yang sama gagal dengan kesalahan “Penerapan gagal karena file tertentu sudah ada di lokasi ini”
<a name="troubleshooting-same-files-different-app-name"></a>

Saat CodeDeploy mencoba menyebarkan file ke instance tetapi file dengan nama yang sama sudah ada di lokasi target yang ditentukan, penerapan ke instance itu mungkin gagal. Anda mungkin menerima pesan kesalahan “Penerapan gagal karena file tertentu sudah ada di lokasi ini:*location-name*.” Ini karena, selama setiap penerapan, CodeDeploy pertama-tama menghapus semua file dari penerapan sebelumnya, yang tercantum dalam file log pembersihan. Jika ada file di folder instalasi target yang tidak tercantum dalam file pembersihan ini, CodeDeploy agen secara default menafsirkan ini sebagai kesalahan dan gagal penerapan.

**catatan**  
Pada instance Amazon Linux, RHEL, dan Ubuntu Server, file pembersihan terletak di. `/opt/codedeploy-agent/deployment-root/deployment-instructions/` Pada instance Windows Server, lokasinya adalah`C:\ProgramData\Amazon\CodeDeploy\deployment-instructions\`.

Cara termudah untuk menghindari kesalahan ini adalah dengan menentukan opsi selain perilaku default untuk gagal penerapan. Untuk setiap penerapan, Anda dapat memilih apakah akan gagal penerapan, menimpa file yang tidak tercantum dalam file pembersihan, atau untuk menyimpan file yang sudah ada di instance.

Opsi overwrite berguna ketika, misalnya, Anda secara manual menempatkan file pada instance setelah penerapan terakhir, tetapi kemudian menambahkan file dengan nama yang sama ke revisi aplikasi berikutnya.

Anda dapat memilih opsi pertahankan untuk file yang Anda tempatkan pada instance yang Anda inginkan untuk menjadi bagian dari penerapan berikutnya tanpa harus menambahkannya ke paket revisi aplikasi. Opsi pertahankan juga berguna jika file aplikasi Anda sudah ada di lingkungan produksi Anda dan Anda ingin menerapkan menggunakan CodeDeploy untuk pertama kalinya. Untuk informasi selengkapnya, lihat [Membuat penerapan Platform Komputasi EC2/Lokal (konsol)](deployments-create-console.md) dan [Perilaku rollback dengan konten yang ada](deployments-rollback-and-redeploy.md#deployments-rollback-and-redeploy-content-options).

### Memecahkan masalah kesalahan penerapan `The deployment failed because a specified file already exists at this location`
<a name="troubleshooting-same-files-different-app-name-failed-deployment"></a>

Jika Anda memilih untuk tidak menentukan opsi untuk menimpa atau mempertahankan konten yang CodeDeploy mendeteksi di lokasi penyebaran target Anda (atau jika Anda tidak menentukan opsi penerapan apa pun untuk menangani konten yang ada dalam perintah terprogram), Anda dapat memilih untuk memecahkan masalah kesalahan.

Informasi berikut hanya berlaku jika Anda memilih untuk tidak menyimpan atau menimpa konten.

Jika Anda mencoba menerapkan ulang file dengan nama dan lokasi yang sama, pemindahan akan lebih mungkin berhasil jika Anda menentukan nama aplikasi dan grup penerapan dengan ID grup penyebaran dasar yang sama yang Anda gunakan sebelumnya. CodeDeploy menggunakan ID grup penyebaran yang mendasari untuk mengidentifikasi file yang akan dihapus sebelum pemindahan. 

Menyebarkan file baru atau memindahkan file yang sama ke lokasi yang sama pada instance dapat gagal karena alasan berikut:
+ Anda menetapkan nama aplikasi yang berbeda untuk pemindahan revisi yang sama ke instance yang sama. Penerapan ulang gagal karena meskipun nama grup penyebaran sama, penggunaan nama aplikasi yang berbeda berarti ID grup penyebaran dasar yang berbeda sedang digunakan.
+ Anda menghapus dan membuat ulang grup penyebaran untuk aplikasi dan kemudian mencoba menerapkan revisi yang sama ke grup penerapan. Penerapan ulang gagal karena meskipun nama grup penerapan sama, CodeDeploy mereferensikan ID grup penerapan dasar yang berbeda.
+ Anda menghapus aplikasi dan grup penyebaran di CodeDeploy, dan kemudian membuat grup aplikasi dan penyebaran baru dengan nama yang sama dengan yang Anda hapus. Setelah itu, Anda mencoba menerapkan revisi yang telah diterapkan ke grup penerapan sebelumnya ke yang baru dengan nama yang sama. Penerapan ulang gagal karena meskipun nama grup aplikasi dan penyebaran sama, CodeDeploy masih mereferensikan ID grup penyebaran yang Anda hapus.
+ Anda menerapkan revisi ke grup penerapan dan kemudian menerapkan revisi yang sama ke grup penerapan lain ke instance yang sama. Penerapan kedua gagal karena CodeDeploy mereferensikan ID grup penyebaran dasar yang berbeda.
+ Anda menerapkan revisi ke satu grup penerapan dan kemudian menerapkan revisi lain ke grup penerapan lain ke instance yang sama. Setidaknya ada satu file dengan nama yang sama dan di lokasi yang sama yang coba diterapkan oleh grup penyebaran kedua. Penerapan kedua gagal karena CodeDeploy tidak menghapus file yang ada sebelum penerapan kedua dimulai. Kedua penerapan> referensi grup penyebaran yang berbeda. IDs
+ Anda menerapkan revisi di CodeDeploy, tetapi setidaknya ada satu file dengan nama yang sama dan di lokasi yang sama. Penerapan gagal karena, secara default, CodeDeploy tidak menghapus file yang ada sebelum penerapan dimulai. 

Untuk mengatasi situasi ini, lakukan salah satu hal berikut:
+ Hapus file dari lokasi dan instance yang sebelumnya digunakan, lalu coba penerapannya lagi. 
+ Dalam AppSpec file revisi Anda, baik dalam peristiwa siklus hidup ApplicationStop atau BeforeInstall penerapan, tentukan skrip khusus untuk menghapus file di lokasi mana pun yang cocok dengan file yang akan dipasang revisi Anda.
+ Menerapkan atau menyebarkan ulang file ke lokasi atau instance yang bukan bagian dari penerapan sebelumnya.
+ Sebelum Anda menghapus aplikasi atau grup penyebaran, gunakan revisi yang berisi file yang menetapkan tidak ada AppSpec file yang akan disalin ke instance. Untuk penerapan, tentukan nama aplikasi dan nama grup penyebaran yang menggunakan grup aplikasi dan penyebaran dasar yang sama dengan yang akan Anda hapus. IDs (Anda dapat menggunakan [get-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-group.html)perintah untuk mengambil ID grup penyebaran.) CodeDeploymenggunakan ID dan AppSpec file grup penyebaran yang mendasari untuk menghapus semua file yang diinstal dalam penerapan yang berhasil sebelumnya. 

## Jalur file yang panjang menyebabkan kesalahan “Tidak ada file atau direktori seperti itu”
<a name="troubleshooting-long-file-paths"></a>

Untuk penerapan ke instance Windows, jika Anda memiliki jalur file yang lebih besar dari 260 karakter di bagian file file appspec.yl Anda, Anda mungkin melihat penerapan gagal dengan kesalahan yang mirip dengan berikut ini:

`No such file or directory @ dir_s_mkdir - C:\your-long-file-path`

Kesalahan ini terjadi karena Windows secara default tidak mengizinkan jalur file yang lebih besar dari 260 karakter, seperti yang dijelaskan dalam [dokumentasi Microsoft](https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=powershell#enable-long-paths-in-windows-10-version-1607-and-later). 

Untuk versi CodeDeploy agen 1.4.0 atau yang lebih baru, Anda dapat mengaktifkan jalur file panjang dengan dua cara, tergantung pada proses instalasi agen:

Jika CodeDeploy agen belum diinstal:

1. Pada mesin tempat Anda berencana untuk menginstal CodeDeploy agen, aktifkan kunci registri `LongPathsEnabled` Windows menggunakan perintah ini:

   ```
   New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem"
             -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
   ```

1. Instal CodeDeploy agen. Untuk informasi selengkapnya, lihat [Instal CodeDeploy agen](codedeploy-agent-operations-install.md).

Jika CodeDeploy agen telah diinstal:

1. Pada mesin CodeDeploy agen, aktifkan kunci registri `LongPathsEnabled` Windows menggunakan perintah ini:

   ```
   New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" 
   -Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force
   ```

1.  Mulai ulang CodeDeploy agen agar perubahan kunci registri berlaku. Untuk me-restart agen, gunakan perintah ini:

   ```
   powershell.exe -Command Restart-Service -Name codedeployagent
   ```

## Proses yang berjalan lama dapat menyebabkan penerapan gagal
<a name="troubleshooting-long-running-processes"></a>

Untuk penerapan ke Amazon Linux, Ubuntu Server, dan instans RHEL, jika Anda memiliki skrip penerapan yang memulai proses yang berjalan lama, CodeDeploy mungkin menghabiskan waktu lama menunggu dalam peristiwa siklus hidup penerapan dan kemudian gagal penerapan. Ini karena jika proses berjalan lebih lama dari proses latar depan dan latar belakang dalam peristiwa itu diharapkan untuk mengambil, CodeDeploy menghentikan dan gagal penerapan, bahkan jika proses masih berjalan seperti yang diharapkan.

Misalnya, revisi aplikasi berisi dua file di akarnya, `after-install.sh` dan`sleep.sh`. AppSpec File-nya berisi instruksi berikut:

```
version: 0.0
os: linux
files:
  - source: ./sleep.sh
    destination: /tmp
hooks:
  AfterInstall:
    - location: after-install.sh
      timeout: 60
```

`after-install.sh`File berjalan selama acara siklus hidup AfterInstall aplikasi. Berikut isinya:

```
#!/bin/bash
/tmp/sleep.sh
```

`sleep.sh`File berisi berikut ini, yang menangguhkan eksekusi program selama tiga menit (180 detik), mensimulasikan beberapa proses yang berjalan lama:

```
#!/bin/bash
sleep 180
```

Ketika `after-install.sh` panggilan`sleep.sh`, `sleep.sh` mulai dan berjalan selama tiga menit (180 detik), yaitu dua menit (120 detik) melewati waktu yang CodeDeploy diharapkan `sleep.sh` (dan, menurut hubungan,`after-install.sh`) untuk berhenti berjalan. Setelah batas waktu satu menit (60 detik), CodeDeploy berhenti dan gagal penerapan pada acara siklus hidup AfterInstall aplikasi, meskipun `sleep.sh` terus berjalan seperti yang diharapkan. Kesalahan berikut ditampilkan:

`Script at specified location: after-install.sh failed to complete in 60 seconds`.

Anda tidak bisa begitu saja menambahkan ampersand (`&`) `after-install.sh` untuk dijalankan `sleep.sh` di latar belakang.

```
#!/bin/bash
# Do not do this.
/tmp/sleep.sh &
```

Melakukannya dapat membuat penerapan dalam status tertunda hingga periode batas waktu peristiwa siklus hidup penerapan satu jam default, setelah itu CodeDeploy menghentikan dan gagal penerapan pada acara siklus hidup aplikasi seperti sebelumnya. AfterInstall 

Dalam`after-install.sh`, panggil `sleep.sh` sebagai berikut, yang memungkinkan CodeDeploy untuk melanjutkan setelah proses mulai berjalan:

```
#!/bin/bash
/tmp/sleep.sh > /dev/null 2> /dev/null < /dev/null &
```

Pada panggilan sebelumnya, `sleep.sh` adalah nama proses yang ingin Anda mulai jalankan di latar belakang, mengarahkan stdout, stderr, dan stdin ke. `/dev/null`

## Memecahkan masalah peristiwa AllowTraffic siklus hidup yang gagal tanpa kesalahan yang dilaporkan dalam log penerapan
<a name="troubleshooting-deployments-allowtraffic-no-logs"></a>

Dalam beberapa kasus, blue/green penerapan gagal selama peristiwa AllowTraffic siklus hidup, tetapi log penerapan tidak menunjukkan penyebab kegagalan.

Kegagalan ini biasanya disebabkan oleh pemeriksaan kesehatan yang tidak dikonfigurasi dengan benar di Elastic Load Balancing untuk Classic Load Balancer, Application Load Balancer, atau Network Load Balancer yang digunakan untuk mengelola lalu lintas untuk grup penyebaran.

Untuk mengatasi masalah ini, tinjau dan perbaiki kesalahan apa pun dalam konfigurasi pemeriksaan kesehatan untuk penyeimbang beban.

Untuk Classic Load Balancer, lihat Mengonfigurasi [Pemeriksaan Kesehatan](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-healthchecks.html) di *Panduan Pengguna untuk Penyeimbang Beban Klasik* dan [ConfigureHealthCheck](https://docs.aws.amazon.com/elasticloadbalancing/2012-06-01/APIReference/API_ConfigureHealthCheck.html)di Referensi API *Elastic Load Balancing versi 2012-06-01*.

Untuk Application Load Balancers, lihat [Health Check for Your Target Groups](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/target-group-health-checks.html) di *Panduan Pengguna untuk Application Load* Balancers.

Untuk Network Load Balancer, lihat [Pemeriksaan Kesehatan untuk Grup Target Anda di Panduan](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/target-group-health-checks.html) Pengguna *Network Load Balancer*.

## Memecahkan masalah peristiwa siklus hidup yang gagal ApplicationStop BeforeBlockTraffic, atau AfterBlockTraffic penerapan
<a name="troubleshooting-deployments-lifecycle-event-failures"></a>

Selama penerapan, CodeDeploy agen menjalankan skrip yang ditentukan untuk ApplicationStop, BeforeBlockTraffic, dan AfterBlockTraffic dalam AppSpec file dari penerapan yang berhasil sebelumnya. (Semua skrip lain dijalankan dari AppSpec file dalam penerapan saat ini.) Jika salah satu skrip ini berisi kesalahan dan tidak berhasil berjalan, deployment dapat gagal. 

Kemungkinan alasan kegagalan ini meliputi:
+  CodeDeploy Agen menemukan `deployment-group-id_last_successful_install` file di lokasi yang benar, tetapi lokasi yang tercantum dalam `deployment-group-id_last_successful_install` file tidak ada. 

  **Di Amazon Linux, Ubuntu Server, dan instans RHEL**, file ini harus ada di. `/opt/codedeploy-agent/deployment-root/deployment-instructions`

  **Pada instance Windows Server**, file ini harus disimpan di `C:\ProgramData\Amazon\CodeDeploy\deployment-instructions` folder.
+ Di lokasi yang tercantum dalam `deployment-group-id_last_successful_install` file, AppSpec file tersebut tidak valid atau skrip tidak berjalan dengan sukses.
+ Skrip berisi kesalahan yang tidak dapat diperbaiki, sehingga tidak pernah berjalan dengan sukses.

Gunakan CodeDeploy konsol untuk menyelidiki mengapa penerapan mungkin gagal selama salah satu peristiwa ini. Pada halaman detail untuk penerapan, pilih **Lihat peristiwa**. Pada halaman detail untuk instance, di **AfterBlockTraffic**baris **ApplicationStop**BeforeBlockTraffic****, atau, pilih **Lihat log**. Atau gunakan AWS CLI untuk memanggil [get-deployment-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html)perintah. 

Jika penyebab kegagalan adalah skrip dari penerapan terakhir yang berhasil yang tidak pernah berjalan dengan sukses, buat penerapan dan tentukan bahwa ApplicationStop, BeforeBlockTraffic, dan AfterBlockTraffic kegagalan harus diabaikan. Ada dua cara untuk melakukan hal ini:
+ Gunakan CodeDeploy konsol untuk membuat penyebaran. Pada halaman **Buat penerapan**, di bawah **kegagalan peristiwa ApplicationStop siklus hidup**, pilih **Jangan gagal penerapan ke instance jika peristiwa siklus hidup ini pada instance** gagal.
+ Gunakan tombol AWS CLI untuk memanggil **[create-deployment](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment.html)** perintah dan sertakan `--ignore-application-stop-failures` opsi. 

Saat Anda menerapkan revisi aplikasi lagi, penerapan berlanjut meskipun salah satu dari tiga peristiwa siklus hidup ini gagal. Jika revisi baru menyertakan skrip tetap untuk peristiwa siklus hidup tersebut, penerapan masa depan dapat berhasil tanpa menerapkan perbaikan ini.

## Memecahkan masalah peristiwa siklus hidup DownloadBundle penerapan yang gagal dengan UnknownError: tidak dibuka untuk dibaca
<a name="troubleshooting-deployments-downloadbundle"></a>

Jika Anda mencoba menerapkan revisi aplikasi dari Amazon S3, dan penerapan gagal selama peristiwa siklus hidup penerapan DownloadBundle dengan kesalahan: `UnknownError: not opened for reading`
+ Ada kesalahan layanan Amazon S3 internal. Terapkan revisi aplikasi lagi.
+ Profil instans IAM pada instans EC2 Anda tidak memiliki izin untuk mengakses revisi aplikasi di Amazon S3. Untuk informasi tentang kebijakan bucket Amazon S3, lihat [Dorong revisi CodeDeploy ke Amazon S3 (hanya penerapan EC2/On-premise)](application-revisions-push.md) dan. [Prasyarat penyebaran](deployments-create-prerequisites.md)
+ Instans yang Anda gunakan terkait dengan satu AWS Wilayah (misalnya, US West (Oregon)), tetapi bucket Amazon S3 yang berisi revisi aplikasi dikaitkan dengan AWS Wilayah lain (misalnya, US East (Virginia N.)). Pastikan revisi aplikasi ada di bucket Amazon S3 yang terkait dengan Wilayah yang AWS sama dengan instans.

Pada halaman detail acara untuk penerapan, di baris **bundel Unduh**, pilih **Lihat log**. Atau gunakan AWS CLI untuk memanggil [get-deployment-instance](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-instance.html)perintah. Jika kesalahan ini terjadi, harus ada kesalahan dalam output dengan kode kesalahan `UnknownError` dan pesan kesalahan`not opened for reading`.

Untuk menentukan alasan kesalahan ini:

1. Aktifkan wire logging pada setidaknya satu instance, dan kemudian terapkan revisi aplikasi lagi.

1. Periksa file wire logging untuk menemukan kesalahan. Pesan kesalahan umum untuk masalah ini termasuk frasa “akses ditolak.” 

1. Setelah Anda memeriksa file log, kami sarankan Anda menonaktifkan wire logging untuk mengurangi ukuran file log dan jumlah informasi sensitif yang mungkin muncul dalam output dalam teks biasa pada instance di masa depan.

Untuk informasi tentang cara menemukan file wire logging dan mengaktifkan dan menonaktifkan wire logging, lihat `:log_aws_wire:` di [referensi konfigurasi CodeDeploy agen](https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-agent-configuration.html).

## Memecahkan masalah semua peristiwa siklus hidup yang dilewati kesalahan
<a name="troubleshooting-skipped-lifecycle-events"></a>

 Jika semua peristiwa siklus hidup EC2 atau penerapan lokal dilewati, Anda mungkin menerima kesalahan yang mirip dengan. `The overall deployment failed because too many individual instances failed deployment, too few healthy instances are available for deployment, or some instances in your deployment group are experiencing problems. (Error code: HEALTH_CONSTRAINTS)` Berikut adalah beberapa kemungkinan penyebab dan solusi: 
+  CodeDeploy Agen mungkin tidak diinstal atau dijalankan pada instance. Untuk menentukan apakah CodeDeploy agen sedang berjalan:
  + Untuk Amazon Linux RHEL atau server Ubuntu, jalankan yang berikut ini:

    ```
    systemctl status codedeploy-agent
    ```
  + Untuk Windows, jalankan yang berikut ini:

    ```
    powershell.exe -Command Get-Service -Name CodeDeployagent
    ```

  Jika CodeDeploy agen tidak diinstal atau berjalan, lihat[Verifikasi CodeDeploy agen sedang berjalan](codedeploy-agent-operations-verify.md). 

  Instans Anda mungkin tidak dapat mencapai titik akhir publik Amazon S3 CodeDeploy atau menggunakan port 443. Cobalah salah satu cara berikut ini: 
  + Tetapkan alamat IP publik ke instance dan gunakan tabel rute untuk memungkinkan akses internet. Pastikan grup keamanan yang terkait dengan instance memungkinkan akses keluar melalui port 443 (HTTPS). Untuk informasi selengkapnya, lihat [Protokol komunikasi dan port untuk CodeDeploy agen](codedeploy-agent.md#codedeploy-agent-outbound-port). 
  + Jika sebuah instance disediakan dalam subnet pribadi, gunakan gateway NAT alih-alih gateway internet di tabel rute. Lihat informasi yang lebih lengkap di [Gateway NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html). 
+ Peran layanan untuk CodeDeploy mungkin tidak memerlukan izin. Untuk mengonfigurasi peran CodeDeploy layanan, lihat[Langkah 2: Buat peran layanan untuk CodeDeploy](getting-started-create-service-role.md). 
+ Jika Anda menggunakan proxy HTTP, pastikan itu ditentukan dalam `:proxy_uri:` pengaturan dalam file konfigurasi CodeDeploy agen. Untuk informasi selengkapnya, lihat [CodeDeploy referensi konfigurasi agen](reference-agent-configuration.md). 
+ Tanda tangan tanggal dan waktu instans penerapan Anda mungkin tidak cocok dengan tanda tangan tanggal dan waktu permintaan penerapan Anda. Cari kesalahan yang mirip dengan `Cannot reach InstanceService: Aws::CodeDeployCommand::Errors::InvalidSignatureException - Signature expired` di file log CodeDeploy agen Anda. Jika Anda melihat kesalahan ini, ikuti langkah-langkahnya[Pemecahan masalah “InvalidSignatureException - Tanda tangan kedaluwarsa: [waktu] sekarang lebih awal dari [waktu]” kesalahan penerapan](troubleshooting-ec2-instances.md#troubleshooting-instance-time-failures). Untuk informasi selengkapnya, lihat [Melihat data log untuk penerapan CodeDeploy EC2/Lokal](deployments-view-logs.md). 
+  CodeDeploy Agen mungkin berhenti berjalan karena instance kehabisan memori atau ruang hard disk. Cobalah untuk menurunkan jumlah penerapan yang diarsipkan pada instans Anda dengan memperbarui `max_revisions` pengaturan dalam konfigurasi agen. CodeDeploy Jika Anda melakukan ini untuk instans EC2 dan masalah tetap ada, pertimbangkan untuk menggunakan instance yang lebih besar. Misalnya, jika tipe instans Anda`t2.small`, coba gunakan`t2.medium`. Untuk informasi selengkapnya, lihat[File yang diinstal oleh CodeDeploy agen](codedeploy-agent.md#codedeploy-agent-install-files),[CodeDeploy referensi konfigurasi agen](reference-agent-configuration.md), dan [Jenis instans](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html). 
+  Instance yang Anda gunakan mungkin tidak memiliki profil instans IAM yang dilampirkan, atau mungkin memiliki profil instans IAM yang dilampirkan yang tidak memiliki izin yang diperlukan. 
  +  Jika profil instans IAM tidak dilampirkan ke instance Anda, buat profil dengan izin yang diperlukan lalu lampirkan. 
  +  Jika profil instans IAM sudah dilampirkan ke instans Anda, pastikan ia memiliki izin yang diperlukan. 

  Setelah Anda mengonfirmasi profil instans terlampir Anda dikonfigurasi dengan izin yang diperlukan, mulai ulang instance Anda. Untuk informasi selengkapnya, lihat [Langkah 4: Buat profil instans IAM untuk instans Amazon EC2 Anda](getting-started-create-iam-instance-profile.md) dan [Peran IAM untuk Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-EC2.html) EC2 di Panduan Pengguna *Amazon EC2*. 

## PowerShell Skrip Windows gagal menggunakan versi Windows 64-bit PowerShell secara default
<a name="troubleshooting-deployments-powershell"></a>

Jika PowerShell skrip Windows yang berjalan sebagai bagian dari penerapan bergantung pada fungsionalitas 64-bit (misalnya, karena menghabiskan lebih banyak memori daripada aplikasi 32-bit yang memungkinkan atau memanggil pustaka yang ditawarkan hanya dalam versi 64-bit), skrip mungkin macet atau tidak berjalan seperti yang diharapkan. Ini karena, secara default, CodeDeploy menggunakan versi Windows 32-bit PowerShell untuk menjalankan PowerShell skrip Windows yang merupakan bagian dari revisi aplikasi. 

Tambahkan kode seperti berikut ini ke awal skrip apa pun yang harus dijalankan dengan Windows versi 64-bit PowerShell:

```
# Are you running in 32-bit mode?
#   (\SysWOW64\ = 32-bit mode)

if ($PSHOME -like "*SysWOW64*")
{
  Write-Warning "Restarting this script under 64-bit Windows PowerShell."

  # Restart this script under 64-bit Windows PowerShell.
  #   (\SysNative\ redirects to \System32\ for 64-bit mode)

  & (Join-Path ($PSHOME -replace "SysWOW64", "SysNative") powershell.exe) -File `
    (Join-Path $PSScriptRoot $MyInvocation.MyCommand) @args

  # Exit 32-bit script.

  Exit $LastExitCode
}

# Was restart successful?
Write-Warning "Hello from $PSHOME"
Write-Warning "  (\SysWOW64\ = 32-bit mode, \System32\ = 64-bit mode)"
Write-Warning "Original arguments (if any): $args"

# Your 64-bit script code follows here...
# ...
```

Meskipun informasi jalur file dalam kode ini mungkin tampak berlawanan dengan intuisi, Windows 32-bit PowerShell menggunakan jalur seperti:

 `c:\Windows\SysWOW64\WindowsPowerShell\v1.0\powershell.exe`

Windows 64-bit PowerShell menggunakan jalur seperti:

 `c:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`

# Memecahkan masalah penerapan Amazon ECS
<a name="troubleshooting-ecs"></a>

**Topics**
+ [Batas waktu terjadi saat menunggu set tugas pengganti](#troubleshooting-ecs-timeout)
+ [Batas waktu terjadi saat menunggu pemberitahuan berlanjut](#troubleshooting-ecs-timeout-notif)
+ [Peran IAM tidak memiliki izin yang cukup](#troubleshooting-ecs-iam)
+ [Waktu penerapan habis saat menunggu panggilan balik status](#troubleshooting-ecs-timeout-callback)
+ [Penerapan gagal karena satu atau beberapa fungsi validasi peristiwa siklus hidup gagal](#troubleshooting-ecs-lifecycle)
+ [ELB tidak dapat diperbarui karena kesalahan berikut: Grup target taskset utama harus berada di belakang pendengar](#troubleshooting-ecs-elb)
+ [Penerapan saya terkadang gagal saat menggunakan Auto Scaling](#troubleshooting-ecs-auto-scaling)
+ [Hanya ALB yang mendukung perutean lalu lintas bertahap, gunakan perutean AllAtOnce Lalu lintas sebagai gantinya saat Anda grup Deployment create/update](#troubleshooting-ecs-lb)
+ [Meskipun penerapan saya berhasil, set tugas pengganti gagal dalam pemeriksaan kesehatan Elastic Load Balancing, dan aplikasi saya sedang down](#troubleshooting-ecs-task-set-stability)
+ [Bisakah saya melampirkan beberapa penyeimbang beban ke grup penerapan?](#troubleshooting-ecs-lb-multi)
+ [Bisakah saya melakukan penerapan CodeDeploy biru/hijau tanpa penyeimbang beban?](#troubleshooting-ecs-lb-bg)
+ [Bagaimana cara memperbarui layanan Amazon ECS saya dengan informasi baru selama penerapan?](#troubleshooting-ecs-exec)

## Batas waktu terjadi saat menunggu set tugas pengganti
<a name="troubleshooting-ecs-timeout"></a>

**Masalah**: Anda melihat pesan kesalahan berikut saat menerapkan aplikasi Amazon ECS Anda menggunakan: CodeDeploy

`The deployment timed out while waiting for the replacement task set to become healthy. This time out period is 60 minutes.`

**Kemungkinan penyebabnya**: Kesalahan ini mungkin terjadi jika ada kesalahan dalam file definisi tugas Anda atau file terkait penerapan lainnya. Misalnya, jika ada kesalahan ketik di `image` bidang dalam file definisi tugas Anda, Amazon ECS akan mencoba menarik gambar wadah yang salah dan terus gagal, menyebabkan kesalahan ini.

**Kemungkinan perbaikan dan langkah selanjutnya**:
+ Perbaiki kesalahan ketik dan masalah konfigurasi dalam file definisi tugas Anda dan file lainnya.
+ Periksa acara layanan Amazon ECS terkait dan cari tahu mengapa tugas penggantian tidak menjadi sehat. Untuk informasi selengkapnya tentang peristiwa Amazon ECS, lihat peristiwa [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_cwe_events.html) di Panduan *Pengembang Layanan Kontainer Elastis Amazon*.
+ Periksa bagian [pemecahan masalah Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/troubleshooting.html) di *Panduan Pengembang Layanan Amazon Elastic Container* untuk mengetahui kesalahan yang terkait dengan pesan dalam acara tersebut.

## Batas waktu terjadi saat menunggu pemberitahuan berlanjut
<a name="troubleshooting-ecs-timeout-notif"></a>

**Masalah**: Anda melihat pesan kesalahan berikut saat menerapkan aplikasi Amazon ECS Anda menggunakan: CodeDeploy

 `The deployment timed out while waiting for a notification to continue. This time out period is n minutes.` 

**Kemungkinan penyebabnya**: Kesalahan ini mungkin terjadi jika Anda menetapkan waktu tunggu di bidang **Tentukan kapan akan mengalihkan lalu lintas** saat Anda membuat grup penerapan, tetapi penerapan tidak dapat diselesaikan sebelum waktu tunggu berakhir.

**Kemungkinan perbaikan dan langkah selanjutnya**:
+ Di grup penyebaran Anda, setel **Tentukan kapan akan mengalihkan lalu lintas ke** jumlah waktu yang lebih besar dan menerapkan ulang. Untuk informasi selengkapnya, lihat [Membuat grup penerapan untuk penyebaran Amazon ECS (konsol)](deployment-groups-create-ecs.md).
+ Di grup penyebaran Anda, ubah **Tentukan kapan mengalihkan lalu lintas ke Rute lalu lintas** dengan segera dan gunakan **kembali**. Untuk informasi selengkapnya, lihat [Membuat grup penerapan untuk penyebaran Amazon ECS (konsol)](deployment-groups-create-ecs.md).
+ Redeploy dan kemudian jalankan [https://docs.aws.amazon.com/cli/latest/reference/deploy/continue-deployment.html](https://docs.aws.amazon.com/cli/latest/reference/deploy/continue-deployment.html) AWS CLI perintah dengan `--deployment-wait-type` opsi yang disetel ke. `READY_WAIT` Pastikan untuk menjalankan perintah ini *sebelum* waktu yang ditentukan dalam **Tentukan kapan mengalihkan lalu lintas** kedaluwarsa.

## Peran IAM tidak memiliki izin yang cukup
<a name="troubleshooting-ecs-iam"></a>

**Masalah**: Anda melihat pesan kesalahan berikut saat menerapkan aplikasi Amazon ECS Anda menggunakan: CodeDeploy

 `The IAM role role-arn does not give you permission to perform operations in the following AWS service: AWSLambda.` 

**Kemungkinan penyebabnya**: Kesalahan ini mungkin terjadi jika Anda menentukan fungsi Lambda di [`Hooks`bagian AppSpec file](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs), tetapi Anda tidak memberikan CodeDeploy izin ke layanan Lambda.

**Kemungkinan perbaikan**: Tambahkan `lambda:InvokeFunction` izin ke peran CodeDeploy layanan. Untuk menambahkan izin ini, tambahkan salah satu kebijakan AWS-managed berikut ke peran: **AWSCodeDeployRoleForECS** atau**AWSCodeDeployRoleForECSLimited**. Untuk informasi tentang kebijakan ini dan cara menambahkannya ke peran CodeDeploy layanan, lihat[Langkah 2: Buat peran layanan untuk CodeDeploy](getting-started-create-service-role.md).

## Waktu penerapan habis saat menunggu panggilan balik status
<a name="troubleshooting-ecs-timeout-callback"></a>

**Masalah**: Anda melihat pesan kesalahan berikut saat menerapkan aplikasi Amazon ECS Anda menggunakan: CodeDeploy

 `The deployment timed out while waiting for a status callback. CodeDeploy expects a status callback within one hour after a deployment hook is invoked.` 

**Kemungkinan penyebabnya**: Kesalahan ini mungkin terjadi jika Anda menetapkan fungsi Lambda di [`Hooks`bagian AppSpec file](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs), tetapi fungsi Lambda tidak dapat memanggil `PutLifecycleEventHookExecutionStatus` API yang diperlukan untuk mengembalikan status atau `Succeeded` ke. `Failed` CodeDeploy

**Kemungkinan perbaikan dan langkah selanjutnya**:
+ Tambahkan `codedeploy:putlifecycleEventHookExecutionStatus` izin ke peran eksekusi Lambda yang digunakan oleh fungsi Lambda yang Anda tentukan dalam file. AppSpec Izin ini memberikan fungsi Lambda kemampuan untuk mengembalikan status atau ke`Succeeded`. `Failed` CodeDeploy *Untuk informasi selengkapnya tentang peran eksekusi Lambda, lihat Peran [eksekusi Lambda di Panduan Pengguna](https://docs.aws.amazon.com/lambda/latest/dg/lambda-intro-execution-role.html).AWS Lambda * 
+ Periksa kode fungsi Lambda dan log eksekusi untuk memastikan fungsi Lambda Anda memanggil CodeDeploy `PutLifecycleEventHookExecutionStatus` API untuk CodeDeploy menginformasikan apakah uji validasi siklus hidup atau. `Succeeded` `Failed` Untuk informasi tentang `putlifecycleEventHookExecutionStatus` API, lihat [PutLifecycleEventHookExecutionStatus](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_PutLifecycleEventHookExecutionStatus.html)di *Referensi AWS CodeDeploy API*. Untuk informasi tentang log eksekusi Lambda, lihat [Mengakses log CloudWatch Amazon untuk](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs.html). AWS Lambda

## Penerapan gagal karena satu atau beberapa fungsi validasi peristiwa siklus hidup gagal
<a name="troubleshooting-ecs-lifecycle"></a>

**Masalah**: Anda melihat pesan kesalahan berikut saat menerapkan aplikasi Amazon ECS Anda menggunakan: CodeDeploy

`The deployment failed because one or more of the lifecycle event validation functions failed.`

**Kemungkinan penyebabnya**: Kesalahan ini mungkin terjadi jika Anda menentukan fungsi Lambda di [`Hooks`bagian AppSpec file](reference-appspec-file-structure-hooks.md#appspec-hooks-ecs), tetapi fungsi Lambda kembali `Failed` ke CodeDeploy saat dipanggil. `PutLifecycleEventHookExecutionStatus` Kegagalan ini menunjukkan CodeDeploy bahwa uji validasi siklus hidup gagal.

**Kemungkinan langkah selanjutnya**: Periksa log eksekusi Lambda Anda untuk melihat mengapa kode uji validasi gagal. Untuk informasi tentang log eksekusi Lambda, lihat [Mengakses log CloudWatch Amazon untuk](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-cloudwatchlogs.html). AWS Lambda

## ELB tidak dapat diperbarui karena kesalahan berikut: Grup target taskset utama harus berada di belakang pendengar
<a name="troubleshooting-ecs-elb"></a>

**Masalah**: Anda melihat pesan kesalahan berikut saat menerapkan aplikasi Amazon ECS Anda menggunakan: CodeDeploy

`The ELB could not be updated due to the following error: Primary taskset target group must be behind listener`

**Kemungkinan penyebabnya**: Kesalahan ini mungkin terjadi jika Anda telah mengonfigurasi pendengar pengujian opsional, dan dikonfigurasi dengan grup target yang salah. Untuk informasi selengkapnya tentang pendengar tes di CodeDeploy, lihat [Sebelum Anda memulai penyebaran Amazon ECS](deployment-steps-ecs.md#deployment-steps-prerequisites-ecs) dan[Apa yang terjadi selama penyebaran Amazon ECS](deployment-steps-ecs.md#deployment-steps-what-happens). Untuk informasi selengkapnya tentang set tugas, lihat [TaskSet](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_TaskSet.html)di *Referensi API Amazon Elastic Container Service* dan [describe-task-set](https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-task-set.html)di bagian Amazon ECS pada *Referensi AWS CLI Perintah*.

**Kemungkinan perbaikan**: Pastikan pendengar produksi dan pendengar pengujian Elastic Load Balancing menunjuk ke grup target yang saat ini melayani beban kerja Anda. Ada tiga tempat untuk memeriksa:
+ Di Amazon EC2, di setelan **Pendengar** dan aturan penyeimbang beban Anda. *Untuk informasi selengkapnya, lihat [Pendengar untuk Penyeimbang Beban Aplikasi Anda di Panduan Pengguna untuk Penyeimbang](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html) *Beban Aplikasi, atau Pendengar untuk Penyeimbang Beban* [Jaringan Anda di Panduan Pengguna untuk Penyeimbang Beban Jaringan](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-listeners.html).*
+ Di Amazon ECS, di cluster Anda, di bawah konfigurasi **Jaringan** layanan Anda. Untuk informasi selengkapnya, lihat pertimbangan [Application Load Balancer dan Network Load Balancer](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#alb-considerations) di Panduan Pengembang Layanan *Kontainer Elastis Amazon*.
+ Di CodeDeploy, di pengaturan grup penyebaran Anda. Untuk informasi selengkapnya, lihat [Membuat grup penerapan untuk penyebaran Amazon ECS (konsol)](deployment-groups-create-ecs.md).

## Penerapan saya terkadang gagal saat menggunakan Auto Scaling
<a name="troubleshooting-ecs-auto-scaling"></a>

**Masalah**: Anda menggunakan Auto Scaling dengan CodeDeploy dan Anda melihat bahwa penerapan Anda kadang-kadang gagal. Untuk informasi selengkapnya tentang gejala masalah ini, lihat topik yang bertuliskan [Untuk layanan yang dikonfigurasi untuk menggunakan penskalaan otomatis layanan dan jenis blue/green penerapan, penskalaan otomatis tidak diblokir selama penerapan tetapi penerapan mungkin gagal dalam beberapa keadaan dalam](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-bluegreen.html#deployment-type-bluegreen-considerations) Panduan Pengembang Layanan Penampung *Elastis Amazon*.

**Kemungkinan penyebabnya**: Masalah ini mungkin terjadi jika CodeDeploy dan proses Auto Scaling bertentangan.

**Kemungkinan perbaikan**: Menangguhkan dan melanjutkan proses Auto Scaling selama CodeDeploy penerapan menggunakan API (atau `RegisterScalableTarget` perintah yang sesuai). `register-scalable-target` AWS CLI Untuk informasi selengkapnya, lihat [Menangguhkan dan melanjutkan penskalaan untuk Application Auto](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-suspend-resume-scaling.html) Scaling di Panduan Pengguna *Application Auto Scaling*.

**catatan**  
CodeDeploy tidak bisa menelepon `RegisterScaleableTarget` langsung. Untuk menggunakan API ini, Anda harus mengonfigurasi CodeDeploy untuk mengirim pemberitahuan atau acara ke Amazon Simple Notification Service (atau Amazon CloudWatch). Anda kemudian harus mengonfigurasi Amazon SNS (atau CloudWatch) untuk memanggil fungsi Lambda, dan mengonfigurasi fungsi Lambda untuk memanggil API. `RegisterScalableTarget` `RegisterScalableTarget`API harus dipanggil dengan `SuspendedState` parameter yang disetel `true` untuk menangguhkan operasi Auto Scaling, `false` dan untuk melanjutkannya.  
Pemberitahuan atau peristiwa yang CodeDeploy dikirim harus terjadi saat penerapan dimulai (untuk memicu operasi penangguhan Auto Scaling), atau saat penerapan berhasil, gagal, atau berhenti (untuk memicu operasi resume Auto Scaling).   
Untuk informasi tentang cara mengonfigurasi CodeDeploy untuk menghasilkan notifikasi atau CloudWatch peristiwa Amazon SNS, lihat[Memantau penerapan dengan Amazon Events CloudWatch](monitoring-cloudwatch-events.md). dan. [Memantau penerapan dengan notifikasi acara Amazon SNS](monitoring-sns-event-notifications.md)

## Hanya ALB yang mendukung perutean lalu lintas bertahap, gunakan perutean AllAtOnce Lalu lintas sebagai gantinya saat Anda grup Deployment create/update
<a name="troubleshooting-ecs-lb"></a>

**Masalah**: Anda melihat pesan galat berikut saat membuat atau memperbarui grup penyebaran di CodeDeploy:

 `Only ALB supports gradual traffic routing, use AllAtOnce Traffic routing instead when you create/update Deployment group.` 

**Kemungkinan penyebabnya**: Kesalahan ini mungkin terjadi jika Anda menggunakan Network Load Balancer dan mencoba menggunakan konfigurasi penerapan yang telah ditentukan sebelumnya selain. `CodeDeployDefault.ECSAllAtOnce`

**Kemungkinan perbaikan**:
+ Ubah konfigurasi penerapan yang telah ditentukan sebelumnya menjadi. `CodeDeployDefault.ECSAllAtOnce` Ini adalah satu-satunya konfigurasi penerapan standar yang didukung oleh Network Load Balancers.

  Untuk informasi selengkapnya tentang konfigurasi penerapan yang telah ditentukan sebelumnya, lihat. [Konfigurasi penerapan yang telah ditentukan sebelumnya untuk platform komputasi Amazon ECS](deployment-configurations.md#deployment-configurations-predefined-ecs)
+ Ubah penyeimbang beban Anda menjadi Application Load Balancer. Application Load Balancer mendukung semua konfigurasi penerapan yang telah ditentukan sebelumnya. Untuk informasi selengkapnya tentang membuat Application Load Balancer, lihat. [Siapkan penyeimbang beban, grup target, dan pendengar untuk penerapan Amazon CodeDeploy ECS](deployment-groups-create-load-balancer-for-ecs.md)

## Meskipun penerapan saya berhasil, set tugas pengganti gagal dalam pemeriksaan kesehatan Elastic Load Balancing, dan aplikasi saya sedang down
<a name="troubleshooting-ecs-task-set-stability"></a>

**Masalah**: Meskipun CodeDeploy menunjukkan bahwa penerapan saya berhasil, set tugas pengganti gagal dalam pemeriksaan kesehatan dari Elastic Load Balancing, dan aplikasi saya mati.

**Kemungkinan penyebabnya**: Masalah ini mungkin terjadi jika Anda melakukan CodeDeploy all-at-once penerapan, dan set tugas pengganti (hijau) berisi kode buruk yang menyebabkan pemeriksaan kesehatan Elastic Load Balancing gagal. Dengan konfigurasi all-at-once penerapan, pemeriksaan kesehatan penyeimbang beban mulai berjalan pada tugas pengganti yang ditetapkan *setelah* lalu lintas dialihkan ke sana (yaitu, peristiwa `AllowTraffic` siklus hidup *setelah* CodeDeploy terjadi). Itu sebabnya Anda akan melihat pemeriksaan kesehatan gagal pada tugas penggantian yang ditetapkan setelah lalu lintas bergeser, tetapi tidak sebelumnya. Untuk informasi tentang peristiwa siklus hidup yang CodeDeploy dihasilkan, lihat. [Apa yang terjadi selama penyebaran Amazon ECS](deployment-steps-ecs.md#deployment-steps-what-happens)

**Kemungkinan perbaikan**:
+ Ubah konfigurasi penerapan Anda dari all-at-once ke canary atau linier. *Dalam konfigurasi kenari atau linier, pemeriksaan kesehatan penyeimbang beban mulai berjalan pada set tugas pengganti saat CodeDeploy menginstal aplikasi Anda di lingkungan penggantian, dan *sebelum* lalu lintas digeser (yaitu, selama peristiwa `Install` siklus hidup, dan sebelum acara).* `AllowTraffic` Dengan mengizinkan pemeriksaan berjalan selama instalasi aplikasi tetapi sebelum lalu lintas digeser, kode aplikasi yang buruk akan terdeteksi dan menyebabkan kegagalan penerapan sebelum aplikasi menjadi tersedia untuk umum.

  Untuk informasi tentang cara mengonfigurasi penerapan canary atau linier, lihat. [Ubah pengaturan grup penerapan dengan CodeDeploy](deployment-groups-edit.md) 

  Untuk informasi tentang peristiwa CodeDeploy siklus hidup yang berjalan selama penerapan Amazon ECS, lihat. [Apa yang terjadi selama penyebaran Amazon ECS](deployment-steps-ecs.md#deployment-steps-what-happens)
**catatan**  
Konfigurasi penerapan Canary dan linier hanya didukung dengan Application Load Balancers.
+ Jika Anda ingin mempertahankan konfigurasi all-at-once penerapan, siapkan listener pengujian dan periksa status kesehatan tugas pengganti yang ditetapkan dengan kait siklus `BeforeAllowTraffic` hidup. Untuk informasi selengkapnya, lihat [Daftar kait peristiwa siklus hidup untuk penerapan Amazon ECS](reference-appspec-file-structure-hooks.md#reference-appspec-file-structure-hooks-list-ecs).

## Bisakah saya melampirkan beberapa penyeimbang beban ke grup penerapan?
<a name="troubleshooting-ecs-lb-multi"></a>

Tidak. Jika Anda ingin menggunakan beberapa Application Load Balancers atau Network Load Balancers, gunakan pembaruan bergulir Amazon ECS alih-alih penerapan biru/hijau. CodeDeploy Untuk informasi selengkapnya tentang pembaruan bergulir, lihat [Pembaruan bergulir](https://docs.aws.amazon.com/AmazonECS/latest/userguide/deployment-type-ecs.html) di *Panduan Pengembang Layanan Kontainer Elastis Amazon*. Untuk informasi selengkapnya tentang penggunaan beberapa penyeimbang beban dengan Amazon ECS, lihat [Mendaftarkan beberapa grup target dengan layanan di Panduan Pengembang Layanan](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/register-multiple-targetgroups.html) *Kontainer Elastis Amazon*.

## Bisakah saya melakukan penerapan CodeDeploy biru/hijau tanpa penyeimbang beban?
<a name="troubleshooting-ecs-lb-bg"></a>

Tidak, Anda tidak dapat melakukan penerapan CodeDeploy biru/hijau tanpa penyeimbang beban. Jika Anda tidak dapat menggunakan penyeimbang beban, gunakan fitur pembaruan bergulir Amazon ECS sebagai gantinya. Untuk informasi selengkapnya tentang pembaruan bergulir Amazon ECS, lihat [Pembaruan bergulir](https://docs.aws.amazon.com/AmazonECS/latest/userguide/deployment-type-ecs.html) di *Panduan Pengembang Layanan Kontainer Elastis Amazon*.

## Bagaimana cara memperbarui layanan Amazon ECS saya dengan informasi baru selama penerapan?
<a name="troubleshooting-ecs-exec"></a>

Untuk CodeDeploy memperbarui layanan Amazon ECS Anda dengan parameter baru saat melakukan penerapan, tentukan parameter di `resources` bagian file. AppSpec Hanya beberapa parameter Amazon ECS yang didukung oleh CodeDeploy, seperti file definisi tugas dan parameter nama kontainer. Untuk daftar lengkap parameter Amazon ECS yang CodeDeploy dapat diperbarui, lihat[AppSpec Bagian 'sumber daya' untuk penerapan Amazon ECS](reference-appspec-file-structure-resources.md#reference-appspec-file-structure-resources-ecs).

**catatan**  
Jika Anda perlu memperbarui layanan Amazon ECS Anda dengan parameter yang tidak didukung oleh CodeDeploy, selesaikan tugas-tugas ini:  
Panggil `UpdateService` API Amazon ECS dengan parameter yang ingin Anda perbarui. Untuk daftar lengkap parameter yang dapat diperbarui, lihat [UpdateService](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateService.html)di *Referensi API Amazon Elastic Container Service*. 
Untuk menerapkan perubahan pada tugas, buat blue/green penyebaran Amazon ECS baru. Lihat informasi yang lebih lengkap di [Membuat penerapan Platform Komputasi Amazon ECS (konsol)](deployments-create-console-ecs.md).

# Memecahkan masalah penyebaran Lambda AWS
<a name="troubleshooting-deployments-lambda"></a>

**Topics**
+ [AWS Lambda penerapan gagal setelah menghentikan penerapan Lambda secara manual yang tidak memiliki rollback yang dikonfigurasi](#troubleshooting-manually-stopped-lambda-deployment)

## AWS Lambda penerapan gagal setelah menghentikan penerapan Lambda secara manual yang tidak memiliki rollback yang dikonfigurasi
<a name="troubleshooting-manually-stopped-lambda-deployment"></a>

Dalam beberapa kasus, alias fungsi Lambda yang ditentukan dalam penerapan mungkin mereferensikan dua versi fungsi yang berbeda. Hasilnya adalah upaya selanjutnya untuk menerapkan fungsi Lambda gagal. Penerapan Lambda dapat masuk dalam status ini ketika tidak memiliki rollback yang dikonfigurasi dan dihentikan secara manual. Untuk melanjutkan, gunakan AWS Lambda konsol untuk memastikan fungsi tidak dikonfigurasi untuk mengalihkan lalu lintas antara dua versi:

1. Masuk ke Konsol Manajemen AWS dan buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Dari panel kiri, pilih **Fungsi**.

1. Pilih nama fungsi Lambda yang ada di penerapan Anda CodeDeploy .

1. **Dari **Alias**, pilih alias yang digunakan dalam CodeDeploy penerapan Anda, lalu pilih Edit.**

1. Dari **alias Tertimbang, pilih**. **none** Ini memastikan alias tidak dikonfigurasi untuk menggeser persentase, atau bobot, lalu lintas ke lebih dari satu versi. Catat versi yang dipilih di **Versi**.

1. Pilih **Simpan**.

1. Buka CodeDeploy konsol dan coba penerapan versi yang ditampilkan di menu tarik-turun di langkah 5.

# Memecahkan masalah grup penyebaran
<a name="troubleshooting-deployment-groups"></a>

## Menandai instance sebagai bagian dari grup penerapan tidak secara otomatis menyebarkan aplikasi Anda ke instance baru
<a name="troubleshooting-adding-instance-to-group"></a>

CodeDeploy tidak secara otomatis menyebarkan aplikasi Anda ke instance yang baru diberi tag. Anda harus membuat penyebaran baru di grup penyebaran.

Anda dapat menggunakan CodeDeploy untuk mengaktifkan penerapan otomatis ke instans EC2 baru di grup Amazon EC2 Auto Scaling. Untuk informasi selengkapnya, lihat [Mengintegrasikan CodeDeploy dengan Amazon EC2 Auto Scaling](integrations-aws-auto-scaling.md).

# Memecahkan masalah contoh
<a name="troubleshooting-ec2-instances"></a>

**Topics**
+ [Tag harus diatur dengan benar](#troubleshooting-EC2-tags)
+ [AWS CodeDeploy agen harus diinstal dan berjalan pada instance](#troubleshooting-sds-agent)
+ [Penerapan tidak gagal hingga satu jam saat instance dihentikan selama penerapan](#troubleshooting-one-hour-timeout)
+ [Menganalisis file log untuk menyelidiki kegagalan penerapan pada instance](#troubleshooting-deploy-failures)
+ [Buat file CodeDeploy log baru jika tidak sengaja dihapus](#troubleshooting-create-new-log-file)
+ [Pemecahan masalah “InvalidSignatureException - Tanda tangan kedaluwarsa: [waktu] sekarang lebih awal dari [waktu]” kesalahan penerapan](#troubleshooting-instance-time-failures)

## Tag harus diatur dengan benar
<a name="troubleshooting-EC2-tags"></a>

Gunakan [list-deployment-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-instances.html)perintah untuk mengonfirmasi bahwa instance yang digunakan untuk penerapan ditandai dengan benar. Jika instans EC2 hilang dalam output, gunakan konsol EC2 untuk mengonfirmasi bahwa tag telah disetel pada instance. Untuk informasi selengkapnya, lihat [Bekerja dengan tag di konsol](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_Console) di *Panduan Pengguna Amazon EC2*.

**catatan**  
Jika Anda menandai instance dan segera menggunakannya CodeDeploy untuk menyebarkan aplikasi ke instans tersebut, instance tersebut mungkin tidak disertakan dalam penerapan. Hal ini karena dapat mengambil beberapa menit sebelum CodeDeploy dapat membaca tag. Kami menyarankan Anda menunggu setidaknya lima menit antara waktu Anda menandai instance dan mencoba menerapkannya.

## AWS CodeDeploy agen harus diinstal dan berjalan pada instance
<a name="troubleshooting-sds-agent"></a>

Untuk memverifikasi CodeDeploy agen diinstal dan berjalan pada sebuah instance, lihat[Verifikasi CodeDeploy agen sedang berjalan](codedeploy-agent-operations-verify.md).

Untuk menginstal, menghapus, atau menginstal ulang CodeDeploy agen, lihat. [Instal CodeDeploy agen](codedeploy-agent-operations-install.md)

## Penerapan tidak gagal hingga satu jam saat instance dihentikan selama penerapan
<a name="troubleshooting-one-hour-timeout"></a>

CodeDeploy menyediakan jendela satu jam untuk setiap peristiwa siklus hidup penerapan agar berjalan hingga selesai. Ini memberikan waktu yang cukup untuk skrip yang berjalan lama. 

Jika skrip tidak berjalan hingga selesai saat peristiwa siklus hidup sedang berlangsung (misalnya, jika instance dihentikan atau CodeDeploy agen dimatikan), mungkin diperlukan waktu hingga satu jam agar status penerapan ditampilkan sebagai Gagal. Ini benar bahkan jika periode batas waktu yang ditentukan dalam skrip lebih pendek dari satu jam. Ini karena ketika instance dihentikan, CodeDeploy agen dimatikan dan tidak dapat memproses lebih banyak skrip. 

Jika instance dihentikan antara peristiwa siklus hidup atau sebelum langkah peristiwa siklus hidup pertama dimulai, batas waktu akan terjadi setelah hanya lima menit. 

## Menganalisis file log untuk menyelidiki kegagalan penerapan pada instance
<a name="troubleshooting-deploy-failures"></a>

Jika status instans dalam penerapan adalah apa pun selain`Succeeded`, Anda dapat meninjau data file log penerapan untuk membantu mengidentifikasi masalah. Untuk informasi tentang mengakses data log penerapan, lihat. [Melihat data log untuk penerapan CodeDeploy EC2/Lokal](deployments-view-logs.md)

## Buat file CodeDeploy log baru jika tidak sengaja dihapus
<a name="troubleshooting-create-new-log-file"></a>

Jika Anda secara tidak sengaja menghapus file log penyebaran pada sebuah instance, CodeDeploy tidak membuat file log pengganti. Untuk membuat file log baru, masuk ke instance, lalu jalankan perintah ini:

**Untuk contoh Amazon Linux, Ubuntu Server, atau RHEL**, jalankan perintah ini dalam urutan ini, satu per satu:

```
systemctl stop codedeploy-agent
```

```
systemctl start codedeploy-agent
```

**Untuk contoh Windows Server**:

```
powershell.exe -Command Restart-Service -Name codedeployagent
```

## Pemecahan masalah “InvalidSignatureException - Tanda tangan kedaluwarsa: [waktu] sekarang lebih awal dari [waktu]” kesalahan penerapan
<a name="troubleshooting-instance-time-failures"></a>

CodeDeploy membutuhkan referensi waktu yang akurat untuk melakukan operasinya. Jika tanggal dan waktu pada instans Anda tidak disetel dengan benar, mereka mungkin tidak cocok dengan tanggal tanda tangan permintaan penerapan Anda, yang CodeDeploy menolak. 

Untuk menghindari kegagalan penerapan yang terkait dengan pengaturan waktu yang salah, lihat topik berikut: 
+  [Mengatur Waktu untuk Instans Linux Anda](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html)
+  [Mengatur Waktu untuk Instans Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/windows-set-time.html)

# Memecahkan masalah GitHub token
<a name="troubleshooting-github-token-issues"></a>

## Token tidak valid GitHub OAuth
<a name="troubleshooting-invalid-github-token"></a>

 CodeDeploy aplikasi yang dibuat setelah Juni 2017 menggunakan GitHub OAuth token untuk setiap AWS Wilayah. Penggunaan token yang terkait dengan AWS Wilayah tertentu memberi Anda kontrol lebih besar atas CodeDeploy aplikasi mana yang memiliki akses ke GitHub repositori. 

 Jika Anda menerima kesalahan GitHub token, Anda mungkin memiliki token lama yang sekarang tidak valid. 

**Untuk memperbaiki token yang tidak valid GitHub OAuth **

1.  Hapus token lama menggunakan salah satu metode berikut:
   + Untuk menghapus token lama menggunakan API, gunakan [ DeleteGitHubAccountToken](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteGitHubAccountToken.html).
   + Untuk menghapus token lama menggunakan AWS Command Line Interface:

     1. Pergi ke komputer tempat token berada.

     1. Pastikan AWS CLI sudah terpasang di komputer ini. Untuk petunjuk penginstalan, lihat [Menginstal, memperbarui, dan menghapus instalasi AWS CLI di AWS Command Line Interface](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) *Panduan Pengguna*

     1. Masukkan perintah berikut di komputer tempat token berada:

        **aws delete-git-hub-account-token**

        Untuk detail tentang sintaks perintah, lihat [delete-git-hub-account-token](https://docs.aws.amazon.com/cli/latest/reference/deploy/delete-git-hub-account-token.html).

1.  Tambahkan OAuth token baru. Untuk informasi selengkapnya, lihat [Integrasi dengan CodeDeploy GitHub](integrations-partners-github.md). 

## Jumlah maksimum GitHub OAuth token terlampaui
<a name="troubleshooting-too-many-github-tokens"></a>

Saat Anda membuat CodeDeploy penerapan, jumlah maksimum GitHub token yang diizinkan adalah 10. Jika Anda menerima kesalahan tentang GitHub OAuth token, pastikan Anda memiliki 10 atau lebih sedikit token. Jika Anda memiliki lebih dari 10 token, token pertama yang dibuat tidak valid. Misalnya, jika Anda memiliki 11 token, token pertama yang Anda buat tidak valid. Jika Anda memiliki 12 token, dua token pertama yang Anda buat tidak valid. Untuk informasi tentang penggunaan CodeDeploy API untuk menghapus token lama, lihat [ DeleteGitHubAccountToken](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_DeleteGitHubAccountToken.html). 

# Memecahkan masalah Amazon EC2 Auto Scaling
<a name="troubleshooting-auto-scaling"></a>

**Topics**
+ [Pemecahan masalah Penskalaan Otomatis Amazon EC2 Umum](#troubleshooting-auto-scaling-general)
+ [“CodeDeployRole tidak memberi Anda izin untuk melakukan operasi di AWS layanan berikut: AmazonAutoScaling" kesalahan](#troubleshooting-auto-scaling-permissions-error)
+ [Instans dalam grup Amazon EC2 Auto Scaling terus disediakan dan dihentikan sebelum revisi dapat diterapkan](#troubleshooting-auto-scaling-provision-termination-loop)
+ [Mengakhiri atau me-reboot instans Amazon EC2 Auto Scaling dapat menyebabkan penerapan gagal](#troubleshooting-auto-scaling-reboot)
+ [Hindari mengaitkan beberapa grup penerapan dengan satu grup Penskalaan Otomatis Amazon EC2](#troubleshooting-multiple-depgroups)
+ [Instans EC2 dalam grup Amazon EC2 Auto Scaling gagal diluncurkan dan menerima kesalahan “Heartbeat Timeout”](#troubleshooting-auto-scaling-heartbeat)
+ [Kait siklus hidup Amazon EC2 Auto Scaling yang tidak cocok dapat menyebabkan penerapan otomatis ke grup Amazon EC2 Auto Scaling berhenti atau gagal](#troubleshooting-auto-scaling-hooks)
+ [Kesalahan “Penerapan gagal karena tidak ada instance yang ditemukan untuk grup penerapan Anda”](#troubleshooting-deployment-failed-because-no-instances-found)

## Pemecahan masalah Penskalaan Otomatis Amazon EC2 Umum
<a name="troubleshooting-auto-scaling-general"></a>

Penerapan ke instans EC2 dalam grup Amazon EC2 Auto Scaling dapat gagal karena alasan berikut:
+ **Amazon EC2 Auto Scaling terus meluncurkan dan menghentikan instans EC2.** Jika CodeDeploy tidak dapat menerapkan revisi aplikasi secara otomatis, Amazon EC2 Auto Scaling akan terus meluncurkan dan menghentikan instans EC2. 

  Putuskan grup Penskalaan Otomatis Amazon EC2 dari CodeDeploy grup penerapan atau ubah konfigurasi grup Penskalaan Otomatis Amazon EC2 Anda sehingga jumlah instans yang diinginkan cocok dengan jumlah instans saat ini (sehingga mencegah Amazon EC2 Auto Scaling meluncurkan instans EC2 lagi). Untuk informasi selengkapnya, lihat [Ubah pengaturan grup penerapan dengan CodeDeploy](deployment-groups-edit.md) atau [Penskalaan Manual untuk Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html).
+ ** CodeDeploy Agen tidak responsif.** CodeDeploy Agen mungkin tidak diinstal jika skrip inisialisasi (misalnya, skrip cloud-init) yang berjalan segera setelah instans EC2 diluncurkan atau dimulai membutuhkan waktu lebih dari satu jam untuk dijalankan. CodeDeploy memiliki batas waktu satu jam bagi CodeDeploy agen untuk menanggapi penerapan yang tertunda. Untuk mengatasi masalah ini, pindahkan skrip inisialisasi Anda ke dalam revisi CodeDeploy aplikasi Anda.
+ **Instans EC2 dalam grup Amazon EC2 Auto Scaling akan di-boot ulang selama penerapan.** Penerapan Anda bisa gagal jika instans EC2 di-boot ulang selama penerapan atau CodeDeploy agen dimatikan saat memproses perintah penerapan. Untuk informasi selengkapnya, lihat [Mengakhiri atau me-reboot instans Amazon EC2 Auto Scaling dapat menyebabkan penerapan gagal](#troubleshooting-auto-scaling-reboot).
+ **Beberapa revisi aplikasi diterapkan secara bersamaan ke instans EC2 yang sama dalam grup Amazon EC2 Auto Scaling.** Menerapkan beberapa revisi aplikasi ke instans EC2 yang sama dalam grup Amazon EC2 Auto Scaling secara bersamaan dapat gagal jika salah satu penerapan memiliki skrip yang berjalan selama lebih dari beberapa menit. Jangan menerapkan beberapa revisi aplikasi ke instans EC2 yang sama di grup Penskalaan Otomatis Amazon EC2.
+ **Penerapan gagal untuk instans EC2 baru yang diluncurkan sebagai bagian dari grup Amazon EC2 Auto Scaling.** Dalam skenario ini, menjalankan skrip dalam penerapan dapat mencegah peluncuran instans EC2 di grup Amazon EC2 Auto Scaling. (Instans EC2 lainnya di grup Amazon EC2 Auto Scaling mungkin tampak berjalan normal.) Untuk mengatasi masalah ini, pastikan semua skrip lainnya selesai terlebih dahulu:
  + **CodeDeploy agen tidak termasuk dalam AMI Anda**: Jika Anda menggunakan **cfn-init** perintah untuk menginstal CodeDeploy agen saat meluncurkan instance baru, letakkan skrip instalasi agen di akhir `cfn-init` bagian CloudFormation template Anda. 
  + **CodeDeploy agen disertakan dalam AMI Anda**: Konfigurasikan AMI sehingga agen dalam `Stopped` keadaan saat instance dibuat, lalu sertakan skrip untuk memulai agen sebagai langkah terakhir di pustaka `cfn-init` skrip Anda. 

## “CodeDeployRole tidak memberi Anda izin untuk melakukan operasi di AWS layanan berikut: AmazonAutoScaling" kesalahan
<a name="troubleshooting-auto-scaling-permissions-error"></a>

 Penerapan yang menggunakan grup Auto Scaling yang dibuat dengan template peluncuran memerlukan izin berikut. Ini adalah tambahan dari izin yang diberikan oleh kebijakan `AWSCodeDeployRole` AWS terkelola. 
+  `EC2:RunInstances` 
+  `EC2:CreateTags` 
+  `iam:PassRole` 

 Anda mungkin menerima kesalahan ini jika Anda kehilangan izin ini. Untuk informasi selengkapnya, lihat[Tutorial: Gunakan CodeDeploy untuk menyebarkan aplikasi ke grup Auto Scaling](tutorials-auto-scaling-group.md), [Membuat template peluncuran untuk grup Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html), dan [Izin](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html#launch-templates-permissions) di Panduan Pengguna *Amazon EC2 Auto Scaling*.

## Instans dalam grup Amazon EC2 Auto Scaling terus disediakan dan dihentikan sebelum revisi dapat diterapkan
<a name="troubleshooting-auto-scaling-provision-termination-loop"></a>

Dalam beberapa kasus, kesalahan dapat mencegah penerapan yang berhasil ke instans yang baru disediakan di grup Penskalaan Otomatis Amazon EC2. Hasilnya bukan contoh yang sehat dan tidak ada penerapan yang berhasil. Karena penerapan tidak dapat berjalan atau diselesaikan dengan sukses, instance dihentikan segera setelah dibuat. Konfigurasi grup Amazon EC2 Auto Scaling kemudian menyebabkan kumpulan instans lain disediakan untuk mencoba memenuhi persyaratan host sehat minimum. Batch ini juga dihentikan, dan siklus berlanjut.

Kemungkinan penyebabnya meliputi:
+ Pemeriksaan kesehatan grup Amazon EC2 Auto Scaling yang gagal.
+ Kesalahan dalam revisi aplikasi.

Untuk mengatasi masalah ini, ikuti langkah-langkah berikut:

1. Buat instans EC2 secara manual yang bukan bagian dari grup Amazon EC2 Auto Scaling. Tandai instance dengan tag instans EC2 yang unik.

1. Tambahkan instance baru ke grup penyebaran yang terpengaruh. 

1. Terapkan revisi aplikasi baru yang bebas kesalahan ke grup penyebaran.

Ini meminta grup Amazon EC2 Auto Scaling untuk menerapkan revisi aplikasi ke instans masa depan di grup Amazon EC2 Auto Scaling. 

**catatan**  
Setelah mengonfirmasi bahwa penerapan berhasil, hapus instans yang Anda buat untuk menghindari tagihan yang sedang berlangsung ke akun Anda AWS .

## Mengakhiri atau me-reboot instans Amazon EC2 Auto Scaling dapat menyebabkan penerapan gagal
<a name="troubleshooting-auto-scaling-reboot"></a>

Jika instans EC2 diluncurkan melalui Amazon EC2 Auto Scaling, dan instans kemudian dihentikan atau di-boot ulang, penerapan ke instance tersebut mungkin gagal karena alasan berikut:
+ Selama penerapan yang sedang berlangsung, peristiwa scale-in atau peristiwa penghentian lainnya menyebabkan instans terlepas dari grup Penskalaan Otomatis Amazon EC2 dan kemudian dihentikan. Karena penerapan tidak dapat diselesaikan, itu gagal.
+ Instans di-boot ulang, tetapi dibutuhkan lebih dari lima menit untuk memulai instance. CodeDeploy memperlakukan ini sebagai batas waktu. Layanan gagal semua penerapan saat ini dan masa depan ke instance.

Untuk mengatasi masalah ini:
+ Secara umum, pastikan bahwa semua penerapan selesai sebelum instance dihentikan atau di-boot ulang. Pastikan bahwa semua penerapan dimulai setelah instance dimulai atau di-boot ulang. 
+ Penerapan dapat gagal jika Anda menentukan Amazon Machine Image (AMI) berbasis Windows Server untuk konfigurasi Penskalaan Otomatis Amazon EC2 dan menggunakan layanan EC2 Config untuk menyetel nama komputer instance. Untuk memperbaiki masalah ini, di basis Windows Server AMI, pada tab **Umum** **Properti Layanan EC2**, hapus **Set Nama Komputer**. Setelah Anda menghapus kotak centang ini, perilaku ini dinonaktifkan untuk semua instans Penskalaan Otomatis Amazon EC2 Windows Server baru yang diluncurkan dengan AMI basis Windows Server. Untuk instans Penskalaan Otomatis Amazon EC2 Windows Server yang mengaktifkan perilaku ini, Anda tidak perlu menghapus kotak centang ini. Cukup terapkan ulang penerapan yang gagal ke instance tersebut setelah di-boot ulang.

## Hindari mengaitkan beberapa grup penerapan dengan satu grup Penskalaan Otomatis Amazon EC2
<a name="troubleshooting-multiple-depgroups"></a>

Sebagai praktik terbaik, Anda harus mengaitkan hanya satu grup penerapan dengan setiap grup Penskalaan Otomatis Amazon EC2. 

Ini karena jika Amazon EC2 Auto Scaling meningkatkan skala instance yang memiliki kait yang terkait dengan beberapa grup penerapan, maka akan mengirimkan notifikasi untuk semua hook sekaligus. Hal ini menyebabkan beberapa penerapan ke setiap instance dimulai pada waktu yang bersamaan. Saat beberapa penerapan mengirim perintah ke CodeDeploy agen secara bersamaan, batas waktu lima menit antara peristiwa siklus hidup dan awal penerapan atau akhir peristiwa siklus hidup sebelumnya mungkin tercapai. Jika ini terjadi, penerapan gagal, bahkan jika proses penerapan berjalan seperti yang diharapkan. 

**catatan**  
Batas waktu default untuk skrip dalam acara siklus hidup adalah 30 menit. Anda dapat mengubah batas waktu ke nilai yang berbeda dalam AppSpec file. Untuk informasi selengkapnya, lihat [Menambahkan AppSpec file untuk penerapan EC2/On-premise](application-revisions-appspec-file.md#add-appspec-file-server).

Tidak mungkin untuk mengontrol urutan penerapan terjadi jika lebih dari satu penerapan mencoba dijalankan pada saat yang bersamaan. 

Terakhir, jika penerapan ke instans apa pun gagal, Amazon EC2 Auto Scaling segera menghentikan instance. Ketika instance pertama dimatikan, penerapan lain yang berjalan mulai gagal. Karena CodeDeploy memiliki batas waktu satu jam bagi CodeDeploy agen untuk merespons penerapan yang tertunda, dibutuhkan waktu hingga 60 menit untuk setiap instance hingga time out. 

Untuk informasi selengkapnya tentang Amazon EC2 Auto Scaling[, lihat Under the CodeDeploy hood: dan integrasi Auto Scaling](https://aws.amazon.com/blogs/devops/under-the-hood-aws-codedeploy-and-auto-scaling-integration/).

## Instans EC2 dalam grup Amazon EC2 Auto Scaling gagal diluncurkan dan menerima kesalahan “Heartbeat Timeout”
<a name="troubleshooting-auto-scaling-heartbeat"></a>

Grup Amazon EC2 Auto Scaling mungkin gagal meluncurkan instans EC2 baru, menghasilkan pesan yang mirip dengan berikut ini: 

`Launching a new EC2 instance <instance-Id>. Status Reason: Instance failed to complete user's Lifecycle Action: Lifecycle Action with token<token-Id> was abandoned: Heartbeat Timeout`. 

Pesan ini biasanya menunjukkan salah satu dari yang berikut: 
+ Jumlah maksimum penerapan bersamaan yang terkait dengan AWS akun tercapai. Untuk informasi selengkapnya tentang batas penerapan, lihat[CodeDeploy kuota](limits.md). 
+ Grup Auto Scaling mencoba meluncurkan terlalu banyak instans EC2 terlalu cepat. Panggilan API ke [RecordLifecycleActionHeartbeat](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_RecordLifecycleActionHeartbeat.html)atau [CompleteLifecycleAction](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_CompleteLifecycleAction.html)untuk setiap instance baru dibatasi.
+ Aplikasi di CodeDeploy dihapus sebelum grup penyebaran terkait diperbarui atau dihapus.

  Saat Anda menghapus aplikasi atau grup penerapan, CodeDeploy mencoba membersihkan kait Penskalaan Otomatis Amazon EC2 yang terkait dengannya, tetapi beberapa kait mungkin tetap ada. Jika Anda menjalankan perintah untuk menghapus grup penyebaran, kait sisa dikembalikan dalam output. Namun, jika Anda menjalankan perintah untuk menghapus aplikasi, kait sisa tidak muncul di output.

  Oleh karena itu, sebagai praktik terbaik, Anda harus menghapus semua grup penyebaran yang terkait dengan aplikasi sebelum Anda menghapus aplikasi. Anda dapat menggunakan output perintah untuk mengidentifikasi kait siklus hidup yang harus dihapus secara manual. 

Jika Anda menerima pesan galat “Heartbeat Timeout”, Anda dapat menentukan apakah kait siklus hidup yang tersisa adalah penyebabnya dan menyelesaikan masalah dengan melakukan hal berikut:

1. Lakukan salah satu tindakan berikut:
   + Panggil [delete-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/delete-deployment-group.html)perintah untuk menghapus grup penyebaran yang terkait dengan grup Auto Scaling yang menyebabkan batas waktu detak jantung.
   + Panggil [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html)perintah dengan daftar kosong nama grup Auto Scaling yang tidak kosong untuk melepaskan semua kait siklus hidup Auto Scaling yang dikelola CodeDeploy.

     Misalnya, masukkan AWS CLI perintah berikut:

     `aws deploy update-deployment-group --application-name my-example-app --current-deployment-group-name my-deployment-group --auto-scaling-groups`

     Sebagai contoh lain, jika Anda menggunakan CodeDeploy API dengan Java, panggil `UpdateDeploymentGroup` dan atur `autoScalingGroups` ke`new ArrayList<String>()`. Ini ditetapkan `autoScalingGroups` ke daftar kosong dan menghapus daftar yang ada. Jangan gunakan`null`, yang merupakan default, karena ini meninggalkan apa `autoScalingGroups` adanya, yang bukan yang Anda inginkan.

   Periksa output panggilan. Jika output berisi `hooksNotCleanedUp` struktur dengan daftar kait siklus hidup Amazon EC2 Auto Scaling, ada sisa kait siklus hidup. 

1. Panggil [describe-lifecycle-hooks](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-lifecycle-hooks.html)perintah, tentukan nama grup Amazon EC2 Auto Scaling yang terkait dengan instans EC2 yang gagal diluncurkan. Dalam output, cari salah satu dari berikut ini:
   + Nama kait siklus hidup Amazon EC2 Auto Scaling yang sesuai dengan struktur yang Anda identifikasi pada `hooksNotCleanedUp` langkah 1.
   + Nama kait siklus hidup Amazon EC2 Auto Scaling yang berisi nama grup penerapan yang terkait dengan grup Auto Scaling yang gagal.
   + Nama kait siklus hidup Amazon EC2 Auto Scaling yang mungkin menyebabkan batas waktu detak jantung untuk penerapan. CodeDeploy 

1. Jika hook jatuh ke dalam salah satu kategori yang tercantum dalam langkah 2, panggil [delete-lifecycle-hook](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-lifecycle-hook.html)perintah untuk menghapusnya. Tentukan grup Penskalaan Otomatis Amazon EC2 dan kait siklus hidup dalam panggilan.
**penting**  
Hanya hapus kait yang menyebabkan masalah, seperti yang diuraikan pada langkah 2. Jika Anda menghapus hook yang layak, penerapan Anda mungkin gagal, atau CodeDeploy mungkin tidak dapat menerapkan revisi aplikasi Anda ke instans EC2 yang diskalakan.

1. Panggil [create-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/create-deployment-group.html)perintah [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html)atau dengan nama grup Auto Scaling yang diinginkan. CodeDeploymenginstal ulang kait Auto Scaling dengan yang baru. UUIDs

**catatan**  
Jika Anda melepaskan grup Auto Scaling dari grup penerapan, setiap penerapan CodeDeploy yang sedang berlangsung ke grup Auto Scaling mungkin gagal, dan instans EC2 baru yang diskalakan oleh grup Auto Scaling tidak akan menerima revisi aplikasi Anda. CodeDeploy Agar Auto Scaling berfungsi kembali CodeDeploy, Anda harus melampirkan kembali grup Auto Scaling ke grup penerapan dan memanggil yang baru `CreateDeployment` untuk memulai penerapan di seluruh armada.

## Kait siklus hidup Amazon EC2 Auto Scaling yang tidak cocok dapat menyebabkan penerapan otomatis ke grup Amazon EC2 Auto Scaling berhenti atau gagal
<a name="troubleshooting-auto-scaling-hooks"></a>

Amazon EC2 Auto CodeDeploy Scaling dan gunakan kait siklus hidup untuk menentukan revisi aplikasi mana yang harus diterapkan ke instans EC2 mana setelah diluncurkan di grup Amazon EC2 Auto Scaling. Penerapan otomatis dapat berhenti atau gagal jika kait siklus hidup dan informasi tentang kait ini tidak sama persis di Amazon EC2 Auto Scaling dan. CodeDeploy

Jika penerapan ke grup Penskalaan Otomatis Amazon EC2 gagal, lihat apakah nama pengait siklus hidup di Amazon EC2 Auto Scaling dan cocok. CodeDeploy Jika tidak, gunakan panggilan AWS CLI perintah ini.

Pertama, dapatkan daftar nama kait siklus hidup untuk grup Amazon EC2 Auto Scaling dan grup penerapan:

1. Panggil [describe-lifecycle-hooks](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-lifecycle-hooks.html)perintah, tentukan nama grup Penskalaan Otomatis Amazon EC2 yang terkait dengan grup penerapan di. CodeDeploy Dalam output, dalam `LifecycleHooks` daftar, buat catatan setiap `LifecycleHookName` nilai.

1. Panggil [get-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/get-deployment-group.html)perintah, tentukan nama grup penyebaran yang terkait dengan grup Penskalaan Otomatis Amazon EC2. Dalam output, dalam `autoScalingGroups` daftar, temukan setiap item yang nilai namanya cocok dengan nama grup Amazon EC2 Auto Scaling, lalu catat nilai yang sesuai. `hook`

Sekarang bandingkan dua set nama kait siklus hidup. Jika mereka cocok persis, karakter untuk karakter, maka ini bukan masalahnya. Anda mungkin ingin mencoba langkah-langkah pemecahan masalah Amazon EC2 Auto Scaling lainnya yang dijelaskan di tempat lain di bagian ini.

Namun, jika dua set nama kait siklus hidup tidak sama persis, karakter untuk karakter, lakukan hal berikut:

1. Jika ada nama kait siklus hidup dalam output **describe-lifecycle-hooks** perintah yang tidak juga dalam output **get-deployment-group** perintah, maka lakukan hal berikut:

   1. Untuk setiap nama hook siklus hidup di output **describe-lifecycle-hooks** perintah, panggil perintah. [delete-lifecycle-hook](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-lifecycle-hook.html)

   1. Panggil [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html)perintah, tentukan nama grup Amazon EC2 Auto Scaling asli. CodeDeploy membuat kait siklus hidup pengganti baru di grup Penskalaan Otomatis Amazon EC2 dan mengaitkan kait siklus hidup dengan grup penerapan. Penerapan otomatis sekarang harus dilanjutkan saat instans baru ditambahkan ke grup Penskalaan Otomatis Amazon EC2. 

1. Jika ada nama kait siklus hidup dalam output **get-deployment-group** perintah yang tidak juga dalam output **describe-lifecycle-hooks** perintah, lakukan hal berikut:

   1. Panggil [update-deployment-group](https://docs.aws.amazon.com/cli/latest/reference/deploy/update-deployment-group.html)perintah, tetapi jangan tentukan nama grup Auto Scaling Amazon EC2 asli.

   1. Panggil **update-deployment-group** perintah lagi, tetapi kali ini tentukan nama grup Amazon EC2 Auto Scaling asli. CodeDeploy membuat ulang kait siklus hidup yang hilang di grup Amazon EC2 Auto Scaling. Penerapan otomatis sekarang harus dilanjutkan saat instans baru ditambahkan ke grup Penskalaan Otomatis Amazon EC2.

Setelah Anda mendapatkan dua set nama kait siklus hidup agar sama persis, karakter untuk karakter, revisi aplikasi harus diterapkan lagi, tetapi hanya untuk instance baru saat ditambahkan ke grup Amazon EC2 Auto Scaling. Penerapan tidak terjadi secara otomatis ke instans yang sudah ada di grup Amazon EC2 Auto Scaling.

## Kesalahan “Penerapan gagal karena tidak ada instance yang ditemukan untuk grup penerapan Anda”
<a name="troubleshooting-deployment-failed-because-no-instances-found"></a>

Baca bagian ini jika Anda melihat CodeDeploy kesalahan berikut:

`The deployment failed because no instances were found for your deployment group. Check your deployment group settings to make sure the tags for your EC2 instances or Auto Scaling groups correctly identify the instances you want to deploy to, and then try again.`

Kemungkinan penyebab kesalahan ini adalah:

1. Setelan grup penerapan Anda menyertakan tag untuk instans EC2, instans lokal, atau grup Auto Scaling yang tidak benar. Untuk memperbaiki masalah ini, periksa apakah tag Anda sudah benar, lalu gunakan kembali aplikasi Anda.

1. Armada Anda diperkecil setelah penyebaran dimulai. Dalam skenario ini, Anda melihat contoh sehat di `InService` negara bagian dalam armada Anda, tetapi Anda juga melihat kesalahan di atas. Untuk memperbaiki masalah ini, gunakan kembali aplikasi Anda.

1. Grup Auto Scaling Anda tidak menyertakan instans apa pun yang berada dalam status. `InService` Dalam skenario ini, ketika Anda mencoba melakukan penerapan di seluruh armada, penerapan gagal dengan pesan kesalahan di atas karena CodeDeploy membutuhkan setidaknya satu instance untuk berada dalam status. `InService` Ada banyak alasan mengapa Anda mungkin tidak memiliki contoh di `InService` negara bagian. Beberapa di antaranya termasuk:
   + Anda menjadwalkan (atau mengonfigurasi secara manual) ukuran grup Auto Scaling. `0`
   + Auto Scaling mendeteksi instans EC2 yang buruk (misalnya, instans EC2 mengalami kegagalan perangkat keras), jadi batalkan semuanya, sehingga tidak meninggalkan status apa pun. `InService`
   + Selama acara skala keluar dari `0` ke`1`, CodeDeploy menerapkan revisi yang sebelumnya berhasil (disebut revisi *sukses terakhir*) yang telah menjadi tidak sehat sejak penerapan terakhir. Hal ini menyebabkan penerapan pada instance scaled-out gagal, yang pada gilirannya menyebabkan Auto Scaling membatalkan instance, sehingga tidak ada instance dalam status. `InService`

     Jika Anda menemukan bahwa Anda tidak memiliki instance di `InService` negara bagian, pecahkan masalah seperti yang dijelaskan dalam prosedur berikut,. [To troubleshoot the error if there are no instances in the InService state](#ToTroubleshootIfNoInServiceInstances)

**Untuk memecahkan masalah kesalahan jika tidak ada contoh di negara bagian InService**

1. Di konsol Amazon EC2, verifikasi pengaturan **Kapasitas yang Diinginkan**. Jika nol, atur ke angka positif. Tunggu instance menjadi`InService`, yang berarti penerapan berhasil. Anda telah memperbaiki masalah dan dapat melewati langkah-langkah yang tersisa dari prosedur pemecahan masalah ini. Untuk informasi tentang menyetel setelan **Kapasitas yang Diinginkan**, lihat [Menyetel batas kapasitas pada grup Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-capacity-limits.html) di Panduan Pengguna *Amazon EC2* Auto Scaling.

1. Jika Auto Scaling terus mencoba meluncurkan instans EC2 baru untuk memenuhi kapasitas yang diinginkan tetapi tidak pernah dapat memenuhi skala, biasanya karena hook siklus hidup Auto Scaling yang gagal. Memecahkan masalah ini sebagai berikut:

   1. Untuk memeriksa peristiwa hook siklus hidup Auto Scaling mana yang gagal, lihat [Memverifikasi aktivitas penskalaan untuk grup Auto Scaling di Panduan Pengguna Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html).

   1. Jika nama hook yang gagal adalah`CodeDeploy-managed-automatic-launch-deployment-hook-DEPLOYMENT_GROUP_NAME`, buka, cari grup penerapan, dan temukan penerapan gagal yang dimulai oleh Auto Scaling. CodeDeploy Kemudian selidiki mengapa penerapan gagal.

   1. Jika Anda memahami mengapa penerapan gagal (misalnya, CloudWatch alarm terjadi) dan Anda dapat memperbaiki masalah tanpa mengubah revisi, lakukan sekarang.

   1. Jika, setelah penyelidikan, Anda menentukan bahwa CodeDeploy *revisi terakhir yang berhasil* tidak lagi sehat, dan tidak ada contoh sehat di grup Auto Scaling Anda, Anda berada dalam skenario kebuntuan penerapan. Untuk mengatasi masalah ini, Anda harus memperbaiki CodeDeploy revisi buruk dengan menghapus CodeDeploy kait siklus hidup sementara dari grup Auto Scaling, lalu menginstal ulang hook dan menerapkan kembali revisi baru (baik). Untuk instruksi, lihat:
      + [To fix the deployment deadlock issue (CLI)](#ToFixDeployDeadlockCLI)
      + [To fix the deployment deadlock issue (console)](#ToFixDeployDeadlockConsole)

**Untuk memperbaiki masalah kebuntuan penerapan (CLI)**

1. (Opsional) Blokir CI/CD pipeline Anda yang menyebabkan CodeDeploy kesalahan sehingga penerapan yang tidak terduga tidak terjadi saat Anda memperbaiki masalah ini.

1. Perhatikan pengaturan Auto Scaling **DesiredCapacity**Anda saat ini:

   `aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name ASG_NAME`

   Anda mungkin perlu mengurangi angka ini di akhir prosedur ini.

1. Setel pengaturan Auto Scaling **DesiredCapacity**Anda ke. `1` Ini opsional jika kapasitas yang Anda inginkan lebih besar daripada `1` awalnya. Dengan menguranginya menjadi`1`, instance akan membutuhkan lebih sedikit waktu untuk menyediakan dan menerapkan nanti, yang mempercepat pemecahan masalah. Jika kapasitas yang diinginkan Auto Scaling Anda awalnya disetel ke`0`, Anda harus meningkatkannya. `1` Ini wajib. 

   penskalaan otomatis aws set-desired-capacity -- --desired-capacity 1 auto-scaling-group-name *ASG\$1NAME* 
**catatan**  
Langkah-langkah yang tersisa dari prosedur ini mengasumsikan Anda telah **DesiredCapacity**mengaturnya`1`.

   Pada titik ini, Auto Scaling mencoba menskalakan ke satu instance. Kemudian, karena hook yang CodeDeploy ditambahkan masih ada, CodeDeploy mencoba menerapkan; penerapan gagal; Auto Scaling membatalkan instance; dan Auto Scaling mencoba meluncurkan kembali instance untuk mencapai kapasitas yang diinginkan, yang lagi-lagi gagal. Anda berada dalam loop cancel-relaunch.

1. Hapus registrasi grup Auto Scaling dari grup penerapan:
**Awas**  
Perintah berikut akan meluncurkan instans EC2 baru tanpa perangkat lunak di dalamnya. Sebelum menjalankan perintah, pastikan bahwa `InService` instance Auto Scaling yang tidak menjalankan perangkat lunak dapat diterima. Misalnya, pastikan penyeimbang beban yang terkait dengan instance tidak mengirimkan lalu lintas ke host ini tanpa perangkat lunak.
**penting**  
Gunakan CodeDeploy perintah yang ditunjukkan di bawah ini untuk menghapus kait. Jangan lepaskan kait melalui layanan Auto Scaling, karena penghapusan tidak akan dikenali oleh. CodeDeploy 

   `aws deploy update-deployment-group --application-name APPLICATION_NAME --current-deployment-group-name DEPLOYMENT_GROUP_NAME --auto-scaling-groups`

   Setelah menjalankan perintah ini, berikut ini terjadi:

   1. CodeDeploy menghapus registrasi grup Auto Scaling dari grup penerapan.

   1. CodeDeploy menghapus hook siklus hidup Auto Scaling dari grup Auto Scaling.

   1. Karena hook yang menyebabkan penerapan gagal tidak lagi ada, Auto Scaling membatalkan instans EC2 yang ada dan segera meluncurkan yang baru untuk skala ke kapasitas yang diinginkan. Contoh baru harus segera pindah ke `InService` negara bagian. Contoh baru tidak termasuk perangkat lunak.

1. Tunggu instans EC2 memasuki `InService` status. Untuk memverifikasi statusnya, gunakan perintah berikut:

   `aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names ASG_NAME --query AutoScalingGroups[0].Instances[*].LifecycleState`

1. Tambahkan hook kembali ke instans EC2:
**penting**  
Gunakan CodeDeploy perintah yang ditunjukkan di bawah ini untuk menambahkan hook. Jangan gunakan layanan Auto Scaling untuk menambahkan hook, karena penambahan tidak akan dikenali oleh. CodeDeploy 

   `aws deploy update-deployment-group --application-name APPLICATION_NAME --current-deployment-group-name DEPLOYMENT_GROUP_NAME --auto-scaling-groups ASG_NAME`

   Setelah menjalankan perintah ini, berikut ini terjadi:

   1. CodeDeploy menginstal ulang hook siklus hidup Auto Scaling ke instans EC2

   1. CodeDeploy mendaftarkan ulang grup Auto Scaling dengan grup penerapan.

1. Buat penyebaran seluruh armada dengan Amazon S3 atau GitHub revisi yang Anda tahu sehat dan ingin digunakan.

   Misalnya, jika revisi adalah file.zip di bucket Amazon S3 yang `my-revision-bucket` dipanggil dengan kunci objek, masukkan `httpd_app.zip` perintah berikut:

   `aws deploy create-deployment --application-name APPLICATION_NAME --deployment-group-name DEPLOYMENT_GROUP_NAME --revision "revisionType=S3,s3Location={bucket=my-revision-bucket,bundleType=zip,key=httpd_app.zip}"`

   Karena sekarang ada satu `InService` instance dalam grup Auto Scaling, penerapan ini seharusnya berfungsi, dan Anda seharusnya tidak lagi melihat kesalahan *Penerapan gagal karena tidak ada instance yang ditemukan untuk grup penerapan* Anda.

1. Setelah penerapan berhasil, skala grup Auto Scaling Anda kembali ke kapasitas semula, jika sebelumnya Anda menskalakannya:

   `aws autoscaling set-desired-capacity --auto-scaling-group-name ASG_NAME --desired-capacity ORIGINAL_CAPACITY`

**Untuk memperbaiki masalah kebuntuan penerapan (konsol)**

1. (Opsional) Blokir CI/CD pipeline Anda yang menyebabkan CodeDeploy kesalahan sehingga penerapan yang tidak terduga tidak terjadi saat Anda memperbaiki masalah ini.

1. Buka konsol Amazon EC2, dan perhatikan pengaturan kapasitas Auto **Scaling** Desired Anda. Anda mungkin perlu mengurangi angka ini di akhir prosedur ini. Untuk informasi tentang menemukan setelan ini, lihat [Menyetel batas kapasitas pada grup Auto Scaling Anda](https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-capacity-limits.html).

1. Setel jumlah instans EC2 yang diinginkan ke: `1`

   Ini opsional jika kapasitas yang Anda inginkan lebih besar daripada `1` awalnya. Dengan menguranginya menjadi`1`, instance akan membutuhkan lebih sedikit waktu untuk menyediakan dan menerapkan nanti, yang mempercepat pemecahan masalah. Jika **kapasitas Auto Scaling Desired** Anda awalnya disetel ke`0`, Anda harus meningkatkannya. `1` Ini wajib. 
**catatan**  
Langkah-langkah yang tersisa dari prosedur ini mengasumsikan Anda telah mengatur **kapasitas yang diinginkan** Anda`1`.

   1. Buka konsol Amazon EC2 di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), dan pilih Grup **Auto Scaling** dari panel navigasi.

   1. Pilih wilayah yang sesuai.

   1. Pergi ke grup Auto Scaling yang bermasalah.

   1. Di **Detail grup**, pilih **Edit**.

   1. Atur **kapasitas yang diinginkan** ke**1**.

   1. Pilih **Perbarui**.

1. Hapus registrasi grup Auto Scaling dari grup penerapan:
**Awas**  
Sub-langkah berikut akan meluncurkan instans EC2 baru tanpa perangkat lunak di dalamnya. Sebelum menjalankan perintah, pastikan bahwa `InService` instance Auto Scaling yang tidak menjalankan perangkat lunak dapat diterima. Misalnya, pastikan penyeimbang beban yang terkait dengan instance tidak mengirimkan lalu lintas ke host ini tanpa perangkat lunak.

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

   1. Pilih wilayah yang sesuai.

   1. Pada panel navigasi, pilih **Aplikasi**.

   1. Pilih nama CodeDeploy aplikasi Anda.

   1. Pilih nama grup CodeDeploy penyebaran Anda.

   1. Pilih **Edit**.

   1. Dalam **konfigurasi Lingkungan, batalkan** pilihan grup **Amazon EC2 Auto** Scaling.
**catatan**  
Konsol tidak memungkinkan Anda untuk menyimpan konfigurasi jika tidak ada konfigurasi lingkungan yang ditentukan. Untuk melewati pemeriksaan, tambahkan sementara tag `EC2` atau `On-premises` yang Anda tahu tidak akan diselesaikan ke host mana pun. **Untuk menambahkan tag, pilih instans **Amazon EC2 atau Instans** **lokal**, dan tambahkan Tag Kunci atau.** **EC2** **On-premises** Anda dapat membiarkan tag **Value** kosong.

   1. Pilih **Simpan perubahan**.

      Setelah menyelesaikan sub-langkah ini, hal berikut terjadi:

      1. CodeDeploy menghapus registrasi grup Auto Scaling dari grup penerapan.

      1. CodeDeploy menghapus hook siklus hidup Auto Scaling dari grup Auto Scaling.

      1. Karena hook yang menyebabkan penerapan gagal tidak lagi ada, Auto Scaling membatalkan instans EC2 yang ada dan segera meluncurkan yang baru untuk skala ke kapasitas yang diinginkan. Contoh baru harus segera pindah ke `InService` negara bagian. Contoh baru tidak termasuk perangkat lunak.

1. Tunggu instans EC2 memasuki `InService` status. Untuk memverifikasi statusnya:

   1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

   1. Di panel navigasi, pilih **Grup Auto Scaling**.

   1. Pilih grup Auto Scaling Anda.

   1. Di panel konten, pilih tab **Manajemen Instance**.

   1. Di bawah **Instance**, pastikan bahwa kolom **Lifecycle** menunjukkan di **InService**sebelah instance.

1. Daftarkan ulang grup Auto Scaling dengan CodeDeploy grup penyebaran menggunakan metode yang sama yang Anda gunakan untuk menghapusnya:

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

   1. Pilih wilayah yang sesuai.

   1. Pada panel navigasi, pilih **Aplikasi**.

   1. Pilih nama CodeDeploy aplikasi Anda.

   1. Pilih nama grup CodeDeploy penyebaran Anda.

   1. Pilih **Edit**.

   1. Dalam **konfigurasi Lingkungan**, pilih grup **Amazon EC2 Auto** Scaling dan pilih grup Auto Scaling Anda dari daftar.

   1. Di bawah instans **Amazon EC2 atau instans** **Lokal**, temukan tag yang Anda tambahkan dan hapus.

   1. **Hapus centang kotak di samping instans **Amazon EC2** atau Instans lokal.** 

   1. Pilih **Simpan perubahan**. 

   Konfigurasi ini menginstal ulang hook siklus hidup ke grup Auto Scaling.

1. Buat penyebaran seluruh armada dengan Amazon S3 atau GitHub revisi yang Anda tahu sehat dan ingin digunakan. 

   Misalnya, jika revisi adalah file.zip di bucket Amazon S3 yang `my-revision-bucket` dipanggil dengan kunci objek, lakukan hal `httpd_app.zip` berikut:

   1. Di CodeDeploy konsol, di halaman **Deployment Group**, pilih **Create deployment**.

   1. Untuk **jenis Revisi**, pilih **Aplikasi saya disimpan di Amazon** S3.

   1. Untuk **lokasi Revisi**, pilih`s3://my-revision-bucket/httpd_app.zip`.

   1. Untuk **jenis file Revisi**, pilih`.zip`.

   1. Pilih **Buat penerapan**.

   Karena sekarang ada satu `InService` instance dalam grup Auto Scaling, penerapan ini seharusnya berfungsi, dan Anda seharusnya tidak lagi melihat kesalahan *Penerapan gagal karena tidak ada instance yang ditemukan untuk grup penerapan* Anda.

1. Setelah penerapan berhasil, skala grup Auto Scaling Anda kembali ke kapasitas semula, jika sebelumnya Anda menskalakannya:

   1. Buka konsol Amazon EC2 di [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/), dan pilih Grup **Auto Scaling** dari panel navigasi.

   1. Pilih wilayah yang sesuai.

   1. Buka grup Auto Scaling Anda.

   1. Di **Detail grup**, pilih **Edit**.

   1. Atur **kapasitas yang diinginkan** kembali ke nilai aslinya.

   1. Pilih **Perbarui**.

# Kode kesalahan untuk AWS CodeDeploy
<a name="error-codes"></a>

Topik ini memberikan informasi referensi tentang CodeDeploy kesalahan.


****  

| Kode Kesalahan | Deskripsi | 
| --- | --- | 
| `AGENT_ISSUE` |  Penerapan gagal karena masalah dengan CodeDeploy agen. Pastikan agen diinstal dan berjalan pada semua instance dalam grup penyebaran ini. Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 
| `AUTO_SCALING_IAM_ROLE_PERMISSIONS` |  Peran layanan yang terkait dengan grup penyebaran Anda tidak memiliki izin yang diperlukan untuk melakukan operasi di AWS layanan berikut. Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 
| `HEALTH_CONSTRAINTS` |  Penerapan keseluruhan gagal karena terlalu banyak instance individual gagal penerapan, terlalu sedikit instance sehat yang tersedia untuk penerapan, atau beberapa instance dalam grup penerapan Anda mengalami masalah. Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 
| `HEALTH_CONSTRAINTS_INVALID` |  Penerapan tidak dapat dimulai karena jumlah minimum instance sehat, seperti yang ditentukan oleh konfigurasi penerapan Anda, tidak tersedia. Anda dapat mengurangi jumlah instans sehat yang diperlukan dengan memperbarui konfigurasi penerapan atau menambah jumlah instance dalam grup penerapan ini.  Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 
| `IAM_ROLE_MISSING` |  Penerapan gagal karena tidak ada peran layanan dengan nama peran layanan yang ditentukan untuk grup penerapan. Pastikan Anda menggunakan nama peran layanan yang benar.  Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 
| `IAM_ROLE_PERMISSIONS` |  CodeDeploy tidak memiliki izin yang diperlukan untuk mengambil peran, atau peran IAM yang Anda gunakan tidak memberi Anda izin untuk melakukan operasi di layanan. AWS  Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 
| `NO_INSTANCES` |   Ini mungkin disebabkan oleh salah satu dari berikut ini.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html) Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 
| `OVER_MAX_INSTANCES` |  Penerapan gagal karena lebih banyak instance yang ditargetkan untuk penerapan daripada yang diizinkan untuk akun Anda. Untuk mengurangi jumlah instance yang ditargetkan untuk penerapan ini, perbarui setelan tag untuk grup penerapan ini atau hapus beberapa instance yang ditargetkan. Atau, Anda dapat menghubungi AWS Dukungan untuk meminta kenaikan batas. Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 
| `THROTTLED` |  Penerapan gagal karena lebih banyak permintaan dibuat daripada yang diizinkan AWS CodeDeploy oleh peran IAM. Coba kurangi jumlah permintaan. Pelajari selengkapnya:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 
| `UNABLE_TO_SEND_ASG` |  Penerapan gagal karena grup penerapan tidak dikonfigurasi dengan benar dengan grup Amazon Auto EC2 Scaling. Di CodeDeploy konsol, hapus grup Amazon EC2 Auto Scaling dari grup penerapan, lalu tambahkan lagi. Pelajari selengkapnya: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/codedeploy/latest/userguide/error-codes.html)  | 

## Topik terkait
<a name="error-codes-related-topics"></a>

[Pemecahan masalah CodeDeploy](troubleshooting.md)