아마존 EMR 스튜디오용 AWS CloudFormation 템플릿 생성 - 아마존 EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

아마존 EMR 스튜디오용 AWS CloudFormation 템플릿 생성

EMRStudio 클러스터 템플릿에 대한 정보

AWS CloudFormation 템플릿을 생성하여 EMR Studio 사용자가 Workspace에서 새 Amazon EMR 클러스터를 시작하는 데 도움이 될 수 있습니다. CloudFormation 템플릿은 JSON 또는 YAML 형식의 텍스트 파일입니다. 템플릿에서는 리소스 스택을 설명하고 해당 AWS 리소스를 대신 프로비저닝하는 CloudFormation 방법을 알려줍니다. EMRStudio의 경우 Amazon EMR 클러스터를 설명하는 템플릿을 하나 이상 생성할 수 있습니다.

에서 템플릿을 정리할 수 AWS Service Catalog있습니다. AWS Service Catalog 제품이라고 하는 일반적으로 배포되는 IT 서비스를 만들고 관리할 수 있습니다 AWS. 템플릿을 포트폴리오의 제품으로 수집하여 EMR Studio 사용자와 공유합니다. 클러스터 템플릿을 생성한 후 Studio 사용자는 템플릿 중 하나를 사용하여 Workspace에 대한 새 클러스터를 시작할 수 있습니다. 사용자에게 템플릿에서 새 클러스터를 생성할 권한이 있어야 합니다. EMRStudio 권한 정책에서 사용자 권한을 설정할 수 있습니다.

CloudFormation 템플릿에 대한 자세한 내용은 AWS CloudFormation 사용 설명서의 템플릿을 참조하십시오. 에 대한 AWS Service Catalog자세한 내용은 무엇입니까를 참조하십시오 AWS Service Catalog.

다음 비디오는 AWS Service Catalog EMR Studio용 클러스터 템플릿을 설정하는 방법을 보여줍니다. Amazon EMR 및 Service Catalog를 사용하여 각 비즈니스 라인을 위한 셀프 서비스 환경 구축하기 블로그 게시물에서도 자세히 알아볼 수 있습니다.

선택적 템플릿 파라미터

템플릿 Parameters 섹션에 추가 옵션을 포함할 수 있습니다. 파라미터를 통해 Studio 사용자는 클러스터의 사용자 지정 값을 입력하거나 선택할 수 있습니다. 예를 들어, 사용자가 특정 Amazon EMR 릴리스를 선택할 수 있도록 하는 파라미터를 추가할 수 있습니다. 자세한 내용은AWS CloudFormation 사용 설명서의 Parameters를 참조하세요.

다음 예제 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.

사용자가 파라미터가 포함된 클러스터 템플릿을 선택할 때 Studio 사용자 인터페이스에 제공된 추가 입력의 스크린샷

사전 조건

클러스터 템플릿을 생성하기 전에 Service Catalog 관리자 콘솔 보기에 액세스할 수 있는 IAM 권한이 있는지 확인하십시오. 또한 Service Catalog 관리 작업을 수행하는 데 필요한 IAM 권한이 필요합니다. 자세한 내용은 Grant permissions to Service Catalog administrators를 참조하세요.

지침

