Membuat snapshot indeks di Amazon Service OpenSearch - OpenSearch Layanan Amazon

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

Membuat snapshot indeks di Amazon Service OpenSearch

Snapshot di Amazon OpenSearch Service adalah cadangan indeks dan status klaster. Status termasuk pengaturan klaster, informasi simpul, pengaturan indeks, dan alokasi serpihan.

OpenSearch Snapshot layanan datang dalam bentuk berikut:

  • Snapshot otomatis hanya untuk pemulihan klaster. Anda dapat menggunakannya untuk memulihkan domain Anda dalam peristiwa status klaster merah atau kehilangan data. Untuk informasi selengkapnya, lihat Memulihkan snapshot di bawah ini. OpenSearch Layanan menyimpan snapshot otomatis dalam bucket Amazon S3 yang telah dikonfigurasi sebelumnya tanpa biaya tambahan.

  • Snapshot manual adalah untuk pemulihan klaster atau untuk memindahkan data dari satu klaster ke klaster lainnya. Anda harus memulai snapshot manual. Snapshot ini disimpan dalam bucket Amazon S3 Anda sendiri dan biaya S3 standar berlaku. Jika Anda memiliki snapshot dari OpenSearch kluster yang dikelola sendiri, Anda dapat menggunakan snapshot tersebut untuk bermigrasi ke domain Layanan. OpenSearch Untuk informasi selengkapnya, lihat Migrasi ke OpenSearch Layanan Amazon.

Semua domain OpenSearch Layanan mengambil snapshot otomatis, tetapi frekuensinya berbeda dengan cara berikut:

  • Untuk domain yang berjalan OpenSearch atau Elasticsearch 5.3 dan yang lebih baru, OpenSearch Layanan mengambil snapshot otomatis setiap jam dan mempertahankan hingga 336 di antaranya selama 14 hari. Cuplikan per jam tidak terlalu mengganggu karena sifat inkrementalnya. Mereka juga menyediakan titik pemulihan yang lebih baru jika terjadi masalah domain.

  • Untuk domain yang menjalankan Elasticsearch 5.1 dan yang lebih lama, OpenSearch Layanan mengambil snapshot otomatis harian selama jam yang Anda tentukan, mempertahankan hingga 14 di antaranya, dan tidak menyimpan data snapshot apa pun selama lebih dari 30 hari.

Jika klaster Anda memasuki status merah, semua snapshot otomatis gagal selagi status klaster tetap ada. Jika Anda tidak memperbaiki masalah dalam waktu dua minggu, Anda dapat kehilangan data di klaster Anda secara permanen. Untuk langkah-langkah pemecahan masalah, lihat Status klaster merah.

Prasyarat

Untuk membuat snapshot secara manual, Anda perlu bekerja dengan IAM dan Amazon S3. Pastikan Anda memenuhi prasyarat berikut sebelum Anda mencoba untuk mengambil snapshot:

Prasyarat Deskripsi
Bucket S3

Buat bucket S3 untuk menyimpan snapshot manual untuk domain OpenSearch Layanan Anda. Untuk petunjuknya, lihat Membuat Bucket di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.

Ingat nama bucket untuk menggunakannya di tempat-tempat berikut:

  • Pernyataan Resource dari kebijakan IAM yang dilampirkan pada IAM role Anda

  • Klien Python digunakan untuk mendaftarkan repositori snapshot (jika Anda menggunakan metode ini)

penting

Jangan menerapkan aturan siklus hidup S3 Glacier ke bucket ini. Snapshot manual tidak mendukung kelas penyimpanan S3 Glacier.

Peran IAM

Buat peran IAM untuk mendelegasikan izin ke Layanan. OpenSearch Untuk petunjuk, lihat Membuat IAM role (konsol) di Panduan Pengguna IAM. Sisa dari bab ini mengacu pada peran ini sebagai TheSnapshotRole.

Lampirkan kebijakan IAM

Lampirkan kebijakan berikut ke TheSnapshotRole untuk mengizinkan akses ke bucket S3:

