Penyimpanan dingin untuk OpenSearch Layanan Amazon - OpenSearch Layanan Amazon

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

Penyimpanan dingin untuk OpenSearch Layanan Amazon

Penyimpanan dingin memungkinkan Anda menyimpan sejumlah data yang jarang diakses atau historis di domain OpenSearch Layanan Amazon Anda dan menganalisisnya sesuai permintaan, dengan biaya lebih rendah daripada tingkatan penyimpanan lainnya. Penyimpanan dingin sesuai jika Anda perlu melakukan penelitian berkala atau analisis forensik pada data lama Anda. Contoh praktis data yang cocok untuk penyimpanan dingin termasuk log yang jarang diakses, data yang harus dipelihara untuk memenuhi persyaratan kepatuhan, atau log yang memiliki nilai historis.

Mirip dengan UltraWarmpenyimpanan, penyimpanan dingin didukung oleh Amazon S3. Saat Anda perlu menanyakan data dingin, Anda dapat secara selektif melampirkannya ke UltraWarm node yang ada. Anda dapat mengelola migrasi dan siklus hidup data dingin Anda secara manual atau dengan kebijakan Index State Management.

Prasyarat

Penyimpanan dingin memiliki prasyarat berikut:

  • Cold storage membutuhkan OpenSearch atau Elasticsearch versi 7.9 atau yang lebih baru.

  • Untuk mengaktifkan penyimpanan dingin pada domain OpenSearch Layanan, Anda juga harus mengaktifkan UltraWarm pada domain yang sama.

  • Untuk menggunakan penyimpanan dingin, domain harus memiliki simpul utama khusus.

  • Jika domain Anda menggunakan tipe instans T2 atau T3 untuk simpul data, Anda tidak dapat menggunakan penyimpanan dingin.

  • Jika indeks Anda menggunakan codec kompresi Zstandard ("index.codec": "zstd"atau"index.codec": "zstd_no_dict"), Anda tidak dapat memindahkannya ke penyimpanan dingin.

  • Jika indeks Anda menggunakan perkiraan k-nn ("index.knn": true), Anda tidak dapat memindahkannya ke cold storage.

  • Jika domain menggunakan kontrol akses berbutir halus, pengguna non-admin harus dipetakan ke cold_manager peran di OpenSearch Dasbor untuk mengelola indeks dingin.

catatan

cold_managerPeran tersebut mungkin tidak ada di beberapa domain OpenSearch Layanan yang sudah ada sebelumnya. Jika Anda tidak melihat peran di Dasbor, Anda harus membuatnya secara manual.

Konfigurasi izin

