Memigrasi database Oracle lokal ke Amazon OpenSearch Service menggunakan Logstash - AWS Prescriptive Guidance

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

Memigrasi database Oracle lokal ke Amazon OpenSearch Service menggunakan Logstash

Aditya Goteti, Amazon Web Services

Ringkasan

Pola ini menjelaskan cara memindahkan data dari database Oracle lokal ke Amazon OpenSearch Service menggunakan Logstash. Ini mencakup pertimbangan arsitektur dan beberapa keahlian dan rekomendasi yang diperlukan. Data dapat dari satu tabel atau dari beberapa tabel di mana pencarian teks lengkap perlu dilakukan. 

OpenSearch Layanan dapat dikonfigurasi dalam virtual private cloud (VPC), atau dapat ditempatkan secara publik dengan pembatasan berbasis IP. Pola ini menjelaskan skenario di mana OpenSearch Layanan dikonfigurasi dalam VPC. Logstash digunakan untuk mengumpulkan data dari database Oracle, menguraikannya ke format JSON, dan kemudian memasukkan data ke dalam Layanan. OpenSearch  

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif

  • Java 8 (diperlukan oleh Logstash 6.4.3)

  • Konektivitas antara server database lokal dan instans Amazon Elastic Compute Cloud EC2 (Amazon) dalam VPC, dibuat menggunakan AWS Virtual Private Network (AWS VPN)

  • Sebuah query untuk mengambil data yang diperlukan untuk didorong ke OpenSearch Service dari database

  • Driver Konektivitas Database Oracle Java (JDBC)

Batasan

  • Logstash tidak dapat mengidentifikasi catatan yang dihapus dari database 

Versi produk

  • Oracle Database 12c

  • OpenSearch Layanan 6,3

  • Logstash 6.4.3

Arsitektur

Tumpukan teknologi sumber

  • Database Oracle lokal

  • AWS VPN lokal

Tumpukan teknologi target

  • VPC

  • EC2 contoh

  • OpenSearch Layanan 

  • Logstash

  • NAT Gateway (untuk pembaruan sistem operasi pada EC2 instance dan untuk menginstal Java 8, Logstash, dan plugin)

Arsitektur migrasi data

Cara memindahkan data dari database Oracle lokal ke Amazon OpenSearch Service menggunakan Logstash.

Alat

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Identifikasi ukuran data sumber.

Ukuran data sumber adalah salah satu parameter yang Anda gunakan untuk menentukan jumlah pecahan yang akan dikonfigurasi dalam indeks.

DBA, Pengembang basis data

Menganalisis tipe data dari setiap kolom dan data yang sesuai.

OpenSearch Layanan secara dinamis memetakan tipe data ketika bidang yang sebelumnya tidak terlihat ditemukan dalam dokumen. Jika ada tipe atau format data tertentu (misalnya, bidang tanggal) yang perlu dideklarasikan secara eksplisit, identifikasi bidang dan tentukan pemetaan untuk bidang tersebut selama pembuatan indeks.

Pemilik aplikasi, Pengembang, Pengembang Basis Data

Tentukan apakah ada kolom dengan kunci primer atau unik.

Untuk menghindari duplikasi catatan di OpenSearch Layanan Amazon selama pembaruan atau penyisipan, Anda perlu mengkonfigurasi document_id pengaturan di bagian output amazon_es plugin (misalnya, document_id => "%{customer_id}" di mana customer_id kunci utama).

Pemilik aplikasi, Pengembang

Analisis jumlah dan frekuensi catatan baru yang ditambahkan; periksa seberapa sering catatan dihapus.

Tugas ini diperlukan untuk memahami tingkat pertumbuhan data sumber. Jika data dibaca secara intensif dan penyisipan jarang terjadi, Anda dapat memiliki satu indeks. Jika catatan baru sering dimasukkan dan tidak ada penghapusan, ukuran pecahan dapat dengan mudah melebihi ukuran maksimum yang disarankan 50 GB. Dalam hal ini, Anda dapat secara dinamis membuat indeks dengan mengkonfigurasi pola indeks di Logstash dan dalam kode di mana Anda dapat mengaksesnya dengan menggunakan alias.