{ "Version": "2012-10-17", "Statement": [{ "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name" ] }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::s3-bucket-name/*" ] } ] }

Untuk petunjuk guna melampirkan kebijakan ke peran, lihat Menambahkan Izin Identitas IAM di Panduan Pengguna IAM.

Edit hubungan kepercayaan

Edit hubungan kepercayaan TheSnapshotRole untuk menentukan OpenSearch Layanan dalam Principal pernyataan seperti yang ditunjukkan pada contoh berikut:

{ "Version": "2012-10-17", "Statement": [{ "Sid": "", "Effect": "Allow", "Principal": { "Service": "es.amazonaws.com" }, "Action": "sts:AssumeRole" }] }

Untuk petunjuk guna mengedit hubungan kepercayaan, lihat Mengubah kebijakan kepercayaan peran di Panduan Pengguna IAM.

Izin

Untuk mendaftarkan repositori snapshot, Anda harus dapat meneruskan TheSnapshotRole ke Layanan. OpenSearch Anda juga memerlukan akses ke tindakan es:ESHttpPut. Untuk memberikan kedua izin ini, lampirkan kebijakan berikut ke peran IAM yang kredensialnya digunakan untuk menandatangani permintaan:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::123456789012:role/TheSnapshotRole" }, { "Effect": "Allow", "Action": "es:ESHttpPut", "Resource": "arn:aws:es:region:123456789012:domain/domain-name/*" } ] }

Jika pengguna atau peran Anda tidak memiliki iam:PassRole izin untuk diteruskanTheSnapshotRole, Anda mungkin mengalami kesalahan umum berikut saat mencoba mendaftarkan repositori di langkah berikutnya:

$ python register-repo.py {"Message":"User: arn:aws:iam::123456789012:user/MyUserAccount is not authorized to perform: iam:PassRole on resource: arn:aws:iam::123456789012:role/TheSnapshotRole"}

Mendaftarkan repositori snapshot manual

Anda perlu mendaftarkan repositori snapshot dengan OpenSearch Service sebelum Anda dapat mengambil snapshot indeks manual. Operasi satu kali ini mengharuskan Anda menandatangani AWS permintaan dengan kredensil yang diizinkan untuk diaksesTheSnapshotRole, seperti yang dijelaskan dalam. Prasyarat

Langkah 1: Petakan peran snapshot di OpenSearch Dasbor (jika menggunakan kontrol akses berbutir halus)

Kontrol akses detail memperkenalkan langkah tambahan saat mendaftarkan repositori. Bahkan jika Anda menggunakan autentikasi basic HTTP untuk semua tujuan lain, Anda perlu memetakan peran manage_snapshots ke IAM role Anda yang memiliki izin iam:PassRole untuk meneruskan TheSnapshotRole.

  1. Arahkan ke plugin OpenSearch Dasbor untuk domain OpenSearch Layanan Anda. Anda dapat menemukan titik akhir Dasbor di dasbor domain Anda di konsol OpenSearch Layanan.

  2. Dari menu utama, pilih Keamanan, Peran, lalu pilih peran manage_snapshots.

  3. Pilih Pengguna yang Dipetakan, Kelola pemetaan.

  4. Tambahkan ARN dari peran yang memiliki izin untuk diteruskan. TheSnapshotRole Letakkan ARN peran di bawah peran Backend.

    arn:aws:iam::123456789123:role/role-name
  5. Pilih Peta dan konfirmasikan pengguna atau peran muncul di bawah Pengguna yang dipetakan.

Langkah 2: Mendaftarkan repositori

Tab Snapshots berikut menunjukkan cara mendaftarkan direktori snapshot. Untuk opsi khusus untuk mengenkripsi snapshot manual dan mendaftarkan snapshot setelah bermigrasi ke domain baru, lihat tab yang relevan.

Snapshots

Untuk mendaftarkan repositori snapshot, kirim permintaan PUT ke titik akhir domain OpenSearch Layanan. Anda dapat menggunakan curl, contoh klien Python, Postman, atau metode lain untuk mengirim permintaan yang ditandatangani untuk mendaftarkan repositori snapshot. Perhatikan bahwa Anda tidak dapat menggunakan permintaan PUT di konsol OpenSearch Dasbor untuk mendaftarkan repositori.

Permintaan mengambil format berikut:

PUT domain-endpoint/_snapshot/my-snapshot-repo-name { "type": "s3", "settings": { "bucket": "s3-bucket-name", "base_path": "my/snapshot/directory", "region": "region", "role_arn": "arn:aws:iam::123456789012:role/TheSnapshotRole" } }
catatan

Nama repositori tidak dapat dimulai dengan “cs-”. Selain itu, Anda tidak boleh menulis ke repositori yang sama dari beberapa domain. Hanya satu domain yang harus memiliki akses tulis ke repositori.

Jika domain Anda berada dalam virtual private cloud (VPC), komputer Anda harus terhubung ke VPC agar permintaan berhasil mendaftarkan repositori snapshot. Mengakses VPC bervariasi menurut konfigurasi jaringan, tetapi kemungkinan melibatkan koneksi ke VPN atau jaringan perusahaan. Untuk memeriksa apakah Anda dapat mencapai domain OpenSearch Layanan, https://your-vpc-domain.region.es.amazonaws.com navigasikan ke browser web dan verifikasi bahwa Anda menerima respons JSON default.

Jika bucket Amazon S3 Anda berada di tempat lain Wilayah AWS selain OpenSearch domain Anda, tambahkan parameter "endpoint": "s3.amazonaws.com" ke permintaan.

Encrypted snapshots

Saat ini Anda tidak dapat menggunakan kunci AWS Key Management Service (KMS) untuk mengenkripsi snapshot manual, tetapi Anda dapat melindunginya menggunakan enkripsi sisi server (SSE).

Untuk mengaktifkan SSE dengan kunci terkelola S3 untuk bucket yang Anda gunakan sebagai repositori snapshot, tambahkan "server_side_encryption": true ke blok permintaan PUT. "settings" Untuk informasi selengkapnya, lihat Melindungi data menggunakan enkripsi sisi server dengan kunci enkripsi terkelola Amazon S3 di Panduan Pengguna Amazon Simple Storage Service.

Atau, Anda dapat menggunakan AWS KMS kunci untuk enkripsi sisi server pada bucket S3 yang Anda gunakan sebagai repositori snapshot. Jika Anda menggunakan pendekatan ini, pastikan untuk memberikan TheSnapshotRole izin ke AWS KMS kunci yang digunakan untuk mengenkripsi bucket S3. Untuk informasi selengkapnya, lihat Kebijakan utama di AWS KMS.

Domain migration

Mendaftarkan repositori snapshot adalah operasi satu kali. Namun, untuk bermigrasi dari satu domain ke domain lain, Anda harus mendaftarkan repositori snapshot yang sama pada domain lama dan domain baru. Nama repositori adalah semaunya.

Pertimbangkan panduan berikut saat bermigrasi ke domain baru atau mendaftarkan repositori yang sama dengan beberapa domain:

  • Saat mendaftarkan repositori pada domain baru, tambahkan "readonly": true ke blok "settings" dari permintaan PUT. Pengaturan ini mencegah Anda dari secara tidak sengaja menimpa data dari domain lama. Hanya satu domain yang harus memiliki akses tulis ke repositori.

  • Jika Anda memigrasikan data ke domain yang berbeda Wilayah AWS, (misalnya, dari domain lama dan bucket yang terletak di us-east-2 ke domain baru di us-west-2), ganti "region": "region" dengan "endpoint": "s3.amazonaws.com" di pernyataan PUT dan coba lagi permintaan tersebut.

Menggunakan sampel klien Python

Klien Python lebih mudah untuk diotomatisasi daripada permintaan HTTP sederhana dan memiliki kemampuan penggunaan kembali yang lebih baik. Jika anda memilih untuk menggunakan metode ini untuk mendaftarkan repositori snapshot, simpan sampel kode Python berikut sebagai file Python, seperti register-repo.py. Klien memerlukan paket AWS SDK for Python (Boto3), request dan requests-aws4auth. Klien berisi contoh-contoh yang dikomentari untuk operasi snapshot lainnya.

Memperbarui variabel berikut dalam kode sampel: host, region, path, dan payload.

import boto3 import requests from requests_aws4auth import AWS4Auth host = '' # domain endpoint region = '' # e.g. us-west-1 service = 'es' credentials = boto3.Session().get_credentials() awsauth = AWS4Auth(credentials.access_key, credentials.secret_key, region, service, session_token=credentials.token) # Register repository path = '/_snapshot/my-snapshot-repo-name' # the OpenSearch API endpoint url = host + path payload = { "type": "s3", "settings": { "bucket": "s3-bucket-name", "base_path": "my/snapshot/directory", "region": "us-west-1", "role_arn": "arn:aws:iam::123456789012:role/snapshot-role" } } headers = {"Content-Type": "application/json"} r = requests.put(url, auth=awsauth, json=payload, headers=headers) print(r.status_code) print(r.text) # # Take snapshot # # path = '_snapshot/my-snapshot-repo-name/my-snapshot' # url = host + path # # r = requests.put(url, auth=awsauth) # # print(r.text) # # # Delete index # # path = 'my-index' # url = host + path # # r = requests.delete(url, auth=awsauth) # # print(r.text) # # # Restore snapshot (all indexes except Dashboards and fine-grained access control) # # path = '_snapshot/my-snapshot-repo-name/my-snapshot/_restore' # url = host + path # # payload = { # "indices": "-.kibana*,-.opendistro_security,-.opendistro-*", # "include_global_state": False # } # # headers = {"Content-Type": "application/json"} # # r = requests.post(url, auth=awsauth, json=payload, headers=headers) # # print(r.text) # # # Restore snapshot (one index) # # path = '_snapshot/my-snapshot-repo-name/my-snapshot/_restore' # url = host + path # # payload = {"indices": "my-index"} # # headers = {"Content-Type": "application/json"} # # r = requests.post(url, auth=awsauth, json=payload, headers=headers) # # print(r.text)

Mengambil snapshot manual

Snapshot tidak seketika. Mereka membutuhkan waktu untuk menyelesaikan dan tidak mewakili point-in-time pandangan cluster yang sempurna. Sementara snapshot sedang berlangsung, Anda masih dapat mengindeks dokumen dan membuat permintaan lain ke klaster, tetapi dokumen baru dan pembaruan untuk dokumen yang ada umumnya tidak termasuk dalam snapshot. Snapshot menyertakan pecahan primer seperti yang ada saat OpenSearch memulai snapshot. Tergantung pada ukuran kolam utas snapshot Anda, serpihan yang berbeda mungkin disertakan dalam snapshot pada waktu yang sedikit berbeda. Untuk praktik terbaik snapshot, lihatTingkatkan kinerja snapshot.

Penyimpanan dan performa snapshot

OpenSearch snapshot bersifat inkremental, artinya mereka hanya menyimpan data yang berubah sejak snapshot terakhir yang berhasil. Sifat pertambahan ini berarti perbedaan dalam penggunaan disk antara snapshot yang sering dan jarang sering kali minimal. Dengan kata lain, mengambil snapshot per jam selama seminggu (untuk total 168 snapshot) mungkin tidak menggunakan lebih banyak ruang disk daripada mengambil satu snapshot pada akhir minggu. Selain itu, semakin sering Anda mengambil snapshot, semakin sedikit waktu yang diperlukan untuk menyelesaikannya. Misalnya, snapshot harian dapat memakan waktu 20-30 menit untuk diselesaikan, sedangkan snapshot per jam mungkin selesai dalam beberapa menit. Beberapa OpenSearch pengguna mengambil foto sesering setiap setengah jam.

Ambil snapshot

Anda menentukan informasi berikut saat Anda membuat snapshot:

  • Nama dari repositori snapshot Anda

  • Sebuah nama untuk snapshot

Contoh dalam bab ini menggunakan curl, klien HTTP umum, untuk kenyamanan dan singkatnya. Untuk meneruskan nama pengguna dan kata sandi ke permintaan curl Anda, lihat tutorial Memulai.

Jika kebijakan akses menentukan pengguna atau peran, Anda harus menandatangani permintaan snapshot. Untuk curl, Anda dapat menggunakan --aws-sigv4opsi dengan versi 7.75.0 atau yang lebih baru. Anda juga dapat menggunakan contoh yang dikomentari dalam contoh klien Python untuk membuat permintaan HTTP yang ditandatangani ke titik akhir yang sama dengan yang digunakan perintah curl.

Untuk mengambil snapshot manual, lakukan langkah-langkah berikut:

  1. Anda tidak dapat mengambil snapshot jika salah satu sedang berlangsung. Untuk memeriksa, jalankan perintah berikut:

    curl -XGET 'domain-endpoint/_snapshot/_status'
  2. Jalankan perintah berikut untuk mengambil snapshot manual:

    curl -XPUT 'domain-endpoint/_snapshot/repository-name/snapshot-name'

    Untuk menyertakan atau mengecualikan indeks tertentu dan menentukan pengaturan lain, tambahkan isi permintaan. Untuk struktur permintaan, lihat Mengambil snapshot dalam OpenSearch dokumentasi.

catatan

Waktu yang diperlukan untuk mengambil snapshot meningkat dengan ukuran domain OpenSearch Layanan. Operasi snapshot yang berjalan lama terkadang mengalami kesalahan berikut: 504 GATEWAY_TIMEOUT. Anda biasanya dapat mengabaikan kesalahan ini dan menunggu operasi selesai dengan sukses. Jalankan perintah berikut untuk memverifikasi status dari semua snapshot domain Anda:

curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'

Memulihkan snapshot

Sebelum mengembalikan snapshot, pastikan domain tujuan tidak menggunakan Multi-AZ dengan Standby. Mengaktifkan siaga menyebabkan operasi pemulihan gagal.

Awas

Jika Anda menggunakan alias indeks, Anda harus menghentikan permintaan tulis ke alias atau mengalihkan alias ke indeks lain sebelum menghapus indeksnya. Menghentikan permintaan penulisan membantu menghindari skenario berikut:

  1. Anda menghapus indeks, yang juga menghapus aliasnya.

  2. Permintaan penulisan yang salah ke alias yang sekarang dihapus membuat indeks baru dengan nama yang sama dengan alias.

  3. Anda tidak dapat lagi menggunakan alias karena konflik penamaan dengan indeks baru. Jika Anda telah mengalihkan alias ke indeks lain, tentukan "include_aliases": false saat Anda memulihkan dari snapshot.

Untuk mengembalikan snapshot

  1. Identifikasi snapshot yang ingin Anda pulihkan. Pastikan bahwa semua pengaturan untuk indeks ini, seperti paket penganalisis khusus atau pengaturan persyaratan alokasi, kompatibel dengan domain. Untuk melihat semua repositori snapshot, jalankan perintah berikut:

    curl -XGET 'domain-endpoint/_snapshot?pretty'

    Setelah Anda mengidentifikasi repositori, jalankan perintah berikut untuk melihat semua snapshot:

    curl -XGET 'domain-endpoint/_snapshot/repository-name/_all?pretty'
    catatan

    Sebagian besar snapshot otomatis disimpan dalam repositori cs-automated. Jika domain Anda mengenkripsi data saat tidak aktif, maka data tersebut akan disimpan di repositori cs-automated-enc. Jika Anda tidak melihat repositori snapshot manual yang Anda cari, pastikan Anda mendaftarkannya ke domain.

  2. (Opsional) Hapus atau ganti nama satu atau beberapa indeks di domain OpenSearch Layanan jika Anda memiliki konflik penamaan antara indeks di cluster dan indeks dalam snapshot. Anda tidak dapat mengembalikan snapshot indeks Anda ke OpenSearch cluster yang sudah berisi indeks dengan nama yang sama.

    Anda memiliki opsi berikut jika Anda memiliki konflik penamaan indeks:

    Perintah berikut menghapus semua indeks yang ada di domain:

    curl -XDELETE 'domain-endpoint/_all'

    Namun, jika Anda tidak berencana untuk memulihkan semua indeks, Anda cukup menghapus satu:

    curl -XDELETE 'domain-endpoint/index-name'
  3. Untuk memulihkan snapshot, jalankan perintah berikut:

    curl -XPOST 'domain-endpoint/_snapshot/repository-name/snapshot-name/_restore'

    Karena izin khusus pada OpenSearch Dasbor dan indeks kontrol akses berbutir halus, upaya untuk memulihkan semua indeks mungkin gagal, terutama jika Anda mencoba memulihkan dari snapshot otomatis. Contoh berikut memulihkan hanya satu indeks, my-index, dari 2020-snapshot di repositori snapshot cs-automated:

    curl -XPOST 'domain-endpoint/_snapshot/cs-automated/2020-snapshot/_restore' \ -d '{"indices": "my-index"}' \ -H 'Content-Type: application/json'

    Sebagai alternatif, Anda mungkin ingin memulihkan semua indeks kecuali Dasbor dan indeks kontrol akses berbutir halus:

    curl -XPOST 'domain-endpoint/_snapshot/cs-automated/2020-snapshot/_restore' \ -d '{"indices": "-.kibana*,-.opendistro*"}' \ -H 'Content-Type: application/json'

    Anda dapat memulihkan snapshot tanpa menghapus datanya dengan menggunakan parameter rename_pattern danrename_replacement. Untuk informasi selengkapnya tentang parameter ini, lihat bidang permintaan Restore Snapshot API dan contoh permintaan dalam OpenSearch dokumentasi.

catatan

Jika tidak semua pecahan utama tersedia untuk indeks yang terlibat, snapshot mungkin memiliki file. state PARTIAL Nilai ini menunjukkan bahwa data dari setidaknya satu serpihan tidak berhasil disimpan. Anda masih dapat memulihkan dari sebagian snapshot, tetapi Anda mungkin perlu menggunakan snapshot lama untuk memulihkan indeks yang hilang.

Menghapus snapshot manual

Untuk menghapus snapshot manual, jalankan perintah berikut:

DELETE _snapshot/repository-name/snapshot-name

Mengotomatiskan snapshot dengan Manajemen Snapshot

Anda dapat menyiapkan kebijakan Manajemen Snapshot (SM) di OpenSearch Dasbor untuk mengotomatiskan pembuatan dan penghapusan snapshot secara berkala. SM dapat mengambil snapshot dari sekelompok indeks, sedangkan Index State Management hanya dapat mengambil satu snapshot per indeks. Untuk menggunakan SM in OpenSearch Service, Anda harus mendaftarkan repositori Amazon S3 Anda sendiri. Untuk petunjuk untuk mendaftarkan repositori Anda, lihat Mendaftarkan repositori snapshot manual.

Sebelum SM, OpenSearch Layanan menawarkan fitur snapshot otomatis gratis yang masih diaktifkan secara default. Fitur ini mengirimkan snapshot ke repositori yang dikelola layanancs-*. Untuk menonaktifkan fitur, hubungi. AWS Support

Untuk informasi selengkapnya tentang fitur SM, lihat Manajemen snapshot dalam OpenSearch dokumentasi.

SM saat ini tidak mendukung pembuatan snapshot pada beberapa jenis indeks. Misalnya, jika Anda mencoba membuat snapshot pada beberapa indeks dengan * dan beberapa indeks berada di tingkat hangat, pembuatan snapshot akan gagal. Jika Anda memerlukan snapshot berisi beberapa jenis indeks, gunakan tindakan snapshot ISM hingga SM mendukung opsi ini.

Konfigurasi izin

Jika Anda memutakhirkan ke 2.5 dari versi domain OpenSearch Layanan sebelumnya, izin keamanan manajemen snapshot mungkin tidak ditentukan pada domain. Pengguna non-admin harus dipetakan ke peran ini untuk menggunakan manajemen snapshot pada domain menggunakan kontrol akses berbutir halus. Untuk membuat peran manajemen snapshot secara manual, 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
    snapshot_management_full_access
    • cluster:admin/opensearch/snapshot_management/*

    • cluster:admin/opensearch/notifications/feature/publish

    • cluster:admin/repository/*

    • cluster:admin/snapshot/*

    snapshot_management_read_access
    • cluster:admin/opensearch/snapshot_management/policy/get

    • cluster:admin/opensearch/snapshot_management/policy/search

    • cluster:admin/opensearch/snapshot_management/policy/explain

    • cluster:admin/repository/get

    • cluster:admin/snapshot/get

  3. Pilih Peran dan Buat peran.

  4. Beri nama peran snapshot_management_role.

  5. Untuk izin Cluster, pilih snapshot_management_full_access atausnapshot_management_read_access.

  6. Pilih Buat.

  7. Setelah Anda membuat peran, petakan ke setiap pengguna atau peran backend yang akan mengelola snapshot.

Pertimbangan

Pertimbangkan hal berikut saat Anda mengonfigurasi manajemen snapshot:

  • Satu kebijakan diperbolehkan per repositori.

  • Hingga 400 snapshot diizinkan untuk satu kebijakan.

  • Fitur ini tidak akan berjalan jika domain Anda memiliki status merah, berada di bawah tekanan JVM tinggi (85% atau lebih tinggi), atau memiliki fungsi snapshot macet. Ketika kinerja pengindeksan dan pencarian keseluruhan klaster Anda terpengaruh, SM juga dapat terpengaruh.

  • Operasi snapshot hanya dimulai setelah operasi sebelumnya selesai, sehingga tidak ada operasi snapshot bersamaan yang diaktifkan oleh satu kebijakan.

  • Beberapa kebijakan dengan jadwal yang sama dapat menyebabkan lonjakan sumber daya. Jika indeks snapshot kebijakan tumpang tindih, operasi snapshot level shard hanya dapat berjalan secara berurutan, yang dapat menyebabkan masalah kinerja berjenjang. Jika kebijakan berbagi repositori, akan ada lonjakan operasi penulisan ke repositori tersebut.

  • Kami menyarankan Anda menjadwalkan otomatisasi operasi snapshot Anda tidak lebih dari sekali per jam, kecuali jika Anda memiliki kasus penggunaan khusus.

Mengotomatisasi snapshot dengan Manajemen State Indeks

Anda dapat menggunakan snapshot operasi Index State Management (ISM) untuk secara otomatis memicu snapshot indeks berdasarkan perubahan usia, ukuran, atau jumlah dokumen. ISM adalah yang terbaik ketika Anda membutuhkan satu snapshot per indeks. Jika Anda perlu memotret sekelompok indeks, lihat. Mengotomatiskan snapshot dengan Manajemen Snapshot

Untuk menggunakan SM in OpenSearch Service, Anda harus mendaftarkan repositori Amazon S3 Anda sendiri. Untuk contoh kebijakan ISM yang menggunakan operasi snapshot, lihat Sampel Kebijakan.

Menggunakan Curator untuk snapshot

Jika ISM tidak berfungsi untuk manajemen indeks dan snapshot, Anda dapat menggunakan Kurator sebagai gantinya. Ini menawarkan fungsionalitas penyaringan lanjutan yang dapat membantu menyederhanakan tugas manajemen pada cluster yang kompleks. Gunakan pip untuk menginstal Curator:

pip install elasticsearch-curator

Anda dapat menggunakan Curator sebagai antarmuka baris perintah (CLI) atau API Python. Jika Anda menggunakan Python API, Anda harus menggunakan versi 7.13.4 atau sebelumnya dari klien elasticsearch-py lama. Itu tidak mendukung klien opensearch-py.

Jika Anda menggunakan CLI, ekspor kredensial Anda pada baris perintah dan konfigurasikan curator.yml sebagai berikut:

client: hosts: search-my-domain.us-west-1.es.amazonaws.com port: 443 use_ssl: True aws_region: us-west-1 aws_sign_request: True ssl_no_validate: False timeout: 60 logging: loglevel: INFO