기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
생성 및 관리 Amazon EMR Serverless Step Functions를 사용하는 애플리케이션
Step Functions를 사용하여 EMR 서버리스에서 애플리케이션을 생성, 시작, 중지 및 삭제하는 방법을 알아봅니다. 이 페이지는 지원되는 내용을 APIs 나열하고 일반적인 사용 사례를 수행하기 위한 예제 Task
상태를 제공합니다.
와의 통합에 대해 알아보려면 AWS Step Functions의 서비스에 대해서는 및 을 참조하십시오 서비스 통합. Step API Functions에서 서비스에 파라미터 전달하기
최적화의 주요 기능 EMR Serverless 통합
-
최적화 EMR Serverless 서비스 통합에는 기본 요소를 APIs감싸는 사용자 지정 세트가 있습니다.EMR Serverless APIs. 이러한 커스터마이징으로 인해 최적화되었습니다.EMR Serverless 통합은 다음과 크게 다릅니다. AWS SDK서비스 통합.
-
또한 최적화되었습니다.EMR Serverless 통합은 작업 실행(.sync) 통합 패턴을 지원합니다.
-
태스크 토큰으로 콜백이 올 때까지 기다리세요.통합 패턴은 지원되지 않습니다.
EMR Serverless 서비스 통합 APIs
통합하려면 AWS Step Functions with EMR Serverless다음 6가지를 사용할 수 있습니다.EMR Serverless 서비스 통합APIs. 이러한 서비스 APIs 통합은 해당 서비스 통합과 유사합니다.EMR Serverless APIs, 전달된 필드와 반환되는 응답에는 약간의 차이가 있습니다.
다음 표에는 각 항목의 차이점이 설명되어 있습니다.EMR Serverless 서비스 통합 API 및 해당 서비스 EMR Serverless API.
EMR Serverless 서비스 통합 API | 해당 EMR Serverless API | 차이 |
---|---|---|
createApplication 애플리케이션을 생성합니다. EMR Serverless 고유한 유형에 연결되어 있습니다.IAM 역할을 서비스 연결 역할이라고 합니다. |
CreateApplication | None |
createApplication.sync 애플리케이션을 생성합니다. |
CreateApplication |
요청과 응답 간에는 차이가 없습니다.EMR Serverless API그리고 EMR Serverless 서비스 통합API. createApplication그러나.sync는 애플리케이션이 상태에 도달할 때까지 기다립니다. |
startApplication 지정된 애플리케이션을 시작하고 구성된 경우 애플리케이션의 초기 용량을 초기화합니다. |
StartApplication |
The EMR Serverless API응답에는 데이터가 포함되어 있지 않지만 EMR Serverless 서비스 통합 API 응답에는 다음 데이터가 포함됩니다.
|
startApplication.sync 지정된 애플리케이션을 시작하고 구성된 경우 초기 용량을 초기화합니다. |
StartApplication |
더 EMR Serverless API응답에는 데이터가 포함되어 있지 않지만 EMR Serverless 서비스 통합 API 응답에는 다음 데이터가 포함됩니다.
startApplication또한.sync는 애플리케이션이 상태에 도달할 때까지 기다립니다. |
stopApplication 지정된 애플리케이션을 중지하고 구성된 경우 초기 용량을 해제합니다. 애플리케이션을 중지하기 전에 예약되고 실행 중인 모든 작업을 완료하거나 취소해야 합니다. |
StopApplication |
The EMR Serverless API응답에는 데이터가 포함되어 있지 않지만 EMR Serverless 서비스 통합 API 응답에는 다음 데이터가 포함됩니다.
|
stopApplication.sync 지정된 애플리케이션을 중지하고 구성된 경우 초기 용량을 해제합니다. 애플리케이션을 중지하기 전에 예약되고 실행 중인 모든 작업을 완료하거나 취소해야 합니다. |
StopApplication |
더 EMR Serverless API응답에는 데이터가 포함되어 있지 않지만 EMR Serverless 서비스 통합 API 응답에는 다음 데이터가 포함됩니다.
stopApplication또한.sync는 애플리케이션이 상태에 도달할 때까지 기다립니다. |
deleteApplication 애플리케이션을 삭제합니다. 애플리케이션을 삭제하려면 애플리케이션이 |
DeleteApplication |
The EMR Serverless API응답에는 데이터가 포함되어 있지 않지만 EMR Serverless 서비스 통합 API 응답에는 다음 데이터가 포함됩니다.
|
deleteApplication.sync 애플리케이션을 삭제합니다. 애플리케이션을 삭제하려면 애플리케이션이 |
DeleteApplication |
더 EMR Serverless API응답에는 데이터가 포함되어 있지 않지만 EMR Serverless 서비스 통합 API 응답에는 다음 데이터가 포함됩니다.
stopApplication또한.sync는 애플리케이션이 상태에 도달할 때까지 기다립니다. |
startJobRun 작업 실행을 시작합니다. |
StartJobRun | None |
startJobRun.sync 작업 실행을 시작합니다. |
StartJobRun |
요청과 응답 간에는 차이가 없습니다.EMR Serverless API그리고 EMR Serverless 서비스 통합API. startJobRun그러나.sync는 애플리케이션이 상태에 도달할 때까지 기다립니다. |
cancelJobRun 작업 실행을 취소합니다. |
CancelJobRun | None |
cancelJobRun.sync 작업 실행을 취소합니다. |
CancelJobRun |
요청과 응답 간에는 차이가 없습니다.EMR Serverless API그리고 EMR Serverless 서비스 통합API. cancelJobRun그러나.sync는 애플리케이션이 상태에 도달할 때까지 기다립니다. |
EMR서버리스 통합 사용 사례
최적화된 사용자를 위해 EMR Serverless 서비스 통합의 경우 단일 애플리케이션을 만든 다음 해당 애플리케이션을 사용하여 여러 작업을 실행하는 것이 좋습니다. 예를 들어 단일 상태 머신에 동일한 애플리케이션을 사용하는 여러 startJobRun요청을 포함할 수 있습니다. 다음 작업 워크플로 상태 상태 예제는 통합의 사용 사례를 보여줍니다.EMR Serverless APIs와 Step Functions. 다른 사용 사례에 대한 자세한 내용은 EMR Serverless무엇입니까를 참조하십시오.Amazon EMR Serverless.
작은 정보
다음과 통합되는 상태 머신의 예제를 배포하려면 EMR Serverless 여러 작업을 실행하는 데 사용됩니다. AWS 계정, 을 참조하십시오실행 EMR Serverless job.
구성에 대해 알아보려면 IAM 사용 시 권한 Step Functions 다른 사람과 함께 AWS 서비스, 참조Step Functions가 통합 서비스를 위한 IAM 정책을 생성하는 방법.
다음 사용 사례에 표시된 예시에서는 다음을 대체하십시오.italicized
텍스트에 리소스별 정보가 들어 있습니다. 예를 들어, 바꾸십시오.yourApplicationId
귀하의 ID로 EMR Serverless 애플리케이션, 예:00yv7iv71inak893
.
애플리케이션 생성
다음 태스크 상태 createApplication예제는.sync 서비스 통합을 API 사용하여 애플리케이션을 생성합니다.
"Create_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:createApplication.sync", "Parameters": { "Name": "
MyApplication
", "ReleaseLabel": "emr-6.9.0", "Type": "SPARK" }, "End": true }
애플리케이션 시작
다음 태스크 상태 startApplication예제는.sync 서비스 통합을 사용하여 애플리케이션을 시작합니다. API
"Start_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:startApplication.sync", "Parameters": { "ApplicationId": "
yourApplicationId
" }, "End": true }
애플리케이션 중지
다음 태스크 상태 stopApplication예제는.sync 서비스 통합을 사용하는 애플리케이션을 중지합니다. API
"Stop_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:stopApplication.sync", "Parameters": { "ApplicationId": "
yourApplicationId
" }, "End": true }
애플리케이션을 삭제합니다
다음 태스크 상태 deleteApplication예제는.sync 서비스 통합을 사용하여 애플리케이션을 삭제합니다. API
"Delete_Application": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:deleteApplication.sync", "Parameters": { "ApplicationId": "
yourApplicationId
" }, "End": true }
애플리케이션에서 작업 시작
다음 작업 상태 startJobRun예제는.sync 서비스 통합을 사용하여 애플리케이션에서 작업을 시작합니다. API
"Start_Job": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:startJobRun.sync", "Parameters": { "ApplicationId": "
yourApplicationId
", "ExecutionRoleArn": "arn:aws:iam::123456789012:role/myEMRServerless-execution-role
", "JobDriver": { "SparkSubmit": { "EntryPoint": "s3://<amzn-s3-demo-bucket>
/sample.py
", "EntryPointArguments": ["1"], "SparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=4g --conf spark.driver.cores=2 --conf spark.driver.memory=4g --conf spark.executor.instances=1" } } }, "End": true }
애플리케이션에서 작업 취소
다음 작업 상태 cancelJobRun예제는.sync 서비스 통합을 사용하는 애플리케이션에서 작업을 취소합니다. API
"Cancel_Job": { "Type": "Task", "Resource": "arn:aws:states:::emr-serverless:cancelJobRun.sync", "Parameters": { "ApplicationId.$": "$.ApplicationId", "JobRunId.$": "$.JobRunId" }, "End": true }
IAM통화 정책 Amazon EMR Serverless
콘솔을 사용하여 스테이트 머신을 생성하는 경우 Step Functions 필요한 최소 권한을 가진 상태 머신의 실행 역할을 자동으로 생성합니다. 이는 자동으로 생성됩니다.IAM 역할은 다음과 같은 경우에 유효합니다. AWS 리전 여기서 스테이트 머신을 생성할 수 있습니다.
다음 예제 템플릿은 방법을 보여줍니다. AWS Step Functions 스테이트 머신 정의의 리소스를 기반으로 IAM 정책을 생성합니다. 자세한 내용은 Step Functions가 통합 서비스를 위한 IAM 정책을 생성하는 방법 및 Step Functions에서 서비스 통합 패턴을 살펴보세요 단원을 참조하세요.
를 생성할 때는 다음을 권장합니다.IAM 정책, 와일드카드를 정책에 포함시키지 마십시오. 보안 모범 사례로 정책 범위를 최대한 좁혀야 합니다. 런타임 중에 특정 입력 파라미터를 알 수 없는 경우에만 동적 정책을 사용해야 합니다.
또한 관리자는 관리자가 아닌 사용자에게 상태 시스템을 실행할 수 있는 실행 역할을 부여할 때 주의해야 합니다. passRole 정책을 직접 생성하는 경우 실행 역할에 정책을 포함하는 것이 좋습니다. 또한 실행 역할에 aws:SourceARN
및 aws:SourceAccount
컨텍스트 키를 추가하는 것이 좋습니다.
IAMStep Functions와의 EMR 서버리스 통합을 위한 정책 예제
IAM에 대한 정책 예제 CreateApplication
다음은 상태가 있는 상태 머신의 IAM 정책 예제입니다. CreateApplication 작업 워크플로 상태
참고
계정에서 처음으로 애플리케이션을 만들 때 IAM 정책에 CreateServiceLinkedRole 권한을 지정해야 합니다. 이후에는 이 권한을 추가할 필요가 없습니다. 에 대한 CreateServiceLinkedRole 자세한 내용은 https://docs.aws.amazon.com/IAM/ APIReference 최신/ /를 참조하십시오 CreateServiceLinkedRole.
다음 정책의 정적 리소스와 동적 리소스는 동일합니다.
IAM에 대한 정책 예제 StartApplication
정적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 정적 리소스에 대한 IAM 정책 예제입니다. StartApplication 작업 워크플로 상태
동적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 동적 리소스에 대한 IAM 정책 예제입니다. StartApplication 작업 워크플로 상태
IAM에 대한 정책 예제 StopApplication
정적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 정적 리소스에 대한 IAM 정책 예제입니다. StopApplication 작업 워크플로 상태
동적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 동적 리소스에 대한 IAM 정책 예제입니다. StopApplication 작업 워크플로 상태
IAM에 대한 정책 예제 DeleteApplication
정적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 정적 리소스에 대한 IAM 정책 예제입니다. DeleteApplication 작업 워크플로 상태
동적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 동적 리소스에 대한 IAM 정책 예제입니다. DeleteApplication 작업 워크플로 상태
IAM에 대한 정책 예제 StartJobRun
정적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 정적 리소스에 대한 IAM 정책 예제입니다. StartJobRun 작업 워크플로 상태
동적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 동적 리소스에 대한 IAM 정책 예제입니다. StartJobRun 작업 워크플로 상태
IAM에 대한 정책 예제 CancelJobRun
정적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 정적 리소스에 대한 IAM 정책 예제입니다. CancelJobRun 작업 워크플로 상태
동적 리소스
다음은 상태가 있는 상태 머신을 사용할 때의 동적 리소스에 대한 IAM 정책 예제입니다. CancelJobRun 작업 워크플로 상태