Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Membuat integrasi nol-ETL Amazon RDS dengan Amazon Redshift

Mode fokus
Membuat integrasi nol-ETL Amazon RDS dengan Amazon Redshift - Layanan Basis Data Relasional Amazon

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

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

Saat membuat integrasi Amazon RDS Zero-ETL, Anda menentukan basis data RDS sumber dan gudang data Amazon Redshift target. Anda juga dapat menyesuaikan pengaturan enkripsi dan menambahkan tag. Amazon RDS menciptakan integrasi antara cluster sumber dan targetnya. Setelah integrasi aktif, data apa pun yang Anda masukkan ke dalam database sumber akan direplikasi ke target Amazon Redshift yang dikonfigurasi.

Prasyarat

Sebelum membuat integrasi nol-ETL, Anda harus membuat database sumber dan gudang data Amazon Redshift target. Anda juga harus mengizinkan replikasi ke gudang data dengan menambahkan database sebagai sumber integrasi resmi.

Untuk petunjuk cara menyelesaikan setiap langkah ini, lihat Mulai menggunakan integrasi nol-ETL Amazon RDS dengan Amazon Redshift.

Izin yang diperlukan

Izin IAM tertentu diperlukan untuk membuat integrasi nol-ETL. Setidaknya, Anda memerlukan izin untuk melakukan tindakan berikut:

  • Lihat dan hapus semua integrasi nol-ETL.

  • Buat integrasi masuk ke gudang data target. Anda tidak memerlukan izin ini jika akun yang sama memiliki gudang data Amazon Redshift dan akun ini merupakan prinsipal yang diotorisasi untuk gudang data tersebut. Untuk informasi tentang menambahkan prinsipal resmi, lihat Mengonfigurasi otorisasi untuk gudang data Amazon Redshift Anda.

Contoh kebijakan berikut menunjukkan izin hak akses paling rendah yang diperlukan untuk membuat dan mengelola integrasi. Anda mungkin tidak memerlukan izin persis ini jika pengguna atau peran Anda memiliki izin yang lebih luas, seperti kebijakan terkelola AdministratorAccess.

catatan

Redshift Amazon Resource Names (ARNs) memiliki format berikut. Perhatikan penggunaan garis miring ke depan (/), bukan titik dua (:), sebelum UUID ruang nama nirserver.

  • Klaster terprovisi – arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

  • Nirserver – arn:aws:redshift-serverless:{region}:{account-id}:namespace/namespace-uuid

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "rds:CreateIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:db:source-db", "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeIntegrations" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "rds:DeleteIntegration", "rds:ModifyIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "redshift:CreateInboundIntegration" ], "Resource": [ "arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid" ] }] }

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "rds:CreateIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:db:source-db", "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeIntegrations" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "rds:DeleteIntegration", "rds:ModifyIntegration" ], "Resource": [ "arn:aws:rds:{region}:{account-id}:integration:*" ] }, { "Effect": "Allow", "Action": [ "redshift:CreateInboundIntegration" ], "Resource": [ "arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid" ] }] }

Memilih gudang data target di akun yang berbeda

Jika Anda berencana untuk menentukan gudang data Amazon Redshift target yang ada di gudang lain Akun AWS, Anda harus membuat peran yang memungkinkan pengguna di akun saat ini mengakses sumber daya di akun target. Untuk informasi selengkapnya, lihat Menyediakan akses ke pengguna IAM di pengguna lain Akun AWS yang Anda miliki.

Peran harus memiliki izin berikut, yang memungkinkan pengguna melihat klaster terprovisi Amazon Redshift dan ruang nama Redshift Nirserver di akun target.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusters", "redshift-serverless:ListNamespaces" ], "Resource":[ "*" ] } ] }

Peran harus memiliki kebijakan kepercayaan berikut ini, yang menentukan ID akun target.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS": "arn:aws:iam::{external-account-id}:root" }, "Action":"sts:AssumeRole" } ] }

Untuk petunjuk cara membuat peran, lihat Membuat peran menggunakan kebijakan kepercayaan kustom.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "redshift:DescribeClusters", "redshift-serverless:ListNamespaces" ], "Resource":[ "*" ] } ] }

