Migrasi indeks OpenSearch Layanan Amazon menggunakan indeks ulang jarak jauh - OpenSearch Layanan Amazon

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

Migrasi indeks OpenSearch Layanan Amazon menggunakan indeks ulang jarak jauh

Remote reindex memungkinkan Anda menyalin indeks dari satu domain OpenSearch Layanan Amazon ke domain lain. Anda dapat memigrasikan indeks dari domain OpenSearch Layanan atau cluster yang dikelola sendiri OpenSearch dan Elasticsearch.

Domain dan indeks jarak jauh mengacu pada sumber data, atau domain dan indeks tempat Anda ingin menyalin data. Domain dan indeks lokal mengacu pada target untuk data, atau domain dan indeks yang ingin Anda salin datanya.

Pengindeksan ulang jarak jauh membutuhkan OpenSearch 1.0 atau yang lebih baru, atau Elasticsearch 6.7 atau yang lebih baru, pada domain lokal. Versi domain jarak jauh harus lebih rendah atau versi utama yang sama dengan domain lokal. Versi Elasticsearch dianggap lebih rendah dari OpenSearch versi, artinya Anda dapat mengindeks ulang data dari domain Elasticsearch ke domain. OpenSearch Dalam versi utama yang sama, domain jarak jauh dapat berupa versi minor. Misalnya, pengindeksan ulang jarak jauh dari Elasticsearch 7.10.x ke 7.9 didukung, tetapi OpenSearch 1.0 ke Elasticsearch 7.10.x tidak didukung.

catatan

Dokumentasi ini menjelaskan cara mengindeks ulang data antara domain OpenSearch Layanan Amazon. Untuk dokumentasi lengkap untuk reindex operasi, termasuk langkah-langkah rinci dan opsi yang didukung, lihat Mengindeks ulang dokumen dalam OpenSearch dokumentasi.

Prasyarat

Remote reindex memiliki persyaratan sebagai berikut:

  • Domain jarak jauh harus dapat diakses dari domain lokal. Untuk domain jarak jauh yang berada di dalam aVPC, domain lokal harus memiliki akses ke domain. VPC Proses ini bervariasi menurut konfigurasi jaringan, tetapi kemungkinan melibatkan koneksi ke VPN atau jaringan terkelola, atau menggunakan koneksi VPC endpoint asli. Untuk mempelajari selengkapnya, lihat Meluncurkan domain OpenSearch Layanan Amazon Anda dalam VPC.

  • Permintaan harus diotorisasi oleh domain jarak jauh seperti REST permintaan lainnya. Jika domain jarak jauh telah mengaktifkan kontrol akses berbutir halus, Anda harus memiliki izin untuk melakukan indeks ulang pada domain jarak jauh dan membaca indeks pada domain lokal. Untuk pertimbangan keamanan lebih lanjut, lihatKontrol akses berbutir halus di Layanan Amazon OpenSearch .

  • Kami sarankan Anda membuat indeks dengan pengaturan yang diinginkan pada domain lokal Anda sebelum Anda memulai proses mengindeks ulang.

  • Jika domain Anda menggunakan tipe instans T2 atau T3 untuk node data Anda, Anda tidak dapat menggunakan indeks ulang jarak jauh.

Mengindeks ulang data antara domain internet OpenSearch Layanan

Skenario paling dasar adalah indeks jarak jauh Wilayah AWS sama dengan domain lokal Anda dengan titik akhir yang dapat diakses publik dan Anda telah menandatangani IAM kredensialnya.

Dari domain jarak jauh, tentukan indeks jarak jauh untuk diindeks ulang dan indeks lokal untuk diindeks ulang ke:

POST _reindex { "source": { "remote": { "host": "https://remote-domain-endpoint:443" }, "index": "remote_index" }, "dest": { "index": "local_index" } }

Anda harus menambahkan 443 pada titik akhir domain jarak jauh untuk pemeriksaan validasi.

Untuk memverifikasi bahwa indeks disalin ke domain lokal, kirim permintaan ini ke domain lokal:

