本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
關於 EMR Studio 叢集範本
您可以建立 AWS CloudFormation 範本,以協助 EMR Studio 使用者在 Workspace 中啟動新的 Amazon EMR叢集。 CloudFormation 範本是在 JSON或 中格式化的文字檔案YAML。在範本中,您會描述 AWS 資源堆疊,並 CloudFormation 說明如何為您佈建這些資源。對於 EMR Studio,您可以建立一或多個描述 Amazon EMR叢集的範本。
您可以在 中組織範本 AWS Service Catalog。 AWS Service Catalog 可讓您建立和管理通常部署的 IT 服務,稱為 產品 AWS。您可以將範本收集為與 EMR Studio 使用者共用的產品組合中的產品。建立叢集範本之後,Studio 使用者可以使用其中一個範本為工作區啟動新叢集。使用者必須具有從範本建立新叢集的許可。您可以在 EMR Studio 許可政策中設定使用者許可。
若要進一步了解 CloudFormation 範本,請參閱AWS CloudFormation 《 使用者指南》中的範本。如需 的詳細資訊 AWS Service Catalog,請參閱什麼是 AWS Service Catalog。
下列影片示範如何在 中設定 EMR Studio AWS Service Catalog 的叢集範本。您也可以在使用 Amazon EMR and Service Catalog 部落格文章為每行業務建立自助式環境
選用範本參數
可以在範本的 Parameters
區段中包含其他選項。參數可讓 Studio 使用者輸入或選取叢集的自訂值。例如,您可以新增參數,讓使用者選取特定的 Amazon EMR版本。如需更多詳細資訊,請參閱 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html 使用者指南中的AWS CloudFormation 參數部分。
下列範例 Parameters
區段會定義其他輸入參數,例如 ClusterName
、EmrRelease
版本以及 ClusterInstanceType
。
Parameters: ClusterName: Type: "String" Default: "Cluster_Name_Placeholder" EmrRelease: Type: "String" Default: "emr-6.2.0" AllowedValues: - "emr-6.2.0" - "emr-5.32.0" ClusterInstanceType: Type: "String" Default: "m5.xlarge" AllowedValues: - "m5.xlarge" - "m5.2xlarge"
當您新增參數時,Studio 使用者會在選取叢集範本後看到其他表單選項。下圖顯示EmrRelease版本 、 ClusterName和 的其他表單選項InstanceType。
必要條件
建立叢集範本之前,請確定您具有存取 Service Catalog 管理員主控台檢視的IAM許可。您也需要必要的IAM許可才能執行 Service Catalog 管理任務。如需詳細資訊,請參閱將許可授予給 Service Catalog 管理員。
建立EMR叢集範本
使用 Service Catalog 建立EMR叢集範本
-
建立一或多個 CloudFormation 範本。儲存範本的位置由您決定。由於範本是格式化的文字檔案,因此可以將它們上傳到 Amazon S3 或保存在本機檔案系統中。若要進一步了解 CloudFormation 範本,請參閱AWS CloudFormation 《 使用者指南》中的範本。
使用下列規則來命名範本,或根據模式
[a-zA-Z0-9][a-zA-Z0-9._-]*
檢查名稱。-
範本名稱開頭必須是字母或數字。
-
範本名稱只能由字母、數字、句點 (.)、底線 (_) 和連字號 (-) 組成。
您建立的每個叢集範本都必須包含下列選項:
輸入參數
-
ClusterName – 叢集的名稱,可協助使用者在佈建之後識別叢集。
輸出
-
ClusterId
– 新佈建叢集的 IDEMR。
以下是具有兩個節點之叢集的YAML格式範例 AWS CloudFormation 範本。範例範本包含必要的範本選項,並定義
EmrRelease
和ClusterInstanceType
的其他輸入參數。awsTemplateFormatVersion: 2010-09-09 Parameters: ClusterName: Type: "String" Default: "Example_Two_Node_Cluster" EmrRelease: Type: "String" Default: "emr-6.2.0" AllowedValues: - "emr-6.2.0" - "emr-5.32.0" ClusterInstanceType: Type: "String" Default: "m5.xlarge" AllowedValues: - "m5.xlarge" - "m5.2xlarge" Resources: EmrCluster: Type: AWS::EMR::Cluster Properties: Applications: - Name: Spark - Name: Livy - Name: JupyterEnterpriseGateway - Name: Hive EbsRootVolumeSize: '10' Name: !Ref ClusterName JobFlowRole: EMR_EC2_DefaultRole ServiceRole: EMR_DefaultRole_V2 ReleaseLabel: !Ref EmrRelease VisibleToAllUsers: true LogUri: Fn::Sub: 's3://aws-logs-${AWS::AccountId}-${AWS::Region}/elasticmapreduce/' Instances: TerminationProtected: false Ec2SubnetId: 'subnet-ab12345c' MasterInstanceGroup: InstanceCount: 1 InstanceType: !Ref ClusterInstanceType CoreInstanceGroup: InstanceCount: 1 InstanceType: !Ref ClusterInstanceType Market: ON_DEMAND Name: Core Outputs: ClusterId: Value: Ref: EmrCluster Description: The ID of the EMR cluster
-
-
在與 Studio 相同的 AWS 帳戶中,為您的叢集範本建立產品組合。
-
在 開啟 AWS Service Catalog 主控台https://console.aws.amazon.com/servicecatalog/
。 -
在左側導覽功能表中選擇產品組合。
-
在建立產品組合頁面中輸入要求的資訊。
-
選擇 Create. AWS Service Catalog created 產品組合並顯示產品組合詳細資訊。
-
-
使用以下步驟,將叢集範本新增為 AWS Service Catalog 產品。
-
導覽至 AWS Service Catalog 管理主控台中管理下的產品頁面。
-
選擇上傳新產品。
-
輸入產品名稱和擁有者。
-
在版本詳細資訊下指定範本檔案。
-
選擇檢閱來檢閱您的產品設定,然後選擇建立產品。
-
-
請完成以下步驟,將您的產品新增到產品組合。
-
導覽至 AWS Service Catalog 管理主控台中的產品頁面。
-
選擇產品,選擇動作,然後選擇將產品新增至產品組合。
-
選擇您的產品組合,然後選擇將產品新增至產品組合。
-
-
為您的產品建立啟動限制。啟動限制是指定使用者啟動產品許可IAM的角色。您可以自訂您的啟動限制,但必須允許使用 CloudFormation、Amazon EMR和 的許可 AWS Service Catalog。如需詳細資訊和指示,請參閱 Service Catalog 啟動限制。
-
將啟動限制套用至產品組合中的每個產品。必須將啟動限制單獨套用至每個產品。
-
從 AWS Service Catalog 管理主控台的產品組合頁面中選取您的產品組合。
-
選擇 Constraints (限制) 索引標籤,並選擇 Create constraint (建立限制)。
-
選擇您的產品並在限制類型下選擇啟動。選擇繼續。
-
在啟動限制區段中選取您的啟動限制角色,然後選擇建立。
-
-
授予對產品組合的存取權。
-
從 AWS Service Catalog 管理主控台的產品組合頁面中選取您的產品組合。
-
展開群組、角色和使用者索引標籤,然後選擇新增群組、角色和使用者。
-
在角色索引標籤中搜尋您的 EMR Studio IAM角色,選取您的角色,然後選擇新增存取權。
如果您使用... 授予存取權限... IAM 身分驗證 原生使用者 IAM 聯合 您的聯合IAM角色 IAM 身分中心聯合 您的 EMR Studio 使用者角色
-