쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Amazon EMR Serverless 시작하기 - Amazon EMR

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

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

Amazon EMR Serverless 시작하기

이 자습서는 샘플 Spark 또는 Hive 워크로드를 배포하는 경우 EMR Serverless를 시작하는 데 도움이 됩니다. 자체 애플리케이션을 생성, 실행 및 디버깅합니다. 이 자습서의 대부분에 나오는 기본 옵션을 표시합니다.

EMR Serverless 애플리케이션을 시작하기 전에 먼저 다음 태스크를 완료합니다.

EMR Serverless를 사용할 수 있는 권한 부여

EMR Serverless를 사용하려면 EMR Serverless에 대한 권한을 부여하는 정책이 연결된 사용자 또는 IAM 역할이 필요합니다. 사용자를 생성하고 해당 사용자에게 적절한 정책을 연결하려면 권한 부여의 지침을 수행합니다.

EMR Serverless에 대한 스토리지 준비

이 자습서에서는 S3 버킷을 사용하여 EMR Serverless 애플리케이션을 사용해 실행할 샘플 Spark 또는 Hive 워크로드의 출력 파일 및 로그를 저장합니다. 버킷을 생성하려면 Amazon Simple Storage Service 콘솔 사용 설명서의 버킷 생성에 나온 지침을 따르세요. amzn-s3-demo-bucket에 대한 추가 참조를 새로 생성된 버킷의 이름으로 바꿉니다.

대화형 워크로드를 실행하도록 EMR Studio 생성

EMR Serverless를 사용하여 EMR Studio에서 호스팅되는 노트북을 통해 대화형 쿼리를 실행하려면 S3 버킷 및 EMR Serverless에 대한 최소 서비스 역할 지정하여 워크스페이스를 생성해야 합니다. 설정 단계는 Amazon EMR 관리 안내서의 EMR Studio 설정을 참조하세요. 대화형 워크로드에 대한 자세한 내용은 EMR Studio를 통해 EMR Serverless에서 대화형 워크로드 실행 섹션을 참조하세요.

작업 런타임 역할 생성

EMR Serverless에서 실행되는 작업은 런타임 시 특정 AWS 서비스 및 리소스에 대한 세분화된 권한을 제공하는 런타임 역할을 사용합니다. 이 자습서에서는 퍼블릭 S3 버킷에서 데이터 및 스크립트를 호스팅합니다. amzn-s3-demo-bucket 버킷은 출력을 저장합니다.

작업 런타임 역할을 설정하려면 먼저 EMR Serverless에서 새 역할을 사용할 수 있도록 신뢰 정책을 사용하여 런타임 역할을 생성합니다. 그런 다음, 필요한 S3 액세스 정책을 해당 역할에 연결합니다. 다음 단계에서 프로세스를 안내합니다.

