

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

# Menggunakan alat AWS OpsWorks Stacks Detach in Place
<a name="using-stacks-detach-tool"></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. 

Bagian ini menjelaskan cara menggunakan alat AWS OpsWorks Stacks Lepaskan di Tempat untuk melepaskan OpsWorks instance Anda dari layanan Stacks. OpsWorks 

Contoh yang Anda lepaskan akan tetap ada di Anda Akun AWS, tetapi Anda tidak lagi dapat mengelolanya menggunakan. OpsWorks Sebagai gantinya, Anda akan menggunakan Amazon EC2, AWS Systems Manager, atau pendekatan apa pun yang EC2 kompatibel untuk mengonfigurasi dan mengelola instance.

Pada tingkat tinggi, proses detasemen melibatkan langkah-langkah berikut:

1. Alat ini melakukan pemeriksaan validasi untuk memastikan sumber daya siap untuk dilepas.

1. Alat ini mengekspor JSON Kustom dari OpsWorks tumpukan Anda dan menyimpannya sebagai objek di Amazon S3.

1. Alat ini membuat dokumen Otomasi Systems Manager yang mewakili setiap peristiwa siklus hidup OpsWorks Stacks.

1. Alat ini membuat AWS Service Catalog AppRegistry Katalog untuk semua instance yang sedang dilepas dan melepaskan penyeimbang beban Elastic Load Balancing (ELB) dari lapisan. OpsWorks

1. Terakhir, alat ini melepaskan dan membatalkan pendaftaran sumber daya lain termasuk instans Amazon Relational Database Service (Amazon RDS).

## Bagaimana prosesnya bekerja
<a name="using-stacks-detach-tool-process"></a>

Alat Detach In Place menyediakan 3 perintah berikut dan pengalaman seperti wizard yang memandu Anda melalui serangkaian langkah untuk memeriksa dan mengonfigurasi instance Anda sebelum melanjutkan untuk melepaskan lapisan Anda.


| Perintah | Deskripsi | 
| --- | --- | 
|  `handle-prerequisites`  |  Perintah ini menganalisis apakah semua instance dalam lapisan memenuhi syarat untuk detasemen dan menyelesaikan prasyarat. Instans harus dalam keadaan sehat OpsWorks, mereka tidak dapat memiliki penskalaan otomatis berbasis waktu atau beban, dan harus menginstal versi OpsWorks Agen terbaru. Selain itu, perintah memeriksa apakah semua instance memiliki izin yang diperlukan untuk mendukung Agen SSM dan apakah versi Agen SSM terbaru diinstal. Perintah akan menginstal Agen SSM jika tidak ada dan akan memperbarui Agen SSM jika tidak menggunakan versi terbaru. Perintah juga akan menambahkan izin yang diperlukan.  | 
|  `detach`  |  Perintah ini melepaskan semua OpsWorks instance untuk lapisan yang ditentukan. Pertama, perintah akan menjalankan pemeriksaan prasyarat untuk memastikan lapisan memenuhi syarat untuk detasemen. Jika Anda tidak ingin menyelesaikan prasyarat, Anda diberi opsi untuk melepaskan paksa. Selanjutnya, perintah akan menunjukkan bahwa semua tag yang ditambahkan ke instance Anda melalui OpsWorks penandaan APIs atau melalui propagasi tag dari lapisan dan tumpukan Anda, akan dipertahankan. Anda dapat menghapus salah satu tag ini menggunakan relevan EC2 APIs setelah detasemen selesai.  Kemudian, perintah akan memeriksa apakah Anda ingin mengekspor konfigurasi terkait Chef ke parameter SSM. Jika Anda memiliki Classic Load Balancer yang terpasang pada layer, perintah akan menanyakan apakah itu dapat melepaskan penyeimbang beban untuk mencegah downtime.  | 
|  `cleanup`  |  Perintah ini menghapus semua entitas OpsWorks dari akun Anda. Ini akan mengakhiri instance dan menghapus semua tumpukan. Ini harus digunakan untuk sumber daya yang tidak lagi diperlukan sebagai langkah terakhir untuk membersihkan akun.  Kami menyarankan Anda menjalankan pengaturan baru selama beberapa hari sebelum menjalankan `cleanup` perintah. Ini memastikan bahwa setiap konfigurasi yang diperlukan dari tumpukan sudah tersedia jika diperlukan.   | 

