

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

# Mengelola plugin khusus di Amazon Service OpenSearch
<a name="custom-plugins"></a>

Menggunakan plugin khusus untuk OpenSearch Layanan, Anda dapat memperluas OpenSearch fungsionalitas di bidang-bidang seperti analisis bahasa, pemfilteran khusus, peringkat, dan lainnya, sehingga memungkinkan Anda untuk membuat pengalaman pencarian yang dipersonalisasi. Plugin khusus untuk OpenSearch dapat dikembangkan dengan memperluas `org.opensearch.plugins.Plugin` kelas dan kemudian mengemasnya dalam file. `.zip` 

Ekstensi plugin berikut saat ini didukung oleh Amazon OpenSearch Service:
+ **AnalysisPlugin**— Memperluas fungsionalitas analisis dengan menambahkan, misalnya, penganalisis khusus, tokenizer karakter, atau filter untuk pemrosesan teks.
+ **SearchPlugin**— Meningkatkan kemampuan pencarian dengan jenis kueri khusus, algoritma kesamaan, opsi saran, dan agregasi.
+ **MapperPlugin**— Memungkinkan Anda membuat jenis bidang khusus dan konfigurasi pemetaannya OpenSearch, memungkinkan Anda menentukan bagaimana berbagai jenis data harus disimpan dan diindeks.
+ **ScriptPlugin**— Memungkinkan Anda menambahkan kemampuan skrip khusus ke OpenSearch, misalnya, skrip khusus untuk operasi seperti penilaian, pengurutan, dan transformasi nilai bidang selama pencarian atau pengindeksan.

Anda dapat menggunakan konsol OpenSearch Layanan atau perintah API yang ada untuk paket kustom untuk mengunggah dan mengaitkan plugin dengan kluster OpenSearch Layanan Amazon. Anda juga dapat menggunakan [DescribePackages](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_DescribePackages.html)perintah untuk menjelaskan semua paket di akun Anda dan untuk melihat detail seperti OpenSearch versi dan detail kesalahan. OpenSearch Layanan memvalidasi paket plugin untuk kompatibilitas versi, kerentanan keamanan, dan operasi plugin yang diizinkan. Untuk informasi selengkapnya tentang paket kustom, lihat[Mengimpor dan mengelola paket di Amazon Service OpenSearch](custom-packages.md).

**OpenSearch versi dan Wilayah AWS dukungan**  
Plugin kustom didukung pada domain OpenSearch Layanan yang menjalankan OpenSearch versi 2.15 sebagai berikut: Wilayah AWS
+ AS Timur (Ohio) (us-east-2)
+ US East (N. Virginia) (us-east-1)
+ US West (Oregon) (us-west-2)
+ Asia Pacific (Mumbai) (ap-south-1)
+ Asia Pacific (Seoul) (ap-northeast-2)
+ Asia Pasifik (Singapura) (ap-southeast-1)
+ Asia Pacific (Sydney) (ap-southeast-2)
+ Asia Pacific (Tokyo) (ap-northeast-1)
+ Kanada (Pusat) (ca-central-1)
+ Eropa (Frankfurt) (eu-central-1)
+ Eropa (Irlandia) (eu-west-1)
+ Eropa (London) (eu-west-2)
+ Eropa (Paris) (eu-west-3)
+ Amerika Selatan (Sao Paulo) (sa-east-1)

