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:
Bucket Amazon S3 tujuan umum menggunakan arsitektur lakehouse Amazon. SageMaker Lihat Mengonfigurasi target bucket S3 tujuan umum.
Bucket Amazon S3 Tables menggunakan arsitektur lakehouse Amazon. SageMaker Lihat Mengonfigurasi target bucket Amazon S3 Tables.
Penyimpanan Amazon Redshift Terkelola menggunakan arsitektur lakehouse Amazon. SageMaker Lihat Mengkonfigurasi target Penyimpanan Amazon Redshift Terkelola.
Gudang Amazon Redshift data yang diidentifikasi oleh namespace Redshift. Lihat Mengkonfigurasi target gudang Amazon Redshift data.
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:
Di halaman beranda AWS Glue konsol, pilih Database di bawah Katalog Data.
Pilih Tambahkan database di pojok kanan atas. Jika Anda telah membuat database, pastikan lokasi dengan Amazon S3 URI disetel untuk database.
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.
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:
Saat Anda memilih Tentukan kunci partisi khusus, Anda dapat mengonfigurasi tombol partisi dan fungsi serta spesifikasi konversinya:
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-nametable-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)
Buat bucket tabel S3 di akun Anda dengan mengikuti petunjuk di Memulai Tabel Amazon S3.
Aktifkan integrasi Analytics dengan bucket S3-Table Anda dengan mengikuti petunjuk berikut: Mengintegrasikan layanan dengan Tabel AWS Amazon S3.
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 dengan nama katalog induk tabel S3 Anda (jika berbeda). Nilai default (saat menghosting Katalog S3-Tabel di akun yang sama) untuk ini adalah. s3tablescatalogs3tablescatalog
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-nametable-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:
Buat atau gunakan Amazon Redshift cluster atau grup kerja Tanpa Server yang ada. Pastikan Amazon Redshift workgroup target atau cluster mengaktifkan
enable_case_sensitive_identifierparameter agar integrasi berhasil. Untuk informasi selengkapnya tentang mengaktifkan sensitivitas kasus, lihat Mengaktifkan sensitivitas huruf besar untuk gudang data Anda di panduan Amazon Redshift manajemen.Daftarkan integrasi dari Redshift ke dalam katalog di. AWS Lake Formation Lihat Mendaftarkan Amazon Redshift cluster dan ruang nama ke Katalog Data.
Buat katalog federasi atau terkelola di AWS Lake Formation. Untuk informasi lebih lanjut, lihat:
Konfigurasikan izin IAM untuk peran target. Peran tersebut membutuhkan izin untuk mengakses sumber daya Redshift dan Lake Formation. Minimal, peran harus memiliki:
Izin untuk mengakses klaster Redshift atau workgroup
Izin untuk mengakses katalog Lake Formation
Izin untuk membuat dan mengelola tabel dalam katalog
CloudWatch dan izin CloudWatch Log untuk pemantauan
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:
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. Jika membuat cluster baru, pilih ukuran cluster yang sesuai dan pastikan klaster Anda dienkripsi. Untuk Tanpa Server, konfigurasikan pengaturan workgroup sesuai dengan kebutuhan Anda.
Pastikan Amazon Redshift workgroup target atau cluster mengaktifkan
enable_case_sensitive_identifierparameter 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.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
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:
Arahkan ke halaman “Integrasi nol-ETL” dan mulai alur kerja pembuatan integrasi.
Pilih sumber daya yang dikonfigurasi pada langkah sebelumnya.
Pilih atau tentukan sumber daya target (akun yang sama atau akun silang) yang dikonfigurasi pada langkah sebelumnya.
Pilih peran IAM target yang dikonfigurasi sebelumnya.
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 dengan
enable_case_sensitive_identifier = true.
Gunakan yang berikut ini untuk membuat integrasi melalui API atau CLI: CreateIntegration API.