Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Konfigurasikan EMR CloudFormation template Amazon di Service Catalog
Topik ini mengasumsikan administrator akrab dengan AWS CloudFormation, portofolio dan produk di AWS Service Catalog, serta Amazon. EMR
Untuk menyederhanakan pembuatan EMR cluster Amazon dari Studio, administrator dapat mendaftarkan EMR CloudFormation template Amazon sebagai produk dalam portofolio. AWS Service Catalog Untuk membuat template tersedia bagi ilmuwan data, mereka harus mengaitkan portofolio dengan peran SageMaker eksekusi yang digunakan di Studio atau Studio Classic. Terakhir, untuk memungkinkan pengguna menemukan templat, menyediakan kluster, dan terhubung ke EMR kluster Amazon dari Studio atau Studio Classic, administrator perlu menetapkan izin akses yang sesuai.
EMR AWS CloudFormation Template Amazon dapat memungkinkan pengguna akhir untuk menyesuaikan berbagai aspek cluster. Misalnya, administrator dapat menentukan daftar jenis instans yang disetujui yang dapat dipilih pengguna saat membuat klaster.
Petunjuk berikut menggunakan end-to-end CloudFormation tumpukan
catatan
GitHub Repositori aws-samples/ sagemaker-studio-emr
Repositori sagemaker-studio-emr/cloudformation/emr_servicecatalog_templates berisi berbagai contoh templat
Lihat detail tentang metode otentikasi yang dapat Anda gunakan untuk menyambung ke EMR klaster Amazon. Connect ke EMR klaster Amazon dari SageMaker Studio atau Studio Classic
Untuk memungkinkan ilmuwan data menemukan EMR CloudFormation templat Amazon dan klaster penyediaan dari Studio atau Studio Classic, ikuti langkah-langkah berikut.
Langkah 0: Periksa jaringan Anda dan siapkan CloudFormation tumpukan Anda
Sebelum Anda mulai:
-
Pastikan Anda telah meninjau persyaratan jaringan dan keamanan diMengkonfigurasi jaringan.
-
Anda harus memiliki end-to-end CloudFormation tumpukan yang ada yang mendukung metode otentikasi pilihan Anda. Anda dapat menemukan contoh CloudFormation template tersebut di sagemaker-studio-emr GitHub aws-samples/
repositori. Langkah-langkah berikut menyoroti konfigurasi spesifik di end-to-end tumpukan Anda untuk mengaktifkan penggunaan EMR templat Amazon dalam Studio atau Studio Classic.
Langkah 1: Kaitkan portofolio Service Catalog Anda dengan SageMaker
Dalam portofolio Service Catalog Anda, kaitkan ID portofolio Anda dengan peran SageMaker eksekusi yang mengakses klaster Anda.
Untuk melakukannya, tambahkan bagian berikut (di sini dalam YAML format) ke tumpukan Anda. Ini memberikan akses peran SageMaker eksekusi ke portofolio Service Catalog tertentu yang berisi produk seperti EMR template Amazon. Ini memungkinkan peran yang diasumsikan oleh SageMaker untuk meluncurkan produk-produk tersebut.
Ganti SageMakerExecutionRole.Arn
and SageMakerStudioEMRProductPortfolio.ID
dengan nilai-nilai mereka yang sebenarnya.
SageMakerStudioEMRProductPortfolioPrincipalAssociation: Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation Properties: PrincipalARN:
SageMakerExecutionRole.Arn
PortfolioId:SageMakerStudioEMRProductPortfolio.ID
PrincipalType: IAM
catatan
Peran eksekusi apa yang harus Anda pertimbangkan?
UI Studio menentukan izinnya dari peran eksekusi yang terkait dengan profil pengguna yang meluncurkannya. UI menetapkan izin ini pada saat peluncuran. Namun, ruang yang meluncurkan JupyterLab atau aplikasi Studio Classic dapat memiliki izin terpisah.
Untuk akses konsisten ke EMR template dan cluster Amazon di seluruh aplikasi (seperti UI Studio JupyterLab, dan Studio Classic), berikan subset izin yang sama ke semua peran di domain, profil pengguna, atau tingkat ruang. Izin harus memungkinkan menemukan dan menyediakan kluster Amazon. EMR
Untuk detail tentang kumpulan IAM izin yang diperlukan, lihat bagian izin.
Langkah 2: Referensi EMR template Amazon dalam produk Service Catalog
Dalam produk Service Catalog portofolio Anda, rujuk sumber daya EMR template Amazon dan pastikan visibilitasnya di Studio atau Studio Classic.
Untuk melakukannya, rujuk sumber daya EMR template Amazon dalam definisi produk Service Catalog, lalu tambahkan kunci tag berikut yang "sagemaker:studio-visibility:emr"
disetel ke nilai "true"
(lihat contoh dalam YAML format).
Dalam definisi produk Service Catalog, AWS CloudFormation template cluster direferensikan melaluiURL. Tag tambahan yang disetel ke true memastikan visibilitas EMR template Amazon di Studio atau Studio Classic.
catatan
EMRTemplat Amazon yang direferensikan oleh yang disediakan URL dalam contoh tidak memberlakukan persyaratan otentikasi apa pun saat diluncurkan. Opsi ini dimaksudkan untuk tujuan demonstrasi dan pembelajaran. Hal ini tidak direkomendasikan dalam lingkungan produksi.
SMStudioEMRNoAuthProduct: Type: AWS::ServiceCatalog::CloudFormationProduct Properties: Owner: AWS Name: SageMaker Studio Domain No Auth EMR ProvisioningArtifactParameters: - Name: SageMaker Studio Domain No Auth EMR Description: Provisions a SageMaker domain and No Auth EMR Cluster Info: LoadTemplateFromURL:
Link to your CloudFormation template. For example, https://aws-blogs-artifacts-public.s3.amazonaws.com/artifacts/astra-m4-sagemaker/end-to-end/CFN-EMR-NoStudioNoAuthTemplate-v3.yaml
Tags: - Key: "sagemaker:studio-visibility:emr" Value: "true"
Langkah 3: Parameterisasi template Amazon EMR CloudFormation
CloudFormation Template yang digunakan untuk menentukan EMR klaster Amazon dalam produk Service Catalog memungkinkan administrator menentukan parameter yang dapat dikonfigurasi. Administrator dapat menentukan Default
nilai dan AllowedValues
rentang untuk parameter ini dalam Parameters
bagian template. Selama proses peluncuran cluster, ilmuwan data dapat memberikan input khusus atau membuat pilihan dari opsi yang telah ditentukan untuk menyesuaikan aspek tertentu dari cluster Amazon mereka. EMR
Contoh berikut mengilustrasikan parameter input tambahan yang dapat diatur administrator saat membuat template AmazonEMR.
"Parameters": { "EmrClusterName": { "Type": "String", "Description": "EMR cluster Name." }, "MasterInstanceType": { "Type": "String", "Description": "Instance type of the EMR master node.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge" ] }, "CoreInstanceType": { "Type": "String", "Description": "Instance type of the EMR core nodes.", "Default": "m5.xlarge", "AllowedValues": [ "m5.xlarge", "m5.2xlarge", "m5.4xlarge", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge" ] }, "CoreInstanceCount": { "Type": "String", "Description": "Number of core instances in the EMR cluster.", "Default": "2", "AllowedValues": [ "2", "5", "10" ] }, "EmrReleaseVersion": { "Type": "String", "Description": "The release version of EMR to launch.", "Default": "emr-5.33.1", "AllowedValues": [ "emr-5.33.1", "emr-6.4.0" ] } }
Setelah administrator membuat EMR CloudFormation templat Amazon tersedia di Studio, ilmuwan data dapat menggunakannya untuk menyediakan sendiri klaster AmazonEMR. Parameters
Bagian yang didefinisikan dalam template diterjemahkan ke dalam bidang input pada formulir pembuatan cluster dalam Studio atau Studio Classic. Untuk setiap parameter, ilmuwan data dapat memasukkan nilai khusus ke dalam kotak input atau memilih dari opsi yang telah ditentukan yang tercantum dalam menu tarik-turun, yang sesuai dengan yang AllowedValues
ditentukan dalam templat.
Ilustrasi berikut menunjukkan bentuk dinamis yang dirakit dari EMR template CloudFormation Amazon untuk membuat EMR klaster Amazon di Studio atau Studio Classic.
![Ilustrasi formulir dinamis yang dirakit dari EMR template CloudFormation Amazon untuk membuat EMR cluster Amazon dari Studio atau Studio Classic.](images/studio/emr/studio-notebooks-emr-cluster-creation.png)
Kunjungi Luncurkan EMR klaster Amazon dari Studio atau Studio Classic untuk mempelajari cara meluncurkan klaster dari Studio atau Studio Classic menggunakan EMR templat Amazon tersebut.
Langkah 4: Siapkan izin untuk mengaktifkan daftar dan meluncurkan EMR kluster Amazon dari Studio
Terakhir, lampirkan IAM izin yang diperlukan untuk mengaktifkan daftar EMR klaster Amazon yang sedang berjalan dan menyediakan sendiri cluster baru dari Studio atau Studio Classic.
Peran yang harus Anda tambahkan izin tersebut bergantung pada apakah Studio atau Studio Classic dan Amazon EMR digunakan di akun yang sama (pilih Akun Tunggal) atau di akun yang berbeda (pilih Akun silang).
catatan
Studio saat ini tidak mendukung akses EMR kluster Amazon yang dibuat di AWS akun yang berbeda dari akun tempat Studio digunakan. Akses lintas akun hanya tersedia di Studio Classic.
Untuk informasi selengkapnya tentang akses lintas akun menggunakan peran, lihat Akses sumber daya lintas akun. IAM
Jika EMR klaster Amazon dan Studio atau Studio Classic digunakan di AWS akun yang sama, lampirkan izin berikut ke peran SageMaker eksekusi yang mengakses klaster Anda.
catatan
Peran eksekusi apa yang harus Anda pertimbangkan?
UI Studio menentukan izinnya dari peran eksekusi yang terkait dengan profil pengguna yang meluncurkannya. UI menetapkan izin ini pada saat peluncuran. Namun, ruang yang meluncurkan JupyterLab atau aplikasi Studio Classic dapat memiliki izin terpisah.
Untuk akses konsisten ke EMR template dan cluster Amazon di seluruh aplikasi (seperti UI Studio JupyterLab, dan Studio Classic), berikan subset izin yang sama ke semua peran di domain, profil pengguna, atau tingkat ruang. Izin harus memungkinkan menemukan dan menyediakan kluster Amazon. EMR
-
Temukan peran eksekusi domain, profil pengguna, atau ruang Anda. Untuk informasi tentang cara mengambil peran eksekusi, lihatDapatkan peran eksekusi Anda.
-
Buka konsol IAM di https://console.aws.amazon.com/sagemaker/
. -
Pilih Peran dan kemudian cari peran yang Anda buat dengan mengetikkan nama peran Anda di bidang Pencarian.
-
Ikuti tautan ke peran Anda.
-
Pilih Tambahkan izin, lalu Buat kebijakan sebaris.
-
Di JSONtab, tambahkan JSON kebijakan berikut dengan izin:
-
AllowPresignedUrl
memungkinkan pembuatan pra-ditandatangani URLs untuk mengakses UI Spark dari dalam Studio atau Studio Classic. -
AllowClusterDiscovery
danAllowClusterDetailsDiscovery
mengizinkan daftar dan mendeskripsikan EMR cluster Amazon di akun/wilayah dari Studio atau Studio Classic. -
AllowEMRTemplateDiscovery
memungkinkan pencarian EMR template Amazon di Service Catalog. Studio dan Studio Classic menggunakan ini untuk menampilkan template yang tersedia. -
AllowSagemakerProjectManagement
memungkinkan membuat dan menghapus. Di SageMaker, akses ke AWS Service Catalog dikelola melaluiOtomatisasi MLOps dengan Proyek SageMaker .
IAMKebijakan yang ditentukan dalam yang disediakan JSON memberikan izin tersebut. Ganti
studio-region
andstudio-account
dengan nilai region dan ID AWS akun Anda yang sebenarnya sebelum menyalin daftar pernyataan ke kebijakan inline peran Anda.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL", "elasticmapreduce:GetOnClusterAppUIPresignedURL" ], "Resource": [ "arn:aws:elasticmapreduce:
studio-region
:studio-account
:cluster/*" ] }, { "Sid": "AllowClusterDetailsDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstances", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeSecurityConfiguration" ], "Resource": [ "arn:aws:elasticmapreduce:studio-region
:studio-account
:cluster/*" ] }, { "Sid": "AllowClusterDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:ListClusters" ], "Resource": "*" }, { "Sid": "AllowEMRTemplateDiscovery", "Effect": "Allow", "Action": [ "servicecatalog:SearchProducts" ], "Resource": "*" }, { "Sid": "AllowSagemakerProjectManagement", "Effect": "Allow", "Action": [ "sagemaker:CreateProject", "sagemaker:DeleteProject" ], "Resource": "arn:aws:sagemaker:studio-region
:studio-account
:project/*" } ] } -
-
Pilih Berikutnya dan kemudian berikan nama Kebijakan.
-
Pilih Buat kebijakan.
Jika EMR klaster Amazon dan Studio atau Studio Classic digunakan di AWS akun terpisah, Anda mengonfigurasi izin di kedua akun.
Di EMR akun Amazon
Pada akun tempat Amazon EMR digunakan, juga disebut sebagai akun kepercayaan, buat IAM peran khusus bernama ASSUMABLE-ROLE
dengan konfigurasi berikut:
-
Izin: Berikan izin yang diperlukan
ASSUMABLE-ROLE
untuk mengizinkan mengakses sumber daya AmazonEMR. -
Hubungan kepercayaan: Konfigurasikan kebijakan kepercayaan
ASSUMABLE-ROLE
untuk mengizinkan asumsi peran dari akun Studio yang memerlukan akses.
Dengan mengasumsikan peran tersebut, Studio atau Studio Classic dapat memperoleh akses sementara ke izin yang dibutuhkan di Amazon. EMR
-
Buat kebijakan baru untuk peran tersebut.
-
Buka konsol IAM di https://console.aws.amazon.com/sagemaker/
. -
Di menu sebelah kiri, pilih Kebijakan dan kemudian Buat kebijakan.
-
Di JSONtab, tambahkan JSON kebijakan berikut dengan izin:
-
AllowPresignedUrl
memungkinkan pembuatan pra-ditandatangani URLs untuk mengakses UI Spark dari dalam Studio. -
AllowClusterDiscovery
danAllowClusterDetailsDiscovery
memungkinkan daftar dan mendeskripsikan EMR cluster Amazon di akun/wilayah dari Studio.
Ganti
emr-region
andemr-account
dengan nilai wilayah dan ID AWS akun Anda yang sebenarnya sebelum menyalin JSON ke kebijakan Anda.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPresignedUrl", "Effect": "Allow", "Action": [ "elasticmapreduce:CreatePersistentAppUI", "elasticmapreduce:DescribePersistentAppUI", "elasticmapreduce:GetPersistentAppUIPresignedURL", "elasticmapreduce:GetOnClusterAppUIPresignedURL" ], "Resource": [ "arn:aws:elasticmapreduce:
emr-region
:emr-account
:cluster/*" ] }, { "Sid": "AllowClusterDetailsDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:DescribeCluster", "elasticmapreduce:ListInstances", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:DescribeSecurityConfiguration" ], "Resource": [ "arn:aws:elasticmapreduce:emr-region
:emr-account
:cluster/*" ] }, { "Sid": "AllowClusterDiscovery", "Effect": "Allow", "Action": [ "elasticmapreduce:ListClusters" ], "Resource": "*" } ] } -
-
Beri nama kebijakan Anda dan pilih Buat kebijakan.
-
-
Buat IAM peran kustom bernama
ASSUMABLE-ROLE
, lalu lampirkan kebijakan baru Anda ke peran tersebut.-
Di IAM konsol, pilih Peran di menu sebelah kiri, lalu Buat peran.
-
Untuk jenis entitas Tepercaya, pilih AWS akun dan kemudian Berikutnya.
-
Pilih izin yang baru saja Anda buat lalu pilih Berikutnya.
-
Beri nama peran Anda
ASSUMABLE-ROLE
dan kemudian pilih tombol Edit di sebelah kanan Langkah 1: Pilih entitas tepercaya. -
Untuk jenis entitas Tepercaya, pilih Kebijakan kepercayaan khusus, lalu tempel hubungan kepercayaan berikut. Ini memberi akun tempat Studio digunakan (akun tepercaya) izin untuk mengambil peran ini.
Ganti
studio-account
dengan ID AWS akun aktualnya. Pilih Berikutnya.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
studio-account
:root" }, "Action": "sts:AssumeRole" } ] } -
Temukan dan pilih izin yang baru saja Anda buat lagi dan kemudian pilih Berikutnya.
-
Kebijakan kepercayaan Anda harus diperbarui dengan yang terbaru yang JSON Anda tempel. Pilih Buat peran.
-
Untuk informasi selengkapnya tentang membuat peran di AWS akun, lihat Membuat IAM peran (konsol).
Di akun Studio
Pada akun tempat Studio atau Studio Classic digunakan, juga disebut sebagai akun tepercaya, perbarui peran SageMaker eksekusi yang mengakses klaster Anda dengan izin yang diperlukan untuk mengakses sumber daya di akun terpercaya.
catatan
Peran eksekusi apa yang harus Anda pertimbangkan?
UI Studio menentukan izinnya dari peran eksekusi yang terkait dengan profil pengguna yang meluncurkannya. UI menetapkan izin ini pada saat peluncuran. Namun, ruang yang meluncurkan JupyterLab atau aplikasi Studio Classic dapat memiliki izin terpisah.
Untuk akses konsisten ke EMR template dan cluster Amazon di seluruh aplikasi (seperti UI Studio JupyterLab, dan Studio Classic), berikan subset izin yang sama ke semua peran di domain, profil pengguna, atau tingkat ruang. Izin harus memungkinkan menemukan dan menyediakan kluster Amazon. EMR
-
Temukan peran eksekusi domain, profil pengguna, atau ruang Anda. Untuk informasi tentang cara mengambil peran eksekusi, lihatDapatkan peran eksekusi Anda.
-
Buka konsol IAM di https://console.aws.amazon.com/sagemaker/
. -
Pilih Peran dan kemudian cari peran yang Anda buat dengan mengetikkan nama peran Anda di bidang Pencarian.
-
Ikuti tautan ke peran Anda.
-
Pilih Tambahkan izin, lalu Buat kebijakan sebaris.
-
Di JSONtab, tambahkan JSON kebijakan berikut dengan izin:
-
AllowEMRTemplateDiscovery
memungkinkan pencarian EMR template Amazon di Service Catalog. Studio Classic menggunakan ini untuk menampilkan template yang tersedia. -
AllowSagemakerProjectManagement
memungkinkan membuat dan menghapus. Di SageMaker, akses ke AWS Service Catalog dikelola melaluiOtomatisasi MLOps dengan Proyek SageMaker .
IAMKebijakan yang ditentukan dalam yang disediakan JSON memberikan izin tersebut. Ganti
studio-region
andstudio-account
dengan nilai wilayah dan ID AWS akun Anda yang sebenarnya sebelum menyalin daftar pernyataan ke kebijakan Anda.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEMRTemplateDiscovery", "Effect": "Allow", "Action": [ "servicecatalog:SearchProducts" ], "Resource": "*" }, { "Sid": "AllowSagemakerProjectManagement", "Effect": "Allow", "Action": [ "sagemaker:CreateProject", "sagemaker:DeleteProject" ], "Resource": "arn:aws:sagemaker:
studio-region
:studio-account
:project/*" } ] } -
-
Pilih Berikutnya dan kemudian berikan nama Kebijakan.
-
Pilih Buat kebijakan.
-
Ulangi langkah untuk menambahkan kebijakan inline lain ke peran eksekusi Studio. Kebijakan tersebut harus memungkinkan asumsi peran lintas akun untuk menemukan sumber daya di akun lain.
Pada halaman detail peran eksekusi, pilih Tambahkan izin, lalu Buat kebijakan sebaris.
-
Di JSONtab, tambahkan JSON kebijakan berikut. Perbarui
emr-account
dengan ID akun EMR akun Amazon.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRoleAssumptionForCrossAccountDiscovery", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": ["arn:aws:iam::
emr-account
:role/ASSUMABLE-ROLE
" ] }] } -
Pilih Berikutnya, berikan nama Kebijakan, lalu pilih Buat kebijakan.
-
Untuk mengizinkan daftar EMR klaster Amazon yang diterapkan di akun yang sama dengan Studio, tambahkan kebijakan sebaris tambahan ke peran eksekusi Studio Anda seperti yang ditentukan di tab Akun tunggal. Konfigurasikan daftar EMR klaster Amazon
Lulus peran ARN pada peluncuran server Jupyter
Terakhir, lihat Konfigurasi tambahan untuk akses lintas akun untuk mempelajari cara menyediakan peran eksekusi Studio ASSUMABLE-ROLE
ke Studio Anda. ARN ARNItu dimuat oleh server Jupyter saat peluncuran. Peran eksekusi yang digunakan oleh Studio mengasumsikan peran lintas akun untuk menemukan dan terhubung ke EMR klaster Amazon di akun kepercayaan.