Plugin kustom - OpenSearch Layanan Amazon

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

Plugin kustom

Plugin khusus untuk Amazon OpenSearch Service adalah opsi manajemen plugin baru yang memperluas OpenSearch fungsionalitas di bidang-bidang seperti analisis bahasa, pemfilteran khusus, dan peringkat, memungkinkan Anda untuk membuat pengalaman pencarian yang dipersonalisasi. Plugin khusus untuk OpenSearch dapat dikembangkan dengan memperluas org.opensearch.plugins.Plugin kelas dan kemudian dikemas sebagai file.zip. Ekstensi plugin berikut saat ini didukung oleh Amazon OpenSearch Service:

  • Plugin analisis: Memperluas fungsionalitas analisis dengan menambahkan penganalisis khusus, tokenizer karakter, atau filter untuk pemrosesan teks.

  • Plugin pencarian: Meningkatkan kemampuan pencarian dengan jenis kueri khusus, algoritma kesamaan, opsi saran, dan agregasi.

Anda dapat menggunakan konsol OpenSearch Layanan Amazon atau yang sudah ada APIs untuk paket khusus untuk mengunggah dan mengaitkan plugin dengan domain OpenSearch Layanan Amazon Anda, untuk informasi selengkapnya tentang paket kustom, lihat Paket khusus untuk OpenSearch Layanan Amazon. Selain itu, Anda dapat menggunakan DescribePackages untuk mendeskripsikan semua paket di akun Anda untuk melihat detail seperti OpenSearch versi apa yang sedang digunakan atau detail kesalahan. Amazon OpenSearch Service memvalidasi paket plugin untuk kompatibilitas versi, kerentanan keamanan, dan operasi plugin yang diizinkan.

Plugin khusus didukung pada domain OpenSearch Layanan yang menjalankan OpenSearch versi 2.15 atau yang lebih baru, dan tersedia di 14 wilayah secara global: AS Barat (Oregon), AS Timur (Ohio), AS Timur (Virginia N.), Amerika Selatan (Sao Paulo), Eropa (Paris), Eropa (London), Eropa (Irlandia), Eropa (Frankfurt), Kanada (Tengah), Asia Pasifik (Tokyo), Asia Pasifik (Tokyo), Asia Pasifik (Sydney), Asia Pasifik (Singapura), Asia Pasifik (Seoul) dan Asia Pasifik (Mumbai).

catatan

Plugin khusus berisi kode yang dikembangkan pengguna. Masalah apa pun, termasuk pelanggaran SLA, yang disebabkan oleh kode yang dikembangkan pengguna tidak akan memenuhi syarat untuk kredit SLA. Untuk informasi selengkapnya, lihat pengecualian SLA OpenSearch Layanan Amazon di bawah Amazon OpenSearch Service - Service Level Agreement.

Batas plugin

Anda dapat membuat hingga 25 plugin khusus per akun. Jumlah maksimum plugin yang dapat dikaitkan dengan satu domain adalah 20, jumlah ini termasuk semua jenis plugin yaitu opsional, pihak ketiga atau kustom. Ukuran maksimum yang tidak terkompresi yang diizinkan untuk sebuah plugin adalah 1 GB.

Tabel berikut mencantumkan fitur yang tidak tersedia saat menggunakan plugin khusus:

Fitur OpenSearch Layanan Amazon Plugin kustom

Pencarian Cross Cluster

Tidak didukung.

Replikasi lintas cluster

Tidak didukung

Remote-reindex

Tidak didukung

Setel otomatis

Tidak didukung

Multi-AZ dengan Siaga

Tidak didukung

Antarmuka OpenSearch pengguna terpusat

Tidak didukung

Menggunakan plugin kustom dengan Layanan OpenSearch

Prasyarat untuk menggunakan plugin khusus dengan Layanan OpenSearch

