ETLIntegrasi nol dengan Amazon OpenSearch Service - Amazon DocumentDB

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

ETLIntegrasi nol dengan Amazon OpenSearch Service

OpenSearch Layanan Amazon sebagai tujuan

OpenSearch Integrasi layanan dengan Amazon DocumentDB memungkinkan Anda melakukan streaming beban penuh dan mengubah peristiwa data ke domain. OpenSearch Infrastruktur konsumsi di-host sebagai saluran pipa OpenSearch konsumsi dan menyediakan mekanisme latensi rendah skala tinggi untuk terus mengalirkan data dari koleksi Amazon DocumentDB.

Selama pemuatan penuh, ETL integrasi nol pertama-tama mengekstrak data beban penuh historis untuk OpenSearch menggunakan pipa konsumsi. Setelah data beban penuh tertelan, saluran pipa OpenSearch konsumsi akan mulai membaca data dari aliran perubahan Amazon DocumentDB dan akhirnya mengejar ketinggalan untuk mempertahankan konsistensi data mendekati waktu nyata antara Amazon DocumentDB dan. OpenSearch OpenSearch menyimpan dokumen dalam indeks. Data yang masuk dari koleksi Amazon DocumentDB dapat dikirim ke salah satu indeks atau dapat dipartisi ke dalam indeks yang berbeda. Saluran pipa konsumsi akan menyinkronkan semua acara pembuatan, pembaruan, dan penghapusan dalam koleksi Amazon DocumentDB sebagai pembuatan, pembaruan, dan penghapusan OpenSearch dokumen yang sesuai untuk menjaga kedua sistem data tetap sinkron. Saluran pipa konsumsi dapat dikonfigurasi untuk membaca data dari satu koleksi dan menulis ke satu indeks atau membaca data dari satu koleksi dan merutekan secara kondisional ke beberapa indeks.

Saluran pipa konsumsi dapat dikonfigurasi untuk mengalirkan data dari Amazon DocumentDB ke Amazon Service menggunakan: OpenSearch

  • Beban penuh saja

  • Streaming perubahan peristiwa aliran dari Amazon DocumentDB tanpa beban penuh

  • Beban penuh diikuti oleh aliran perubahan dari Amazon DocumentDB

Untuk mengatur saluran konsumsi Anda, lakukan langkah-langkah berikut:

Langkah 1: Buat domain OpenSearch Layanan Amazon atau koleksi OpenSearch tanpa server

Diperlukan koleksi OpenSearch Layanan Amazon dengan izin yang sesuai untuk membaca data. Lihat Memulai OpenSearch Layanan Amazon atau Memulai Amazon OpenSearch Tanpa Server di Panduan Pengembang OpenSearch Layanan Amazon untuk membuat koleksi. Lihat Amazon OpenSearch Ingestion di Panduan Pengembang OpenSearch Layanan Amazon untuk membuat AIM peran dengan izin yang benar untuk mengakses data tulis ke koleksi atau domain.

Langkah 2: Aktifkan aliran perubahan di cluster Amazon DocumentDB

Pastikan aliran perubahan diaktifkan pada koleksi yang diperlukan di klaster Amazon DocumentDB. Lihat Menggunakan aliran perubahan dengan Amazon DocumentDB untuk informasi lebih lanjut.

Langkah 3: Siapkan peran pipeline dengan izin untuk menulis ke bucket Amazon S3 dan domain atau koleksi tujuan

Setelah koleksi Amazon DocumentDB dibuat dan mengubah aliran diaktifkan, siapkan peran pipeline yang ingin digunakan dalam konfigurasi pipeline, dan tambahkan izin berikut dalam peran:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "allowReadAndWriteToS3ForExport", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:AbortMultipartUpload", "s3:PutObject", "s3:PutObjectAcl" ], "Resource": [ "arn:aws:s3:::my-bucket/export/*" ] } ] }

Agar OpenSearch pipeline dapat menulis data ke OpenSearch domain, domain harus memiliki kebijakan akses tingkat domain yang memungkinkan peran pipeline sts_role_arn untuk mengaksesnya. Contoh kebijakan akses domain berikut memungkinkan peran pipeline bernamapipeline-role, yang Anda buat pada langkah sebelumnya, untuk menulis data ke domain bernamaingestion-domain:

{ "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{your-account-id}:role/{pipeline-role}" }, "Action": ["es:DescribeDomain", "es:ESHttp*"], "Resource": "arn:aws:es:{region}:{your-account-id}:domain/{domain-name}/*" } ] }

Langkah 4: Tambahkan izin yang diperlukan pada peran pipeline untuk membuat X- ENI

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DetachNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": [ "arn:aws:ec2:*:420497401461:network-interface/*", "arn:aws:ec2:*:420497401461:subnet/*", "arn:aws:ec2:*:420497401461:security-group/*" ] }, { "Effect": "Allow", "Action": [ "ec2:DescribeDhcpOptions", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:Describe*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:*:*:network-interface/*", "Condition": { "StringEquals": { "aws:RequestTag/OSISManaged": "true" } } } ] }

Langkah 5: Buat pipa

Konfigurasikan saluran OpenSearch konsumsi yang menentukan Amazon DocumentDB sebagai sumbernya. Konfigurasi pipeline sampel ini mengasumsikan penggunaan mekanisme pengambilan aliran perubahan. Lihat Menggunakan pipeline OpenSearch Ingestion dengan Amazon DocumentDB di Panduan Pengembang Layanan OpenSearch Amazon untuk informasi selengkapnya.

Batasan

Batasan berikut berlaku untuk integrasi Amazon OpenSearch DocumentDB:

  • Hanya satu koleksi Amazon DocumentDB sebagai sumber per pipeline yang didukung.

  • Konsumsi data lintas wilayah tidak didukung. Cluster OpenSearch dan domain Amazon DocumentDB Anda harus berada di wilayah yang sama. AWS

  • Penyerapan data lintas akun tidak didukung. Cluster Amazon DocumentDB OpenSearch dan pipeline konsumsi Anda harus berada di akun yang sama. AWS

  • Cluster elastis Amazon DocumentDB tidak didukung. Hanya cluster berbasis instans Amazon DocumentDB yang didukung.

  • Pastikan klaster Amazon DocumentDB mengaktifkan autentikasi menggunakan rahasia. AWS AWS rahasia adalah satu-satunya mekanisme otentikasi yang didukung.

  • Konfigurasi pipeline yang ada tidak dapat diperbarui untuk menyerap data dari database yang berbeda dan/atau koleksi yang berbeda. Untuk memperbarui database dan/atau nama koleksi pipeline, Anda harus membuat pipeline baru.