## Batasan
<a name="using-stacks-detach-tool-limitations"></a>

Tujuan utama alat Detach In Place adalah untuk melepaskan instance OpsWorks Stacks dengan aman. Bagian ini merangkum keterbatasan alat.
+  **Agen SSM Windows** - Jika Agen SSM tidak diinstal pada instance, Anda harus menginstalnya secara manual. Hal yang sama berlaku jika Agen tidak diperbarui ke versi terbaru. 
+ Instans **Time/Load Auto Scaling** - Alat detasemen tidak mendukung instance dengan Auto Scaling diaktifkan. Anda harus menonaktifkan Auto Scaling pada instance yang ingin Anda lepaskan.
+ **Izin** — Alat detasemen tidak membuat atau menghasilkan entitas IAM yang ditentukan pada halaman **Izin konsol**. OpsWorks 
+ **Aplikasi** — Alat detasemen tidak membuat atau menghasilkan aplikasi di luar. OpsWorks

## Mulai menggunakan
<a name="using-stacks-detach-tool-gs"></a>

### Langkah 1: Verifikasi prasyarat terpenuhi
<a name="using-stacks-detach-tool-step1"></a>

Semua 3 perintah dari alat Detach In Place adalah skrip Python, yang dapat Anda jalankan secara lokal, misalnya, EC2 atau dengan menggunakan. [AWS CloudShell](https://docs.aws.amazon.com/cloudshell/latest/userguide/welcome.html#how-to-get-started)

AWS CloudShell adalah shell berbasis browser yang memberi Anda akses baris perintah ke AWS sumber daya yang dipilih. Wilayah AWS AWS CloudShell datang pra-instal dengan alat-alat populer (seperti AWS CLI dan Python). Saat menggunakan AWS CloudShell, Anda menggunakan kredensyal yang sama dengan yang Anda gunakan untuk masuk ke konsol. 

Panduan ini mengasumsikan bahwa Anda menggunakan. AWS CloudShell

### Langkah 2: Unduh skrip
<a name="using-stacks-detach-tool-step2"></a>

1. Unduh file zip yang berisi skrip migrasi dan semua file yang relevan dengan menjalankan perintah berikut:

   ```
   aws s3api get-object \
   --bucket detach-in-place-bucket-prod-us-east-1 \
   --key detach_in_place_script.zip detach_in_place_script.zip
   ```

1. Unzip file dengan menjalankan perintah berikut.

   ```
   unzip detach_in_place_script.zip
   ```

   Setelah file di-unzip, file berikut tersedia:
   + README.md 
   + LISENSI
   + MELIHAT
   + requirements.txt
   + TODO.py

1. Jika perlu, instal `pipenv` dengan menjalankan perintah berikut.

   ```
   pip install pipenv
   ```

### Langkah 3: Jalankan skrip
<a name="using-stacks-detach-tool-step3"></a>

Pertama, atur lingkungan Anda sehingga Anda dapat menjalankan skrip dengan menjalankan perintah berikut.

```
pipenv install -r requirements.txt
pipenv shell
```

Kemudian, tinjau parameter skrip.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/opsworks/latest/userguide/using-stacks-detach-tool.html)

Anda dapat melihat opsi yang tersedia untuk`detach`, `handle-prerequisites` dan `cleanup` perintah dengan menjalankan perintah dengan `--help` opsi sebagai berikut:

```
python3 layer_detacher.py detach --help
python3 layer_detacher.py handle-prerequisites --help
python3 layer_detacher.py cleanup --help
```

Anda sekarang siap untuk memulai. Contoh berikut menunjukkan bagaimana Anda dapat menjalankan perintah untuk kasus penggunaan yang berbeda.

