

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

# Panduan Debugging dan Pemecahan Masalah
<a name="troubleshoot"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Jika Anda perlu men-debug resep atau memecahkan masalah layanan, pendekatan terbaik umumnya adalah bekerja melalui langkah-langkah berikut, secara berurutan:

1. [Masalah Debugging dan Pemecahan Masalah Umum](common-issues.md)Periksa masalah spesifik Anda.

1. Cari [Forum OpsWorks Stacks](https://forums.aws.amazon.com/forum.jspa?forumID=153#) untuk melihat apakah masalah telah dibahas di sana.

   Forum ini mencakup banyak pengguna berpengalaman dan dipantau oleh tim OpsWorks Stacks.

1. Untuk masalah dengan resep, lihat[Resep Debugging](troubleshoot-debug.md). 

1. Hubungi dukungan OpsWorks Stacks atau posting masalah Anda di [OpsWorks Stacks Forum](https://forums.aws.amazon.com/forum.jspa?forumID=153#).

Bagian berikut memberikan panduan untuk debugging resep. Bagian terakhir menjelaskan masalah debugging dan pemecahan masalah umum dan solusinya.

**catatan**  
Setiap Chef run menghasilkan log, yang memberikan deskripsi rinci tentang proses dan merupakan sumber pemecahan masalah yang berharga. Untuk menentukan jumlah detail dalam log, tambahkan [https://docs.chef.io/resource_log.html](https://docs.chef.io/resource_log.html)pernyataan ke resep kustom yang menentukan tingkat log yang diinginkan. Nilai default-nya adalah `:info`. Contoh berikut menunjukkan cara mengatur level log Chef ke`:debug`, yang memberikan deskripsi paling rinci tentang proses.   

```
Chef::Log.level = :debug
```
Untuk informasi selengkapnya tentang melihat dan menafsirkan log Chef, lihat[Log Koki](troubleshoot-debug-log.md).

**Topics**
+ [Resep Debugging](troubleshoot-debug.md)
+ [Masalah Debugging dan Pemecahan Masalah Umum](common-issues.md)

# Resep Debugging
<a name="troubleshoot-debug"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Ketika peristiwa siklus hidup terjadi, atau Anda menjalankan [perintah tumpukan Execute Recipes](workingstacks-commands.md), OpsWorks Stacks mengeluarkan perintah ke [agen](troubleshoot-debug-cli.md) untuk memulai menjalankan [Chef Solo pada instance yang ditentukan untuk menjalankan](https://docs.chef.io/ctl_chef_solo.html) resep yang sesuai, termasuk resep kustom Anda. Bagian ini menjelaskan beberapa cara agar Anda dapat men-debug resep yang gagal.

**Topics**
+ [Masuk ke Instance Gagal](troubleshoot-debug-login.md)
+ [Log Koki](troubleshoot-debug-log.md)
+ [Menggunakan OpsWorks Stacks Agent CLI](troubleshoot-debug-cli.md)

# Masuk ke Instance Gagal
<a name="troubleshoot-debug-login"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Jika resep gagal, instance akan berakhir di `setup_failed` negara bagian alih-alih online. Meskipun instance tidak online sejauh menyangkut OpsWorks Stacks, EC2 instance sedang berjalan dan seringkali berguna untuk masuk untuk memecahkan masalah. Misalnya, Anda dapat memeriksa apakah aplikasi atau buku masak khusus diinstal dengan benar. Dukungan bawaan OpsWorks Stacks untuk login [SSH](workinginstances-ssh.md) dan [RDP](workinginstances-rdp.md) hanya tersedia untuk instance dalam status online. Namun, jika Anda telah menetapkan key pair SSH ke instance, Anda masih dapat masuk, sebagai berikut:
+ Instance Linux — Gunakan kunci pribadi pasangan kunci SSH untuk masuk dengan klien SSH pihak ketiga, seperti OpenSSH atau PutTY.

  Anda dapat menggunakan EC2 key pair atau [key pair SSH pribadi](security-ssh-access.md) Anda untuk tujuan ini.
+ Instans Windows — Gunakan EC2 kunci pribadi pasangan kunci untuk mengambil kata sandi Administrator instans.

  Gunakan kata sandi itu untuk masuk dengan Klien RDP pilihan Anda. Untuk informasi selengkapnya, lihat [Masuk Sebagai Administrator](workinginstances-rdp.md#workinginstances-rdp-admin). Anda tidak dapat menggunakan [key pair SSH pribadi](security-ssh-access.md) untuk mengambil kata sandi Administrator.

# Log Koki
<a name="troubleshoot-debug-log"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Log koki adalah salah satu sumber pemecahan masalah utama Anda, terutama untuk men-debug resep. OpsWorks Stacks menangkap log Chef untuk setiap perintah, dan mempertahankan log untuk 30 perintah terbaru instans. Karena run dalam mode debug, log berisi deskripsi rinci tentang Chef run, termasuk teks yang dikirim ke `stdout` dan`stderror`. Jika resep gagal, log menyertakan jejak tumpukan Chef.

OpsWorks Tumpukan memberi Anda beberapa cara untuk melihat log Chef. Setelah Anda memiliki informasi log, Anda dapat menggunakannya untuk men-debug resep yang gagal.

**catatan**  
Anda juga dapat melihat ekor log tertentu dengan menggunakan SSH untuk terhubung ke instance dan menjalankan perintah `show_log` CLI agen. Untuk informasi selengkapnya, lihat [Menampilkan Log Chef](troubleshoot-debug-cli.md#troubleshoot-debug-cli-log).

**Topics**
+ [Melihat Log Chef dengan Konsol](#troubleshoot-debug-log-console)
+ [Melihat Log Chef dengan CLI atau API](#troubleshoot-debug-log-cli)
+ [Melihat Log Chef pada Instance](#troubleshoot-debug-log-instance)
+ [Menafsirkan Log Chef](#troubleshoot-debug-log-interpret)
+ [Kesalahan Log Chef Umum](#troubleshoot-debug-log-errors)

## Melihat Log Chef dengan Konsol
<a name="troubleshoot-debug-log-console"></a>

Cara termudah untuk melihat log Chef adalah pergi ke halaman detail instance. Bagian **Log** mencakup entri untuk setiap acara dan perintah [Execute Recipes](workingstacks-commands.md). Berikut ini menunjukkan bagian **Log** instance, dengan perintah **konfigurasi** dan **penyiapan**, yang sesuai dengan peristiwa siklus hidup Konfigurasi dan Pengaturan. 

![\[Logs section showing configure and setup commands with timestamps and durations.\]](http://docs.aws.amazon.com/id_id/opsworks/latest/userguide/images/gs11.png)


Klik **tampilkan** di kolom **Log** perintah yang sesuai untuk melihat log Chef yang sesuai. Jika terjadi kesalahan, OpsWorks Stacks secara otomatis membuka log ke kesalahan, yang biasanya di akhir file.

## Melihat Log Chef dengan CLI atau API
<a name="troubleshoot-debug-log-cli"></a>

Anda dapat menggunakan perintah OpsWorks Stacks [https://docs.aws.amazon.com/cli/latest/reference/opsworks/describe-commands.html](https://docs.aws.amazon.com/cli/latest/reference/opsworks/describe-commands.html)CLI atau [https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeCommands.html](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_DescribeCommands.html)tindakan API untuk melihat log, yang disimpan di bucket Amazon S3. Berikut ini menunjukkan bagaimana menggunakan CLI untuk melihat salah satu set file log saat ini untuk contoh tertentu. Prosedur untuk menggunakan pada `DescribeCommands` dasarnya serupa.

**Untuk menggunakan OpsWorks Stacks untuk melihat log Chef instance**

1. Buka halaman detail instance dan salin nilai **OpsWorksID-nya**.

1. Gunakan nilai ID untuk menjalankan perintah `describe-commands` CLI, sebagai berikut:

   ```
   aws opsworks describe-commands --instance-id 67bf0da2-29ed-4217-990c-d895d51812b9
   ```

   Perintah mengembalikan objek JSON dengan objek tertanam untuk setiap perintah yang telah dieksekusi OpsWorks Stacks pada instance, dengan yang terbaru pertama. `Type`Parameter berisi jenis perintah untuk setiap objek tertanam, `configure` perintah, dan `setup` perintah dalam contoh ini.

   ```
   {
       "Commands": [
           {
               "Status": "successful",
               "CompletedAt": "2013-10-25T19:38:36+00:00",
               "InstanceId": "67bf0da2-29ed-4217-990c-d895d51812b9",
               "AcknowledgedAt": "2013-10-25T19:38:24+00:00",
               "LogUrl": "https://s3.amazonaws.com/prod_stage-log/logs/b6c402df-5c23-45b2-a707-ad20b9c5ae40?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
   &Expires=1382731518&Signature=YkqS5IZN2P4wixjHwoC3aCMbn5s%3D&response-cache-control=private&response-content-encoding=gzip&response-content-
   type=text%2Fplain",
               "Type": "configure",
               "CommandId": "b6c402df-5c23-45b2-a707-ad20b9c5ae40",
               "CreatedAt": "2013-10-25T19:38:11+00:00",
               "ExitCode": 0
           },
           {
               "Status": "successful",
               "CompletedAt": "2013-10-25T19:31:08+00:00",
               "InstanceId": "67bf0da2-29ed-4217-990c-d895d51812b9",
               "AcknowledgedAt": "2013-10-25T19:29:01+00:00",
               "LogUrl": "https://s3.amazonaws.com/prod_stage-log/logs/2a90e862-f974-42a6-9342-9a4f03468358?AWSAccessKeyId=AKIAIOSFODNN7EXAMPLE
   &Expires=1382731518&Signature=cxKYHO8mCCd4MvOyFb6ywebeQtA%3D&response-cache-control=private&response-content-encoding=gzip&response-content-
   type=text%2Fplain",
               "Type": "setup",
               "CommandId": "2a90e862-f974-42a6-9342-9a4f03468358",
               "CreatedAt": "2013-10-25T19:26:01+00:00",
               "ExitCode": 0
           }
       ]
   }
   ```

1. Salin `LogUrl` nilai ke browser Anda untuk melihat log.

Jika instance memiliki lebih dari beberapa perintah, Anda dapat menambahkan parameter `describe-commands` untuk memfilter perintah mana yang disertakan dalam objek respons. Untuk informasi selengkapnya, lihat [mendeskripsikan perintah](https://docs.aws.amazon.com/cli/latest/reference/opsworks/describe-commands.html).

## Melihat Log Chef pada Instance
<a name="troubleshoot-debug-log-instance"></a>

**catatan**  
Topik di bagian ini berlaku untuk Chef 12. Untuk informasi tentang lokasi log Chef untuk Chef 11.10 dan rilis yang lebih lama, lihat [Pemecahan Masalah Chef 11.10 dan Versi Sebelumnya](https://docs.aws.amazon.com/opsworks/latest/userguide/troubleshooting-chef-11-linux.html) untuk Linux.

### Instans Linux
<a name="troubleshoot-debug-log-instance-linux"></a>

OpsWorks Stacks menyimpan log Chef setiap instance di `/var/chef/runs` direktorinya. (Untuk contoh Linux, direktori ini juga menyertakan [kantong data](data-bags.md) terkait, disimpan sebagai file berformat JSON.) Anda memerlukan [hak istimewa sudo](opsworks-security-users.md) untuk mengakses direktori ini. Log untuk setiap proses berada dalam file bernama `chef.log` di dalam subdirektori run individual.

OpsWorks Stacks menyimpan log internalnya di `/var/log/aws/opsworks` folder instance. Informasi ini biasanya tidak terlalu membantu untuk tujuan pemecahan masalah. Namun, log ini berguna untuk dukungan OpsWorks Stacks, dan Anda mungkin diminta untuk menyediakannya jika Anda mengalami masalah dengan layanan. Log Linux juga terkadang dapat memberikan data pemecahan masalah yang berguna.

### Instans Windows
<a name="troubleshoot-debug-log-instance-windows"></a>

**Log Agen**  
Pada instance Windows, OpsWorks log disimpan di `ProgramData` jalur seperti berikut ini. Nomor tersebut termasuk stempel waktu. 

```
C:\ProgramData\OpsWorksAgent\var\logs\number
```

**catatan**  
Secara default, `ProgramData` adalah folder tersembunyi. Untuk menampilkannya, navigasikan ke **Opsi Folder**. Di bawah **View**, pilih opsi untuk menampilkan file tersembunyi.

Contoh berikut menunjukkan log agen pada instance Windows.

```
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
-a---         5/24/2015  11:59 PM     127277 command.20150524.txt
-a---         5/25/2015  11:59 PM     546772 command.20150525.txt
-a---         5/26/2015  11:59 PM     551514 command.20150526.txt
-a---         5/27/2015   9:43 PM     495181 command.20150527.txt
-a---         5/24/2015  11:59 PM      24353 keepalive.20150524.txt
-a---         5/25/2015  11:59 PM     106232 keepalive.20150525.txt
-a---         5/26/2015  11:59 PM     106208 keepalive.20150526.txt
-a---         5/27/2015   8:54 PM      92593 keepalive.20150527.txt
-a---         5/24/2015   7:19 PM       3891 service.20150524.txt
-a---         5/27/2015   8:54 PM       1493 service.20150527.txt
-a---         5/24/2015  11:59 PM     112549 wire.20150524.txt
-a---         5/25/2015  11:59 PM     501501 wire.20150525.txt
-a---         5/26/2015  11:59 PM     499640 wire.20150526.txt
-a---         5/27/2015   8:54 PM     436870 wire.20150527.txt
```

**Log Koki**  
Pada instance Windows, log Chef disimpan di `ProgramData` jalur seperti berikut ini. Nomor tersebut termasuk stempel waktu.

```
C:\ProgramData\OpsWorksAgent\var\commands\number
```

**catatan**  
Direktori ini hanya berisi output dari Chef run pertama (OpsWorks dimiliki).

Contoh berikut menunjukkan log Chef yang OpsWorks dimiliki pada instance Windows.

```
 Mode                LastWriteTime            Name
 ----                -------------            ----
 d----         5/24/2015   7:23 PM            configure-7ecb5f47-7626-439b-877f-5e7cb40ab8be
 d----         5/26/2015   8:30 PM            configure-8e74223b-d15d-4372-aeea-a87b428ffc2b
 d----         5/24/2015   6:34 PM            configure-c3980a1c-3d08-46eb-9bae-63514cee194b
 d----         5/26/2015   8:32 PM            grant_remote_access-70dbf834-1bfa-4fce-b195-e50e85402f4c
 d----         5/26/2015  10:30 PM            revoke_remote_access-1111fce9-843a-4b27-b93f-ecc7c5e9e05b
 d----         5/24/2015   7:21 PM            setup-754ec063-8b60-4cd4-b6d7-0e89d7b7aa78
 d----         5/26/2015   8:27 PM            setup-af5bed36-5afd-4115-af35-5766f88bc039
 d----         5/24/2015   6:32 PM            setup-d8abeffa-24d4-414b-bfb1-4ad07319f358
 d----         5/24/2015   7:13 PM            shutdown-c7130435-9b5c-4a95-be17-6b988fc6cf9a
 d----         5/26/2015   8:25 PM            sync_remote_users-64c79bdc-1f6f-4517-865b-23d2def4180c
 d----         5/26/2015   8:48 PM            update_custom_cookbooks-2cc59a94-315b-414d-85eb-2bdea6d76c6a
```

**Log Chef Pengguna**  
Log untuk menjalankan Chef Anda dapat ditemukan dalam file bernama `logfile.txt` dalam folder yang dinamai sesuai perintah Chef bernomor, seperti pada diagram berikut.

 C: /koki ---------------- `runs` - `command-12345` `attribs.json` `client.rb` `logfile.txt` 

## Menafsirkan Log Chef
<a name="troubleshoot-debug-log-interpret"></a>

Awal log sebagian besar berisi logging Chef internal.

```
# Logfile created on Thu Oct 17 17:25:12 +0000 2013 by logger.rb/1.2.6
[2013-10-17T17:25:12+00:00] INFO: *** Chef 11.4.4 ***
[2013-10-17T17:25:13+00:00] DEBUG: Building node object for php-app1.localdomain
[2013-10-17T17:25:13+00:00] DEBUG: Extracting run list from JSON attributes provided on command line
[2013-10-17T17:25:13+00:00] INFO: Setting the run_list to ["opsworks_custom_cookbooks::load", "opsworks_custom_cookbooks::execute"] from JSON
[2013-10-17T17:25:13+00:00] DEBUG: Applying attributes from json file
[2013-10-17T17:25:13+00:00] DEBUG: Platform is amazon version 2013.03
[2013-10-17T17:25:13+00:00] INFO: Run List is [recipe[opsworks_custom_cookbooks::load], recipe[opsworks_custom_cookbooks::execute]]
[2013-10-17T17:25:13+00:00] INFO: Run List expands to [opsworks_custom_cookbooks::load, opsworks_custom_cookbooks::execute]
[2013-10-17T17:25:13+00:00] INFO: Starting Chef Run for php-app1.localdomain
[2013-10-17T17:25:13+00:00] INFO: Running start handlers
[2013-10-17T17:25:13+00:00] INFO: Start handlers complete.
[2013-10-17T17:25:13+00:00] DEBUG: No chefignore file found at /opt/aws/opsworks/releases/20131015111601_209/cookbooks/chefignore no files will be ignored
[2013-10-17T17:25:13+00:00] DEBUG: Cookbooks to compile: ["gem_support", "packages", "opsworks_bundler", "opsworks_rubygems", "ruby", "ruby_enterprise", "dependencies", "opsworks_commons", "scm_helper", :opsworks_custom_cookbooks]
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook gem_support's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/gem_support/libraries/current_gem_version.rb
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook packages's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/packages/libraries/packages.rb
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook dependencies's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/dependencies/libraries/current_gem_version.rb
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook opsworks_commons's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/opsworks_commons/libraries/activesupport_blank.rb
[2013-10-17T17:25:13+00:00] DEBUG: Loading cookbook opsworks_commons's library file: /opt/aws/opsworks/releases/20131015111601_209/cookbooks/opsworks_commons/libraries/monkey_patch_chefgem_resource.rb
...
```

Bagian dari file ini sangat berguna bagi para ahli Chef. Perhatikan bahwa daftar run hanya mencakup dua resep, meskipun sebagian besar perintah melibatkan lebih banyak lagi. Kedua resep ini menangani tugas memuat dan mengeksekusi semua resep bawaan dan khusus lainnya.

Bagian yang paling menarik dari file biasanya di bagian akhir. Jika run berakhir dengan sukses, Anda akan melihat sesuatu seperti berikut:

```
...
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: STDERR: 
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: ---- End output of /sbin/service mysqld restart ----
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: Ran /sbin/service mysqld restart returned 0
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: service[mysql]: restarted successfully
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: Chef Run complete in 84.07096 seconds
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: cleaning the checksum cache
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: removing unused checksum cache file /var/chef/cache/checksums/chef-file--tmp-chef-rendered-template20130611-4899-8wef7e-0
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: removing unused checksum cache file /var/chef/cache/checksums/chef-file--tmp-chef-rendered-template20130611-4899-1xpwyb6-0
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: removing unused checksum cache file /var/chef/cache/checksums/chef-file--etc-monit-conf
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: Running report handlers
[Tue, 11 Jun 2013 16:00:50 +0000] INFO: Report handlers complete
[Tue, 11 Jun 2013 16:00:50 +0000] DEBUG: Exiting
```

**catatan**  
Anda dapat menggunakan agen CLI untuk menampilkan ekor log selama atau setelah dijalankan. Untuk informasi selengkapnya, lihat [Menampilkan Log Chef](troubleshoot-debug-cli.md#troubleshoot-debug-cli-log).

Jika resep gagal, Anda harus mencari output tingkat Kesalahan, yang akan berisi pengecualian diikuti oleh jejak tumpukan Chef, seperti berikut ini:

```
...
Please report any problems with the /usr/scripts/mysqlbug script!

[  OK  ]
MySQL Daemon failed to start.
Starting mysqld:  [FAILED]STDERR: 130611 15:07:55 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.
130611 15:07:56 [Warning] The syntax '--log-slow-queries' is deprecated and will be removed in a future release. Please use '--slow-query-log'/'--slow-query-log-file' instead.
---- End output of /sbin/service mysqld start ----

/opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/mixin/command.rb:184:in `handle_command_failures'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/mixin/command.rb:131:in `run_command'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/provider/service/init.rb:37:in `start_service'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/provider/service.rb:60:in `action_start'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource.rb:406:in `send'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource.rb:406:in `run_action'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:53:in `run_action'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:89:in `converge'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:89:in `each'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:89:in `converge'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection.rb:94:in `execute_each_resource'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:116:in `call_iterator_block'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:85:in `step'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:104:in `iterate'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection/stepable_iterator.rb:55:in `each_with_index'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/resource_collection.rb:92:in `execute_each_resource'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/runner.rb:84:in `converge'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/client.rb:268:in `converge'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/client.rb:158:in `run'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application/solo.rb:190:in `run_application'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application/solo.rb:181:in `loop'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application/solo.rb:181:in `run_application'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/../lib/chef/application.rb:62:in `run'
  /opt/aws/opsworks/releases/20130605160141_122/vendor/bundle/ruby/1.8/gems/chef-0.9.15.5/bin/chef-solo:25
  /opt/aws/opsworks/current/bin/chef-solo:16:in `load'
  /opt/aws/opsworks/current/bin/chef-solo:16
```

Akhir file adalah jejak tumpukan Chef. Anda juga harus memeriksa output tepat sebelum pengecualian, yang sering berisi kesalahan sistem seperti `package not available` yang juga dapat berguna dalam menentukan penyebab kegagalan. Dalam hal ini, daemon MySQL gagal memulai.

## Kesalahan Log Chef Umum
<a name="troubleshoot-debug-log-errors"></a>

Berikut ini adalah beberapa kesalahan log Chef yang umum, dan cara mengatasinya.

Log tidak dapat ditemukan  
Pada awal menjalankan Chef, instance menerima URL Amazon S3 yang telah ditetapkan sebelumnya yang memungkinkan Anda melihat log di halaman web saat Chef run selesai. Karena URL ini kedaluwarsa setelah dua jam, tidak ada log yang diunggah ke situs Amazon S3 jika Chef menjalankan membutuhkan waktu lebih dari dua jam, bahkan jika tidak ada masalah yang terjadi selama Chef menjalankan. Perintah untuk membuat log berhasil, tetapi log hanya dapat dilihat pada instance, bukan pada URL yang telah ditentukan sebelumnya.

Log berakhir tiba-tiba  
Jika log Chef berakhir tiba-tiba tanpa menunjukkan keberhasilan atau menampilkan informasi kesalahan, Anda mungkin mengalami status memori rendah yang mencegah Chef menyelesaikan log. Pilihan terbaik Anda adalah mencoba lagi dengan contoh yang lebih besar.

Buku masak atau resep yang hilang  
Jika Chef run menemukan buku masak atau resep yang tidak ada dalam cache buku masak, Anda akan melihat sesuatu seperti berikut:  

```
DEBUG: Loading Recipe mycookbook::myrecipe via include_recipe  
ERROR: Caught exception during execution of custom recipe: mycookbook::myrecipe:
   Cannot find a cookbook named mycookbook; did you forget to add metadata to a cookbook?
```
Entri ini menunjukkan bahwa `mycookbook` buku masak tidak ada dalam cache buku masak. Dengan Chef 11.4, Anda juga dapat mengalami kesalahan ini jika Anda tidak mendeklarasikan dependensi dengan benar. `metadata.rb`  
OpsWorks Stacks menjalankan resep dari cache buku masak instance. Ini mengunduh buku masak dari repositori Anda ke cache ini saat instance dimulai. Namun, OpsWorks Stacks tidak secara otomatis memperbarui cache pada instance online jika Anda kemudian memodifikasi buku masak di repositori Anda. Jika Anda telah memodifikasi buku masak Anda atau menambahkan buku masak baru sejak memulai instance, ambil langkah-langkah berikut:  

1. Pastikan bahwa Anda telah melakukan perubahan Anda ke repositori.

1. Jalankan [perintah tumpukan Update Cookbooks](workingstacks-commands.md) untuk memperbarui cache buku masak dengan versi terbaru dari repositori.

Kegagalan perintah lokal  
Jika `execute` sumber daya Chef gagal menjalankan perintah yang ditentukan, Anda akan melihat sesuatu seperti berikut:  

```
DEBUG: ---- End output of ./configure --with-config-file-path=/ returned 2 
ERROR: execute[PHP: ./configure] (/root/opsworks-agent/site-cookbooks/php-fpm/recipes/install.rb line 48) had an error:
   ./configure --with-config-file-path=/
```
Gulir ke atas di log dan Anda akan melihat perintah `stderr` dan `stdout` output, yang akan membantu Anda menentukan mengapa perintah gagal.

Kegagalan Package  
Jika instalasi paket gagal, Anda akan melihat sesuatu seperti berikut:  

```
ERROR: package[zend-server-ce-php-5.3] (/root/opsworks-agent/site-cookbooks/zend_server/recipes/install.rb line 20)
   had an error: apt-get -q -y --force-yes install zend-server-ce-php-5.3=5.0.4+b17 returned 100, expected 0
```
Gulir ke atas di log dan Anda akan melihat output STDOUT dan STDERROR perintah, yang akan membantu Anda menentukan mengapa instalasi paket gagal.

# Menggunakan OpsWorks Stacks Agent CLI
<a name="troubleshoot-debug-cli"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

**catatan**  
Agen CLI hanya tersedia di instance Linux.

Pada setiap contoh online, OpsWorks Stacks menginstal agen, yang berkomunikasi dengan layanan. Layanan OpsWorks Stacks pada gilirannya mengirimkan perintah ke agen untuk melakukan tugas-tugas seperti memulai Chef berjalan pada instance ketika peristiwa siklus hidup terjadi. Pada instance Linux, agen mengekspos antarmuka baris perintah (CLI) yang sangat berguna untuk pemecahan masalah. Untuk menjalankan perintah CLI agen, gunakan [SSH untuk terhubung ke sebuah instance](workinginstances-ssh.md). Anda kemudian dapat menjalankan perintah CLI agen untuk melakukan berbagai tugas, termasuk yang berikut ini: 
+ Jalankan resep.
+ Tampilkan log Chef.
+ Menampilkan [konfigurasi tumpukan dan penerapan JSON](workingcookbook-json.md).

Untuk informasi selengkapnya tentang cara mengatur koneksi SSH ke sebuah instance, lihat[Login dengan SSH](workinginstances-ssh.md). Anda juga harus memiliki [izin SSH dan sudo](opsworks-security-users.md) untuk tumpukan.

Bagian ini menjelaskan cara menggunakan agen CLI untuk pemecahan masalah. Untuk informasi selengkapnya dan referensi perintah lengkap, lihat[OpsWorks Agen Tumpukan CLI](agent.md).

**Topics**
+ [Mengeksekusi Resep](#troubleshoot-debug-cli-recipes)
+ [Menampilkan Log Chef](#troubleshoot-debug-cli-log)
+ [Menampilkan Konfigurasi Stack dan Deployment JSON](#troubleshoot-debug-cli-json)

## Mengeksekusi Resep
<a name="troubleshoot-debug-cli-recipes"></a>

[`run_command`](agent-run.md)Perintah agen CLI mengarahkan agen untuk menjalankan kembali perintah yang dilakukan sebelumnya. Perintah yang paling berguna untuk pemecahan masalah—`setup`,, `configure``deploy`, dan `undeploy` —masing-masing sesuai dengan peristiwa siklus hidup. Mereka mengarahkan agen untuk memulai lari Chef untuk mengeksekusi resep terkait.

**catatan**  
`run_command`Perintah ini terbatas untuk mengeksekusi kelompok resep yang dikaitkan dengan perintah tertentu, biasanya resep yang terkait dengan peristiwa siklus hidup. Anda tidak dapat menggunakannya untuk mengeksekusi resep tertentu. Untuk menjalankan satu atau beberapa resep yang ditentukan, gunakan [perintah tumpukan Execute Recipes](workingstacks-commands.md) atau CLI yang setara atau tindakan API ([https://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html](https://docs.aws.amazon.com/cli/latest/reference/opsworks/create-deployment.html)dan [https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateDeployment.html](https://docs.aws.amazon.com/opsworks/latest/APIReference/API_CreateDeployment.html)).

`run_command`Perintah ini cukup berguna untuk men-debug resep khusus, terutama resep yang ditetapkan ke peristiwa siklus hidup Pengaturan dan Konfigurasi, yang tidak dapat Anda picu langsung dari konsol. Dengan menggunakan`run_command`, Anda dapat menjalankan resep acara tertentu sesering yang Anda butuhkan tanpa harus memulai atau menghentikan instance.

**catatan**  
OpsWorks Stacks menjalankan resep dari cache buku masak instance, bukan repositori buku masak. OpsWorks Tumpukan mengunduh buku masak ke cache ini saat instance dimulai, tetapi tidak secara otomatis memperbarui cache pada instance online jika Anda kemudian memodifikasi buku masak Anda. Jika Anda telah memodifikasi buku masak Anda sejak memulai instance, pastikan untuk menjalankan [perintah tumpukan perintah Update Cookbooks](workingstacks-commands.md) stack untuk memperbarui cache buku masak dengan versi terbaru dari repositori.

Agen hanya menyimpan perintah terbaru. Anda dapat mencantumkannya dengan menjalankan [`list_commands`](agent-list.md), yang mengembalikan daftar perintah yang di-cache dan waktu dilakukannya.

```
sudo opsworks-agent-cli list_commands
2013-02-26T19:08:26        setup
2013-02-26T19:12:01        configure
2013-02-26T19:12:05        configure
2013-02-26T19:22:12        deploy
```

Untuk menjalankan kembali perintah terbaru, jalankan ini:

```
sudo opsworks-agent-cli run_command
```

Untuk menjalankan kembali instance terbaru dari perintah tertentu, jalankan ini:

```
sudo opsworks-agent-cli run_command command
```

Misalnya, untuk menjalankan kembali resep Setup, Anda dapat menjalankan perintah berikut:

```
sudo opsworks-agent-cli run_command setup
```

Setiap perintah memiliki [konfigurasi tumpukan terkait dan penerapan JSON](workingcookbook-json.md) yang mewakili status tumpukan dan penerapan pada saat perintah dijalankan. Karena data itu dapat berubah dari satu perintah ke perintah berikutnya, instance perintah yang lebih lama mungkin menggunakan data yang agak berbeda dari yang terbaru. Untuk menjalankan kembali instance tertentu dari sebuah perintah, salin waktu dari `list_commands` output dan jalankan yang berikut:

```
sudo opsworks-agent-cli run_command time
```

Contoh sebelumnya semua menjalankan kembali perintah menggunakan JSON default, yang merupakan JSON diinstal untuk perintah itu. Anda dapat menjalankan kembali perintah terhadap file JSON arbitrer sebagai berikut:

```
sudo opsworks-agent-cli run_command -f /path/to/valid/json.file
```

## Menampilkan Log Chef
<a name="troubleshoot-debug-cli-log"></a>

[`show_log`](agent-show.md)Perintah agen CLI menampilkan log tertentu. Setelah perintah selesai, Anda akan melihat akhir file. Oleh karena itu `show_log` perintah menyediakan cara yang mudah untuk mengekor log, yang biasanya di mana Anda menemukan informasi kesalahan. Anda dapat menggulir ke atas untuk melihat bagian log sebelumnya.

Untuk menampilkan log perintah saat ini, jalankan ini:

```
sudo opsworks-agent-cli show_log
```

Anda juga dapat menampilkan log untuk perintah tertentu, tetapi perlu diketahui bahwa agen cache log hanya untuk tiga puluh perintah terakhir. Anda dapat membuat daftar perintah instance dengan menjalankan [`list_commands`](agent-list.md), yang mengembalikan daftar perintah yang di-cache dan waktu dilakukannya. Sebagai contoh, lihat [Mengeksekusi Resep](#troubleshoot-debug-cli-recipes).

Untuk menampilkan log untuk eksekusi terbaru dari perintah tertentu, jalankan yang berikut ini:

```
sudo opsworks-agent-cli show_log command
```

Parameter perintah dapat diatur ke`setup`,`configure`,`deploy`,`undeploy`,`start`,`stop`, atau`restart`. Sebagian besar perintah ini sesuai dengan peristiwa siklus hidup dan mengarahkan agen untuk menjalankan resep terkait.

Untuk menampilkan log untuk eksekusi perintah tertentu, salin tanggal dari `list_commands` output dan jalankan:

```
sudo opsworks-agent-cli show_log date
```

Jika perintah masih dijalankan, `show_log` menampilkan status log saat ini.

**catatan**  
Salah satu cara yang digunakan `show_log` untuk memecahkan masalah kesalahan dan out-of-memory masalah adalah dengan mengekor log selama eksekusi, sebagai berikut:  
Gunakan `run_command` untuk memicu peristiwa siklus hidup yang sesuai. Untuk informasi selengkapnya, lihat [Mengeksekusi Resep](#troubleshoot-debug-cli-recipes).
Berulang kali berlari `show_log` untuk melihat ekor log saat sedang ditulis.
Jika Chef kehabisan memori atau keluar secara tak terduga, log akan berakhir tiba-tiba. Jika resep gagal, log akan berakhir dengan pengecualian dan jejak tumpukan. 

## Menampilkan Konfigurasi Stack dan Deployment JSON
<a name="troubleshoot-debug-cli-json"></a>

Sebagian besar data yang digunakan oleh resep berasal dari [konfigurasi tumpukan dan penerapan JSON](workingcookbook-json.md), yang mendefinisikan satu set atribut Chef yang memberikan deskripsi rinci tentang konfigurasi tumpukan, penerapan apa pun, dan atribut kustom opsional yang dapat ditambahkan pengguna. Untuk setiap perintah, OpsWorks Stacks menginstal JSON yang mewakili status tumpukan dan penerapan pada saat perintah. Untuk informasi selengkapnya, lihat [Konfigurasi Stack dan Atribut Deployment](workingcookbook-json.md).

Jika resep kustom Anda memperoleh data dari konfigurasi tumpukan dan penerapan JSON, Anda dapat memverifikasi data dengan memeriksa JSON. Cara termudah untuk menampilkan konfigurasi tumpukan dan penyebaran JSON adalah dengan menjalankan [`get_json`](agent-json.md)perintah agen CLI, yang menampilkan versi diformat dari objek JSON. Berikut ini menunjukkan beberapa baris pertama dari beberapa output tipikal:

```
{
  "opsworks": {
    "layers": {
      "php-app": {
        "id": "4a2a56c8-f909-4b39-81f8-556536d20648",
        "instances": {
          "php-app2": {
            "elastic_ip": null,
            "region": "us-west-2",
            "booted_at": "2013-02-26T20:41:10+00:00",
            "ip": "10.112.235.192",
            "aws_instance_id": "i-34037f06",
            "availability_zone": "us-west-2a",
            "instance_type": "c1.medium",
            "private_dns_name": "ip-10-252-0-203.us-west-2.compute.internal",
            "private_ip": "10.252.0.203",
            "created_at": "2013-02-26T20:39:39+00:00",
            "status": "online",
            "backends": 8,
            "public_dns_name": "ec2-10-112-235-192.us-west-2.compute.amazonaws.com"
...
```

Anda dapat menampilkan konfigurasi tumpukan terbaru dan penyebaran JSON sebagai berikut:

```
sudo opsworks-agent-cli get_json
```

Anda dapat menampilkan konfigurasi tumpukan terbaru dan penyebaran JSON untuk perintah tertentu dengan menjalankan yang berikut:

```
sudo opsworks-agent-cli get_json command
```

Parameter perintah dapat diatur ke`setup`,`configure`,`deploy`,`undeploy`,`start`,`stop`, atau`restart`. Sebagian besar perintah ini sesuai dengan peristiwa siklus hidup dan mengarahkan agen untuk menjalankan resep terkait.

Anda dapat menampilkan konfigurasi tumpukan dan penerapan JSON untuk eksekusi perintah tertentu dengan menentukan tanggal perintah seperti ini:

```
sudo opsworks-agent-cli get_json date
```

Cara paling sederhana untuk menggunakan perintah ini adalah sebagai berikut:

1. Jalankan`list_commands`, yang mengembalikan daftar perintah yang telah dijalankan pada instance, dan tanggal setiap perintah dijalankan.

1. Salin tanggal untuk perintah yang sesuai dan gunakan sebagai `get_json` *date* argumen.

# Masalah Debugging dan Pemecahan Masalah Umum
<a name="common-issues"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Bagian ini menjelaskan beberapa masalah debugging dan pemecahan masalah yang umum ditemui serta solusinya.

**Topics**
+ [Pemecahan Masalah Tumpukan OpsWorks](common-issues-troubleshoot.md)
+ [Pemecahan Masalah Pendaftaran Instans](#common-issues-instance-registration)

# Pemecahan Masalah Tumpukan OpsWorks
<a name="common-issues-troubleshoot"></a>

**penting**  
 AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Dukungan Tim di [AWS re:Post](https://repost.aws/) atau melalui [AWS Dukungan](https://aws.amazon.com/support) Premium.

Bagian ini berisi beberapa masalah OpsWorks Stacks yang umum ditemui dan solusinya.

**Topics**
+ [Tidak Dapat Mengelola Instance](#w2ab1c14c77c17b9b9)
+ [Setelah Chef Run, Instance Tidak Akan Boot](#w2ab1c14c77c17b9c11)
+ [Contoh Lapisan Semua Gagal Pemeriksaan Kesehatan Elastic Load Balancing](#common-issues-troubleshoot-health)
+ [Tidak Dapat Berkomunikasi dengan Load Balancer Elastic Load Balancing](#w2ab1c14c77c17b9c15)
+ [Instance Lokal yang Diimpor Gagal Menyelesaikan Pengaturan Volume Setelah Mulai Ulang](#w2ab1c14c77c17b9c17)
+ [Volume EBS Tidak Terpasang Kembali Setelah Reboot](#common-issues-troubleshoot-ebs)
+ [Tidak Dapat Menghapus OpsWorks Grup Keamanan Stacks](#common-issues-troubleshoot-booting-secgroup)
+ [Tidak Sengaja Menghapus Grup Keamanan OpsWorks Stacks](#common-issues-troubleshoot-booting-secgroup-delete)
+ [Chef Log Berakhir Tiba-tiba](#common-issues-troubleshoot-log-terminates)
+ [Cookbook Tidak Diperbarui](#common-issues-troubleshoot-update)
+ [Instance Terjebak di Status Booting](#common-issues-troubleshoot-booting)
+ [Instans Secara Tak Terduga Mulai Ulang](#common-issues-troubleshoot-restart)
+ [`opsworks-agent`Proses Berjalan pada Instance](#common-issues-troubleshoot-agent)
+ [Perintah execute\$1recipes yang tidak terduga](#common-issues-troubleshoot-unexpected)

## Tidak Dapat Mengelola Instance
<a name="w2ab1c14c77c17b9b9"></a>

**Masalah:** Anda tidak lagi dapat mengelola instance yang telah dikelola di masa lalu. Dalam beberapa kasus, log dapat menunjukkan kesalahan yang mirip dengan yang berikut ini.

```
Aws::CharlieInstanceService::Errors::UnrecognizedClientException - The security token included in the request is invalid.
```

**Penyebab:** Ini dapat terjadi jika sumber daya OpsWorks di luar tempat instance bergantung telah diedit atau dihapus. Berikut ini adalah contoh perubahan sumber daya yang dapat memutus komunikasi dengan sebuah instance.
+ Pengguna IAM atau peran yang terkait dengan instance telah dihapus secara tidak sengaja, di luar OpsWorks Stacks. Hal ini menyebabkan kegagalan komunikasi antara OpsWorks agen yang diinstal pada instance, dan layanan OpsWorks Stacks. Pengguna yang terkait dengan instance diperlukan sepanjang umur instance.
+ Mengedit konfigurasi volume atau penyimpanan saat instance offline dapat membuat instance tidak dapat dikelola.
+ Menambahkan EC2 instance ke ELB secara manual. OpsWorks mengonfigurasi ulang penyeimbang beban Elastic Load Balancing yang ditetapkan setiap kali instance masuk atau keluar dari status online. OpsWorks hanya menganggap contoh yang diketahuinya akan menjadi anggota yang valid; contoh yang ditambahkan di luar OpsWorks, atau oleh beberapa proses lain, dihapus. Setiap contoh lainnya dihapus.

**Solusi:** Jangan hapus pengguna IAM atau peran yang menjadi sandaran instans Anda. Jika memungkinkan, edit konfigurasi volume atau penyimpanan hanya saat instance dependen sedang berjalan. Gunakan OpsWorks untuk mengelola load balancer atau keanggotaan EIP instance. OpsWorks Saat Anda mendaftarkan instance, untuk membantu mencegah masalah dalam mengelola instance terdaftar jika pengguna terhapus secara tidak sengaja, tambahkan `--use-instance-profile` parameter ke `register` perintah Anda untuk menggunakan profil instans bawaan instans sebagai gantinya.

## Setelah Chef Run, Instance Tidak Akan Boot
<a name="w2ab1c14c77c17b9c11"></a>

**Masalah:** Pada Chef 11.10 atau tumpukan yang lebih lama yang dikonfigurasi untuk menggunakan buku masak khusus, setelah Chef menjalankan yang menggunakan buku masak komunitas, instance tidak akan boot. Pesan log dapat menyatakan bahwa resep gagal dikompilasi (“Kesalahan Kompilasi Resep”), atau tidak dapat dimuat karena tidak dapat menemukan ketergantungan.

**Penyebab: Penyebab** yang paling mungkin adalah buku masak kustom atau komunitas tidak mendukung versi Chef yang digunakan tumpukan Anda. Beberapa buku masak komunitas populer, seperti `[apt](https://supermarket.chef.io/cookbooks/apt)` dan`[build-essential](https://supermarket.chef.io/cookbooks/build-essential/versions/3.2.0)`, telah mengetahui masalah kompatibilitas dengan Chef 11.10.

**Solusi:** Pada OpsWorks tumpukan Tumpukan yang mengaktifkan pengaturan **Gunakan buku masak Chef kustom, buku masak** khusus atau komunitas harus selalu mendukung versi Chef yang digunakan tumpukan Anda. Sematkan buku masak komunitas ke versi (yaitu, atur nomor versi buku masak ke versi tertentu) yang kompatibel dengan versi Chef yang dikonfigurasi dalam pengaturan tumpukan Anda. Untuk menemukan versi buku masak komunitas yang didukung, lihat changelog untuk buku masak yang gagal dikompilasi, dan gunakan hanya versi terbaru dari buku masak yang akan didukung oleh tumpukan Anda. Untuk menyematkan versi buku masak, tentukan nomor versi yang tepat di Berksfile repositori buku masak kustom Anda. Misalnya, `cookbook 'build-essential', '= 3.2.0'`.

## Contoh Lapisan Semua Gagal Pemeriksaan Kesehatan Elastic Load Balancing
<a name="common-issues-troubleshoot-health"></a>

**Masalah:** Anda melampirkan penyeimbang beban Elastic Load Balancing ke lapisan server aplikasi, tetapi semua instance gagal dalam pemeriksaan kesehatan.

**Penyebab:** Saat membuat penyeimbang beban Elastic Load Balancing, Anda harus menentukan jalur ping yang dipanggil penyeimbang beban untuk menentukan apakah instans tersebut sehat. Pastikan untuk menentukan jalur ping yang sesuai untuk aplikasi Anda; nilai default adalah /index.html. Jika aplikasi Anda tidak termasuk`index.html`, Anda harus menentukan jalur yang sesuai atau pemeriksaan kesehatan akan gagal. Misalnya, PHPApp aplikasi Simple yang digunakan [Memulai dengan Chef 11 Linux Stacks](gettingstarted.md) tidak menggunakan index.html; jalur ping yang sesuai untuk server tersebut adalah /. 

**Solusi:** Edit jalur ping penyeimbang beban. Untuk informasi selengkapnya, lihat [Elastic Load Balancing](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/gs-ec2classic.html)

## Tidak Dapat Berkomunikasi dengan Load Balancer Elastic Load Balancing
<a name="w2ab1c14c77c17b9c15"></a>

**Masalah:** Anda membuat penyeimbang beban Elastic Load Balancing dan melampirkannya ke lapisan server aplikasi, tetapi ketika Anda mengklik nama DNS atau alamat IP penyeimbang beban untuk menjalankan aplikasi, Anda mendapatkan kesalahan berikut: “Server jarak jauh tidak merespons”.

**Penyebab:** Jika tumpukan Anda berjalan di VPC default, saat Anda membuat penyeimbang beban Elastic Load Balancing di wilayah tersebut, Anda harus menentukan grup keamanan. Grup keamanan harus memiliki aturan masuk yang memungkinkan lalu lintas masuk dari alamat IP Anda. Jika Anda menentukan **grup keamanan VPC default**, aturan masuk default tidak menerima lalu lintas masuk apa pun. 

**Solusi:** Edit aturan masuk grup keamanan untuk menerima lalu lintas masuk dari alamat IP yang sesuai.

1. Klik **Grup Keamanan** di panel navigasi [ EC2 konsol Amazon](https://console.aws.amazon.com/ec2/).

1. Pilih grup keamanan load balancer.

1. Klik **Edit** pada tab **Inbound**.

1. Tambahkan aturan masuk dengan **Sumber** disetel ke CIDR yang sesuai.

   Misalnya, menentukan **Anywhere** menetapkan CIDR ke 0.0.0.0/0, yang mengarahkan penyeimbang beban untuk menerima lalu lintas masuk dari alamat IP apa pun. 

## Instance Lokal yang Diimpor Gagal Menyelesaikan Pengaturan Volume Setelah Mulai Ulang
<a name="w2ab1c14c77c17b9c17"></a>

**Masalah:** Anda memulai ulang EC2 instance yang telah diimpor ke OpsWorks Stacks, dan tampilan konsol OpsWorks Stacks **gagal sebagai status** instans. Ini dapat terjadi pada contoh Chef 11 atau Chef 12.

**Penyebab:**OpsWorks Tumpukan mungkin tidak dapat melampirkan volume ke instance Anda selama proses penyiapan. Salah satu kemungkinan penyebabnya adalah OpsWorks Stacks menimpa konfigurasi volume Anda pada instance Anda saat Anda menjalankan perintah. `setup`

**Solusi:** Buka halaman **Detail** untuk instance, dan periksa konfigurasi volume Anda di area **Volume**. Perhatikan bahwa Anda dapat mengubah konfigurasi volume hanya jika instans Anda berada dalam status **berhenti**. Pastikan bahwa setiap volume memiliki titik pemasangan dan nama yang ditentukan. Konfirmasikan bahwa Anda memberikan titik pemasangan yang benar dalam konfigurasi di OpsWorks Stacks sebelum memulai ulang instance.

## Volume EBS Tidak Terpasang Kembali Setelah Reboot
<a name="common-issues-troubleshoot-ebs"></a>

**Masalah:** Anda menggunakan EC2 konsol Amazon untuk melampirkan volume Amazon EBS ke instans tetapi ketika Anda me-reboot instance, volume tidak lagi terpasang. 

**Penyebab:** OpsWorks Tumpukan hanya dapat memasang kembali volume Amazon EBS yang disadarinya, yang terbatas pada hal-hal berikut:
+ Volume yang dibuat oleh OpsWorks Stacks.
+ Volume dari akun Anda yang telah Anda daftarkan secara eksplisit dengan tumpukan menggunakan halaman **Resources**. 

**Solusi:** Kelola volume Amazon EBS Anda hanya dengan menggunakan konsol OpsWorks Stacks, API, atau CLI. Jika Anda ingin menggunakan salah satu volume Amazon EBS akun Anda dengan tumpukan, gunakan halaman **Sumber Daya** tumpukan untuk mendaftarkan volume dan melampirkannya ke sebuah instance. Untuk informasi selengkapnya, lihat [Manajemen Sumber Daya](resources.md).

## Tidak Dapat Menghapus OpsWorks Grup Keamanan Stacks
<a name="common-issues-troubleshoot-booting-secgroup"></a>

**Masalah:** Setelah Anda menghapus tumpukan, ada sejumlah grup keamanan OpsWorks Stacks yang tertinggal yang tidak dapat dihapus.

**Penyebab:** Grup keamanan harus dihapus dalam urutan tertentu.

**Solusi:** Pertama, pastikan tidak ada instance yang menggunakan grup keamanan. Kemudian, hapus salah satu grup keamanan berikut, jika ada, dengan urutan sebagai berikut: 

1. AWS- OpsWorks -Server Kosong

1. AWS- OpsWorks -Monitoring-Master-Server

1. AWS- OpsWorks -DB-Master-Server

1. AWS- OpsWorks -Memcached-Server

1. AWS- OpsWorks -Server Khusus

1. AWS- OpsWorks -NodeJS-App-Server

1. AWS- OpsWorks -PHP-APP-Server

1. AWS- OpsWorks -Rails-App-Server

1. AWS- OpsWorks -Server Web

1. AWS- OpsWorks -Server Default

1. AWS- OpsWorks -LB-Server

## Tidak Sengaja Menghapus Grup Keamanan OpsWorks Stacks
<a name="common-issues-troubleshoot-booting-secgroup-delete"></a>

**Masalah:** Anda menghapus salah satu grup keamanan OpsWorks Stacks dan perlu membuatnya kembali.

**Penyebab:** Grup keamanan ini biasanya dihapus secara tidak sengaja.

**Solusi:** Grup yang dibuat ulang harus duplikat persis dari aslinya, termasuk kapitalisasi yang sama untuk nama grup. Alih-alih membuat ulang grup secara manual, pendekatan yang lebih disukai adalah meminta OpsWorks Stacks melakukan tugas untuk Anda. Cukup buat tumpukan baru di wilayah AWS yang sama—dan VPC, jika OpsWorks ada—dan Stacks akan secara otomatis membuat ulang semua grup keamanan bawaan, termasuk yang Anda hapus. Anda kemudian dapat menghapus tumpukan jika Anda tidak memiliki penggunaan lebih lanjut untuk itu; grup keamanan akan tetap ada.

## Chef Log Berakhir Tiba-tiba
<a name="common-issues-troubleshoot-log-terminates"></a>

**Masalah:** Log Chef berakhir secara tiba-tiba; akhir log tidak menunjukkan keberhasilan menjalankan atau menampilkan pengecualian dan jejak tumpukan.

**Penyebab:** Perilaku ini biasanya disebabkan oleh memori yang tidak memadai.

**Solusi:** Buat instance yang lebih besar dan gunakan `run_command` perintah CLI agen untuk menjalankan resep lagi. Untuk informasi selengkapnya, lihat [Mengeksekusi Resep](troubleshoot-debug-cli.md#troubleshoot-debug-cli-recipes).

## Cookbook Tidak Diperbarui
<a name="common-issues-troubleshoot-update"></a>

**Masalah:** Anda memperbarui buku masak Anda tetapi instance tumpukan masih menjalankan resep lama.

**Penyebab:** OpsWorks Tumpukan menyimpan buku masak di setiap instance, dan menjalankan resep dari cache, bukan repositori. Saat Anda memulai instance baru, OpsWorks Stacks mengunduh buku masak Anda dari repositori ke cache instance. Namun, jika Anda kemudian memodifikasi buku masak khusus Anda, OpsWorks Stacks tidak secara otomatis memperbarui cache instans online. 

**Solusi:** Jalankan [perintah tumpukan Update Cookbooks](workingstacks-commands.md) untuk secara eksplisit mengarahkan OpsWorks Stacks untuk memperbarui cache buku masak instans online Anda.

## Instance Terjebak di Status Booting
<a name="common-issues-troubleshoot-booting"></a>

**Masalah:** Ketika Anda me-restart sebuah instance, atau auto healing restart secara otomatis, operasi startup berhenti pada `booting` status.

**Penyebab:** Salah satu kemungkinan penyebab masalah ini adalah konfigurasi VPC, termasuk VPC default. Instans harus selalu dapat berkomunikasi dengan layanan OpsWorks Stacks, Amazon S3, dan paket, buku masak, dan repositori aplikasi. Jika, misalnya, Anda menghapus gateway default dari VPC default, instance kehilangan koneksinya ke layanan Stacks. OpsWorks Karena OpsWorks Stacks tidak dapat lagi berkomunikasi dengan [agen](troubleshoot-debug-cli.md) instance, ia memperlakukan instance sebagai gagal dan [menyembuhkannya secara otomatis.](workinginstances-autohealing.md) Namun, tanpa koneksi, OpsWorks Stacks tidak dapat menginstal agen instance pada instance yang disembuhkan. Tanpa agen, OpsWorks Stacks tidak dapat menjalankan resep Pengaturan pada instance, sehingga operasi startup tidak dapat berkembang melampaui status “booting”. 

**Solusi:** Ubah konfigurasi VPC Anda sehingga instance memiliki konektivitas yang diperlukan.

## Instans Secara Tak Terduga Mulai Ulang
<a name="common-issues-troubleshoot-restart"></a>

**Masalah:** Instance yang berhenti tiba-tiba dimulai ulang. 

**Penyebab 1:** Jika Anda telah mengaktifkan [penyembuhan otomatis](workinginstances-autohealing.md) untuk instans Anda, OpsWorks Stacks secara berkala melakukan pemeriksaan kesehatan pada EC2 instans Amazon terkait, dan memulai ulang yang tidak sehat. Jika Anda menghentikan atau menghentikan instance yang OpsWorks dikelola Stacks menggunakan EC2 konsol Amazon, API, atau CLI, Stacks tidak akan diberi tahu. OpsWorks Sebaliknya, ia akan menganggap instance yang dihentikan sebagai tidak sehat dan secara otomatis memulai ulang.

**Solusi:** Kelola instans Anda hanya dengan menggunakan konsol OpsWorks Stacks, API, atau CLI. Jika Anda menggunakan OpsWorks Stacks untuk menghentikan atau menghapus instance, itu tidak akan dimulai ulang. Untuk informasi selengkapnya, lihat [Memulai, Menghentikan, dan Memulai Ulang Instans 24/7 Secara Manual](workinginstances-starting.md) dan [Menghapus Instans OpsWorks Stacks](workinginstances-delete.md).

**Penyebab 2:** Contoh dapat gagal karena berbagai alasan. Jika Anda mengaktifkan penyembuhan otomatis, OpsWorks Stacks secara otomatis memulai ulang instance yang gagal.

**Solusi:** Ini adalah operasi normal; tidak perlu melakukan apa pun kecuali Anda tidak ingin OpsWorks Stacks memulai ulang instance yang gagal. Dalam hal ini, Anda harus menonaktifkan penyembuhan otomatis.

## `opsworks-agent`Proses Berjalan pada Instance
<a name="common-issues-troubleshoot-agent"></a>

**Masalah:** Beberapa `opsworks-agent` proses berjalan pada instance Anda. Contoh:

```
aws 24543 0.0 1.3 172360 53332 ? S Feb24 0:29 opsworks-agent: master 24543
aws 24545 0.1 2.0 208932 79224 ? S Feb24 22:02 opsworks-agent: keep_alive of master 24543
aws 24557 0.0 2.0 209012 79412 ? S Feb24 8:04 opsworks-agent: statistics of master 24543
aws 24559 0.0 2.2 216604 86992 ? S Feb24 4:14 opsworks-agent: process_command of master 24
```

**Penyebab:** Ini adalah proses sah yang diperlukan untuk operasi normal agen. Mereka melakukan tugas-tugas seperti menangani penerapan dan mengirim pesan keep-alive kembali ke layanan.

**Solusi:** Ini adalah perilaku normal. Jangan hentikan proses ini; melakukannya akan membahayakan operasi agen.

## Perintah execute\$1recipes yang tidak terduga
<a name="common-issues-troubleshoot-unexpected"></a>

**Masalah:** Bagian **Log** pada halaman detail instance menyertakan `execute_recipes` perintah yang tidak terduga. `execute_recipes`Perintah tak terduga juga dapat muncul di halaman **Stack** dan **Deployments.**

**Penyebab:** Masalah ini sering disebabkan oleh perubahan izin. Saat Anda mengubah izin SSH atau sudo pengguna atau grup, OpsWorks Stacks berjalan `execute_recipes` untuk memperbarui instance tumpukan dan juga memicu peristiwa Konfigurasi. Sumber `execute_recipes` perintah lainnya adalah OpsWorks Stacks memperbarui agen instance.

**Solusi:** Ini adalah operasi normal; tidak perlu melakukan apa pun.

Untuk melihat tindakan apa yang dilakukan `execute_recipes` perintah, buka halaman **Deployments** dan klik stempel waktu perintah. Ini membuka halaman detail perintah, yang mencantumkan resep utama yang dijalankan. Misalnya, halaman detail berikut adalah untuk `execute_recipes` perintah yang dijalankan `ssh_users` untuk memperbarui izin SSH.

![\[Command details page showing successful execution of Recipes and ssh_users on php-app1.\]](http://docs.aws.amazon.com/id_id/opsworks/latest/userguide/images/command_details.png)


Untuk melihat semua detail, klik **tampilkan** di kolom **Log** perintah untuk menampilkan log Chef terkait. Cari log untuk**Run List**. OpsWorks Resep pemeliharaan tumpukan akan berada di bawah`OpsWorks Custom Run List`. Misalnya, berikut ini adalah daftar run untuk `execute_recipes` perintah yang ditunjukkan pada tangkapan layar sebelumnya, dan menunjukkan setiap resep yang terkait dengan perintah.

```
[2014-02-21T17:16:30+00:00] INFO: OpsWorks Custom Run List: ["opsworks_stack_state_sync",
  "ssh_users", "test_suite", "opsworks_cleanup"]
```

## Pemecahan Masalah Pendaftaran Instans
<a name="common-issues-instance-registration"></a>

Bagian ini berisi beberapa masalah pendaftaran instance yang umum ditemui dan solusinya.

**catatan**  
Jika Anda mengalami masalah pendaftaran, jalankan `register` dengan `--debug` argumen, yang memberikan informasi debugging tambahan.

**Topics**
+ [EC2Pengguna Tidak Berwenang untuk Melakukan:...](#common-issues-instance-registration-ec2user)
+ [Kredensi Harus Dicakup ke Wilayah yang Valid](#common-issues-instance-registration-valid-region)

### EC2Pengguna Tidak Berwenang untuk Melakukan:...
<a name="common-issues-instance-registration-ec2user"></a>

**Masalah:** Sebuah `register` perintah mengembalikan sesuatu seperti berikut:

```
A client error (AccessDenied) occurred when calling the CreateGroup operation: 
User: arn:aws:iam::123456789012:user/ImportEC2User is not authorized to
perform: iam:CreateGroup on resource: 
arn:aws:iam::123456789012:group/AWS/OpsWorks/OpsWorks-b583ce55-1d01-4695-b3e5-ee19257d1911
```

**Penyebab:** `register` Perintah berjalan dengan kredensil yang tidak memberikan izin yang diperlukan. Kebijakan pengguna harus mengizinkan `iam:CreateGroup` tindakan, antara lain.

**Solusi** Menyediakan `register` kredensil pengguna IAM yang memiliki izin yang diperlukan. Untuk informasi selengkapnya, lihat [Menginstal dan Mengkonfigurasi AWS CLI](registered-instances-register-registering-cli.md).

### Kredensi Harus Dicakup ke Wilayah yang Valid
<a name="common-issues-instance-registration-valid-region"></a>

**Masalah:** Sebuah `register` perintah mengembalikan yang berikut:

```
A client error (InvalidSignatureException) occurred when calling the
DescribeStacks operation: Credential should be scoped to a valid region, not 'cn-north-1'.
```

**Penyebab:** Wilayah perintah harus merupakan wilayah OpsWorks Stacks yang valid. Untuk daftar wilayah yang didukung, lihat[Support Wilayah](gettingstarted_intro.md#gettingstarted-intro-region). Kesalahan ini biasanya terjadi karena salah satu alasan berikut:
+ Tumpukan berada di wilayah yang berbeda, dan Anda menetapkan wilayah tumpukan ke `--region` argumen perintah.

  Anda tidak perlu menentukan wilayah tumpukan; OpsWorks Tumpukan secara otomatis menentukannya dari ID tumpukan.
+ Anda menghilangkan `--region` argumen, yang secara implisit menentukan wilayah default, tetapi wilayah default Anda tidak didukung oleh Stacks. OpsWorks 

**Solusi:** Setel secara eksplisit `--region` ke wilayah OpsWorks Stacks yang didukung``, atau edit AWS CLI `config` file Anda untuk mengubah wilayah default ke wilayah Stacks yang didukung OpsWorks . Untuk informasi selengkapnya, lihat [Mengonfigurasi Antarmuka Baris Perintah AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html).