Peran harus memiliki kebijakan kepercayaan berikut ini, yang menentukan ID akun target.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "AWS": "arn:aws:iam::{external-account-id}:root" }, "Action":"sts:AssumeRole" } ] }

Untuk petunjuk cara membuat peran, lihat Membuat peran menggunakan kebijakan kepercayaan kustom.

Membuat integrasi nol-ETL

Anda dapat membuat integrasi nol-ETL menggunakan API AWS Management Console, the AWS CLI, atau RDS.

Secara default, RDS for MySQL akan langsung melakukan purging file log biner. Karena integrasi nol-ETL bergantung pada log biner untuk mereplikasi data dari sumber ke target, periode retensi untuk database sumber harus setidaknya satu jam. Segera setelah Anda membuat integrasi, Amazon RDS memeriksa periode penyimpanan file log biner untuk database sumber yang dipilih. Jika nilai saat ini adalah 0 jam, Amazon RDS secara otomatis mengubahnya menjadi 1 jam. Jika tidak, nilainya tetap sama.

Untuk membuat integrasi nol-ETL
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi kiri, pilih Integrasi nol-ETL.

  3. Pilih Buat integrasi nol-ETL.

  4. Untuk Pengidentifikasi integrasi, masukkan nama untuk integrasi. Nama dapat memiliki maksimal 63 karakter alfanumerik dan dapat menyertakan tanda hubung.

  5. Pilih Berikutnya.

  6. Untuk Sumber, pilih database RDS cluster tempat data akan berasal.

    catatan

    RDS memberi tahu Anda jika parameter DB tidak dikonfigurasi dengan benar. Jika Anda menerima pesan ini, Anda dapat memilih Perbaiki untuk saya, atau mengonfigurasinya secara manual. Untuk petunjuk cara memperbaikinya secara manual, lihat Langkah 1: Buat grup parameter DB kustom.

    Memodifikasi parameter DB membutuhkan boot ulang. Sebelum Anda dapat membuat integrasi, reboot harus lengkap dan nilai parameter baru harus berhasil diterapkan ke database.

  7. Setelah basis data sumber Anda berhasil dikonfigurasi, pilih Berikutnya.

  8. Untuk Target, lakukan hal berikut:

    1. (Opsional) Untuk menggunakan target Amazon Redshift yang berbeda Akun AWS , pilih Tentukan akun yang berbeda. Kemudian, masukkan ARN peran IAM dengan izin untuk menampilkan gudang data Anda. Untuk petunjuk cara membuat peran IAM, lihat Memilih gudang data target di akun yang berbeda.

    2. Anda dapat memilih klaster Amazon Redshift terprovisi atau ruang nama Redshift Nirserver sebagai target.

    catatan

    RDS akan memberi tahu Anda jika pengaturan kebijakan sumber daya atau kepekaan huruf besar/kecil untuk gudang data yang ditentukan tidak dikonfigurasi dengan benar. Jika Anda menerima pesan ini, Anda dapat memilih Perbaiki untuk saya, atau mengonfigurasinya secara manual. Untuk petunjuk cara memperbaikinya secara manual, lihat Mengaktifkan kepekaan huruf besar/kecil untuk gudang data Anda dan Mengonfigurasi otorisasi untuk gudang data Anda dalam Panduan Manajemen Amazon Redshift.

    Modifikasi kepekaan huruf besar/kecil untuk klaster Redshift terprovisi memerlukan boot ulang. Sebelum Anda dapat membuat integrasi, boot ulang harus selesai dan nilai parameter baru harus berhasil diterapkan ke klaster.

    Jika sumber dan target yang Anda pilih berada di Akun AWS yang berbeda, maka Amazon RDS tidak dapat memperbaiki pengaturan ini untuk Anda. Anda harus menavigasi ke akun lain dan memperbaikinya secara manual di Amazon Redshift.

  9. Setelah gudang data target Anda dikonfigurasi dengan benar, pilih Berikutnya.

  10. (Opsional) Untuk Tag, tambahkan satu atau beberapa tag ke integrasi. Untuk informasi selengkapnya, lihat Menandai sumber Amazon RDS.

  11. Untuk Enkripsi, tentukan cara enkripsi integrasi Anda. Secara default, RDS mengenkripsi semua integrasi dengan file. Kunci milik AWS Untuk memilih kunci yang dikelola pelanggan, aktifkan Sesuaikan pengaturan enkripsi dan pilih kunci KMS yang akan digunakan untuk enkripsi. Untuk informasi selengkapnya, lihat Mengenkripsi sumber daya Amazon RDS.

    Secara opsional, tambahkan konteks enkripsi. Untuk informasi lebih lanjut, lihat Konteks enkripsi di Panduan Developer AWS Key Management Service .

    catatan

    Amazon RDS menambahkan pasangan konteks enkripsi berikut selain yang Anda tambahkan:

    • aws:redshift:integration:arn - IntegrationArn

    • aws:servicename:id - Redshift

    Ini mengurangi jumlah keseluruhan pasangan yang dapat Anda tambahkan dari 8 menjadi 6, dan berkontribusi pada batas karakter keseluruhan dari batasan hibah. Untuk informasi selengkapnya, lihat Menggunakan batasan hibah di Panduan Pengembang.AWS Key Management Service

  12. Pilih Berikutnya.

  13. Tinjau pengaturan integrasi Anda dan pilih Buat integrasi nol-ETL.

    Jika pembuatan gagal, lihat Saya tidak dapat membuat ETL integrasi nol untuk langkah-langkah pemecahan masalah.