Sebelum Anda dapat menggunakan plugin khusus dengan Amazon OpenSearch Service, Anda harus memastikan bahwa Anda memiliki pengaturan berikut:

  • Enkripsi simpul ke simpul

  • Enkripsi data saat istirahat

  • enforceHttps diatur ke true

  • Klien harus mendukung TLSSecurity Kebijakan 'Policy-Min-TLS-1-2-PFS-2023-10', Anda dapat mengatur ini dengan perintah berikut:

    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.

  • File descriptor.properties untuk versi mesin yang didukung plugin Anda harus mirip dengan 2.15.0 atau versi patch 2.x.0.i.e harus nol.

Instalasi plugin kustom dengan AWS CLI

Anda dapat menginstal plugin khusus menggunakan file. AWS CLI Sebelum Anda dapat mengaitkan plugin khusus dengan domain Anda, Anda harus mengunggahnya ke bucket Amazon S3. Anda harus membuat bucket Amazon S3 di wilayah yang sama dengan yang Anda inginkan untuk menggunakan plugin. Untuk petunjuk tentang cara melakukannya, lihat Mengunggah objek di panduan Apa itu Amazon S3. Jika plugin Anda berisi informasi sensitif, pilih enkripsi sisi server dengan kunci yang dikelola S3 saat Anda mengunggahnya. Setelah Anda mengunggah file, catat jalur Amazon S3-nya. Lihat contoh berikut format jalur Amazon S3:

s3://bucket-name/file-path/file-name

Anda perlu membuat paket baru untuk plugin kustom Anda. Anda dapat melakukan ini menggunakan CreatePackageAPI yang ada. Saat membuat paket baru, perbarui bucket dan lokasi kunci untuk menunjuk ke file.zip plugin kustom Anda di bucket Amazon S3 akun panggilan. Perhatikan bahwa, bucket Amazon S3 Anda harus berada di wilayah yang sama dengan paket yang sedang dibuat. Hanya file.zip yang didukung untuk ZIP-PLUGIN paket. Isi file.zip harus mengikuti struktur direktori seperti yang diharapkan oleh plugin. Untuk membuat paket, lihat contoh berikut:

aws opensearch --region $REGION create-package --package-name <package-name> --package-type ZIP-PLUGIN --package-source S3BucketName=<bucket>,S3Key=<key> --engine-version OpenSearch_2.15

Anda dapat melihat status operasi buat paket, termasuk kesalahan validasi dan temuan kerentanan keamanan apa pun dengan menggunakan paket deskripsikan. Untuk melakukan ini, lihat contoh berikut:

aws opensearch --region $REGION describe-packages --filters '[{"Name": "PackageType","Value": ["ZIP-PLUGIN"]}, {"Name": "PackageName","Value": ["<package-name>"]}]'

Berikut ini adalah contoh respons dari API deskripsi-paket:

