Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amazon DynamoDB nol ETL - integrasi dengan Amazon Redshift memungkinkan analisis mulus pada data DynamoDB tanpa pengkodean apa pun. Fitur yang dikelola sepenuhnya ini secara otomatis mereplikasi tabel DynamoDB ke dalam database Amazon Redshift sehingga pengguna dapat SQL menjalankan kueri dan analitik pada data DynamoDB mereka tanpa harus menyiapkan proses yang rumit. ETL Integrasi bekerja dengan mereplikasi data dari tabel DynamoDB ke database Amazon Redshift.
Untuk mengatur integrasi, cukup tentukan tabel DynamoDB sebagai sumber dan database Amazon Redshift sebagai target. Pada aktivasi, integrasi mengekspor tabel DynamoDB lengkap untuk mengisi database Amazon Redshift. Waktu yang dibutuhkan untuk proses awal ini untuk menyelesaikan tergantung pada ukuran tabel DynamoDB. ETLIntegrasi nol kemudian secara bertahap mereplikasi pembaruan dari DynamoDB ke Amazon Redshift setiap 15-30 menit menggunakan ekspor tambahan DynamoDB. Ini berarti data DynamoDB yang direplikasi di Amazon Redshift disimpan secara otomatis. up-to-date
Setelah dikonfigurasi, pengguna dapat menganalisis data DynamoDB di Amazon Redshift menggunakan klien dan alat SQL standar, tanpa memengaruhi kinerja tabel DynamoDB. Dengan menghilangkan kerumitanETL, ETL integrasi nol ini menyediakan cara cepat dan mudah untuk membuka wawasan dari DynamoDB melalui analitik Amazon Redshift dan kemampuan pembelajaran mesin.
Topik
Prasyarat sebelum membuat DynamoDB zero- integrasi dengan Amazon Redshift ETL
-
Anda harus memiliki tabel DynamoDB sumber dan menargetkan klaster Amazon Redshift yang dibuat sebelum membuat integrasi. Informasi ini tercakup dalam Langkah 1: Mengkonfigurasi tabel DynamoDB sumber danLangkah 2: Membuat gudang data Amazon Redshift.
-
Untuk kebijakan berbasis sumber daya, jika Anda membuat integrasi di mana tabel DynamoDB dan gudang data Amazon Redshift berada di akun yang sama, Anda dapat menggunakan opsi Perbaiki untuk saya selama langkah buat integrasi untuk menerapkan kebijakan sumber daya yang diperlukan secara otomatis ke DynamoDB dan Amazon Redshift.
Jika Anda membuat integrasi di mana tabel DynamoDB dan gudang data Amazon Redshift berada di akun yang AWS berbeda, Anda harus menerapkan kebijakan sumber daya berikut pada tabel DynamoDB Anda.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement that allows Amazon Redshift service to DescribeTable and ExportTable", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": [ "dynamodb:ExportTableToPointInTime", "dynamodb:DescribeTable" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "<account>" }, "ArnEquals": { "aws:SourceArn": "arn:aws:redshift:<region>:<account>:integration:*" } } }, { "Sid": "Statement that allows Amazon Redshift service to see all exports performed on the table", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "dynamodb:DescribeExport", "Resource": "arn:aws:dynamodb:<region>:<account>:table/<table-name>/export/*", "Condition": { "StringEquals": { "aws:SourceAccount": "<account>" }, "ArnEquals": { "aws:SourceArn": "arn:aws:redshift:<region>:<account>:integration:*" } } } ] }
Anda mungkin juga perlu mengonfigurasi kebijakan sumber daya di gudang data Amazon Redshift Anda. Untuk informasi selengkapnya, lihat Mengonfigurasi otorisasi menggunakan Amazon API Redshift.
-
Untuk kebijakan berbasis identitas:
-
Pengguna yang membuat integrasi memerlukan kebijakan berbasis identitas yang mengotorisasi tindakan berikut:
GetResourcePolicy
,, dan.PutResourcePolicy
UpdateContinuousBackups
catatan
Contoh kebijakan berikut akan menunjukkan sumber daya sebagai
arn:aws:redshift{-serverless}
. Ini adalah contoh untuk menunjukkan bahwa arn dapat berupaarn:aws:redshift
atauarn:aws:redshift-serverless
bergantung pada apakah namespace Anda adalah cluster Amazon Redshift atau namespace Tanpa Server Amazon Redshift.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:ListTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "dynamodb:GetResourcePolicy", "dynamodb:PutResourcePolicy", "dynamodb:UpdateContinuousBackups" ], "Resource": [ "arn:aws:dynamodb:<region>:<account>:table/<table-name>" ] }, { "Sid": "AllowRedshiftDescribeIntegration", "Effect": "Allow", "Action": [ "redshift:DescribeIntegrations" ], "Resource": "*" }, { "Sid": "AllowRedshiftCreateIntegration", "Effect": "Allow", "Action": "redshift:CreateIntegration", "Resource": "arn:aws:redshift:<region>:<account>:integration:*" }, { "Sid": "AllowRedshiftModifyDeleteIntegration", "Effect": "Allow", "Action": [ "redshift:ModifyIntegration", "redshift:DeleteIntegration" ], "Resource": "arn:aws:redshift:<region>:<account>:integration:<uuid>" }, { "Sid": "AllowRedshiftCreateInboundIntegration", "Effect": "Allow", "Action": "redshift:CreateInboundIntegration", "Resource": // The Amazon Resource Name (arn) for a Redshift provisioned cluster and a Redshift Serverless namespace have different formats. // Choose the one that applies to you: "arn:aws:redshift:<region>:<account>:namespace:<uuid>" "arn:aws:redshift-serverless:<region>:<account>:namespace/<uuid>" } ] }
-
Pengguna yang bertanggung jawab untuk mengonfigurasi namespace Amazon Redshift tujuan memerlukan kebijakan berbasis identitas yang mengizinkan tindakan berikut:,, dan.
PutResourcePolicy
DeleteResourcePolicy
GetResourcePolicy
{ "Statement": [ # This statement authorizes the user to change, view or remove resource policies on a specific namespace { "Effect": "Allow", "Action": [ "redshift:PutResourcePolicy", "redshift:DeleteResourcePolicy", "redshift:GetResourcePolicy" ], "Resource": [ "arn:aws:redshift{-serverless}:<region>:<account>:namespace/ExampleNamespace" ] }, # This statement authorizes the user to view integrations connected to any target namespaces in the account { "Effect": "Allow", "Action": [ "redshift:DescribeInboundIntegrations" ], "Resource": [ "arn:aws:redshift{-serverless}:<region>:<account>:namespace/*" ] } ], "Version": "2012-10-17" }
-
-
Izin kunci enkripsi
Jika tabel DynamoDB sumber dienkripsi menggunakan kunci AWS KMS terkelola pelanggan, Anda harus menambahkan kebijakan berikut pada kunci Anda. KMS Kebijakan ini memungkinkan Amazon Redshift untuk dapat mengekspor data dari tabel terenkripsi menggunakan kunci Anda. KMS
{ "Sid": "Statement to allow Amazon Redshift service to perform Decrypt operation on the source DynamoDB Table", "Effect": "Allow", "Principal": { "Service": [ "redshift.amazonaws.com" ] }, "Action": "kms:Decrypt", "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "<account>" }, "ArnEquals": { "aws:SourceArn": "arn:aws:redshift:<region>:<account>:integration:*" } } }
Anda juga dapat mengikuti langkah-langkah Memulai dengan nol ETL integrasi dalam panduan pengelolaan Amazon Redshift untuk mengonfigurasi izin namespace Amazon Redshift.
Keterbatasan saat menggunakan DynamoDB zero ETL - integrasi dengan Amazon Redshift
Keterbatasan umum berikut berlaku untuk rilis integrasi ini saat ini. Keterbatasan ini dapat berubah dalam rilis berikutnya.
catatan
Selain batasan di bawah ini, tinjau juga pertimbangan umum saat menggunakan integrasi nol, lihat Pertimbangan saat menggunakan ETL integrasi nol dengan ETL Amazon Redshift di Panduan Manajemen Pergeseran Merah Amazon.
-
Tabel DynamoDB dan cluster Amazon Redshift harus berada di Wilayah yang sama.
-
Tabel DynamoDB sumber harus dienkripsi dengan kunci milik Amazon atau yang dikelola Pelanggan. AWS KMS Enkripsi terkelola Amazon tidak didukung untuk tabel DynamoDB sumber.