Integrasi memiliki status Creating ketika sedang dibuat dan gudang data Amazon Redshift target memiliki status Modifying. Selama waktu ini, Anda tidak dapat mengueri gudang data atau membuat perubahan konfigurasi apa pun di dalamnya.

Ketika integrasi berhasil dibuat, status integrasi dan gudang data Amazon Redshift target berubah menjadi Active.

Konsol RDS

Untuk membuat integrasi nol-ETL
  1. Masuk ke AWS Management Console dan buka konsol Amazon RDS di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi kiri, pilih Integrasi nol-ETL.

  3. Pilih Buat integrasi nol-ETL.

  4. Untuk Pengidentifikasi integrasi, masukkan nama untuk integrasi. Nama dapat memiliki maksimal 63 karakter alfanumerik dan dapat menyertakan tanda hubung.

  5. Pilih Berikutnya.

  6. Untuk Sumber, pilih database RDS cluster tempat data akan berasal.

    catatan

    RDS memberi tahu Anda jika parameter DB tidak dikonfigurasi dengan benar. Jika Anda menerima pesan ini, Anda dapat memilih Perbaiki untuk saya, atau mengonfigurasinya secara manual. Untuk petunjuk cara memperbaikinya secara manual, lihat Langkah 1: Buat grup parameter DB kustom.

    Memodifikasi parameter DB membutuhkan boot ulang. Sebelum Anda dapat membuat integrasi, reboot harus lengkap dan nilai parameter baru harus berhasil diterapkan ke database.

  7. Setelah basis data sumber Anda berhasil dikonfigurasi, pilih Berikutnya.

  8. Untuk Target, lakukan hal berikut:

    1. (Opsional) Untuk menggunakan target Amazon Redshift yang berbeda Akun AWS , pilih Tentukan akun yang berbeda. Kemudian, masukkan ARN peran IAM dengan izin untuk menampilkan gudang data Anda. Untuk petunjuk cara membuat peran IAM, lihat Memilih gudang data target di akun yang berbeda.

    2. Anda dapat memilih klaster Amazon Redshift terprovisi atau ruang nama Redshift Nirserver sebagai target.

    catatan

    RDS akan memberi tahu Anda jika pengaturan kebijakan sumber daya atau kepekaan huruf besar/kecil untuk gudang data yang ditentukan tidak dikonfigurasi dengan benar. Jika Anda menerima pesan ini, Anda dapat memilih Perbaiki untuk saya, atau mengonfigurasinya secara manual. Untuk petunjuk cara memperbaikinya secara manual, lihat Mengaktifkan kepekaan huruf besar/kecil untuk gudang data Anda dan Mengonfigurasi otorisasi untuk gudang data Anda dalam Panduan Manajemen Amazon Redshift.

    Modifikasi kepekaan huruf besar/kecil untuk klaster Redshift terprovisi memerlukan boot ulang. Sebelum Anda dapat membuat integrasi, boot ulang harus selesai dan nilai parameter baru harus berhasil diterapkan ke klaster.

    Jika sumber dan target yang Anda pilih berada di Akun AWS yang berbeda, maka Amazon RDS tidak dapat memperbaiki pengaturan ini untuk Anda. Anda harus menavigasi ke akun lain dan memperbaikinya secara manual di Amazon Redshift.

  9. Setelah gudang data target Anda dikonfigurasi dengan benar, pilih Berikutnya.

  10. (Opsional) Untuk Tag, tambahkan satu atau beberapa tag ke integrasi. Untuk informasi selengkapnya, lihat Menandai sumber Amazon RDS.

  11. Untuk Enkripsi, tentukan cara enkripsi integrasi Anda. Secara default, RDS mengenkripsi semua integrasi dengan file. Kunci milik AWS Untuk memilih kunci yang dikelola pelanggan, aktifkan Sesuaikan pengaturan enkripsi dan pilih kunci KMS yang akan digunakan untuk enkripsi. Untuk informasi selengkapnya, lihat Mengenkripsi sumber daya Amazon RDS.

    Secara opsional, tambahkan konteks enkripsi. Untuk informasi lebih lanjut, lihat Konteks enkripsi di Panduan Developer AWS Key Management Service .

    catatan

    Amazon RDS menambahkan pasangan konteks enkripsi berikut selain yang Anda tambahkan:

    • aws:redshift:integration:arn - IntegrationArn

    • aws:servicename:id - Redshift

    Ini mengurangi jumlah keseluruhan pasangan yang dapat Anda tambahkan dari 8 menjadi 6, dan berkontribusi pada batas karakter keseluruhan dari batasan hibah. Untuk informasi selengkapnya, lihat Menggunakan batasan hibah di Panduan Pengembang.AWS Key Management Service

  12. Pilih Berikutnya.

  13. Tinjau pengaturan integrasi Anda dan pilih Buat integrasi nol-ETL.

    Jika pembuatan gagal, lihat Saya tidak dapat membuat ETL integrasi nol untuk langkah-langkah pemecahan masalah.