**Topics**
+ [Contoh 1: Periksa apakah lapisan memenuhi semua prasyarat dan memenuhi syarat untuk detasemen](#using-stacks-detach-tool-step3-ex1)
+ [Contoh 2: Lepaskan semua instance layer](#using-stacks-detach-tool-step3-ex2)
+ [Contoh 3: Lepaskan semua instance layer dalam batch](#using-stacks-detach-tool-step3-ex3)
+ [Contoh 4: Bersihkan semua sumber daya untuk lapisan dan hapus layer](#using-stacks-detach-tool-step3-ex4)
+ [Contoh 5: Bersihkan semua sumber daya untuk tumpukan dan hapus tumpukan](#using-stacks-detach-tool-step3-ex5)

#### Contoh 1: Periksa apakah lapisan memenuhi semua prasyarat dan memenuhi syarat untuk detasemen
<a name="using-stacks-detach-tool-step3-ex1"></a>

Perintah berikut membaca informasi tentang OpsWorks lapisan (dan instance yang disertakan) dan memeriksa apakah prasyarat berikut terpenuhi:
+ Semua contoh online.
+ Tidak ada instance Load/Time Auto Scaling.
+ Semua contoh memiliki OpsWorks Agen terbaru.
+ Semua instance memiliki Agen SSM terbaru yang diinstal dan dikonfigurasi.
+ Semua instance memiliki key pair SSH.
+ Setiap contoh milik tepat satu lapisan.

```
python3 layer_detacher.py handle-prerequisites \
--layer-id opsworks-layer-id \
--region opsworks-stack-region
```

#### Contoh 2: Lepaskan semua instance layer
<a name="using-stacks-detach-tool-step3-ex2"></a>

Perintah berikut akan mengulangi semua instance layer, memeriksa apakah instance memenuhi prasyarat dan mencoba melepaskan secara paralel semua instance yang memenuhi prasyarat. Jika satu atau lebih prasyarat tidak terpenuhi, perintah akan memberikan opsi pelepasan paksa untuk instance yang tidak sesuai yang tersisa.

Sebelum melepaskan instance apa pun, perintah akan:

1. Simpan JSON Kustom dan unggah ke S3.

1. Buat dokumen SSM Automation untuk setiap peristiwa OpsWorks siklus hidup untuk layer dan unggah log eksekusi untuk dokumen Automation ke S3.

1. Buat AppRegistry aplikasi untuk semua instance yang akan terlepas. Aplikasi ini memiliki Grup Sumber Daya yang terkait dengannya yang menyimpan semua instance dan sumber daya yang terpisah. Sumber daya termasuk dokumen Otomasi SSM dan parameter SSM yang menyimpan informasi tentang peristiwa siklus hidup dan resep Chef khusus.

1. Melepaskan Classic Load Balancer dari layer, jika ada.

Perintah ini hanya akan memodifikasi OpsWorks sumber daya. Status EC2 instance akan tetap sama.

```
python3 layer_detacher.py detach \
--layer-id opsworks-layer-id \
--region opsworks-stack-region
```

#### Contoh 3: Lepaskan semua instance layer dalam batch
<a name="using-stacks-detach-tool-step3-ex3"></a>

Perintah berikut melakukan hal yang sama seperti [contoh sebelumnya](#using-stacks-detach-tool-step3-ex2). Satu-satunya perbedaan adalah bahwa hal itu melepaskan instance dalam batch.

Perintah ini hanya akan memodifikasi OpsWorks sumber daya. Status EC2 instance akan tetap sama.

```
python3 layer_detacher.py detach \
--layer-id opsworks-layer-id \
--region opsworks-stack-region \
--batch-size 5
```

#### Contoh 4: Bersihkan semua sumber daya untuk lapisan dan hapus layer
<a name="using-stacks-detach-tool-step3-ex4"></a>

Perintah berikut akan mengulangi semua sumber daya untuk lapisan dan menghapusnya. Secara lebih rinci, itu akan menghentikan dan menghapus semua instance di OpsWorks dan EC2, melepaskan penyeimbang beban dan membatalkan pendaftaran instans Amazon RDS, elastis dan volume. IPs Setelah membersihkan sumber daya, itu akan menghapus lapisan.

Perintah ini akan menghapus OpsWorks sumber daya dan EC2 instance. Jika Anda ingin EC2 instance Anda tetap tidak tersentuh, gunakan `detach` perintah sebelum menggunakan perintah. `cleanup` Dengan begitu `cleanup` perintah akan menghapus semua sumber daya yang tersisa.

```
python3 layer_detacher.py cleanup \
--layer-id opsworks-layer-id \
--region opsworks-stack-region
```

#### Contoh 5: Bersihkan semua sumber daya untuk tumpukan dan hapus tumpukan
<a name="using-stacks-detach-tool-step3-ex5"></a>

Perintah berikut akan mengulangi semua lapisan dan kemudian mengulangi sumber daya setiap lapisan. Untuk setiap lapisan, perintah akan menghentikan dan menghapus semua instance di dan EC2, melepaskan penyeimbang beban, OpsWorks dan membatalkan pendaftaran instans Amazon RDS, elastis, dan volume. IPs Kemudian, perintah akan menghapus layer. Proses yang sama akan dilakukan di setiap lapisan yang termasuk dalam tumpukan ini. Akhirnya, setelah semua lapisan dihapus, tumpukan akan dihapus.

Perintah ini akan menghapus OpsWorks sumber daya dan EC2 instance. Jika Anda ingin EC2 instance Anda tetap tidak tersentuh, gunakan `detach` perintah sebelum menggunakan perintah. `cleanup` Dengan begitu `cleanup` perintah akan menghapus semua sumber daya yang tersisa.

```
python3 layer_detacher.py cleanup \
--stack-id opsworks-stack-id \
--region opsworks-stack-region
```

### Langkah 4: Lanjutkan mengoperasikan sumber daya Anda setelah melepaskan diri OpsWorks
<a name="using-stacks-detach-tool-step4"></a>

Setelah menjalankan `detach` perintah, alat membuat AWS Service Catalog AppRegistry aplikasi baru yang sesuai dengan lapisan terpisah. Nama aplikasi mengikuti format`layer-name---layer-id`. Ini juga menambahkan `OpsWorksLayerId` tag untuk secara unik mengidentifikasi aplikasi yang cocok dengan lapisan terpisah.

Untuk menambahkan AWS sumber daya baru ke aplikasi ini (misalnya, EC2 instance baru), Anda dapat melakukan salah satu hal berikut:

1. Tandai sumber daya dengan tag aplikasi unik AppRegistry aplikasi:

   Kunci tag: `awsApplication`

   Nilai: `arn:aws:resource-groups:region:account-id:group/application-name/application-id>`

1. Jalankan perintah [https://docs.aws.amazon.com/cli/latest/reference/servicecatalog-appregistry/associate-resource.html](https://docs.aws.amazon.com/cli/latest/reference/servicecatalog-appregistry/associate-resource.html).

Selain itu, untuk setiap AppRegistry aplikasi, Grup Sumber Daya dibuat. Grup Sumber Daya berisi tag berikut.


| Tombol tanda | Nilai | 
| --- | --- | 
|  `EnableAWSServiceCatalogAppRegistry`  |  `TRUE`  | 
|  `aws:servicecatalog:applicationName`  |  `application-name`  | 
|  `aws:servicecatalog:applicationId`  |  `application-id`  | 
|  `aws:servicecatalog:applicationArn`  |  `arn:aws:servicecatalog:region:account-id:/applications/application-id`  | 

#### Melakukan tugas setelah detasemen
<a name="using-stacks-detach-tool-step4-tasks"></a>

Tabel berikut memberikan informasi tentang cara melakukan tugas setelah detasemen:


| Tugas | Deskripsi | 
| --- | --- | 
|  Menjalankan peristiwa siklus hidup  |  Setelah menjalankan `detach` perintah dan jika Anda memilih opsi, skrip membuat 5 dokumen Otomasi yang cocok dengan 5 peristiwa OpsWorks siklus hidup. Nama setiap dokumen Otomasi mengikuti format ini:`layer-id_lifecycle-event_automation_document`. Untuk mensimulasikan OpsWorks perilaku di Systems Manager, Anda harus memicu eksekusi Otomasi secara manual saat menyediakan, menghentikan EC2 instance, atau menerapkan/menghapus resep.  | 
|  Memperbarui JSON Kustom  |  JSON khusus untuk tumpukan dan lapisan disimpan dalam bucket S3 yang ditentukan selama detasemen, atau sebagai alternatif di bucket S3 baru yang dibuat. Nama file yang disimpan untuk file JSON adalah sebagai berikut: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/opsworks/latest/userguide/using-stacks-detach-tool.html)  | 
|  Mengubah daftar jalankan untuk peristiwa siklus hidup  |  Daftar jalankan untuk setiap peristiwa siklus hidup ditentukan dalam dokumen Otomasi yang sesuai. Untuk mengubah daftar run, cari dokumen Otomasi dalam AppRegistry aplikasi dan ubah `RunList` parameternya. Proses untuk memperbarui resep dan buku masak tidak berubah karena`AWS-ApplyChefRecipes`, yang dipicu oleh dokumen Otomasi, mendukung sumber yang sama seperti. OpsWorks  | 
|  Mengelola penyembuhan otomatis/penskalaan otomatis   |  Saat Anda melepaskan instance, OpsWorks Agen akan menghapus instalan. Tanpa agen, OpsWorks tidak dapat secara otomatis menyembuhkan atau mengganti instance yang tidak sehat, juga tidak dapat secara otomatis menskalakan armada Anda. Untuk melanjutkan penskalaan otomatis dan mengganti instans yang gagal, buat grup Amazon Auto EC2 Scaling. Grup ini akan meluncurkan instance baru untuk mempertahankan kapasitas yang diinginkan ketika Amazon EC2 mendeteksi instans tidak sehat yang perlu diganti.  | 
|  Mengelola Load Balancer  |  Jika layer Anda menggunakan Classic Load Balancer, `detach` perintah akan melepaskannya sebelum membatalkan pendaftaran instance. Hal ini dilakukan untuk memastikan bahwa semua asosiasi instans ELB tetap dipertahankan di Amazon EC2 selama proses pelepasan, sehingga mengarah ke nol downtime. Setelah proses selesai, Anda akan dapat mengelola ELB Anda. EC2  | 
|  Menghubungkan ke instans Anda  |  Saat Anda menjalankan `detach` perintah `handle-prerequisites` or, dua pemeriksaan terjadi: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/opsworks/latest/userguide/using-stacks-detach-tool.html) Perintah juga menawarkan opsi untuk memperbarui Agen SSM dan menambahkan izin yang diperlukan sehingga Anda dapat terhubung ke instance menggunakan Session Manager. Jika kunci SSH ada, Anda juga memiliki opsi untuk SSH ke dalam instance.  | 

#### Menggunakan tab Instans Manajer Aplikasi Systems Manager
<a name="using-stacks-detach-tool-step4-instancetab"></a>

[Setelah detasemen, Anda akan dapat melihat dan mengelola instance Anda di tab Instans Manajer Aplikasi.](https://docs.aws.amazon.com/systems-manager/latest/userguide/application-manager-working-instances.html)

Tab **Instances** menyediakan informasi agregat tentang EC2 instance aplikasi, seperti status, status kesehatan, dan status perintah terakhir. Dengan menggunakan tab ini, Anda dapat melihat informasi terperinci tentang instance individual seperti riwayat perintah, status alarm, kesehatan agen Systems Manager, dan banyak lagi. Tab **Instances** juga menyediakan berbagai tindakan, seperti kemampuan untuk menerapkan resep Chef, memulai atau menghentikan instance, atau menambah atau menghapus instance dari grup Auto Scaling.