Jika Anda mengaktifkan penyimpanan dingin pada domain OpenSearch Layanan yang sudah ada sebelumnya, cold_manager peran tersebut mungkin tidak ditentukan pada domain. Jika domain menggunakan kontrol akses berbutir halus, pengguna non-admin harus dipetakan ke peran ini untuk mengelola indeks dingin. Untuk membuat secara manual peran cold_manager, lakukan langkah-langkah berikut:

  1. Di OpenSearch Dasbor, buka Keamanan dan pilih Izin.

  2. Pilih Buat grup tindakan dan konfigurasi grup-grup berikut:

    Nama grup Izin
    cold_cluster
    • cluster:monitor/nodes/stats

    • cluster:admin/ultrawarm*

    • cluster:admin/cold/*

    cold_index
    • indices:monitor/stats

    • indices:data/read/minmax

    • indices:admin/ultrawarm/migration/get

    • indices:admin/ultrawarm/migration/cancel

  3. Pilih Peran dan Buat peran.

  4. Nama peran cold_manager.

  5. Untuk izin Cluster, pilih cold_cluster grup yang Anda buat.

  6. Untuk Indeks, masukkan *.

  7. Untuk Izin indeks, pilih grup cold_index yang Anda buat.

  8. Pilih Buat.

  9. Setelah Anda membuat peran, petakan ke setiap pengguna atau peran backend yang mengelola indeks dingin.

Persyaratan penyimpanan UltraWarm dan pertimbangan performa

Karena penyimpanan dingin menggunakan Amazon S3, penyimpanan dingin tidak menimbulkan overhead penyimpanan panas, seperti replika, ruang cadangan Linux, dan ruang cadangan Layanan. OpenSearch Penyimpanan dingin tidak memiliki tipe instans tertentu karena tidak memiliki kapasitas komputasi yang melekat padanya. Anda dapat menyimpan sejumlah data dalam penyimpanan dingin. Pantau ColdStorageSpaceUtilization metrik di Amazon CloudWatch untuk melihat berapa banyak ruang penyimpanan dingin yang Anda gunakan.

Harga penyimpanan dingin

Mirip dengan UltraWarm penyimpanan, dengan cold storage Anda hanya membayar untuk penyimpanan data. Tidak ada biaya komputasi untuk data dingin dan Anda tidak akan ditagih jika tidak ada data dalam penyimpanan data.

Anda tidak dikenakan biaya transfer saat memindahkan data antara penyimpanan dingin dan hangat. Sementara indeks sedang bermigrasi antara penyimpanan hangat dan dingin, Anda terus membayar hanya satu salinan indeks. Setelah migrasi selesai, indeks ditagih sesuai dengan tingkat penyimpanan yang dimigrasikan. Untuk informasi selengkapnya tentang harga cold storage, lihat harga Amazon OpenSearch Service.

Mengaktifkan penyimpanan dingin

Konsol adalah cara paling mudah untuk membuat domain yang menggunakan penyimpanan dingin. Saat membuat domain, pilih Aktifkan penyimpanan dingin. Proses yang sama bekerja pada domain yang ada selama Anda memenuhi prasyarat. Bahkan setelah status domain berubah dari Pemrosesan ke Aktif, penyimpanan dingin mungkin tidak tersedia selama beberapa jam.

Anda juga dapat menggunakan AWS CLI atau API konfigurasi untuk mengaktifkan penyimpanan dingin.

Contoh perintah CLI

Perintah AWS CLI berikut membuat domain dengan tiga simpul data, tiga simpul utama khusus, penyimpanan dingin diaktifkan, dan kontrol akses detail diaktifkan:

aws opensearch create-domain \ --domain-name my-domain \ --engine-version Opensearch_1.0 \ --cluster-config ColdStorageOptions={Enabled=true},WarmEnabled=true,WarmCount=4,WarmType=ultrawarm1.medium.search,InstanceType=r6g.large.search,DedicatedMasterEnabled=true,DedicatedMasterType=r6g.large.search,DedicatedMasterCount=3,InstanceCount=3 \ --ebs-options EBSEnabled=true,VolumeType=gp2,VolumeSize=11 \ --node-to-node-encryption-options Enabled=true \ --encryption-at-rest-options Enabled=true \ --domain-endpoint-options EnforceHTTPS=true,TLSSecurityPolicy=Policy-Min-TLS-1-2-2019-07 \ --advanced-security-options Enabled=true,InternalUserDatabaseEnabled=true,MasterUserOptions='{MasterUserName=master-user,MasterUserPassword=master-password}' \ --region us-east-2

Untuk informasi rinci, lihat AWS CLI Referensi Perintah.

Contoh permintaan API konfigurasi

Permintaan berikut ke API konfigurasi membuat domain dengan tiga node data, tiga node utama khusus, penyimpanan dingin diaktifkan, dan kontrol akses halus diaktifkan:

POST https://es.us-east-2.amazonaws.com/2021-01-01/opensearch/domain { "ClusterConfig": { "InstanceCount": 3, "InstanceType": "r6g.large.search", "DedicatedMasterEnabled": true, "DedicatedMasterType": "r6g.large.search", "DedicatedMasterCount": 3, "ZoneAwarenessEnabled": true, "ZoneAwarenessConfig": { "AvailabilityZoneCount": 3 }, "WarmEnabled": true, "WarmCount": 4, "WarmType": "ultrawarm1.medium.search", "ColdStorageOptions": { "Enabled": true } }, "EBSOptions": { "EBSEnabled": true, "VolumeType": "gp2", "VolumeSize": 11 }, "EncryptionAtRestOptions": { "Enabled": true }, "NodeToNodeEncryptionOptions": { "Enabled": true }, "DomainEndpointOptions": { "EnforceHTTPS": true, "TLSSecurityPolicy": "Policy-Min-TLS-1-2-2019-07" }, "AdvancedSecurityOptions": { "Enabled": true, "InternalUserDatabaseEnabled": true, "MasterUserOptions": { "MasterUserName": "master-user", "MasterUserPassword": "master-password" } }, "EngineVersion": "Opensearch_1.0", "DomainName": "my-domain" }

Untuk informasi selengkapnya, lihat Referensi API OpenSearch Layanan Amazon.

Mengelola indeks dingin di Dasbor OpenSearch

Anda dapat mengelola indeks panas, hangat, dan dingin dengan antarmuka Dasbor yang ada di domain OpenSearch Layanan Anda. Dasbor memungkinkan Anda untuk memigrasikan indeks antara penyimpanan hangat dan dingin, dan memantau status migrasi indeks, tanpa menggunakan CLI atau API konfigurasi. Untuk informasi selengkapnya, lihat Mengelola indeks di OpenSearch Dasbor.

Migrasi indeks ke cold storage

Saat memigrasikan indeks ke penyimpanan dingin, Anda menyediakan rentang waktu agar data lebih mudah ditemukan. Anda dapat memilih bidang timestamp berdasarkan data dalam indeks Anda, secara manual memberikan awal dan akhir timestamp, atau memilih untuk tidak menentukannya.

Parameter Nilai yang didukung Deskripsi
timestamp_field Bidang tanggal/waktu dari pemetaan indeks.

Nilai minimum dan maksimum bidang yang disediakan dihitung dan disimpan sebagai metadata start_time dan end_time untuk indeks dingin.

start_time dan end_time

Salah satu format berikut:

  • strict_date_optional_time. Misalnya yyyy-MM-dd'T'HH:mm:ss.SSSZ atau yyyy-MM-dd

  • Waktu jangka waktu dalam milidetik

Nilai yang disediakan disimpan sebagai metadata start_time dan end_time untuk indeks dingin.

Jika Anda tidak ingin menentukan timestamp, tambahkan ?ignore=timestamp untuk permintaan sebagai gantinya.

Permintaan berikut memigrasikan indeks hangat ke penyimpanan dingin dan menyediakan waktu mulai dan akhir untuk data dalam indeks tersebut:

POST _ultrawarm/migration/my-index/_cold { "start_time": "2020-03-09", "end_time": "2020-03-09T23:00:00Z" }

Kemudian periksa status migrasi:

GET _ultrawarm/migration/my-index/_status { "migration_status": { "index": "my-index", "state": "RUNNING_METADATA_RELOCATION", "migration_type": "WARM_TO_COLD" } }

OpenSearch Layanan memigrasikan satu indeks pada satu waktu ke cold storage. Anda dapat memiliki hingga 100 migrasi dalam antrian. Setiap permintaan yang melebihi batas akan ditolak. Untuk memeriksa jumlah migrasi saat ini dalam antrean, pantau metrik WarmToColdMigrationQueueSize. Proses migrasi memiliki status sebagai berikut:

ACCEPTED_COLD_MIGRATION - Migration request is accepted and queued. RUNNING_METADATA_MIGRATION - The migration request was selected for execution and metadata is migrating to cold storage. FAILED_METADATA_MIGRATION - The attempt to add index metadata has failed and all retries are exhausted. PENDING_INDEX_DETACH - Index metadata migration to cold storage is completed. Preparing to detach the warm index state from the local cluster. RUNNING_INDEX_DETACH - Local warm index state from the cluster is being removed. Upon success, the migration request will be completed. FAILED_INDEX_DETACH - The index detach process failed and all retries are exhausted.

Mengotomatiskan perpindahan ke penyimpanan dingin

Anda dapat menggunakan Indeks State Management untuk mengotomatisasi proses migrasi setelah indeks mencapai usia tertentu atau memenuhi kondisi lain. Lihat kebijakan sampel, yang menunjukkan cara memigrasikan indeks secara otomatis dari penyimpanan panas UltraWarm ke penyimpanan dingin.

catatan

Eksplisit timestamp_field diperlukan untuk memindahkan indeks ke penyimpanan dingin menggunakan kebijakan Manajemen Negara Indeks.

Membatalkan migrasi ke penyimpanan dingin

Jika migrasi ke penyimpanan dingin dalam antrian atau dalam keadaan gagal, Anda dapat membatalkan migrasi menggunakan permintaan berikut:

POST _ultrawarm/migration/_cancel/my-index { "acknowledged" : true }

Jika domain Anda menggunakan kontrol akses detail, Anda memerlukan izin indices:admin/ultrawarm/migration/cancel untuk membuat permintaan ini.

Daftar indeks dingin

Sebelum melakukan kueri, Anda dapat membuat daftar indeks di cold storage untuk memutuskan indeks mana yang akan dimigrasi UltraWarm untuk analisis lebih lanjut. Permintaan berikut mencantumkan semua indeks dingin, diurutkan berdasarkan nama indeks:

GET _cold/indices/_search

Sampel respon

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 3, "indices" : [ { "index" : "my-index-1", "index_cold_uuid" : "hjEoh26mRRCFxRIMdgvLmg", "size" : 10339, "creation_date" : "2021-06-28T20:23:31.206Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-2", "index_cold_uuid" : "0vIS2n-oROmOWDFmwFIgdw", "size" : 6068, "creation_date" : "2021-07-15T19:41:18.046Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-3", "index_cold_uuid" : "EaeXOBodTLiDYcivKsXVLQ", "size" : 32403, "creation_date" : "2021-07-08T00:12:01.523Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }

Penyaringan

Anda dapat memfilter indeks dingin berdasarkan pola indeks berbasis awalan dan offset rentang waktu.

Permintaan berikut mencantumkan indeks yang cocok dengan pola awalan: event-*

GET _cold/indices/_search { "filters":{ "index_pattern": "event-*" } }

Sampel respon

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 1, "indices" : [ { "index" : "events-index", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }

Permintaan berikut mengembalikan indeks dengan start_time dan bidang end_time metadata antara dan: 2019-03-01 2020-03-01

GET _cold/indices/_search { "filters": { "time_range": { "start_time": "2019-03-01", "end_time": "2020-03-01" } } }

Sampel respon

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 1, "indices" : [ { "index" : "my-index", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2019-05-09T00:00Z", "end_time" : "2019-09-09T23:00Z" } ] }

Penyortiran

Anda dapat mengurutkan indeks dingin berdasarkan bidang metadata seperti nama indeks atau ukuran. Permintaan berikut mencantumkan semua indeks yang diurutkan berdasarkan ukuran dalam urutan menurun:

GET _cold/indices/_search { "sort_key": "size:desc" }

Sampel respon

{ "pagination_id" : "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY", "total_results" : 5, "indices" : [ { "index" : "my-index-6", "index_cold_uuid" : "4eFiab7rRfSvp3slrIsIKA", "size" : 32263273, "creation_date" : "2021-08-18T18:25:31.845Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-9", "index_cold_uuid" : "mbD3ZRVDRI6ONqgEOsJyUA", "size" : 57922, "creation_date" : "2021-07-07T23:41:35.640Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" }, { "index" : "my-index-5", "index_cold_uuid" : "EaeXOBodTLiDYcivKsXVLQ", "size" : 32403, "creation_date" : "2021-07-08T00:12:01.523Z", "start_time" : "2020-03-09T00:00Z", "end_time" : "2020-03-09T23:00Z" } ] }

Kunci pengurutan valid lainnya adalah start_time:asc/desc, end_time:asc/desc, dan index_name:asc/desc.

Paginasi

Anda dapat membuat halaman daftar indeks dingin. Konfigurasikan jumlah indeks yang akan dikembalikan per halaman dengan page_size parameter (defaultnya adalah 10). Setiap _search permintaan pada indeks dingin Anda mengembalikan permintaan pagination_id yang dapat Anda gunakan untuk panggilan berikutnya.

Permintaan berikut memberi halaman atas hasil _search permintaan indeks dingin Anda dan menampilkan 100 hasil berikutnya:

GET _cold/indices/_search?page_size=100 { "pagination_id": "je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY" }

Migrasi indeks dingin ke penyimpanan hangat

Setelah Anda mempersempit daftar indeks dingin dengan kriteria pemfilteran di bagian sebelumnya, migrasikan kembali ke UltraWarm tempat Anda dapat menanyakan data dan menggunakannya untuk membuat visualisasi.

Permintaan berikut memigrasikan dua indeks dingin kembali ke penyimpanan hangat:

POST _cold/migration/_warm { "indices": "my-index1,my-index2" } { "acknowledged" : true }

Untuk memeriksa status migrasi dan mengambil ID migrasi, kirim permintaan berikut:

GET _cold/migration/_status

Sampel respon

{ "cold_to_warm_migration_status" : [ { "migration_id" : "tyLjXCA-S76zPQbPVHkOKA", "indices" : [ "my-index1,my-index2" ], "state" : "RUNNING_INDEX_CREATION" } ] }

Untuk mendapatkan informasi migrasi spesifik indeks, termasuk nama indeks:

GET _cold/migration/my-index/_status

Daripada menentukan indeks, Anda dapat membuat daftar indeks berdasarkan status migrasi mereka saat ini. Nilai yang valid adalah _failed, _accepted, dan _all.

Perintah berikut mendapatkan status semua indeks dalam satu permintaan migrasi:

GET _cold/migration/_status?migration_id=my-migration-id

Mengambil ID migrasi menggunakan permintaan status. Untuk informasi migrasi terperinci, tambahkan &verbose=true.

Anda dapat memigrasikan indeks dari penyimpanan dingin ke penyimpanan hangat dalam batch 10 atau kurang, dengan maksimum 100 indeks dimigrasikan secara bersamaan. Setiap permintaan yang melebihi batas akan ditolak. Untuk memeriksa jumlah migrasi saat ini yang sedang berlangsung, pantau ColdToWarmMigrationQueueSize metriknya. Proses migrasi memiliki status sebagai berikut:

ACCEPTED_MIGRATION_REQUEST - Migration request is accepted and queued. RUNNING_INDEX_CREATION - Migration request is picked up for processing and will create warm indexes in the cluster. PENDING_COLD_METADATA_CLEANUP - Warm index is created and the migration service will attempt to clean up cold metadata. RUNNING_COLD_METADATA_CLEANUP - Cleaning up cold metadata from the indexes migrated to warm storage. FAILED_COLD_METADATA_CLEANUP - Failed to clean up metadata in the cold tier. FAILED_INDEX_CREATION - Failed to create an index in the warm tier.

Memulihkan indeks dingin dari snapshot

Jika Anda perlu mengembalikan indeks dingin yang dihapus, Anda dapat mengembalikannya kembali ke tingkat hangat dengan mengikuti instruksi Memulihkan indeks hangat dari snapshot dan kemudian memigrasikan indeks kembali ke tingkat dingin lagi. Anda tidak dapat mengembalikan indeks dingin yang dihapus langsung kembali ke tingkat dingin. OpenSearch Layanan mempertahankan indeks dingin selama 14 hari setelah dihapus.

Membatalkan migrasi dari penyimpanan dingin ke hangat

Jika migrasi indeks dari penyimpanan dingin ke penyimpanan hangat diantrekan atau dalam status gagal, Anda dapat membatalkannya dengan permintaan berikut:

POST _cold/migration/my-index/_cancel { "acknowledged" : true }

Untuk membatalkan migrasi untuk kumpulan indeks (maksimum 10 pada satu waktu), tentukan ID migrasi:

POST _cold/migration/_cancel?migration_id=my-migration-id { "acknowledged" : true }

Mengambil ID migrasi menggunakan permintaan status.

Memperbarui metadata indeks dingin

Anda dapat memperbarui bidang start_time dan end_time untuk indeks dingin:

PATCH _cold/my-index { "start_time": "2020-01-01", "end_time": "2020-02-01" }

Anda tidak dapat memperbarui timestamp_field dari indeks dalam penyimpanan dingin.

catatan

OpenSearch Dasbor tidak mendukung metode PATCH. Gunakan curl, Postman, atau beberapa metode lain untuk memperbarui metadata dingin.

Menghapus indeks dingin

Jika Anda tidak menggunakan kebijakan ISM, Anda dapat menghapus indeks dingin secara manual. Permintaan berikut menghapus indeks dingin:

DELETE _cold/my-index { "acknowledged" : true }

Menonaktifkan penyimpanan dingin

Konsol OpenSearch Layanan adalah cara paling sederhana untuk menonaktifkan penyimpanan dingin. Pilih domain dan pilih Tindakan, Edit konfigurasi klaster, lalu batalkan pilihan Aktifkan penyimpanan dingin.

Untuk menggunakan CLI AWS atau API konfigurasi, pada ColdStorageOptions, atur "Enabled"="false".

Sebelum Anda menonaktifkan penyimpanan dingin, Anda harus menghapus semua indeks dingin atau memigrasikannya kembali ke penyimpanan hangat, jika tidak, tindakan penonaktifan gagal.