Menggunakan pipeline OpenSearch Ingestion dengan Confluent Cloud Kafka - OpenSearch Layanan Amazon

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

Menggunakan pipeline OpenSearch Ingestion dengan Confluent Cloud Kafka

Anda dapat menggunakan pipeline OpenSearch Ingestion untuk mengalirkan data dari cluster Confluent Cloud Kafka ke domain OpenSearch Amazon Service dan koleksi Tanpa Server. OpenSearch OpenSearch Ingestion mendukung konfigurasi jaringan publik dan pribadi untuk streaming data dari cluster Confluent Cloud Kafka ke domain atau koleksi yang dikelola oleh Layanan atau Tanpa Server. OpenSearch OpenSearch

Konektivitas ke cluster Kafka publik Confluent Cloud

Anda dapat menggunakan pipeline OpenSearch Ingestion untuk memigrasikan data dari cluster Confluent Cloud Kafka dengan konfigurasi publik, yang berarti bahwa nama domain dapat diselesaikan secara publik. DNS Untuk melakukannya, siapkan pipeline OpenSearch Ingestion dengan cluster Kafka publik Confluent Cloud sebagai sumber dan OpenSearch Layanan atau OpenSearch Tanpa Server sebagai tujuan. Ini memproses data streaming Anda dari kluster sumber yang dikelola sendiri ke domain atau AWS koleksi tujuan yang dikelola.

Prasyarat

Sebelum Anda membuat pipeline OpenSearch Ingestion, lakukan langkah-langkah berikut:

  1. Buat cluster cluster Confluent Cloud Kafka yang bertindak sebagai sumber. Cluster harus berisi data yang ingin Anda konsumsi ke dalam OpenSearch Service.

  2. Buat domain OpenSearch Layanan atau koleksi OpenSearch Tanpa Server tempat Anda ingin memigrasi data. Untuk informasi selengkapnya, lihat Membuat domain OpenSearch Layanan dan Membuat koleksi.

  3. Siapkan otentikasi di cluster Confluent Cloud Kafka Anda dengan. AWS Secrets Manager Aktifkan rotasi rahasia dengan mengikuti langkah-langkah di Putar AWS Secrets Manager rahasia.

  4. Lampirkan kebijakan berbasis sumber daya ke domain Anda atau kebijakan akses data ke koleksi Anda. Kebijakan akses ini memungkinkan OpenSearch Ingestion untuk menulis data dari klaster yang dikelola sendiri ke domain atau koleksi Anda.

    Contoh kebijakan akses domain berikut memungkinkan peran pipeline, yang Anda buat pada langkah berikutnya, untuk menulis data ke domain. Pastikan Anda memperbarui resource dengan milik Anda sendiriARN.

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

    Untuk membuat IAM peran dengan izin yang benar untuk mengakses data tulis ke koleksi atau domain, lihat Izin yang diperlukan untuk domain dan Izin yang diperlukan untuk koleksi.

Langkah 1: Konfigurasikan peran pipeline

Setelah Anda menyiapkan prasyarat pipeline cluster Confluent Cloud Kafka, konfigurasikan peran pipeline yang ingin Anda gunakan dalam konfigurasi pipeline, dan tambahkan izin untuk menulis ke domain OpenSearch Layanan atau koleksi OpenSearch Tanpa Server, serta izin untuk membaca rahasia dari Secrets Manager.

Izin berikut diperlukan untuk mengelola antarmuka jaringan:

{ "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:*:{account-id}:network-interface/*", "arn:aws:ec2:*:{account-id}:subnet/*", "arn:aws:ec2:*:{account-id}: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" } } } ] }

Berikut ini adalah izin yang diperlukan untuk membaca rahasia dari AWS Secrets Manager layanan:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerReadAccess", "Effect": "Allow", "Action": ["secretsmanager:GetSecretValue"], "Resource": ["arn:aws:secretsmanager:<region:<account-id>:secret:<,secret-name>"] } ] }

Izin berikut diperlukan untuk menulis ke domain OpenSearch Layanan Amazon:

