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 Amazon RDS zero- ETL integrasi dengan Amazon Redshift

Mode fokus
Membuat Amazon RDS zero- ETL integrasi 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 ETL integrasi nol Amazon RDS , Anda menentukan basis data sumber dan gudang data Amazon Redshift target. Anda juga dapat menyesuaikan pengaturan enkripsi dan menambahkan tag. Amazon RDS menciptakan integrasi antara . Setelah integrasi aktif, data apa pun yang Anda masukkan ke dalam database sumber akan direplikasi ke target Amazon Redshift yang dikonfigurasi.

Prasyarat

Sebelum membuat ETL integrasi nol, 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 Memulai ETL integrasi nol Amazon RDS dengan Amazon Redshift.

Izin yang diperlukan

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

  • Buat nol- ETL integrasi untuk RDSdatabase sumber .

  • Lihat dan hapus semua nol- ETL integrasi.

  • 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(/) daripada titik dua (:) sebelum namespace tanpa server. UUID

  • 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 IAM 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 nol- ETL integrasi

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

Secara default, RDS untuk My SQL segera membersihkan file log biner. Karena ETL integrasi nol 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 ETL integrasi nol
  1. Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi kiri, pilih Nol- ETL integrasi.

  3. Pilih Buat nol- ETL integrasi.

  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 RDSdatabase tempat data akan berasal.

    catatan

    RDSmemberi 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 IAM peran dengan izin untuk menampilkan gudang data Anda. Untuk instruksi untuk membuat IAM peran, lihatMemilih gudang data target di akun yang berbeda.

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

    catatan

    RDSmemberi tahu Anda jika kebijakan sumber daya atau pengaturan sensitivitas kasus 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 berbeda Akun AWS, 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 KMS kunci yang akan digunakan untuk enkripsi. Untuk informasi selengkapnya, lihat Mengenkripsi sumber daya Amazon RDS Amazon.

    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 ETL integrasi nol.

    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 ETL integrasi nol
  1. Masuk ke AWS Management Console dan buka RDS konsol Amazon di https://console.aws.amazon.com/rds/.

  2. Di panel navigasi kiri, pilih Nol- ETL integrasi.

  3. Pilih Buat nol- ETL integrasi.

  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 RDSdatabase tempat data akan berasal.

    catatan

    RDSmemberi 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 IAM peran dengan izin untuk menampilkan gudang data Anda. Untuk instruksi untuk membuat IAM peran, lihatMemilih gudang data target di akun yang berbeda.

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

    catatan

    RDSmemberi tahu Anda jika kebijakan sumber daya atau pengaturan sensitivitas kasus 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 berbeda Akun AWS, 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 KMS kunci yang akan digunakan untuk enkripsi. Untuk informasi selengkapnya, lihat Mengenkripsi sumber daya Amazon RDS Amazon.

    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 ETL integrasi nol.

    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 ETL integrasi nol menggunakan AWS CLI, gunakan perintah create-integration dengan opsi berikut:

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

  • --source-arn— Tentukan ARN RDSdatabase 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 ETL integrasi nol menggunakan AWS CLI, gunakan perintah create-integration dengan opsi berikut:

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

  • --source-arn— Tentukan ARN RDSdatabase 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 ETL integrasi nol dengan menggunakan Amazon RDSAPI, gunakan CreateIntegrationoperasi dengan parameter berikut:

  • IntegrationName – Tentukan nama untuk integrasi.

  • SourceArn— Tentukan ARN RDSdatabase yang akan menjadi sumber untuk integrasi.

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

Untuk membuat ETL integrasi nol dengan menggunakan Amazon RDSAPI, gunakan CreateIntegrationoperasi dengan parameter berikut:

  • IntegrationName – Tentukan nama untuk integrasi.

  • SourceArn— Tentukan ARN RDSdatabase 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 KMS kunci kustom dan bukan Kunci milik AWS saat Anda membuat integrasi, kebijakan kunci harus menyediakan akses utama layanan Amazon Redshift ke tindakan tersebutCreateGrant. 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 ETL integrasi nol, Anda harus membuat database tujuan dalam klaster atau grup kerja Amazon Redshift target Anda. Kemudian, Anda dapat mulai menambahkan data ke RDSdatabase sumber 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.