Service Catalog를 사용하여 EMR 클러스터 템플릿을 만들려면
  1. CloudFormation 템플릿을 하나 이상 생성합니다. 템플릿 저장 위치는 사용자가 결정합니다. 템플릿 형식은 텍스트 파일이므로 Amazon S3에 업로드하거나 로컬 파일 시스템에 보관할 수 있습니다. CloudFormation 템플릿에 대한 자세한 내용은 AWS CloudFormation 사용 설명서의 템플릿을 참조하십시오.

    다음 규칙을 사용하여 템플릿의 이름을 지정하거나 [a-zA-Z0-9][a-zA-Z0-9._-]* 패턴과 비교하여 이름을 확인합니다.

    • 템플릿 이름은 숫자 또는 문자로 시작해야 합니다.

    • 템플릿 이름에는 문자, 숫자, 마침표(.), 밑줄(_), 하이픈(-)만 사용할 수 있습니다.

    생성하는 각 클러스터 템플릿에는 다음 옵션이 있어야 합니다.

    입력 파라미터

    • ClusterName — 클러스터가 프로비저닝된 후 사용자가 클러스터를 식별하는 데 도움이 되는 클러스터의 이름입니다.

    출력

    • ClusterId— 새로 EMR 프로비저닝된 클러스터의 ID.

    다음은 두 개의 노드가 있는 클러스터 YAML 형식의 예제 AWS CloudFormation 템플릿입니다. 예제 템플릿에는 필수 템플릿 옵션이 포함되어 있으며, 여기에서 EmrReleaseClusterInstanceType에 대한 추가 입력 파라미터를 정의합니다.

    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
  2. Studio와 동일한 AWS 계정으로 클러스터 템플릿용 포트폴리오를 생성하십시오.

    1. 에서 AWS Service Catalog 콘솔을 엽니다 https://console.aws.amazon.com/servicecatalog/.

    2. 왼쪽 탐색 메뉴에서 포트폴리오를 선택합니다.

    3. 포트폴리오 생성 페이지에 요청된 정보를 입력합니다.

    4. [만들기] 를 선택합니다. AWS Service Catalog 포트폴리오를 생성하고 포트폴리오 세부 정보를 표시합니다.

  3. 다음 단계에 따라 클러스터 템플릿을 AWS Service Catalog 제품으로 추가합니다.

    1. AWS Service Catalog 관리 콘솔의 관리 아래에 있는 제품 페이지로 이동합니다.

    2. 새 제품 업로드를 선택합니다.

    3. 제품 이름소유자를 입력합니다.

    4. 버전 세부 정보에서 템플릿 파일을 지정합니다.

    5. 검토를 선택하여 제품 설정을 검토하고 제품 생성을 선택합니다.

  4. 다음 단계를 완료하여 포트폴리오에 제품을 추가합니다.

    1. AWS Service Catalog 관리 콘솔에서 제품 페이지로 이동합니다.

    2. 제품을 선택하고 작업을 선택한 후 포트폴리오에 제품 추가를 선택합니다.

    3. 포트폴리오를 선택한 다음 포트폴리오에 제품 추가를 선택합니다.

  5. 제품의 시작 제약 조건을 생성합니다. 시작 제약조건은 제품 출시를 위한 사용자 권한을 지정하는 IAM 역할입니다. 시작 제약 조건을 조정할 수 있지만 Amazon EMR 및 AWS Service Catalog를 사용할 CloudFormation 수 있는 권한은 허용해야 합니다. 자세한 내용과 지침은 Service Catalog launch constraints를 참조하세요.

  6. 포트폴리오의 각 제품에 시작 제약 조건을 적용합니다. 시작 제약 조건을 각 제품에 개별적으로 적용해야 합니다.

    1. AWS Service Catalog 관리 콘솔의 포트폴리오 페이지에서 포트폴리오를 선택합니다.

    2. 제약 탭을 선택하고 제약 생성를 선택합니다.

    3. 제품을 선택하고 제약 유형에서 시작을 선택합니다. 계속을 선택합니다.

    4. 시작 제약 조건 섹션에서 시작 제약 조건을 선택하고 생성을 선택합니다.

  7. 포트폴리오에 대한 액세스 권한을 부여합니다.

    1. AWS Service Catalog 관리 콘솔의 포트폴리오 페이지에서 포트폴리오를 선택합니다.

    2. 그룹, 역할 및 사용자 탭을 확장하고 그룹, 역할 및 사용자 추가를 선택합니다.

    3. 역할 탭에서 EMR Studio IAM 역할을 검색하고 역할을 선택한 다음 액세스 추가를 선택합니다.

      사용하는 항목... 액세스 권한 부여 대상
      IAM인증 기본 사용자
      IAM페더레이션 IAM페더레이션을 위한 귀하의 역할
      IAMID 센터 페더레이션 EMR스튜디오 사용자 역할