Console
  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 역할을 선택합니다.

  3. 역할 생성을 선택합니다.

  4. 역할 유형에서 사용자 지정 신뢰 정책을 선택하고 다음 신뢰 정책을 붙여넣습니다. 이렇게 하면 Amazon EMR Serverless 애플리케이션에 제출된 작업이 사용자를 대신하여 다른 AWS 서비스 에 액세스할 수 있습니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  5. 다음을 선택하여 권한 추가 페이지로 이동한 다음, 정책 생성을 선택합니다.

  6. 정책 생성 페이지가 새 탭에서 열립니다. 아래에 정책 JSON을 붙여넣습니다.

    중요

    아래 정책에서 amzn-s3-demo-bucketEMR Serverless에 대한 스토리지 준비에서 생성한 실제 버킷 이름으로 바꿉니다. S3 액세스에 대한 기본 정책입니다. 추가 작업 런타임 역할 예제는 Amazon EMR Serverless에 대한 작업 런타임 역할 섹션을 참조하세요.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ReadAccessForEMRSamples", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*.elasticmapreduce", "arn:aws:s3:::*.elasticmapreduce/*" ] }, { "Sid": "FullAccessToOutputBucket", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "GlueCreateAndReadDataCatalog", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:CreateDatabase", "glue:GetDataBases", "glue:CreateTable", "glue:GetTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetUserDefinedFunctions" ], "Resource": ["*"] } ] }
  7. 정책 검토 페이지에서 정책 이름(예: EMRServerlessS3AndGlueAccessPolicy)을 입력합니다.

  8. 권한 정책 연결 페이지에서 EMRServerlessS3AndGlueAccessPolicy를 선택합니다.

  9. 이름, 검토 및 생성 페이지의 역할 이름에서 역할 이름(예: EMRServerlessS3RuntimeRole)을 입력합니다. 새 IAM 역할을 생성하려면 역할 생성을 선택합니다.

CLI
  1. IAM 역할에 사용할 신뢰 정책이 포함된 emr-serverless-trust-policy.json이라는 이름의 파일을 생성합니다. 파일에 다음 정책을 포함해야 합니다.

    { "Version": "2012-10-17", "Statement": [{ "Sid": "EMRServerlessTrustPolicy", "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" } }] }
  2. EMRServerlessS3RuntimeRole라는 IAM 역할을 생성합니다. 이전 단계에서 생성한 신뢰 정책을 사용합니다.

    aws iam create-role \ --role-name EMRServerlessS3RuntimeRole \ --assume-role-policy-document file://emr-serverless-trust-policy.json

    출력에서 ARN을 기록합니다. 작업 제출 중에 새 역할의 ARN을 사용하고, 이후 이를 job-role-arn으로 참조합니다.

  3. 워크로드에 대한 IAM 정책을 정의하는 emr-sample-access-policy.json 파일을 생성합니다. 그러면 퍼블릭 S3 버킷에 저장된 스크립트 및 데이터에 대한 읽기 액세스와 amzn-s3-demo-bucket에 대한 읽기-쓰기 액세스를 제공합니다.

    중요

    아래 정책에서 amzn-s3-demo-bucketEMR Serverless에 대한 스토리지 준비에서 생성한 실제 버킷 이름으로 바꿉니다. 이는 AWS Glue 및 S3 액세스에 대한 기본 정책입니다. 추가 작업 런타임 역할 예제는 Amazon EMR Serverless에 대한 작업 런타임 역할 섹션을 참조하세요.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ReadAccessForEMRSamples", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*.elasticmapreduce", "arn:aws:s3:::*.elasticmapreduce/*" ] }, { "Sid": "FullAccessToOutputBucket", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "GlueCreateAndReadDataCatalog", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:CreateDatabase", "glue:GetDataBases", "glue:CreateTable", "glue:GetTable",Understanding default application behavior, including auto-start and auto-stop, as well as maximum capacity and worker configurations for configuring an application with &EMRServerless;. "glue:UpdateTable", "glue:DeleteTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetUserDefinedFunctions" ], "Resource": ["*"] } ] }
  4. 3단계에서 생성한 정책 파일을 사용하여 IAM 정책 EMRServerlessS3AndGlueAccessPolicy를 생성합니다. 다음 단계에서 새 정책의 ARN을 사용하므로 출력에서 ARN을 기록합니다.

    aws iam create-policy \ --policy-name EMRServerlessS3AndGlueAccessPolicy \ --policy-document file://emr-sample-access-policy.json

    출력에서 새 정책의 ARN을 기록합니다. 다음 단계에서 policy-arn을 대체합니다.

  5. IAM 정책 EMRServerlessS3AndGlueAccessPolicy를 작업 런타임 역할 EMRServerlessS3RuntimeRole에 연결합니다.

    aws iam attach-role-policy \ --role-name EMRServerlessS3RuntimeRole \ --policy-arn policy-arn
  1. https://console.aws.amazon.com/iam/에서 IAM 콘솔로 이동합니다.

  2. 왼쪽 탐색 창에서 역할을 선택합니다.

  3. 역할 생성을 선택합니다.

  4. 역할 유형에서 사용자 지정 신뢰 정책을 선택하고 다음 신뢰 정책을 붙여넣습니다. 이렇게 하면 Amazon EMR Serverless 애플리케이션에 제출된 작업이 사용자를 대신하여 다른 AWS 서비스 에 액세스할 수 있습니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  5. 다음을 선택하여 권한 추가 페이지로 이동한 다음, 정책 생성을 선택합니다.

  6. 정책 생성 페이지가 새 탭에서 열립니다. 아래에 정책 JSON을 붙여넣습니다.

    중요

    아래 정책에서 amzn-s3-demo-bucketEMR Serverless에 대한 스토리지 준비에서 생성한 실제 버킷 이름으로 바꿉니다. S3 액세스에 대한 기본 정책입니다. 추가 작업 런타임 역할 예제는 Amazon EMR Serverless에 대한 작업 런타임 역할 섹션을 참조하세요.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "ReadAccessForEMRSamples", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::*.elasticmapreduce", "arn:aws:s3:::*.elasticmapreduce/*" ] }, { "Sid": "FullAccessToOutputBucket", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::amzn-s3-demo-bucket", "arn:aws:s3:::amzn-s3-demo-bucket/*" ] }, { "Sid": "GlueCreateAndReadDataCatalog", "Effect": "Allow", "Action": [ "glue:GetDatabase", "glue:CreateDatabase", "glue:GetDataBases", "glue:CreateTable", "glue:GetTable", "glue:UpdateTable", "glue:DeleteTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:CreatePartition", "glue:BatchCreatePartition", "glue:GetUserDefinedFunctions" ], "Resource": ["*"] } ] }
  7. 정책 검토 페이지에서 정책 이름(예: EMRServerlessS3AndGlueAccessPolicy)을 입력합니다.

  8. 권한 정책 연결 페이지에서 EMRServerlessS3AndGlueAccessPolicy를 선택합니다.

  9. 이름, 검토 및 생성 페이지의 역할 이름에서 역할 이름(예: EMRServerlessS3RuntimeRole)을 입력합니다. 새 IAM 역할을 생성하려면 역할 생성을 선택합니다.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.