View a markdown version of this page

Mengkonfigurasi target untuk integrasi nol-ETL - AWS Glue

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

Mengkonfigurasi target untuk integrasi nol-ETL

Ada beberapa opsi yang ditawarkan AWS Glue saat mengonfigurasi target untuk integrasi nol-ETL. Targetnya mungkin gudang Amazon Redshift data terenkripsi atau arsitektur Lakehouse Amazon. SageMaker

Sebelum memilih target untuk integrasi nol-ETL, Anda perlu mengonfigurasi salah satu sumber daya target berikut. Opsi konfigurasi untuk target dalam integrasi nol-ETL meliputi:

catatan

Anda tidak dapat memodifikasi target integrasi nol-ETL setelah pembuatan.

Mengonfigurasi target bucket S3 tujuan umum

Bagian ini menjelaskan prasyarat dan langkah penyiapan untuk mengonfigurasi bucket S3 tujuan umum sebagai penyimpanan untuk target Anda dalam integrasi nol-ETL, menggunakan arsitektur Lakehouse Amazon. SageMaker

Sebelum membuat integrasi nol-ETL dengan arsitektur Lakehouse SageMaker Amazon menggunakan penyimpanan S3 tujuan umum, Anda harus menyelesaikan tugas penyiapan berikut:

  • Menyiapkan AWS Glue database

  • Menyediakan kebijakan Katalog RBAC

  • Buat peran IAM target

  • Mengaitkan peran target, KMS (opsional) dan Koneksi (opsional) dengan sumber daya target

  • (Opsional) Konfigurasikan properti tabel target

Menyiapkan AWS Glue database

Untuk menyiapkan database target di Katalog Data dengan lokasi bucket tujuan umum Amazon S3:

  1. Di halaman beranda AWS Glue konsol, pilih Database di bawah Katalog Data.

  2. Pilih Tambahkan database di pojok kanan atas. Jika Anda telah membuat database, pastikan lokasi dengan Amazon S3 URI disetel untuk database.

  3. Masukkan nama dan Lokasi (Amazon S3 URI). Perhatikan bahwa lokasi diperlukan untuk integrasi nol-ETL. Klik Buat database setelah selesai.

catatan

Bucket Amazon S3 tujuan umum harus berada di wilayah yang sama dengan database. AWS Glue

Untuk informasi tentang cara membuat database baru AWS Glue, lihat Memulai Katalog Data.

Anda juga dapat menggunakan create-databaseCLI untuk membuat database di. AWS Glue Perhatikan bahwa LocationUri in --database-input diperlukan.

Mengoptimalkan tabel Iceberg

Setelah tabel dibuat oleh AWS Glue dalam database target, Anda dapat mengaktifkan pemadatan untuk mempercepat kueri di Amazon Athena. Untuk informasi tentang pengaturan sumber daya (Peran IAM) untuk pemadatan, lihat Prasyarat pengoptimalan tabel.

Untuk informasi selengkapnya tentang pengaturan pemadatan pada AWS Glue tabel yang dibuat oleh integrasi, lihat Mengoptimalkan tabel Gunung Es.

Menyediakan kebijakan Resource Based Access (RBAC) katalog

Untuk integrasi yang menggunakan AWS Glue database, tambahkan izin berikut ke katalog Kebijakan RBAC untuk memungkinkan integrasi antara sumber dan target.

catatan

Untuk integrasi lintas akun, pengguna yang membuat kebijakan peran integrasi dan kebijakan sumber daya katalog harus mengizinkan glue:CreateInboundIntegration sumber daya. Untuk akun yang sama, kebijakan sumber daya atau kebijakan peran yang mengizinkan glue:CreateInboundIntegration sumber daya sudah cukup. Kedua skenario masih perlu glue.amazonaws.com diizinkanglue:AuthorizeInboundIntegration.

Anda dapat mengakses pengaturan Katalog di bawah Katalog Data. Kemudian berikan izin berikut dan isi informasi yang hilang.