GET local_index/_search

Jika indeks jarak jauh berada di Wilayah yang berbeda dari domain lokal Anda, teruskan nama Regionalnya, seperti dalam permintaan sampel ini:

POST _reindex { "source": { "remote": { "host": "https://remote-domain-endpoint:443", "region": "eu-west-1" }, "index": "remote_index" }, "dest": { "index": "local_index" } }

Dalam kasus Wilayah seperti AWS GovCloud (US) atau Wilayah Tiongkok yang terisolasi, titik akhir mungkin tidak dapat diakses karena pengguna IAM Anda tidak dikenali di Wilayah tersebut.

Jika domain jarak jauh diamankan dengan otentikasi dasar, tentukan nama pengguna dan kata sandi:

POST _reindex { "source": { "remote": { "host": "https://remote-domain-endpoint:443", "username": "username", "password": "password" }, "index": "remote_index" }, "dest": { "index": "local_index" } }

Mengindeks ulang data antara domain OpenSearch Layanan saat remote berada di VPC

Setiap domain OpenSearch Layanan terdiri dari infrastruktur internal virtual private cloud (VPC) miliknya sendiri. Ketika Anda membuat domain baru di OpenSearch Layanan yang adaVPC, sebuah elastic network interface dibuat untuk setiap node data diVPC.

Karena operasi pengindeksan ulang jarak jauh dilakukan dari domain OpenSearch Layanan jarak jauh, dan oleh karena itu dalam privatnya sendiriVPC, Anda memerlukan cara untuk mengakses domain lokal. VPC Anda dapat melakukan ini dengan menggunakan fitur koneksi VPC titik akhir bawaan untuk membuat koneksi melalui AWS PrivateLink, atau dengan mengonfigurasi proxy.

Jika domain lokal Anda menggunakan OpenSearch versi 1.0 atau yang lebih baru, Anda dapat menggunakan konsol atau AWS CLI untuk membuat AWS PrivateLink koneksi. AWS PrivateLink Koneksi memungkinkan sumber daya di lokal VPC untuk terhubung secara pribadi ke sumber daya di remote VPC dalam hal yang sama Wilayah AWS.

Untuk membuat koneksi VPC titik akhir, domain sumber yang akan diindeks ulang harus dalam lokalVPC, dan domain sumber dan tujuan harus sama. Wilayah AWS

Anda dapat menggunakan indeks ulang jarak jauh dengan konsol untuk menyalin indeks antara dua domain yang berbagi koneksi titik akhir. VPC

  1. Arahkan ke konsol OpenSearch Layanan Amazon dihttps://console.aws.amazon.com/aos/.

  2. Di panel navigasi kiri, pilih Domain.

  3. Pilih domain lokal, atau domain yang ingin Anda salin datanya. Ini membuka halaman detail domain. Pilih tab Koneksi di bawah informasi umum dan pilih Permintaan.

  4. Pada halaman Minta koneksi, pilih Koneksi VPC Titik Akhir untuk mode koneksi Anda dan masukkan detail relevan lainnya. Detail ini termasuk domain jarak jauh, yang merupakan domain yang ingin Anda salin datanya. Kemudian, pilih Permintaan.

  5. Arahkan ke halaman detail domain jarak jauh, pilih tab Koneksi, dan temukan tabel Koneksi masuk. Pilih kotak centang di sebelah nama domain tempat Anda baru saja membuat koneksi dari (domain lokal). Pilih Menyetujui.

  6. Arahkan kembali ke domain lokal, pilih tab Koneksi, dan temukan tabel Koneksi keluar. Setelah koneksi antara dua domain aktif, titik akhir menjadi tersedia di kolom Endpoint dalam tabel. Salin titik akhir.

  7. Buka dasbor untuk domain lokal dan pilih Dev Tools di navigasi kiri. Untuk mengonfirmasi bahwa indeks domain jarak jauh belum ada di domain lokal Anda, jalankan GET permintaan berikut. Ganti remote-domain-index-name dengan nama indeks Anda sendiri.

    GET remote-domain-index-name/_search { "query":{ "match_all":{} } }

    Dalam output, Anda akan melihat kesalahan yang menunjukkan bahwa indeks tidak ditemukan.

  8. Di bawah GET permintaan Anda, buat POST permintaan dan gunakan titik akhir Anda sebagai host jarak jauh, sebagai berikut.

    POST _reindex { "source":{ "remote":{ "host":"connection-endpoint", "username":"username", "password":"password" }, "index":"remote-domain-index-name" }, "dest":{ "index":"local-domain-index-name" } }

    Jalankan permintaan ini.

  9. Jalankan GET permintaan lagi. Output sekarang harus menunjukkan bahwa indeks lokal ada. Anda dapat melakukan kueri indeks ini untuk memverifikasi bahwa OpenSearch menyalin semua data dari indeks jarak jauh.

