Membuat integrasi Aurora Zero-ETL dengan rumah danau Amazon SageMaker - Amazon Aurora

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

Membuat integrasi Aurora Zero-ETL dengan rumah danau Amazon SageMaker

Saat Anda membuat integrasi Aurora Zero-ETL dengan Amazon SageMaker lakehouse, Anda menentukan sumber Kluster Aurora DB dan katalog terkelola target. AWS Glue Anda juga dapat menyesuaikan pengaturan enkripsi dan menambahkan tag. Aurora menciptakan integrasi antara cluster DB database dan targetnya. Setelah integrasi aktif, data apa pun yang Anda masukkan ke dalam cluster DB sumber akan direplikasi ke target yang dikonfigurasi.

Prasyarat

Sebelum Anda membuat integrasi nol-ETL dengan Amazon SageMaker lakehouse, Anda harus membuat cluster DB sumber dan katalog terkelola target. AWS Glue Anda juga harus mengizinkan replikasi ke dalam katalog dengan menambahkan cluster DB sebagai sumber integrasi resmi.

Untuk petunjuk cara menyelesaikan setiap langkah ini, lihat Memulai dengan integrasi .

Izin yang diperlukan

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

  • Lihat dan hapus semua integrasi nol-ETL.

  • Buat integrasi masuk ke dalam katalog AWS Glue terkelola target.

  • Akses bucket Amazon S3 yang digunakan oleh katalog terkelola. AWS Glue

  • Gunakan AWS KMS kunci untuk enkripsi jika enkripsi khusus dikonfigurasi.

  • Daftarkan sumber daya dengan Lake Formation.

  • Letakkan kebijakan sumber daya pada katalog AWS Glue terkelola untuk mengotorisasi integrasi masuk.

Kebijakan contoh berikut menunjukkan izin hak istimewa paling sedikit yang diperlukan untuk membuat dan mengelola integrasi dengan lakehouse. Amazon SageMaker Anda mungkin tidak memerlukan izin persis ini jika pengguna atau peran Anda memiliki izin yang lebih luas, seperti kebijakan terkelola AdministratorAccess.

Selain itu, Anda harus mengonfigurasi kebijakan sumber daya pada katalog AWS Glue terkelola target untuk mengotorisasi integrasi masuk. Gunakan AWS CLI perintah berikut untuk menerapkan kebijakan sumber daya.

aws glue put-resource-policy \ --policy-in-json '{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": [ "glue:AuthorizeInboundIntegration" ], "Resource": ["arn:aws:glue:region:account_id:catalog/catalog_name"], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:rds:region:account_id:db:source_name" } } }, { "Effect": "Allow", "Principal": { "AWS": "account_id" }, "Action": ["glue:CreateInboundIntegration"], "Resource": ["arn:aws:glue:region:account_id:catalog/catalog_name"] } ] }' \ --region region
catatan

Glue catalog Amazon Resource Names (ARNs) memiliki format berikut:

  • Katalog Glue — arn:aws:glue:{region}:{account-id}:catalog/catalog-name

Memilih katalog AWS Glue terkelola target di akun yang berbeda

Jika Anda berencana untuk menentukan katalog AWS Glue terkelola target yang ada di katalog 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 untuk melihat AWS Glue katalog yang tersedia di akun target.

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "glue:GetCatalog" ], "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 dengan rumah danau Amazon SageMaker

Anda dapat membuat integrasi nol-ETL dengan Amazon SageMaker lakehouse menggunakan AWS Management Console,, atau RDS API. AWS CLI

penting

Integrasi nol-ETL dengan Amazon SageMaker lakehouse tidak mendukung operasi penyegaran atau sinkronisasi ulang. Jika Anda mengalami masalah dengan integrasi setelah pembuatan, Anda harus menghapus integrasi dan membuat yang baru.

