Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan pipa OpenSearch Ingestion dengan OpenSearch
Anda dapat menggunakan pipeline OpenSearch Ingestion dengan dikelola sendiri OpenSearch atau Elasticsearch untuk memigrasikan data ke domain Layanan Amazon OpenSearch dan koleksi Tanpa Server. OpenSearch OpenSearch Ingestion mendukung konfigurasi jaringan publik dan pribadi untuk migrasi data dari OpenSearch self-managed dan Elasticsearch.
Konektivitas ke OpenSearch klaster publik
Anda dapat menggunakan pipeline OpenSearch Ingestion untuk memigrasikan data dari cluster yang dikelola sendiri OpenSearch atau Elasticsearch dengan konfigurasi publik, yang berarti bahwa nama DNS domain dapat diselesaikan secara publik. Untuk melakukannya, siapkan pipeline OpenSearch Ingestion dengan dikelola sendiri OpenSearch atau Elasticsearch sebagai sumber dan OpenSearch Layanan atau OpenSearch Tanpa Server sebagai tujuan. Ini secara efektif memigrasikan data Anda dari kluster sumber yang dikelola sendiri ke domain atau koleksi tujuan yang AWS dikelola.
Prasyarat
Sebelum Anda membuat pipeline OpenSearch Ingestion, lakukan langkah-langkah berikut:
-
Buat cluster yang dikelola sendiri OpenSearch atau Elastisearch yang berisi data yang ingin Anda migrasi dan konfigurasikan nama DNS publik.
-
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.
-
Siapkan autentikasi pada klaster yang dikelola sendiri dengan. AWS Secrets Manager Aktifkan rotasi rahasia dengan mengikuti langkah-langkah di Putar AWS Secrets Manager rahasia.
-
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 ARN Anda sendiri.{ "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 peran IAM 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 OpenSearch pipeline disiapkan, 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.
Langkah 2: Buat pipa
Anda kemudian dapat mengkonfigurasi pipeline OpenSearch Ingestion seperti berikut ini, yang menentukan OpenSearch sebagai sumber.
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 sumber OpenSearch atau cluster Elasticsearch ke koleksi VPC Tanpa Server OpenSearch . Pastikan Anda menyediakan kebijakan akses jaringan dalam konfigurasi pipeline.
version: "2" opensearch-migration-pipeline: source: opensearch: acknowledgments: true host: [ "https://
my-self-managed-cluster-name
:9200
" ] indices: include: - index_name_regex: "include-.*" exclude: - index_name_regex: '\..*' authentication: username: ${aws_secrets:secret:username
} password: ${aws_secrets:secret:password
} scheduling: interval: "PT2H" index_read_count: 3 start_time: "2023-06-02T22:01:30.00Z" sink: - opensearch: hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com
"] aws: sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role" region: "us-east-1
" #Uncomment the following lines if your destination is an OpenSearch Serverless collection #serverless: true # serverless_options: # network_policy_name: "network-policy-name
" index: "${getMetadata(\"opensearch-index
\")}" document_id: "${getMetadata(\"opensearch-document_id
\")}" enable_request_compression: true dlq: s3: bucket: "bucket-name
" key_path_prefix: "apache-log-pipeline/logs/dlq" region: "us-east-1
" sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role" extension: aws: secrets: secret: secret_id: "my-opensearch-secret
" region: "us-east-1
" sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role" refresh_interval: PT1H
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 OpenSearch cluster dalam VPC
Anda juga dapat menggunakan pipeline OpenSearch Ingestion untuk memigrasikan data dari cluster yang dikelola sendiri OpenSearch atau Elasticsearch yang berjalan di VPC. Untuk melakukannya, siapkan pipeline OpenSearch Ingestion dengan dikelola sendiri OpenSearch atau Elasticsearch sebagai sumber dan OpenSearch Layanan atau OpenSearch Tanpa Server sebagai tujuan. Ini secara efektif memigrasikan data Anda dari kluster sumber yang dikelola sendiri ke domain atau koleksi tujuan yang AWS dikelola.
Prasyarat
Sebelum Anda membuat pipeline OpenSearch Ingestion, lakukan langkah-langkah berikut:
-
Buat cluster yang dikelola sendiri OpenSearch atau Elastisearch dengan konfigurasi jaringan VPC yang berisi data yang ingin Anda migrasikan.
-
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.
-
Siapkan autentikasi pada klaster yang dikelola sendiri dengan. AWS Secrets Manager Aktifkan rotasi rahasia dengan mengikuti langkah-langkah di Putar AWS Secrets Manager rahasia.
-
Dapatkan ID VPC yang memiliki akses ke self-managed OpenSearch atau Elasticsearch. Pilih VPC CIDR yang akan digunakan oleh Ingestion. OpenSearch
catatan
Jika Anda menggunakan AWS Management Console untuk membuat pipeline, Anda juga harus melampirkan pipeline OpenSearch Ingestion ke VPC Anda untuk menggunakan self-managed atau Elasticsearch. OpenSearch Untuk melakukannya, cari bagian Konfigurasi jaringan, pilih kotak centang Lampirkan ke VPC, dan pilih CIDR Anda dari salah satu opsi default yang disediakan, atau pilih sendiri. Anda dapat menggunakan CIDR apa pun dari ruang alamat pribadi seperti yang didefinisikan dalam Praktik Terkini Terbaik RFC 1918
. Untuk menyediakan CIDR khusus, pilih Lainnya dari menu tarik-turun. Untuk menghindari tabrakan dalam alamat IP antara OpenSearch Ingestion dan self-managed OpenSearch, pastikan bahwa OpenSearch VPC CIDR yang dikelola sendiri berbeda dari CIDR untuk Ingestion. OpenSearch
-
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 ARN Anda sendiri.{ "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 peran IAM 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 peran IAM yang Anda gunakan untuk membuat pipeline OpenSearch Ingestion karena pipeline menggunakan izin ini untuk membuat dan menghapus antarmuka jaringan di VPC Anda. Pipeline hanya dapat mengakses OpenSearch cluster melalui antarmuka jaringan ini.
Langkah 2: Buat pipa
Anda kemudian dapat mengkonfigurasi pipeline OpenSearch Ingestion seperti berikut ini, yang menentukan OpenSearch sebagai sumber.
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 sumber OpenSearch atau cluster Elasticsearch ke koleksi VPC Tanpa Server OpenSearch . Pastikan Anda menyediakan kebijakan akses jaringan dalam konfigurasi pipeline.
version: "2" opensearch-migration-pipeline: source: opensearch: acknowledgments: true host: [ "https://
my-self-managed-cluster-name
:9200
" ] indices: include: - index_name_regex: "include-.*" exclude: - index_name_regex: '\..*' authentication: username: ${aws_secrets:secret:username
} password: ${aws_secrets:secret:password
} scheduling: interval: "PT2H" index_read_count: 3 start_time: "2023-06-02T22:01:30.00Z" sink: - opensearch: hosts: ["https://search-mydomain.us-east-1.es.amazonaws.com
"] aws: sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role" region: "us-east-1
" #Uncomment the following lines if your destination is an OpenSearch Serverless collection #serverless: true # serverless_options: # network_policy_name: "network-policy-name
" index: "${getMetadata(\"opensearch-index
\")}" document_id: "${getMetadata(\"opensearch-document_id
\")}" enable_request_compression: true dlq: s3: bucket: "bucket-name
" key_path_prefix: "apache-log-pipeline/logs/dlq" region: "us-east-1
" sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role" extension: aws: secrets: secret: secret_id: "my-opensearch-secret
" region: "us-east-1
" sts_role_arn: "arn:aws:iam::{account-id}
:role/pipeline-role" refresh_interval: PT1H
Anda dapat menggunakan cetak biru yang telah dikonfigurasi sebelumnya untuk membuat pipeline ini. Untuk informasi selengkapnya, lihat Menggunakan cetak biru untuk membuat pipeline.