Anda dapat menggunakan indeks ulang jarak jauh dengan API untuk menyalin indeks antara dua domain yang berbagi koneksi titik akhir. VPC

  1. Gunakan CreateOutboundConnectionAPIoperasi untuk meminta koneksi baru dari domain lokal Anda ke domain jarak jauh Anda.

    POST https://es.region.amazonaws.com/2021-01-01/opensearch/cc/outboundConnection { "ConnectionAlias": "remote-reindex-example", "ConnectionMode": "VPC_ENDPOINT", "LocalDomainInfo": { "AWSDomainInformation": { "DomainName": "local-domain-name", "OwnerId": "aws-account-id", "Region": "region" } }, "RemoteDomainInfo": { "AWSDomainInformation": { "DomainName": "remote-domain-name", "OwnerId": "aws-account-id", "Region": "region" } } }

    Anda menerima ConnectionId jawaban. Simpan ID ini untuk digunakan pada langkah berikutnya.

  2. Gunakan AcceptInboundConnectionAPIoperasi dengan ID koneksi Anda untuk menyetujui permintaan dari domain lokal.

    PUT https://es.region.amazonaws.com/2021-01-01/opensearch/cc/inboundConnection/ConnectionId/accept
  3. Gunakan DescribeOutboundConnectionsAPIoperasi untuk mengambil titik akhir untuk domain jarak jauh Anda.

    { "Connections": [ { "ConnectionAlias": "remote-reindex-example", "ConnectionId": "connection-id", "ConnectionMode": "VPC_ENDPOINT", "ConnectionProperties": { "Endpoint": "connection-endpoint" }, ... } ] }

    Simpan connection-endpoint untuk digunakan di Langkah 5.

  4. Untuk mengonfirmasi bahwa indeks domain jarak jauh belum ada di domain lokal Anda, jalankan GET permintaan berikut. Ganti remote-domain-index-name dengan nama indeks Anda sendiri.

    GET local-domain-endpoint/remote-domain-index-name/_search { "query":{ "match_all":{} } }

    Dalam output, Anda akan melihat kesalahan yang menunjukkan bahwa indeks tidak ditemukan.

  5. Buat POST permintaan dan gunakan titik akhir Anda sebagai host jarak jauh, sebagai berikut.

    POST local-domain-endpoint/_reindex { "source":{ "remote":{ "host":"connection-endpoint", "username":"username", "password":"password" }, "index":"remote-domain-index-name" }, "dest":{ "index":"local-domain-index-name" } }

    Jalankan permintaan ini.

  6. Jalankan GET permintaan lagi. Output sekarang harus menunjukkan bahwa indeks lokal ada. Anda dapat melakukan kueri indeks ini untuk memverifikasi bahwa OpenSearch menyalin semua data dari indeks jarak jauh.

Jika domain jarak jauh dihosting di dalam VPC dan Anda tidak ingin menggunakan fitur koneksi VPC titik akhir, Anda harus mengonfigurasi proxy dengan titik akhir yang dapat diakses publik. Dalam hal ini, OpenSearch Layanan memerlukan titik akhir publik karena tidak memiliki kemampuan untuk mengirim lalu lintas ke AndaVPC.