**catatan**  
Plugin khusus berisi kode yang dikembangkan pengguna. Masalah apa pun, termasuk pelanggaran SLA, yang disebabkan oleh kode yang dikembangkan pengguna tidak memenuhi syarat untuk kredit SLA. Untuk informasi selengkapnya, lihat [ OpenSearch Layanan Amazon - Perjanjian Tingkat Layanan](https://aws.amazon.com/opensearch-service/sla/).

**Topics**
+ [Kuota plugin](#plugin-limits)
+ [Prasyarat](#custom-plugin-prerequisites)
+ [Pemecahan masalah](#custom-plugin-troubleshooting)
+ [Menginstal plugin khusus menggunakan konsol](#custom-plugin-install-console)
+ [Mengelola plugin khusus menggunakan AWS CLI](#managing-custom-plugins-cli)
+ [AWS KMS Integrasi paket kustom Amazon OpenSearch Service](custom-package-kms-integration.md)

## Kuota plugin
<a name="plugin-limits"></a>
+ Anda dapat membuat hingga 25 plugin khusus per akun per Wilayah. 
+ Ukuran maksimum yang tidak terkompresi untuk sebuah plugin adalah 1 GB.
+ Jumlah maksimum plugin yang dapat dikaitkan dengan satu domain adalah 20. Kuota ini berlaku untuk semua jenis plugin yang digabungkan: opsional, pihak ketiga, dan kustom.
+ Plugin khusus didukung pada domain yang menjalankan OpenSearch versi 2.15 atau yang lebih baru.
+ `descriptor.properties`File untuk plugin Anda harus mendukung versi mesin yang mirip dengan 2.15.0 atau versi 2.xx apa pun, di mana versi tambalan diatur ke nol.

## Prasyarat
<a name="custom-plugin-prerequisites"></a>

Sebelum Anda menginstal plugin khusus dan mengaitkannya ke domain, pastikan Anda memenuhi persyaratan berikut:
+ Versi mesin yang didukung untuk plugin dalam `descriptor.properties` file harus mirip dengan `2.15.0` atau`2.x.0`. Artinya, versi patch harus nol.
+ Fitur berikut harus diaktifkan di domain Anda:
  +  [Node-to-node enkripsi](ntn.md)
  +  [Enkripsi saat istirahat](encryption-at-rest.md)
  + [`EnforceHTTPS`disetel ke 'true'](createupdatedomains.md)

    Lihat juga [opensearch-https-required](https://docs.aws.amazon.com/config/latest/developerguide/opensearch-https-required.html)di *Panduan AWS Config Pengembang*.
  + Klien harus mendukung **Policy-MIN-TLS-1-2-PFS-2023-10**. Anda dapat menentukan dukungan ini menggunakan perintah berikut. Ganti *placeholder value* dengan informasi Anda sendiri:

    ```
    aws opensearch update-domain-config \
        --domain-name domain-name \
        --domain-endpoint-options '{"TLSSecurityPolicy":"Policy-Min-TLS-1-2-PFS-2023-10" }'
    ```

    Untuk informasi selengkapnya, lihat [DomainEndpointOptions](https://docs.aws.amazon.com/opensearch-service/latest/APIReference/API_DomainEndpointOptions.html)di *Referensi API OpenSearch Layanan Amazon*.

## Pemecahan masalah
<a name="custom-plugin-troubleshooting"></a>

Jika sistem mengembalikan kesalahan`PluginValidationFailureReason : The provided plugin could not be loaded`, lihat [Instalasi plugin kustom gagal karena kompatibilitas versi](handling-errors.md#troubleshooting-custom-plugins) untuk informasi pemecahan masalah.

## Menginstal plugin khusus menggunakan konsol
<a name="custom-plugin-install-console"></a>

Untuk mengaitkan plugin pihak ketiga ke domain, pertama-tama impor lisensi plugin dan konfigurasi sebagai paket.

**Untuk menginstal plugin khusus**

1. Masuk ke konsol OpenSearch Layanan Amazon di [https://console.aws.amazon.com/aos/rumah](https://console.aws.amazon.com/aos/home).

1. Di panel navigasi kiri, pilih **Paket**.

1. Pilih **paket Impor**.

1. Untuk **Nama**, masukkan nama yang unik dan mudah diidentifikasi untuk plugin.

1. (Opsional) Untuk **Deskripsi**, berikan detail berguna tentang paket atau tujuannya.

1. Untuk **jenis Package**, pilih **Plugin**.

1. Untuk **Package source**, masukkan path atau browse ke file ZIP plugin di Amazon S3.

1. Untuk **versi OpenSearch mesin**, pilih versi OpenSearch yang didukung plugin.

1. Untuk **enkripsi Package**, pilih apakah akan menyesuaikan kunci enkripsi untuk paket. Secara default, OpenSearch Layanan mengenkripsi paket plugin dengan file. Kunci milik AWS Anda dapat menggunakan kunci yang dikelola pelanggan sebagai gantinya.

1. Pilih **Impor**.

Setelah Anda mengimpor paket plugin, kaitkan dengan domain. Untuk petunjuk, lihat [Impor dan kaitkan paket ke domain](custom-packages.md#associate-console).

## Mengelola plugin khusus menggunakan AWS CLI
<a name="managing-custom-plugins-cli"></a>

Anda dapat menggunakan AWS CLI untuk mengelola sejumlah tugas plugin kustom.

**Topics**
+ [Menginstal plugin khusus menggunakan AWS CLI](#custom-plugin-install-cli)
+ [Memperbarui plugin khusus menggunakan AWS CLI](#custom-plugin-update-cli)
+ [Buat atau perbarui plugin khusus dengan keamanan AWS KMS kunci](#custom-plugin-kms-key-security-cli)
+ [Memutakhirkan domain OpenSearch Layanan dengan plugin khusus ke versi yang lebih baru menggunakan OpenSearch AWS CLI](#custom-plugin-domain-upgrade-cli)
+ [Menghapus instalasi dan melihat status disosiasi plugin khusus](#custom-plugin-uninstall-cli)

### Menginstal plugin khusus menggunakan AWS CLI
<a name="custom-plugin-install-cli"></a>

**Sebelum Anda mulai**  
Sebelum Anda dapat mengaitkan plugin khusus dengan domain Anda, Anda harus mengunggahnya ke bucket Amazon Simple Storage Service (Amazon S3). Bucket harus berada di tempat yang sama Wilayah AWS di mana Anda ingin menggunakan plugin. Untuk informasi tentang menambahkan objek ke bucket S3, lihat [Mengunggah objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) di *Panduan Pengguna Layanan Penyimpanan Sederhana Amazon*.

Jika plugin Anda berisi informasi sensitif, tentukan enkripsi sisi server dengan kunci yang dikelola S3 saat Anda mengunggahnya. Setelah Anda mengunggah file, catat jalur S3-nya. Formatnya jalurnya adalah `s3://amzn-s3-demo-bucket/file-path/file-name`.

**catatan**  
Anda dapat secara opsional mengamankan plugin khusus saat membuat plugin dengan menentukan kunci AWS Key Management Service (AWS KMS). Untuk informasi, lihat [Buat atau perbarui plugin khusus dengan keamanan AWS KMS kunci](#custom-plugin-kms-key-security-cli).

**Untuk menginstal plugin khusus menggunakan AWS CLI**

1. Buat paket baru untuk plugin kustom Anda dengan menjalankan perintah [create-package](https://docs.aws.amazon.com/cli/latest/reference/opensearch/create-package.html) berikut, memastikan bahwa persyaratan berikut terpenuhi:
   + Bucket dan lokasi kunci harus mengarah ke `.zip` file plugin di bucket S3 di akun tempat Anda menjalankan perintah. 
   + Bucket S3 harus berada di Wilayah yang sama di mana paket sedang dibuat. 
   + Hanya `.zip` file yang didukung untuk `ZIP-PLUGIN` paket. 
   + Isi `.zip` file harus mengikuti struktur direktori seperti yang diharapkan oleh plugin.
   + Nilai untuk `--engine-version` harus dalam format`OpenSearch_{MAJOR}.{MINOR}`. Sebagai contoh: **OpenSearch\$12.17**.

   Ganti *placeholder values* dengan informasi Anda sendiri:

   ```
   aws opensearch create-package \
       --package-name package-name \
       --region region \
       --package-type ZIP-PLUGIN \
       --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=s3-key \
       --engine-version opensearch-version
   ```

1. (Opsional) Lihat status `create-package` operasi, termasuk validasi dan temuan kerentanan keamanan, dengan menggunakan perintah [deskripsi-paket](https://docs.aws.amazon.com/cli/latest/reference/es/describe-packages.html). Ganti *placeholder values* dengan informasi Anda sendiri:

   ```
   aws opensearch describe-packages \
       --region region  \
       --filters '[{"Name": "PackageType","Value": ["ZIP-PLUGIN"]}, {"Name": "PackageName","Value": ["package-name"]}]'
   ```

   Perintah mengembalikan informasi yang mirip dengan berikut ini:

   ```
   {
       "PackageDetailsList": [{
           "PackageID": "pkg-identifier",
           "PackageName": "package-name",
           "PackageType": "ZIP-PLUGIN",
           "PackageStatus": "VALIDATION_FAILED",
           "CreatedAt": "2024-11-11T13:07:18.297000-08:00",
           "LastUpdatedAt": "2024-11-11T13:10:13.843000-08:00",
           "ErrorDetails": {
               "ErrorType": "",
               "ErrorMessage": "PluginValidationFailureReason : Dependency Scan reported 3 vulnerabilities for the plugin: CVE-2022-23307, CVE-2019-17571, CVE-2022-23305"
           },
           "EngineVersion": "OpenSearch_2.15",
           "AllowListedUserList": [],
           "PackageOwner": "OWNER-XXXX"
       }]
   }
   ```
**catatan**  
Selama `create-package` operasi, Amazon OpenSearch Service memeriksa `ZIP-PLUGIN` nilai kompatibilitas versi, ekstensi plugin yang didukung, dan kerentanan keamanan. Kerentanan keamanan dipindai menggunakan layanan [Amazon Inspector](https://aws.amazon.com/inspector/getting-started/). Hasil pemeriksaan ini ditampilkan di `ErrorDetails` bidang dalam respons API.

1. Gunakan perintah [associate-package](https://docs.aws.amazon.com/cli/latest/reference/opensearch/associate-package.html) untuk mengaitkan plugin dengan domain OpenSearch Layanan pilihan Anda menggunakan ID paket dari paket yang dibuat pada langkah sebelumnya.
**Tip**  
Jika Anda memiliki beberapa plugin, Anda dapat menggunakan perintah [associate-packages](https://docs.aws.amazon.com/cli/latest/reference/opensearch/associate-packages.html) untuk mengaitkan beberapa paket ke domain dalam satu operasi. 

   Ganti *placeholder values* dengan informasi Anda sendiri:

   ```
   aws opensearch associate-package \
       --domain-name domain-name \
       --region region \
       --package-id package-id
   ```
**catatan**  
Plugin diinstal dan dihapus menggunakan proses penyebaran [biru/hijau](managedomains-configuration-changes.md).

1. (Opsional) Gunakan [list-packages-for-domain](https://docs.aws.amazon.com/cli/latest/reference/opensearch/list-packages-for-domain.html)perintah untuk melihat status asosiasi. Status asosiasi berubah saat alur kerja berlangsung dari `ASSOCIATING` ke. `ACTIVE` Status asosiasi berubah menjadi AKTIF setelah instalasi plugin selesai dan plugin siap digunakan.

   Ganti *placeholder values* dengan informasi Anda sendiri.

   ```
   aws opensearch list-packages-for-domain \
       --region region \
       --domain-name domain-name
   ```

### Memperbarui plugin khusus menggunakan AWS CLI
<a name="custom-plugin-update-cli"></a>

Gunakan perintah [update-package](https://docs.aws.amazon.com/cli/latest/reference/opensearch/update-package.html) untuk membuat perubahan pada plugin.

**catatan**  
Anda dapat mengamankan plugin khusus secara opsional saat memperbarui plugin dengan menentukan kunci AWS Key Management Service (AWS KMS). Untuk informasi, lihat [Buat atau perbarui plugin khusus dengan keamanan AWS KMS kunci](#custom-plugin-kms-key-security-cli).

**Untuk memperbarui plugin khusus menggunakan AWS CLI**
+ Jalankan perintah berikut. Ganti *placeholder values* dengan informasi Anda sendiri.

  ```
  aws opensearch update-package \
      --region region \
      --package-id package-id \
      --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=s3-key \
      --package-description description
  ```

Setelah memperbarui paket, Anda dapat menggunakan perintah [associate-package atau [associate-packages](https://docs.aws.amazon.com/cli/latest/reference/opensearch/associate-packages.html)](https://docs.aws.amazon.com/cli/latest/reference/opensearch/associate-package.html) untuk menerapkan pembaruan paket ke domain.

**catatan**  
 Anda dapat mengaudit, membuat, memperbarui, mengaitkan, dan memisahkan operasi pada plugin menggunakan AWS CloudTrail. Untuk informasi selengkapnya, lihat [Memantau panggilan API OpenSearch Layanan Amazon dengan AWS CloudTrail](managedomains-cloudtrailauditing.md).

### Buat atau perbarui plugin khusus dengan keamanan AWS KMS kunci
<a name="custom-plugin-kms-key-security-cli"></a>

Anda dapat mengamankan plugin khusus saat membuat atau memperbarui plugin dengan menentukan AWS KMS kunci. Untuk mencapai hal ini, atur `PackageEncryptionOptions` ke `true` dan tentukan Amazon Resource Name (ARN) kunci, seperti yang ditunjukkan pada contoh berikut.

**Contoh: Buat plugin khusus dengan keamanan AWS KMS kunci**

```
aws opensearch create-package \
    --region us-east-2  --package-name my-custom-package \
    --package-type ZIP-PLUGIN \
    --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=my-s3-key 
    --engine-version OpenSearch_2.15   
"PackageConfigOptions": {
     ...
  }
  "PackageEncryptionOptions": {
    "Enabled": true,
    "KmsKeyId":"arn:aws:kms:us-east-2:111222333444:key/2ba228d5-1d09-456c-ash9-daf42EXAMPLE"
  }
```

**Contoh: Perbarui plugin khusus dengan keamanan AWS KMS kunci**

```
aws opensearch update-package \
    --region us-east-2  --package-name my-custom-package \
    --package-type ZIP-PLUGIN \
    --package-source S3BucketName=amzn-s3-demo-bucket,S3Key=my-s3-key 
    --engine-version OpenSearch_2.15   
"PackageConfigOptions": {
     ...
  }
  "PackageEncryptionOptions": {
    "Enabled": true,
    "KmsKeyId":"arn:aws:kms:us-east-2:111222333444:key/2ba228d5-1d09-456c-ash9-daf42EXAMPLE"
  }
```

**penting**  
Jika AWS KMS kunci yang Anda tentukan dinonaktifkan atau dihapus, itu dapat membuat cluster terkait tidak beroperasi.

Untuk informasi lebih lanjut tentang AWS KMS integrasi dengan paket kustom,[AWS KMS Integrasi paket kustom Amazon OpenSearch Service](custom-package-kms-integration.md).

### Memutakhirkan domain OpenSearch Layanan dengan plugin khusus ke versi yang lebih baru menggunakan OpenSearch AWS CLI
<a name="custom-plugin-domain-upgrade-cli"></a>

Saat Anda perlu memutakhirkan domain OpenSearch Layanan yang menggunakan plugin khusus ke versi yang lebih baru OpenSearch, selesaikan proses berikut.

**Untuk memutakhirkan domain OpenSearch Layanan dengan plugin kustom ke versi yang lebih baru OpenSearch menggunakan AWS CLI**

1. Gunakan perintah create-package untuk membuat paket baru untuk plugin Anda yang menentukan versi baru. OpenSearch 

   Pastikan bahwa nama paket sama untuk plugin untuk semua versi mesin. Mengubah nama paket menyebabkan proses upgrade domain gagal selama blue/green penerapan.

1. Tingkatkan domain Anda ke versi yang lebih tinggi dengan mengikuti langkah-langkahnya[Memutakhirkan domain OpenSearch Layanan Amazon](version-migration.md).

   Selama proses ini, Amazon OpenSearch Service memisahkan versi sebelumnya dari paket plugin dan menginstal versi baru menggunakan penerapan. blue/green 

### Menghapus instalasi dan melihat status disosiasi plugin khusus
<a name="custom-plugin-uninstall-cli"></a>

Untuk menghapus plugin dari domain apa pun, Anda dapat menggunakan perintah [dissociate-package](https://docs.aws.amazon.com/cli/latest/reference/es/dissociate-package.html). Menjalankan perintah ini juga menghapus konfigurasi terkait atau paket lisensi. Anda kemudian dapat menggunakan [list-packages-for-domain](https://docs.aws.amazon.com/cli/latest/reference/es/list-packages-for-domain.html)perintah untuk melihat status disosiasi.

**Tip**  
Anda juga dapat menggunakan perintah [dissociate-packages](https://docs.aws.amazon.com/cli/latest/reference/opensearch/dissociate-packages.html) untuk menghapus beberapa plugin dari domain dalam satu operasi. 

**Untuk menghapus dan melihat status disosiasi plugin kustom**

1. Nonaktifkan plugin di setiap indeks. Ini harus dilakukan sebelum Anda memisahkan paket plugin. 

   Jika Anda mencoba mencopot pemasangan plugin sebelum menonaktifkannya dari setiap indeks, proses blue/green penerapan tetap macet di status. `Processing`

1. Jalankan perintah berikut untuk menghapus instalasi plugin. Ganti *placeholder values* dengan informasi Anda sendiri.

   ```
   aws opensearch dissociate-package \
       --region region \
       --package-id plugin-package-id \
       --domain-name domain name
   ```

1. (Opsional) Jalankan [list-packages-for-domain](https://docs.aws.amazon.com/cli/latest/reference/opensearch/list-packages-for-domain.html)perintah untuk melihat status disosiasi.