{ "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 2: Buat pipa

Anda kemudian dapat mengonfigurasi pipeline OpenSearch Ingestion seperti berikut ini, yang menentukan Confluent Cloud Kafka Anda sebagai sumbernya.

Anda dapat menentukan beberapa domain OpenSearch Layanan sebagai tujuan untuk data Anda. Kemampuan ini memungkinkan routing bersyarat atau replikasi data yang masuk ke beberapa domain Layanan. OpenSearch

Anda juga dapat memigrasikan data dari cluster Confluent Kafka sumber ke koleksi Tanpa Server. OpenSearch VPC Pastikan Anda menyediakan kebijakan akses jaringan dalam konfigurasi pipeline. Anda dapat menggunakan registri skema Confluent untuk menentukan skema Confluent.

version: "2" kafka-pipeline: source: kafka: encryption: type: "ssl" topics: - name: "topic-name" group_id: "group-id" bootstrap_servers: - "bootstrap-server.us-west-2.aws.private.confluent.cloud:9092" authentication: sasl: plain: username: ${aws_secrets:confluent-kafka-secret:username} password: ${aws_secrets:confluent-kafka-secret:password} schema: type: confluent registry_url: https://my-registry.us-west-2.aws.confluent.cloud api_key: "${{aws_secrets:schema-secret:schema_registry_api_key}}" api_secret: "${{aws_secrets:schema-secret:schema_registry_api_secret}}" basic_auth_credentials_source: "USER_INFO" sink: - opensearch: hosts: ["https://search-mydomain.us-west-2.es.amazonaws.com"] aws: sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-west-2" index: "confluent-index" extension: aws: secrets: confluent-kafka-secret: secret_id: "my-kafka-secret" region: "us-west-2" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" schema-secret: secret_id: "my-self-managed-kafka-schema" region: "us-west-2" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role"

Anda dapat menggunakan cetak biru yang telah dikonfigurasi sebelumnya untuk membuat pipeline ini. Untuk informasi selengkapnya, lihat Menggunakan cetak biru untuk membuat pipeline.

Konektivitas ke cluster Confluent Cloud Kafka di a VPC

Anda juga dapat menggunakan pipeline OpenSearch Ingestion untuk memigrasikan data dari cluster Confluent Cloud Kafka yang berjalan di file. VPC Untuk melakukannya, siapkan pipeline OpenSearch Ingestion dengan cluster Confluent Cloud Kafka sebagai sumber dan OpenSearch Layanan atau OpenSearch Tanpa Server sebagai tujuan. Ini memproses data streaming Anda dari cluster sumber Confluent Cloud Kafka ke domain atau koleksi tujuan yang AWS dikelola.

OpenSearch Ingestion mendukung cluster Confluent Cloud Kafka yang dikonfigurasi di semua mode jaringan yang didukung di Confluent. Mode konfigurasi jaringan berikut didukung sebagai sumber dalam OpenSearch Ingestion:

  • AWS VPCmengintip

  • AWS PrivateLink untuk cluster khusus

  • AWS PrivateLink untuk kluster Enterprise

  • AWS Transit Gateway

Prasyarat

Sebelum Anda membuat pipeline OpenSearch Ingestion, lakukan langkah-langkah berikut:

  1. Buat cluster Confluent Cloud Kafka dengan konfigurasi VPC jaringan yang berisi data yang ingin Anda konsumsi ke dalam Layanan. OpenSearch

  2. Buat domain OpenSearch Layanan atau koleksi OpenSearch Tanpa Server tempat Anda ingin memigrasi data. Untuk informasi selengkapnya, lihat Membuat domain OpenSearch Layanan dan Membuat koleksi.

  3. Siapkan otentikasi di cluster Confluent Cloud Kafka Anda dengan. AWS Secrets Manager Aktifkan rotasi rahasia dengan mengikuti langkah-langkah di Putar AWS Secrets Manager rahasia.

  4. Dapatkan ID yang memiliki akses ke Kafka yang dikelola sendiri. VPC Pilih yang VPC CIDR akan digunakan oleh OpenSearch Ingestion.

    catatan

    Jika Anda menggunakan AWS Management Console untuk membuat pipeline Anda, Anda juga harus melampirkan pipeline OpenSearch Ingestion Anda ke Anda untuk menggunakan VPC Kafka yang dikelola sendiri. Untuk melakukannya, cari bagian Konfigurasi jaringan, pilih VPC kotak centang Lampirkan ke, dan CIDR pilih salah satu opsi default yang disediakan, atau pilih sendiri. Anda dapat menggunakan apa pun CIDR dari ruang alamat pribadi seperti yang didefinisikan dalam Praktik Terbaik Saat Ini RFC 1918.

    Untuk menyediakan kustomCIDR, pilih Lainnya dari menu tarik-turun. Untuk menghindari tabrakan dalam alamat IP antara OpenSearch Ingestion dan self-managed OpenSearch, pastikan bahwa self-managed berbeda dari for Ingestion. OpenSearch VPC CIDR CIDR OpenSearch

  5. Lampirkan kebijakan berbasis sumber daya ke domain Anda atau kebijakan akses data ke koleksi Anda. Kebijakan akses ini memungkinkan OpenSearch Ingestion untuk menulis data dari klaster yang dikelola sendiri ke domain atau koleksi Anda.

    Contoh kebijakan akses domain berikut memungkinkan peran pipeline, yang Anda buat pada langkah berikutnya, untuk menulis data ke domain. Pastikan Anda memperbarui resource dengan milik Anda sendiriARN.

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

    Untuk membuat IAM peran dengan izin yang benar untuk mengakses data tulis ke koleksi atau domain, lihat Izin yang diperlukan untuk domain dan Izin yang diperlukan untuk koleksi.

Langkah 1: Konfigurasikan peran pipeline

Setelah prasyarat pipeline disiapkan, konfigurasikan peran pipeline yang ingin Anda gunakan dalam konfigurasi pipeline, dan tambahkan izin berikut dalam peran:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SecretsManagerReadAccess", "Effect": "Allow", "Action": [ "secretsmanager:GetSecretValue" ], "Resource": ["arn:aws:secretsmanager:{region}:{account-id}:secret:secret-name"] }, { "Effect": "Allow", "Action": [ "ec2:AttachNetworkInterface", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DetachNetworkInterface", "ec2:DescribeNetworkInterfaces" ], "Resource": [ "arn:aws:ec2:*:{account-id}:network-interface/*", "arn:aws:ec2:*:{account-id}:subnet/*", "arn:aws:ec2:*:{account-id}: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" } } } ] }