Ketika Anda menjalankan domain dalam VPCmode, satu atau lebih titik akhir ditempatkan di AndaVPC. Namun, titik akhir ini hanya untuk lalu lintas yang masuk ke domain di dalamVPC, dan mereka tidak mengizinkan lalu lintas ke dalam VPC dirinya sendiri.

Perintah reindex jarak jauh dijalankan dari domain lokal, sehingga lalu lintas yang berasal tidak dapat menggunakan titik akhir tersebut untuk mengakses domain jarak jauh. Itu sebabnya proxy diperlukan dalam kasus penggunaan ini. Domain proksi harus memiliki sertifikat yang ditandatangani oleh otoritas sertifikat publik (CA). Sertifikat yang ditandatangani sendiri atau ditandatangani CA privat tidak didukung.

Mengindeks ulang data antara domain OpenSearch non-Layanan

Jika indeks jarak jauh di-host di luar OpenSearch Layanan, seperti dalam EC2 instance yang dikelola sendiri, setel external parameter ketrue:

POST _reindex { "source": { "remote": { "host": "https://remote-domain-endpoint:443", "username": "username", "password": "password", "external": true }, "index": "remote_index" }, "dest": { "index": "local_index" } }

Dalam hal ini, hanya otentikasi dasar dengan nama pengguna dan kata sandi yang didukung. Domain jarak jauh harus memiliki titik akhir yang dapat diakses publik (meskipun VPC sama dengan domain OpenSearch Layanan lokal) dan sertifikat yang ditandatangani oleh CA publik. Sertifikat yang ditandatangani sendiri atau ditandatangani CA pribadi tidak didukung.

Indeks ulang set data besar

Indeks ulang jarak jauh mengirimkan permintaan gulir ke domain jarak jauh dengan nilai default berikut:

  • Konteks pencarian 5 menit

  • Batas waktu soket 30 detik

  • Ukuran Batch 1.000

Kami merekomendasikan untuk menyetel parameter ini untuk mengakomodasi data Anda. Untuk dokumen besar, pertimbangkan ukuran batch yang lebih kecil dan/atau batas waktu yang lebih lama. Untuk informasi selengkapnya, lihat Pencarian Gulir.

POST _reindex?pretty=true&scroll=10h&wait_for_completion=false { "source": { "remote": { "host": "https://remote-domain-endpoint:443", "socket_timeout": "60m" }, "size": 100, "index": "remote_index" }, "dest": { "index": "local_index" } }

Kami juga merekomendasikan menambahkan pengaturan berikut ke indeks lokal untuk performa yang lebih baik:

PUT local_index { "settings": { "refresh_interval": -1, "number_of_replicas": 0 } }

Setelah proses indeks ulang selesai, Anda dapat mengatur jumlah replika yang diinginkan dan menghapus pengaturan interval refresh.

Untuk mengindeks ulang hanya sebagian dokumen yang Anda pilih melalui kueri, kirim permintaan ini ke domain lokal:

POST _reindex { "source": { "remote": { "host": "https://remote-domain-endpoint:443" }, "index": "remote_index", "query": { "match": { "field_name": "text" } } }, "dest": { "index": "local_index" } }

Pengindeksan ulang jarak jauh tidak mendukung pemotongan, jadi Anda tidak dapat melakukan beberapa operasi gulir untuk permintaan yang sama secara paralel.

Pengaturan indeks ulang Jarak Jauh

Selain opsi pengindeksan ulang standar, OpenSearch Layanan mendukung opsi berikut:

Opsi Nilai yang valid Deskripsi Wajib
eksternal Boolean Jika domain jarak jauh bukan domain OpenSearch Layanan, atau jika Anda mengindeks ulang antara dua VPC domain, tentukan sebagai. true Tidak
wilayah String Jika domain jarak jauh berada di Wilayah yang berbeda, tentukan nama Wilayah. Tidak