View a markdown version of this page

Integrasi DynamoDB Zero-ETL dengan Amazon Redshift - Amazon DynamoDB

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

Integrasi DynamoDB Zero-ETL dengan Amazon Redshift

Integrasi Amazon DynamoDB Zero-ETL dengan Amazon Redshift memungkinkan analitik 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 menjalankan kueri SQL dan analitik pada data DynamoDB mereka tanpa harus menyiapkan proses ETL yang kompleks. 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. Saat aktivasi, integrasi mengekspor tabel DynamoDB lengkap untuk mengisi database Amazon Redshift. Waktu yang dibutuhkan untuk menyelesaikan proses awal ini tergantung pada ukuran tabel DynamoDB. Integrasi Zero-ETL kemudian secara bertahap mereplikasi pembaruan dari DynamoDB ke Amazon Redshift setiap 15-30 menit menggunakan ekspor inkremental DynamoDB. Ini berarti data DynamoDB yang direplikasi di Amazon Redshift akan terus diperbarui secara otomatis.

Setelah dikonfigurasi, Anda dapat menganalisis data DynamoDB di Amazon Redshift menggunakan klien dan alat SQL standar, tanpa mempengaruhi kinerja tabel DynamoDB. Dengan menghilangkan ETL yang rumit, integrasi Zero-ETL ini menyediakan cara cepat dan mudah untuk membuka wawasan dari DynamoDB melalui analisis Amazon Redshift dan kemampuan pembelajaran mesin.