{ "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::123456789012:user/Alice" ] }, "Effect": "Allow", "Action": [ "glue:CreateInboundIntegration" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/database-name" ], "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/table-name" } } }, { "Principal": { "Service": [ "glue.amazonaws.com" ] }, "Effect": "Allow", "Action": [ "glue:AuthorizeInboundIntegration" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/database-name" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/table-name" } } } ] }

Membuat peran IAM target

Buat peran IAM target dengan izin dan hubungan kepercayaan berikut:

{ "Version": "2012-10-17", "Statement": [ { "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::amzn-s3-bucket", "Effect": "Allow" }, { "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/prefix/*", "Effect": "Allow" }, { "Action": [ "glue:GetDatabase" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/database-name" ], "Effect": "Allow" }, { "Action": [ "glue:CreateTable", "glue:GetTable", "glue:GetTables", "glue:DeleteTable", "glue:UpdateTable", "glue:GetTableVersion", "glue:GetTableVersions", "glue:GetResourcePolicy" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/database-name", "arn:aws:glue:us-east-1:111122223333:table/database-name/*" ], "Effect": "Allow" }, { "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/Glue/ZeroETL" } }, "Effect": "Allow" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*", "Effect": "Allow" } ] }

Tambahkan kebijakan kepercayaan berikut untuk mengizinkan AWS Glue layanan mengambil peran:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Mengaitkan peran target, KMS (opsional) dan Koneksi (opsional) dengan sumber daya target

Kaitkan peran target di atas dengan sumber daya target yaitu AWS Glue Database. Secara opsional, KMS untuk mengenkripsi data sebelum disimpan di tabel gunung es target dan ARN Koneksi untuk mengakses bucket S3 dapat dikonfigurasi untuk database target. AWS Glue Ini akan memungkinkan AWS Glue untuk mengakses data pada lokasi S3 target menggunakan peran yang disediakan dan secara opsional mengenkripsi menggunakan kunci KMS yang disediakan. Jika bucket S3 target dikonfigurasi agar dapat diakses menggunakan VPC tertentu, ARN koneksi dapat dikaitkan untuk AWS Glue memungkinkan menjalankan pemrosesan di dalam VPC tersebut. Untuk informasi selengkapnya tentang menyiapkan VPC, lihat Membuat VPC.

Tangkapan layar menunjukkan konfigurasi target dalam integrasi nol-ETL.

Atau menggunakan AWS Glue CLI/API:

aws glue create-integration-resource-property \ --resource-arn arn:aws:glue:us-east-1:123456789012:database/database-name \ --target-processing-properties '{"RoleArn": "arn:aws:iam::123456789012:role/gmi_target_role"}' \ --region us-east-1

(Opsional) Konfigurasikan properti tabel target

Secara opsional, properti tabel target dapat dikonfigurasi untuk tabel target yang akan disinkronkan ke target.

Anda dapat mengonfigurasi pengaturan ini di bagian Pengaturan output dari alur kerja pembuatan integrasi di AWS Glue konsol:

Tangkapan layar menunjukkan bagian Pengaturan keluaran dengan opsi unnesting skema, opsi partisi data, dan konfigurasi nama tabel target.

Saat Anda memilih Tentukan kunci partisi khusus, Anda dapat mengonfigurasi tombol partisi dan fungsi serta spesifikasi konversinya:

Tangkapan layar menunjukkan pengaturan Output dengan konfigurasi tombol partisi khusus dan tabel Konfigurasi Spesifikasi Partisi.

Jika sumber dan target berada di akun yang sama, maka konfigurasi ini dapat dilakukan sebagai bagian dari alur kerja pembuatan integrasi dari UI AWS Glue konsol. Tetapi jika targetnya ada di akun yang berbeda, maka konfigurasi ini harus lengkap sebelum membuat integrasi. Saat menggunakan CLI atau API, ini harus dilakukan sebelum menjalankan Create-Integration API bahkan ketika sumber dan target berada di akun yang sama. AWS Glue UI konsol hanya merangkum panggilan API ini untuk skenario akun yang sama.

Jika ini tidak dikonfigurasi, maka nilai default akan digunakan saat menyinkronkan tabel. Konfigurasi ini juga dapat diubah kapan saja setelah pembuatan integrasi juga.

catatan

Jika properti ini diperbarui setelah integrasi dibuat, maka itu dapat memicu sinkronisasi ulang tabel lengkap ketika konfigurasi yang diperbarui bertentangan dengan konfigurasi yang ada. Misalnya, memperbarui tabel “un-nesting” dari 'No-Unnest' ke 'Full-Unnest', atau mengubah kolom partisi.

Menggunakan CLI atau API:

aws glue create-integration-table-properties \ --resource-arn arn:aws:glue:us-east-1:123456789012:database/database-name \ --table-name table-name \ --target-table-config '{ "UnnestSpec":"TOPLEVEL"|"FULL"|"NOUNNEST", "PartitionSpec": [ { "FieldName":"string", "FunctionSpec":"string", "ConversionSpec":"string"} ... ], "TargetTableName":"string" }' \ --region us-east-1

Setelah mengonfigurasi arsitektur Lakehouse Amazon SageMaker dengan penyimpanan bucket Amazon S3 tujuan umum, Anda dapat melanjutkan Mengkonfigurasi integrasi dengan target Anda untuk menyelesaikan pengaturan integrasi.

Mengonfigurasi target bucket Amazon S3 Tables

Bagian ini menjelaskan prasyarat dan langkah penyiapan untuk mengonfigurasi Tabel Amazon S3 sebagai target untuk integrasi nol-ETL Anda, menggunakan arsitektur lakehouse Amazon. SageMaker

Sebelum membuat integrasi nol-ETL dengan Tabel Amazon S3 sebagai target, Anda harus menyelesaikan tugas penyiapan berikut:

  • Siapkan bucket tabel Amazon S3 (dan integrasi layanan analitik)

  • Menyediakan kebijakan Katalog RBAC

  • Buat peran IAM target

  • Mengaitkan peran target, KMS (opsional) dan Koneksi (opsional) dengan sumber daya target

  • (Opsional) Konfigurasikan properti tabel target

Siapkan bucket tabel Amazon S3 (dengan integrasi layanan analitik)

  1. Buat bucket tabel S3 di akun Anda dengan mengikuti petunjuk di Memulai Tabel Amazon S3.

  2. Aktifkan integrasi Analytics dengan bucket S3-Table Anda dengan mengikuti petunjuk berikut: Mengintegrasikan layanan dengan Tabel AWS Amazon S3.

  3. Ini akan membuat Katalog S3-Tabel baru di. AWS Lake Formation

Menyediakan Katalog Kebijakan RBAC

Izin berikut harus ditambahkan ke Kebijakan RBAC Katalog untuk memungkinkan integrasi antara sumber dan target katalog tabel Amazon S3.

Kebijakan sumber daya AWS Glue Katalog Target perlu menyertakan izin AWS Glue Layanan untukAuthorizeInboundIntegration. Selain itu, CreateInboundIntegration izin diperlukan baik pada prinsipal sumber yang membuat integrasi atau dalam kebijakan AWS Glue sumber daya target.

catatan

Untuk skenario lintas akun, baik sumber utama maupun kebijakan sumber daya AWS Glue Katalog target perlu menyertakan glue:CreateInboundIntegration izin pada sumber daya.

{ "Version": "2012-10-17", "Statement": [ { "Principal": { "AWS": [ "arn:aws:iam::123456789012:user/Alice" ] }, "Effect": "Allow", "Action": [ "glue:CreateInboundIntegration" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog/s3tablescatalog/*" ], "Condition": { "StringLike": { "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/table-name" } } }, { "Principal": { "Service": [ "glue.amazonaws.com" ] }, "Effect": "Allow", "Action": [ "glue:AuthorizeInboundIntegration" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog/s3tablescatalog/*" ], "Condition": { "StringEquals": { "aws:SourceArn": "arn:aws:dynamodb:us-east-1:444455556666:table/table-name" } } } ] }
catatan

Ganti s3tablescatalog dengan nama katalog induk tabel S3 Anda (jika berbeda). Nilai default (saat menghosting Katalog S3-Tabel di akun yang sama) untuk ini adalah. s3tablescatalog

Buat Peran IAM target

Buat peran IAM target dengan izin dan hubungan kepercayaan berikut:

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3tables:ListTableBuckets", "s3tables:GetTableBucket", "s3tables:GetTableBucketEncryption", "s3tables:GetNamespace", "s3tables:CreateNamespace", "s3tables:ListNamespaces", "s3tables:CreateTable", "s3tables:DeleteTable", "s3tables:GetTable", "s3tables:GetTableEncryption", "s3tables:ListTables", "s3tables:GetTableMetadataLocation", "s3tables:UpdateTableMetadataLocation", "s3tables:GetTableData", "s3tables:PutTableData" ], "Resource": "arn:aws:s3tables:us-east-1:111122223333:bucket/s3-table-bucket", "Effect": "Allow" }, { "Action": [ "cloudwatch:PutMetricData" ], "Resource": "*", "Condition": { "StringEquals": { "cloudwatch:namespace": "AWS/Glue/ZeroETL" } }, "Effect": "Allow" }, { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "*", "Effect": "Allow" } ] }

Tambahkan kebijakan kepercayaan berikut dalam peran IAM target untuk memungkinkan AWS Glue Layanan mengasumsikannya:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "glue.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
catatan

Pastikan tidak ada pernyataan DENY eksplisit untuk peran IAM target ini dalam kebijakan sumber daya bucket S3-Tables. DENY eksplisit akan mengganti izin ALLOW apa pun dan mencegah integrasi berfungsi dengan baik.

Mengaitkan peran target, KMS (opsional) dan Koneksi (opsional) dengan sumber daya target

Kaitkan peran target di atas dengan sumber daya target. Secara opsional, KMS untuk mengenkripsi data sebelum disimpan di tabel gunung es target dan ARN Koneksi untuk mengakses bucket S3 target dapat dikonfigurasi. Jika bucket S3 target dikonfigurasi agar dapat diakses menggunakan VPC tertentu, ARN koneksi dapat dikaitkan untuk AWS Glue memungkinkan menjalankan pemrosesan di dalam VPC tersebut. Untuk informasi selengkapnya tentang menyiapkan VPC, lihat Membuat VPC.

Menggunakan AWS Glue CLI/API:

aws glue create-integration-resource-property \ --resource-arn arn:aws:glue:us-east-1:123456789012:catalog/s3tablescatalog/S3 table bucket name \ --target-processing-properties '{ "RoleArn": "arn:aws:iam::123456789012:role/target_role" }' \ --region us-east-1

(Opsional) Konfigurasikan properti tabel target

Secara opsional, properti tabel target dapat dikonfigurasi untuk tabel target yang akan disinkronkan ke target. Aturan yang sama berlaku seperti yang dijelaskan di bagian target S3 tujuan umum.

Menggunakan CLI atau API:

aws glue create-integration-table-properties \ --resource-arn arn:aws:glue:us-east-1:123456789012:catalog/s3tablescatalog/S3 table bucket name \ --table-name table-name \ --target-table-config '' \ --region us-east-1

Setelah mengonfigurasi penyimpanan Amazon S3-Tables menggunakan arsitektur Lakehouse SageMaker Amazon, Anda dapat melanjutkan Mengkonfigurasi integrasi dengan target Anda untuk menyelesaikan pengaturan integrasi.

Mengkonfigurasi target Penyimpanan Amazon Redshift Terkelola

Bagian ini menjelaskan prasyarat dan langkah penyiapan untuk mengonfigurasi penyimpanan Amazon Redshift terkelola (RMS) sebagai target integrasi nol-ETL Anda, menggunakan arsitektur lakehouse Amazon. SageMaker

Sebelum membuat integrasi nol-ETL dengan arsitektur Lakehouse Amazon SageMaker menggunakan penyimpanan terkelola Redshift, Anda harus menyelesaikan tugas penyiapan berikut:

  • Menyiapkan Amazon Redshift cluster atau grup kerja Tanpa Server

  • Daftarkan Amazon Redshift integrasi dengan Lake Formation

  • Buat katalog terkelola di Lake Formation

  • Mengonfigurasi izin IAM

Menyiapkan penyimpanan Amazon Redshift terkelola

Untuk menyiapkan penyimpanan Amazon Redshift terkelola untuk integrasi nol-ETL Anda:

Setelah mengonfigurasi katalog Amazon SageMaker Lakehouse dengan penyimpanan Amazon Redshift terkelola, Anda dapat melanjutkan Mengkonfigurasi integrasi dengan target Anda untuk menyelesaikan pengaturan integrasi.

Mengkonfigurasi target gudang Amazon Redshift data

Bagian ini menjelaskan prasyarat dan langkah-langkah penyiapan untuk mengonfigurasi gudang Amazon Redshift data sebagai target untuk integrasi nol-ETL Anda.

Sebelum membuat integrasi nol-ETL dengan target gudang Amazon Redshift data, Anda harus menyelesaikan tugas penyiapan berikut:

  • Menyiapkan Amazon Redshift cluster atau grup kerja Tanpa Server

  • Konfigurasikan sensitivitas kasus

  • Mengonfigurasi izin IAM

Menyiapkan gudang Amazon Redshift data

Untuk menyiapkan gudang Amazon Redshift data untuk integrasi nol-ETL Anda:

  1. Arahkan ke Amazon Redshift konsol dan klik Buat cluster atau gunakan cluster yang ada. Untuk membuat Amazon Redshift klaster, lihat Membuat klaster. Untuk Amazon Redshift Tanpa Server, klik Buat grup kerja. Untuk membuat workgroup Amazon Redshift Tanpa Server, lihat Membuat workgroup dengan namespace.

  2. Jika membuat cluster baru, pilih ukuran cluster yang sesuai dan pastikan klaster Anda dienkripsi. Untuk Tanpa Server, konfigurasikan pengaturan workgroup sesuai dengan kebutuhan Anda.

  3. Pastikan Amazon Redshift workgroup target atau cluster mengaktifkan enable_case_sensitive_identifier parameter agar integrasi berhasil. Untuk informasi selengkapnya tentang mengaktifkan sensitivitas huruf besar, lihat Mengaktifkan sensitivitas huruf besar untuk gudang data Anda di panduan pengelolaan Amazon Redshift.

  4. Konfigurasikan izin IAM untuk memungkinkan integrasi nol-ETL mengakses gudang data Anda. Amazon Redshift Anda harus membuat peran IAM dengan izin berikut:

    • Izin untuk mengakses Amazon Redshift cluster atau workgroup

    • Izin untuk membuat dan mengelola database dan tabel di Amazon Redshift

    • CloudWatch dan izin CloudWatch Log untuk pemantauan

  5. Setelah pengaturan Amazon Redshift workgroup atau cluster selesai, Anda perlu mengonfigurasi gudang data Anda untuk integrasi nol-ETL. Lihat Memulai integrasi Nol-ETL di Panduan Manajemen Pergeseran Merah Amazon untuk informasi selengkapnya.

catatan

Saat menggunakan gudang Amazon Redshift data sebagai target, integrasi membuat skema dalam database yang ditentukan untuk menyimpan data yang direplikasi. Nama skema berasal dari nama integrasi.

catatan

Amazon Redshift Kelompok kerja target atau cluster harus mengaktifkan enable_case_sensitive_identifier parameter agar integrasi berhasil.

Setelah mengonfigurasi gudang Amazon Redshift data, Anda dapat melanjutkan Mengkonfigurasi integrasi dengan target Anda untuk menyelesaikan pengaturan integrasi.

Mengkonfigurasi integrasi dengan target Anda

Setelah mengonfigurasi sumber dan sumber daya target, ikuti langkah-langkah berikut untuk menyelesaikan pengaturan integrasi:

  1. Arahkan ke halaman “Integrasi nol-ETL” dan mulai alur kerja pembuatan integrasi.

  2. Pilih sumber daya yang dikonfigurasi pada langkah sebelumnya.

  3. Pilih atau tentukan sumber daya target (akun yang sama atau akun silang) yang dikonfigurasi pada langkah sebelumnya.

  4. Pilih peran IAM target yang dikonfigurasi sebelumnya.

  5. Pilih opsi Perbaiki untuk saya (hanya tersedia jika target ada di akun yang sama).

    • Untuk target Amazon S3 (AWS Glue Database) dan S3-Table (Katalog) reguler, ini akan:

      • Terapkan prinsipal layanan resmi pada kebijakan sumber daya Katalog target.

      • Terapkan AWS Glue sumber resmi Principal ARN ke kebijakan sumber daya Katalog target.

    • Untuk Amazon Redshift target, ini akan:

      • Terapkan prinsip layanan resmi pada Amazon Redshift cluster atau grup kerja Tanpa Server.

      • Terapkan ARN AWS Glue sumber resmi ke Amazon Redshift cluster atau grup kerja Tanpa Server.

      • Kaitkan grup parameter baru denganenable_case_sensitive_identifier = true.

Gunakan yang berikut ini untuk membuat integrasi melalui API atau CLI: CreateIntegration API.