Integrasi memiliki status Creating ketika sedang dibuat dan gudang data Amazon Redshift target memiliki status Modifying. Selama waktu ini, Anda tidak dapat mengueri gudang data atau membuat perubahan konfigurasi apa pun di dalamnya.

Ketika integrasi berhasil dibuat, status integrasi dan gudang data Amazon Redshift target berubah menjadi Active.

Untuk membuat integrasi nol-ETL menggunakan AWS CLI, gunakan perintah create-integration dengan opsi berikut:

  • --integration-name – Tentukan nama untuk integrasi.

  • --source-arn— Tentukan ARN dari database RDS Aurora yang akan menjadi sumber untuk integrasi.

  • --target-arn – Tentukan ARN gudang data Amazon Redshift yang akan menjadi target integrasi.

Untuk Linux, macOS, atau Unix:

aws rds create-integration \ --integration-name my-integration \ --source-arn arn:aws:rds:{region}:{account-id}:my-db \ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

Untuk Windows:

aws rds create-integration ^ --integration-name my-integration ^ --source-arn arn:aws:rds:{region}:{account-id}:my-db ^ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

Untuk membuat integrasi nol-ETL menggunakan AWS CLI, gunakan perintah create-integration dengan opsi berikut:

  • --integration-name – Tentukan nama untuk integrasi.

  • --source-arn— Tentukan ARN dari database RDS Aurora yang akan menjadi sumber untuk integrasi.

  • --target-arn – Tentukan ARN gudang data Amazon Redshift yang akan menjadi target integrasi.