Pemilik aplikasi, Pengembang

Tentukan berapa banyak replika yang dibutuhkan.

Pemilik aplikasi, Pengembang

Tentukan jumlah pecahan yang akan dikonfigurasi pada indeks.

Pemilik aplikasi, Pengembang

Identifikasi jenis instance untuk node master khusus, node data, dan EC2 instance.

Untuk informasi selengkapnya, lihat bagian Sumber daya terkait.

Pemilik aplikasi, Pengembang

Tentukan jumlah node master khusus dan node data yang diperlukan.

Untuk informasi selengkapnya, lihat bagian Sumber daya terkait.

TugasDeskripsiKeterampilan yang dibutuhkan

Luncurkan sebuah EC2 instance.

Luncurkan EC2 instance dalam VPC yang terhubung dengan AWS VPN.

Konstruksi Amazon VPC, AWS VPN

Instal Logstash pada instance. EC2

Developer

Instal plugin Logstash.

Instal plugin jdbc-input Logstash yang diperlukan dan. logstash-output-amazon_es

Developer

Konfigurasikan Logstash.

Buat keystore Logstash untuk menyimpan informasi sensitif seperti kunci AWS Secrets Manager dan kredensyal database, lalu tempatkan referensi dalam file konfigurasi Logstash.

Developer

Konfigurasikan antrian huruf mati dan antrian persisten.

Secara default, ketika Logstash menemukan peristiwa yang tidak dapat diproses karena data berisi kesalahan pemetaan atau masalah lainnya, pipeline Logstash akan menggantung atau menghentikan peristiwa yang gagal. Untuk melindungi dari kehilangan data dalam situasi ini, Anda dapat mengonfigurasi Logstash untuk menulis peristiwa yang gagal ke antrian huruf mati alih-alih menjatuhkannya. Untuk melindungi dari kehilangan data selama penghentian abnormal, Logstash memiliki fitur antrian persisten yang akan menyimpan antrian pesan pada disk. Antrian persisten memberikan daya tahan data di Logstash.

Developer

Buat domain OpenSearch Layanan Amazon.

Buat domain Amazon OpenSearch Service dengan kebijakan akses yang tidak memerlukan permintaan penandatanganan dengan kredensyal AWS Identity and Access Management (IAM). Domain OpenSearch Layanan Amazon harus dibuat dalam VPC yang sama. Anda juga harus memilih jenis instance dan mengatur jumlah node khusus dan master berdasarkan analisis Anda.

Developer

Konfigurasikan log OpenSearch Layanan Amazon yang diperlukan.

Untuk informasi selengkapnya, lihat dokumentasi OpenSearch Layanan.

Buat indeks.

Developer

Mulai Logstash.

Jalankan Logstash sebagai layanan latar belakang. Logstash menjalankan kueri SQL yang dikonfigurasi, menarik data, mengubahnya menjadi format JSON, dan mengumpankannya ke Layanan. OpenSearch Untuk pemuatan awal, jangan konfigurasikan penjadwal dalam file konfigurasi Logstash.

Developer

Periksa dokumen.

Periksa jumlah dokumen pada indeks dan apakah semua dokumen ada dalam database sumber. Selama pemuatan awal, mereka ditambahkan ke indeks dan digunakan untuk menghentikan Logstash.

Ubah konfigurasi Logstash untuk menambahkan penjadwal yang berjalan pada interval tetap tergantung pada kebutuhan klien, dan mulai ulang Logstash. Logstash hanya akan memilih catatan yang diperbarui atau ditambahkan setelah proses terakhir, dan stempel waktu proses terakhir disimpan dalam file yang dikonfigurasi dengan properti last_run_metadata_path => "/usr/share/logstash/.logstash_jdbc_last_run" dalam file konfigurasi Logstash.

Developer

Sumber daya terkait