Prasyarat sebelum membuat integrasi DynamoDB Zero-ETL dengan Amazon Redshift

  1. Anda harus membuat tabel DynamoDB sumber dan cluster Amazon Redshift target sebelum membuat integrasi. Informasi ini tercakup dalam Langkah 1: Mengkonfigurasi tabel DynamoDB sumber danLangkah 2: Membuat gudang data Amazon Redshift.

  2. Integrasi Zero-ETL antara Amazon DynamoDB dan Amazon Redshift mengharuskan tabel DynamoDB sumber Anda untuk mengaktifkan pemulihan (PITR). Point-in-time

  3. Untuk kebijakan berbasis sumber daya, integrasi Zero-ETL memerlukan kebijakan berbasis sumber daya yang dilampirkan langsung ke tabel DynamoDB Anda. Kebijakan sebaris ini memberikan izin layanan Amazon Redshift untuk mengakses data tabel Anda untuk replikasi. Untuk informasi selengkapnya tentang kebijakan berbasis sumber daya untuk DynamoDB, lihat Menggunakan kebijakan berbasis sumber daya untuk DynamoDB.

    Jika Anda membuat integrasi di mana tabel DynamoDB dan gudang data Amazon Redshift berada di akun yang sama, Anda dapat menggunakan opsi Per baiki untuk saya selama langkah buat integrasi untuk secara otomatis menerapkan kebijakan sumber daya yang diperlukan ke DynamoDB dan Amazon Redshift.

    Jika Anda membuat integrasi di mana tabel DynamoDB dan gudang data Amazon Redshift berada di AWS akun yang berbeda, Anda harus menerapkan kebijakan sumber daya berikut secara manual pada tabel DynamoDB Anda.

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Sid": "StatementthatallowsAmazonRedshiftservicetoDescribeTableandExportTable", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": [ "dynamodb:ExportTableToPointInTime", "dynamodb:DescribeTable" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:redshift:us-east-1:111122223333:integration:*" } } }, { "Sid": "StatementthatallowsAmazonRedshiftservicetoDescribeTableandExportTable", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "dynamodb:DescribeExport", "Resource": "arn:aws:dynamodb:us-east-1:111122223333:table/table-name/export/*", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" }, "ArnEquals": { "aws:SourceArn": "arn:aws:redshift:us-east-1:111122223333:integration:*" } } } ] }

    Anda mungkin juga perlu mengonfigurasi kebijakan sumber daya di gudang data Amazon Redshift Anda. Untuk informasi selengkapnya, lihat Meng onfigurasi otorisasi menggunakan Amazon Redshift API.

  4. Untuk Identity-based kebijakan:
    1. Pengguna yang membuat integrasi memerlukan kebijakan berbasis identitas yang mengotorisasi tindakan berikut:GetResourcePolicy,, PutResourcePolicy dan. UpdateContinuousBackups

      catatan

      Contoh kebijakan berikut akan menunjukkan sumber daya sebagaiarn:aws:redshift{-serverless}. Ini adalah contoh untuk menunjukkan bahwa arn dapat berupa salah satu arn:aws:redshift atau arn:aws:redshift-serverless tergantung pada apakah namespace Anda adalah cluster Amazon Redshift atau Amazon Redshift Serverless namespace.

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:ListTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "dynamodb:GetResourcePolicy", "dynamodb:PutResourcePolicy", "dynamodb:UpdateContinuousBackups" ], "Resource": [ "arn:aws:dynamodb:us-east-1:111122223333:table/table-name" ] }, { "Sid": "AllowRedshiftDescribeIntegration", "Effect": "Allow", "Action": [ "redshift:DescribeIntegrations" ], "Resource": "*" }, { "Sid": "AllowRedshiftCreateIntegration", "Effect": "Allow", "Action": "redshift:CreateIntegration", "Resource": "arn:aws:redshift:us-east-1:111122223333:integration:*" }, { "Sid": "AllowRedshiftModifyDeleteIntegration", "Effect": "Allow", "Action": [ "redshift:ModifyIntegration", "redshift:DeleteIntegration" ], "Resource": "arn:aws:redshift:us-east-1:111122223333:integration:uuid" }, { "Sid": "AllowRedshiftCreateInboundIntegration", "Effect": "Allow", "Action": "redshift:CreateInboundIntegration", "Resource": "arn:aws:redshift:us-east-1:111122223333:namespace:uuid" } ] }
    2. Pengguna yang bertanggung jawab untuk mengonfigurasi namespace Amazon Redshift tujuan memerlukan kebijakan berbasis identitas yang mengotorisasi tindakan berikut:,, dan. PutResourcePolicy DeleteResourcePolicy GetResourcePolicy

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift:PutResourcePolicy", "redshift:DeleteResourcePolicy", "redshift:GetResourcePolicy" ], "Resource": [ "arn:aws:redshift:us-east-1:111122223333:cluster:cluster-name" ] }, { "Effect": "Allow", "Action": [ "redshift:DescribeInboundIntegrations" ], "Resource": [ "arn:aws:redshift:us-east-1:111122223333:cluster:cluster-name" ] } ] }
  5. Izin kunci enkripsi

    Jika tabel DynamoDB sumber dienkripsi menggunakan AWS KMS kunci yang dikelola pelanggan, Anda perlu menambahkan kebijakan berikut pada kunci KMS Anda. Kebijakan ini memungkinkan Amazon Redshift untuk dapat mengekspor data dari tabel terenkripsi menggunakan kunci KMS Anda.

    { "Sid": "AllowRedshiftDecryptSourceTable", "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 tentang Mem ulai integrasi Zero-ETL di panduan manajemen Amazon Redshift untuk mengonfigurasi izin namespace Amazon Redshift.

Keterbatasan saat menggunakan integrasi DynamoDB Zero-ETL dengan Amazon Redshift

Batasan 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 Zero-ETL lihat Per timbangan saat menggunakan integrasi Zero-ETL dengan Amazon Redshift di Panduan Manajemen Amazon Redshift.

  • Tabel DynamoDB dan cluster Amazon Redshift harus berada di Wilayah yang sama.

  • Tabel sumber DynamoDB harus dienkripsi dengan kunci Amazon-owned atau Customer-managed AWS KMS . Enkripsi terkelola Amazon tidak didukung untuk tabel DynamoDB sumber.