Untuk Linux, macOS, atau Unix:

aws rds create-integration \ --integration-name my-integration \ --source-arn arn:aws:rds:{region}:{account-id}:my-db \ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

Untuk Windows:

aws rds create-integration ^ --integration-name my-integration ^ --source-arn arn:aws:rds:{region}:{account-id}:my-db ^ --target-arn arn:aws:redshift:{region}:{account-id}:namespace:namespace-uuid

Untuk membuat integrasi nol-ETL menggunakan API Amazon RDS, gunakan operasi CreateIntegration dengan parameter berikut ini:

  • IntegrationName – Tentukan nama untuk integrasi.

  • SourceArn— Tentukan ARN dari database RDS Aurora yang akan menjadi sumber untuk integrasi.

  • TargetArn – Tentukan ARN gudang data Amazon Redshift yang akan menjadi target integrasi.

Untuk membuat integrasi nol-ETL menggunakan API Amazon RDS, gunakan operasi CreateIntegration dengan parameter berikut ini:

  • IntegrationName – Tentukan nama untuk integrasi.

  • SourceArn— Tentukan ARN dari database RDS Aurora yang akan menjadi sumber untuk integrasi.

  • TargetArn – Tentukan ARN gudang data Amazon Redshift yang akan menjadi target integrasi.

Mengenkripsi integrasi dengan kunci yang dikelola pelanggan

Jika Anda menentukan kunci KMS kustom dan bukan Kunci milik AWS saat Anda membuat integrasi, kebijakan kunci harus menyediakan akses utama layanan Amazon Redshift ke CreateGrant tindakan tersebut. Selain itu, harus memungkinkan pengguna saat ini untuk melakukan CreateGrant tindakan DescribeKey dan tindakan.

Kebijakan contoh berikut menunjukkan cara memberikan izin yang diperlukan dalam kebijakan utama. Ini termasuk kunci konteks untuk lebih mengurangi ruang lingkup izin.

{ "Version": "2012-10-17", "Id": "Key policy", "Statement": [ { "Sid": "Enables IAM user permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-ID}:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allows the Redshift service principal to add a grant to a KMS key", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:{context-key}":"{context-value}" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }, { "Sid": "Allows the current user or role to add a grant to a KMS key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-ID}:role/{role-name}" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:{context-key}":"{context-value}", "kms:ViaService": "rds.us-east-1.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }, { "Sid": "Allows the current uer or role to retrieve information about a KMS key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-ID}:role/{role-name}" }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

{ "Version": "2012-10-17", "Id": "Key policy", "Statement": [ { "Sid": "Enables IAM user permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-ID}:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allows the Redshift service principal to add a grant to a KMS key", "Effect": "Allow", "Principal": { "Service": "redshift.amazonaws.com" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:{context-key}":"{context-value}" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }, { "Sid": "Allows the current user or role to add a grant to a KMS key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-ID}:role/{role-name}" }, "Action": "kms:CreateGrant", "Resource": "*", "Condition": { "StringEquals": { "kms:EncryptionContext:{context-key}":"{context-value}", "kms:ViaService": "rds.us-east-1.amazonaws.com" }, "ForAllValues:StringEquals": { "kms:GrantOperations": [ "Decrypt", "GenerateDataKey", "CreateGrant" ] } } }, { "Sid": "Allows the current uer or role to retrieve information about a KMS key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::{account-ID}:role/{role-name}" }, "Action": "kms:DescribeKey", "Resource": "*" } ] }

Untuk informasi selengkapnya, lihat Membuat kebijakan kunci di Panduan Developer AWS Key Management Service .

Langkah selanjutnya

Setelah berhasil membuat integrasi nol-ETL, Anda harus membuat basis data tujuan dalam klaster atau grup kerja Amazon Redshift target Anda. Kemudian, Anda dapat mulai menambahkan data ke database RDS sumber cluster dan menanyakannya di Amazon Redshift. Untuk petunjuknya, lihat Membuat basis data tujuan di Amazon Redshift.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.