Untuk membuat integrasi nol-ETL dengan rumah danau Amazon SageMaker
  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 Selanjutnya.

  6. Untuk Sumber, pilih Aurora DB cluster tempat data akan berasal.

    catatan

    RDS memberi tahu Anda jika parameter cluster 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 klaster DB kustom.

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

  7. (Opsional) Pilih Sesuaikan opsi pemfilteran data dan tambahkan filter data ke integrasi Anda. Anda dapat menggunakan filter data untuk menentukan ruang lingkup replikasi ke Amazon SageMaker lakehouse target. Untuk informasi selengkapnya, lihat Pemfilteran data untuk integrasi Zero-ETL.

  8. Setelah cluster DB sumber Anda berhasil dikonfigurasi, pilih Berikutnya.

  9. Untuk Target, lakukan hal berikut:

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

    2. Untuk AWS Glue katalog, pilih target untuk data yang direplikasi dari cluster DB sumber. Anda dapat memilih katalog AWS Glue terkelola yang ada sebagai target.

    3. Peran IAM target perlu menjelaskan izin pada katalog target dan harus memiliki izin berikut:

      { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "glue:GetCatalog", "Resource": [ "arn:aws:glue:region:account-id:catalog/*", "arn:aws:glue:region:account-id:catalog" ] } ] }

      Peran IAM target harus memiliki hubungan kepercayaan berikut:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    4. Anda harus memberikan izin deskripsi peran IAM target untuk katalog AWS Glue terkelola target dengan peran administrator Lake Formation yang dibuat. Langkah 3b: Buat AWS Glue katalog untuk integrasi Amazon SageMaker nol-ETL

    catatan

    RDS memberi tahu Anda jika kebijakan sumber daya atau pengaturan konfigurasi untuk katalog AWS Glue terkelola yang ditentukan tidak dikonfigurasi dengan benar. Jika Anda menerima pesan ini, Anda dapat memilih Perbaiki untuk saya, atau mengonfigurasinya secara manual.

    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 manualSageMaker Unified Studio.

  10. Setelah katalog AWS Glue terkelola target Anda dikonfigurasi dengan benar, pilih Berikutnya.

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

  12. 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 Aurora.

    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:glue:integration:arn - IntegrationArn

    • aws:servicename:id - glue

    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

  13. Pilih Selanjutnya.

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

    Jika pembuatan gagal, lihat Memecahkan masalah integrasi untuk langkah-langkah pemecahan masalah.

Integrasi memiliki status Creating saat sedang dibuat, dan target Amazon SageMaker lakehouse memiliki status. Modifying Selama waktu ini, Anda tidak dapat menanyakan katalog atau membuat perubahan konfigurasi apa pun di dalamnya.

Ketika integrasi berhasil dibuat, status integrasi dan target Amazon SageMaker lakehouse keduanya berubah menjadi. Active

Untuk menyiapkan katalog AWS Glue terkelola target untuk integrasi nol-ETL menggunakan AWS CLI, Anda harus terlebih dahulu menggunakan create-integration-resource-propertyperintah dengan opsi berikut:

  • --resource-arn— Tentukan ARN dari katalog AWS Glue terkelola yang akan menjadi target integrasi.

  • --target-processing-properties— Tentukan ARN peran IAM untuk mengakses katalog terkelola target AWS Glue

aws glue create-integration-resource-property --region us-east-1 --resource-arn arn:aws:glue:region:account_id:catalog/catalog_name \ --target-processing-properties '{"RoleArn" : "arn:aws:iam::account_id:role/TargetIamRole"}'

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

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

  • --source-arn— Tentukan ARN dari DB cluster yang akan menjadi sumber untuk integrasi.

  • --target-arn— Tentukan ARN dari katalog AWS Glue terkelola yang akan menjadi target integrasi.

Untuk Linux, macOS, atau Unix:

aws rds create-integration \ --integration-name my-sagemaker-integration \ --source-arn arn:aws:rds:{region}:{account-id}:my-db \ --target-arn arn:aws:glue:{region}:{account-id}:catalog/catalog-name

Untuk Windows:

aws rds create-integration ^ --integration-name my-sagemaker-integration ^ --source-arn arn:aws:rds:{region}:{account-id}:my-db ^ --target-arn arn:aws:glue:{region}:{account-id}:catalog/catalog-name

Untuk membuat integrasi nol-ETL dengan Amazon SageMaker menggunakan Amazon RDS API, gunakan CreateIntegrationoperasi dengan parameter berikut:

catatan

Nama katalog dibatasi hingga 19 karakter. Pastikan IntegrationName parameter Anda memenuhi persyaratan ini jika akan digunakan sebagai nama katalog.

  • IntegrationName – Tentukan nama untuk integrasi.

  • SourceArn— Tentukan ARN dari DB cluster yang akan menjadi sumber untuk integrasi.

  • TargetArn— Tentukan ARN dari katalog AWS Glue terkelola 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 denganAmazon SageMaker, kebijakan kunci harus menyediakan akses utama SageMaker Unified Studio layanan 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 Glue service principal to add a grant to an AWS KMS key", "Effect": "Allow", "Principal": { "Service": "glue.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 Anda berhasil membuat integrasi nol-ETLAmazon SageMaker, Anda dapat mulai menambahkan data ke DB dan menanyakannya di lakehouse Anda. Amazon SageMaker Data akan direplikasi secara otomatis dan tersedia untuk beban kerja analitik dan pembelajaran mesin.