{ "PackageDetailsList": [ { "PackageID": "pkg-identifier", "PackageName": "custom-plugin-test", "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 operasi buat paket, Amazon OpenSearch Service memeriksa kompatibilitas versi, ekstensi plugin yang didukung, dan kerentanan keamanan. ZIP-PLUGIN Secara khusus kerentanan keamanan dipindai menggunakan layanan Amazon Inspector. Hasil pemeriksaan ini ditampilkan di ErrorDetails bidang respons API.

Gunakan AssociatePackageAPI untuk mengaitkan plugin dengan domain OpenSearch Layanan Amazon Anda menggunakan id paket paket yang dibuat pada langkah sebelumnya. Jika Anda memiliki beberapa plugin, Anda dapat menggunakan AssociatePackagesAPI untuk mengaitkan beberapa paket ke domain dalam satu operasi. Untuk melakukan ini, lihat contoh berikut:

aws opensearch --region $REGION associate-package --domain-name <domain-name> --package-id <package-id>
catatan

Plugin diinstal dan dihapus menggunakan proses penyebaran biru/hijau.

Anda dapat menggunakan ListPackagesForDomainAPI untuk melihat status asosiasi. Status asosiasi akan berubah saat alur kerja berlangsung dari ASSOCIATING ke. ACTIVE Status asosiasi berubah menjadi ACTIVE setelah alur kerja instalasi plugin selesai dan plugin Anda siap digunakan. Untuk melakukan ini, lihat contoh berikut:

aws opensearch --region $REGION list-packages-for-domain --domain-name <domain-name>

Memperbarui plugin kustom

Anda dapat memperbarui plugin khusus menggunakan UpdatePackageAPI yang ada. Anda dapat menggunakan contoh API associate-packages berikut untuk menerapkan pembaruan paket ke domain. Untuk melakukan ini, lihat contoh berikut:

aws opensearch --region $REGION update-package --package-id <package-id> --package-source S3BucketName=<bucket>,S3Key=<key> --package-description <description>
catatan

Anda dapat mengaudit membuat, memperbarui, mengaitkan, dan memisahkan operasi pada plugin Anda menggunakan AWS CloudTrail. Untuk informasi selengkapnya, lihat dokumentasi Memantau panggilan API OpenSearch Layanan Amazon dengan AWS CloudTrail.

Memutakhirkan domain Anda dengan plugin khusus

Untuk memutakhirkan domain OpenSearch Layanan Amazon Anda yang telah mengaitkan plugin khusus ke versi yang lebih baru OpenSearch, Anda dapat menggunakan CreatePackageAPI untuk membuat paket baru untuk plugin Anda.

catatan

Harap pastikan bahwa nama paketnya sama untuk plugin untuk semua versi mesin. Mengubah nama paket akan menyebabkan proses domain upgrade gagal selama penerapan biru/hijau.

Untuk petunjuk cara memutakhirkan domain OpenSearch Layanan Amazon, lihat Memutakhirkan Layanan Amazon OpenSearch . Amazon OpenSearch Service akan memisahkan versi sebelumnya dari paket plugin Anda dan menginstal versi baru plugin melalui penyebaran biru/hijau.

Mengenkripsi plugin kustom

Saat menggunakan CreatePackageAPI, Anda dapat mengatur PackageEncryptionOptions ke true dan meneruskan ARN kunci KMS yang ingin Anda gunakan untuk enkripsi. Untuk melakukan ini, lihat contoh berikut:

aws opensearch --region $REGION create-package --package-name <package-name> --package-type ZIP-PLUGIN --package-source S3BucketName=<bucket>,S3Key=<key> --engine-version OpenSearch_2.15 "PackageConfigOptions": { ... } "PackageEncryptionOptions": { "Enabled": true, "KmsKeyId":"kms_key_arn" }

Anda dapat mengaktifkan opsi yang sama saat memperbarui paket dengan menggunakan UpdatePackageAPI.

catatan

Jika kunci kunci KMS dinonaktifkan atau dihapus, itu dapat meninggalkan cluster dalam operasional.

Menghapus instalasi plugin kustom

Anda dapat menghapus plugin kustom menggunakan DissociatePackageAPI yang ada untuk menghapus plugin dari domain. Langkah ini juga menghapus konfigurasi dan/atau paket lisensi terkait yang terkait dengan plugin. Anda dapat menggunakan ListPackagesForDomainAPI yang ada untuk melihat status disosiasi. Selain itu, Anda juga dapat menggunakan DissociatePackagesAPI untuk menghapus beberapa plugin dari domain dalam satu operasi.

Anda dapat menggunakan contoh API disassociate-packages berikut untuk menerapkan pembaruan paket ke domain. Untuk melakukan ini, lihat contoh berikut:

aws opensearch --region $REGION dissociate-package --package-id <plugin-package-id> --domain-name <domain-name>
catatan

Untuk menghapus plugin, pertama-tama Anda harus menonaktifkan plugin dari setiap indeks sebelum memisahkan paket plugin. Jika Anda mencoba menghapus plugin tanpa menonaktifkannya dari setiap indeks, proses penerapan biru/hijau akan macet dalam status pemrosesan.