

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

# Amazon EMR에서 VPC로 클러스터 시작
<a name="emr-vpc-launching-job-flows"></a>

Amazon EMR 클러스터를 호스팅하도록 구성된 서브넷이 있으면 클러스터 생성 시 관련 서브넷 식별자를 지정하여 해당 서브넷에서 클러스터를 시작합니다.

**참고**  
Amazon EMR 릴리스 버전 4.2 이상에서 프라이빗 서브넷이 지원됩니다.

클러스터 시작 시 Amazon EMR은 클러스터가 VPC 프라이빗에서 시작되는지, 아니면 퍼블릭 서브넷에서 시작되는지 여부에 따라 보안 그룹을 추가합니다. 모든 보안 그룹은 포트 8443에서 수신하여 Amazon EMR 서비스와 통신할 수 있도록 허용하지만 IP 주소 범위는 퍼블릭 서브넷과 프라이빗 서브넷에 따라 다릅니다. Amazon EMR은 이러한 모든 보안 그룹을 관리하며 시간 경과에 따라 AWS 범위에 IP 주소를 추가해야 할 수 있습니다. 자세한 내용은 [Amazon EMR 클러스터의 보안 그룹으로 네트워크 트래픽 제어](emr-security-groups.md) 단원을 참조하십시오.

VPC에서 클러스터를 관리하기 위해 Amazon EMR은 프라이머리 노드에 네트워크 디바이스를 연결하고 이 디바이스를 통해 클러스터를 관리합니다. Amazon EC2 API 작업 [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html)를 사용하여 이 디바이스를 볼 수 있습니다. 어떤 방법으로든 이 디바이스를 수정할 경우 클러스터가 작동하지 않을 수도 있습니다.

------
#### [ Console ]

**콘솔을 사용하여 VPC에서 클러스터를 시작하는 방법**

1. 에 로그인 AWS Management Console하고 [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) Amazon EMR 콘솔을 엽니다.

1. 왼쪽 탐색 창의 **EMR on EC2**에서 **클러스터**를 선택하고 **클러스터 생성**을 선택합니다.

1. **네트워킹**에서 **Virtual Private Cloud(VPC)** 필드로 이동합니다. VPC의 이름을 입력하거나 **찾아보기**를 선택하여 VPC를 선택합니다. 또는 **VPC 생성**을 선택하여 클러스터에서 사용할 수 있는 VPC를 생성합니다.

1. 클러스터에 적용할 다른 옵션을 선택합니다.

1. 클러스터를 시작하려면 **클러스터 생성**을 선택합니다.

------
#### [ AWS CLI ]

**를 사용하여 VPC로 클러스터를 시작하려면 AWS CLI**
**참고**  
는 NAT 인스턴스를 자동으로 생성하고 프라이빗 서브넷에 연결하는 방법을 제공하지 AWS CLI 않습니다. 하지만 서브넷에서 S3 엔드포인트를 생성하려면 Amazon VPC CLI 명령을 사용할 수 있습니다. 콘솔을 사용하여 NAT 인스턴스를 생성하고 프라이빗 서브넷에서 클러스터를 시작합니다.

VPC를 구성한 후에는 `create-cluster` 하위 명령을 `--ec2-attributes` 파라미터와 함께 사용하여 VPC에서 Amazon EMR 클러스터를 시작할 수 있습니다. `--ec2-attributes` 파라미터를 사용하여 클러스터에 대해 VPC 서브넷을 지정합니다.
+ 특정 서브넷에서 클러스터를 생성하려면 다음 명령을 입력하고 {{myKey}}를 Amazon EC2 키 페어의 이름으로 바꾸고 {{77XXXX03}}을 서브넷 ID로 바꿉니다.

  ```
  aws emr create-cluster --name {{"Test cluster"}} --release-label {{emr-4.2.0}} --applications Name={{Hadoop}} Name={{Hive}} Name={{Pig}} --use-default-roles --ec2-attributes KeyName={{myKey}},SubnetId=subnet-{{77XXXX03}} --instance-type {{m5.xlarge}} --instance-count {{3}}
  ```

  `--instance-groups` 파라미터를 사용하지 않고 인스턴스 수를 지정하면 단일 프라이머리 노드가 시작되고 나머지 인스턴스는 코어 노드로 시작됩니다. 모든 노드에는 이 명령에 지정된 인스턴스 유형이 사용됩니다.
**참고**  
Amazon EMR 서비스 역할과 EC2 인스턴스 프로파일을 아직 생성하지 않았다면 `aws emr create-default-roles` 하위 명령을 입력하기 전에 `create-cluster`를 입력하여 생성합니다.

------

## EC2에서 EMR 클러스터에 사용 가능한 IP 주소 확인
<a name="emr-vpc-launching-job-flows-ip-availability"></a>

시작할 때 사용 가능한 IP 주소가 충분히 있는 서브넷을 사용할 수 있도록 EC2 서브넷 선택 시 IP 가용성을 확인합니다. 생성 프로세스는 필요한 수의 IP 주소가 포함된 서브넷을 사용하여 코어, 프라이머리 및 태스크 노드를 필요에 따라 시작합니다. 단, 최초 생성 시 클러스터의 코어 노드만 생성됩니다. EMR은 생성 중에 프라이머리 및 태스크 노드를 시작하는 데 필요한 IP 주소 수를 확인하고 코어 노드를 시작하는 데 필요한 IP 주소 수를 별도로 계산합니다. 필요한 프라이머리 및 태스크 인스턴스 또는 노드의 최소 수는 Amazon EMR에 의해 자동으로 결정됩니다.

**중요**  
VPC의 서브넷에 필수 노드를 수용할 만큼 사용 가능한 IP가 충분하지 않으면 오류가 반환되고 클러스터가 생성되지 않습니다.

대부분의 배포 사례에서는 코어, 프라이머리 및 태스크 노드의 각 시작 사이에 시간 차이가 있습니다. 또한 여러 클러스터가 서브넷을 공유할 수 있습니다. 이 경우 IP 주소 가용성이 변동될 수 있으며 사용 가능한 IP 주소에 따라 예를 들어, 후속 태스크 노드 시작이 제한될 수 있습니다.