

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

# EMR Notebooks에 대한 프로그래밍 명령 샘플
<a name="emr-managed-notebooks-headless"></a>

## 개요
<a name="emr-managed-notebooks-headless-overview"></a>

스크립트 또는 명령줄에서 실행 API를 사용하여 EMR Notebooks를 실행할 수 있습니다. AWS 콘솔 외부에서 EMR 노트북 실행을 시작, 중지, 나열 및 설명할 때 EMR 노트북을 프로그래밍 방식으로 제어할 수 있습니다. 파라미터화된 노트북 셀이 있는 노트북에 다양한 파라미터 값을 전달할 수 있습니다. 이렇게 하면 새 파라미터 값 세트마다 노트북 사본을 만들 필요가 없습니다. 자세한 내용은 [Amazon EMR API 작업](https://docs.aws.amazon.com/emr/latest/APIReference/API_Operations.html)을 참조하세요.

Amazon CloudWatch 이벤트 및 AWS Lambda를 사용하여 EMR 노트북 실행을 예약하거나 배치 처리할 수 있습니다. 자세한 내용은 [ Amazon CloudWatch Events AWS Lambda 에서 사용을](https://docs.aws.amazon.com/lambda/latest/dg/services-cloudwatchevents.html) 참조하세요.

**참고**  
EMR Notebooks는 콘솔에서 EMR Studio Workspace로 사용 가능합니다. 콘솔의 **워크스페이스 생성** 버튼을 사용하면 새 노트북을 생성할 수 있습니다. EMR Notebooks 사용자는 Workspace에 액세스하거나 Workspace를 생성하려면 추가 IAM 역할 권한이 필요합니다. 자세한 내용은 [Amazon EMR Notebooks가 콘솔에서 Amazon EMR Studio 워크스페이스 역할](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html) 및 [Amazon EMR 콘솔](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)을 참조하세요.

## 프로그래밍 실행을 위한 역할 권한
<a name="emr-managed-notebooks-headless-permissions"></a>

EMR Notebooks에서 프로그래밍 방식 실행을 사용하려면 다음 정책으로 사용자 권한을 구성해야 합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowExecutionActions",
      "Effect": "Allow",
      "Action": [
        "elasticmapreduce:StartNotebookExecution",
        "elasticmapreduce:DescribeNotebookExecution",
        "elasticmapreduce:ListNotebookExecutions"
      ],
      "Resource": [
        "*"
      ]
    },
    {
      "Sid": "AllowPassingServiceRole",
      "Effect": "Allow",
      "Action": [
        "iam:PassRole"
      ],
      "Resource": [
        "arn:aws:iam::123456789012:role/EMR_Notebooks_DefaultRole"
      ]
    }
  ]
}
```

------

EMR Notebooks 클러스터에서 프로그래밍 방식으로 EMR Notebooks를 실행할 때는 다음과 같은 추가 권한을 추가해야 합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "AllowRetrievingManagedEndpointCredentials",
      "Effect": "Allow",
      "Action": [
        "emr-containers:GetManagedEndpointSessionCredentials"
      ],
      "Resource": [
        "arn:aws:emr-containers:*:123456789012:/virtualclusters/virtual-cluster-id/endpoints/managed-endpoint-id"
      ],
      "Condition": {
        "StringEquals": {
          "emr-containers:ExecutionRoleArn": [
            "arn:aws:iam::123456789012:role/emr-on-eks-execution-role"
          ]
        }
      }
    },
    {
      "Sid": "AllowDescribingManagedEndpoint",
      "Effect": "Allow",
      "Action": [
        "emr-containers:DescribeManagedEndpoint"
      ],
      "Resource": [
        "arn:aws:emr-containers:*:123456789012:/virtualclusters/virtual-cluster-id/endpoints/managed-endpoint-id"
      ]
    }
  ]
}
```

------

## 프로그래밍 방식 실행의 제한 사항
<a name="emr-managed-notebooks-headless-limit"></a>
+ 계정 AWS 리전 당 최대 100개의 동시 실행이 지원됩니다.
+ 30일 넘게 실행되면 실행이 종료됩니다.
+ Amazon EMR Serverless 대화형 애플리케이션에서는 노트북의 프로그래밍 방식 실행을 지원하지 않습니다.

## 프로그래밍 방식의 EMR 노트북 실행 예제
<a name="emr-managed-notebooks-headless-examples"></a>

다음 섹션에서는 AWS CLI Boto3 SDK(Python) 및 Ruby를 사용한 프로그래밍 방식의 EMR 노트북 실행의 몇 가지 예를 제공합니다.
+ [EMR Studio의 노트북 CLI 명령 샘플](emr-managed-notebooks-headless-cli.md)
+ [EMR Notebook에 대한 Python 샘플](emr-managed-notebooks-headless-python.md)
+ [EMR Notebook에 대한 Ruby 샘플](emr-managed-notebooks-headless-ruby.md)

Apache Airflow 또는 Apache Airflow용 Amazon 관리형 워크플로(MWAA)와 같은 오케스트레이션 도구를 사용하여 예약된 워크플로의 일부로 파라미터화된 노트북을 실행할 수 있습니다. 자세한 내용은 *AWS 빅 데이터 블로그*에서 [Orchestrating analytics jobs on EMR Notebooks using MWAA](https://aws.amazon.com/blogs/big-data/orchestrating-analytics-jobs-on-amazon-emr-notebooks-using-amazon-mwaa/)를 참조하세요.