Anda harus memberikan EC2 izin Amazon di atas pada IAM peran yang Anda gunakan untuk membuat pipeline OpenSearch Ingestion karena pipeline menggunakan izin ini untuk membuat dan menghapus antarmuka jaringan di situs Anda. VPC Pipeline hanya dapat mengakses cluster Kafka melalui antarmuka jaringan ini.

Langkah 2: Buat pipa

Anda kemudian dapat mengonfigurasi pipeline OpenSearch Ingestion seperti berikut ini, yang menentukan Kafka sebagai sumbernya.

Anda dapat menentukan beberapa domain OpenSearch Layanan sebagai tujuan untuk data Anda. Kemampuan ini memungkinkan routing bersyarat atau replikasi data yang masuk ke beberapa domain Layanan. OpenSearch

Anda juga dapat memigrasikan data dari cluster Confluent Kafka sumber ke koleksi Tanpa Server. OpenSearch VPC Pastikan Anda menyediakan kebijakan akses jaringan dalam konfigurasi pipeline. Anda dapat menggunakan registri skema Confluent untuk menentukan skema Confluent.

version: "2" kafka-pipeline: source: kafka: encryption: type: "ssl" topics: - name: "topic-name" group_id: "group-id" bootstrap_servers: - "bootstrap-server.us-west-2.aws.private.confluent.cloud:9092" authentication: sasl: plain: username: ${aws_secrets:confluent-kafka-secret:username} password: ${aws_secrets:confluent-kafka-secret:password} schema: type: confluent registry_url: https://my-registry.us-west-2.aws.confluent.cloud api_key: "${{aws_secrets:schema-secret:schema_registry_api_key}}" api_secret: "${{aws_secrets:schema-secret:schema_registry_api_secret}}" basic_auth_credentials_source: "USER_INFO" sink: - opensearch: hosts: ["https://search-mydomain.us-west-2.es.amazonaws.com"] aws: sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-west-2" index: "confluent-index" extension: aws: secrets: confluent-kafka-secret: secret_id: "my-kafka-secret" region: "us-west-2" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" schema-secret: secret_id: "my-self-managed-kafka-schema" region: "us-west-2" sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role"

Anda dapat menggunakan cetak biru yang telah dikonfigurasi sebelumnya untuk membuat pipeline ini. Untuk informasi selengkapnya, lihat Menggunakan cetak biru untuk membuat pipeline.