종료 방지를 사용하여 Amazon EMR 클러스터가 실수로 종료되지 않도록 보호 - Amazon EMR

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

종료 방지를 사용하여 Amazon EMR 클러스터가 실수로 종료되지 않도록 보호

종료 보호는 실수로 인한 종료로부터 클러스터를 보호하므로 중요한 워크로드를 처리하는 장기 실행 클러스터에 특히 유용할 수 있습니다. 장기 실행 클러스터에서 종료 방지 기능이 활성화된 경우 클러스터를 종료할 수는 있지만 먼저 클러스터에서 종료 방지 기능을 명시적으로 제거해야 합니다. 이렇게 하면 사고 또는 오류로 인해 EC2 인스턴스가 종료되지 않도록 할 수 있습니다. 클러스터를 생성할 때 종료 방지 기능을 활성화할 수 있으며 실행 중인 클러스터의 설정을 변경할 수 있습니다.

종료 보호가 활성화되면 Amazon의 TerminateJobFlows 작업이 작동하지 EMR API 않습니다. 사용자는 이 명령 API 또는 의 terminate-clusters 명령을 사용하여 클러스터를 종료할 수 없습니다 AWS CLI. 는 오류를 API 반환하고 는 0이 아닌 반환 코드로 CLI 종료됩니다. Amazon EMR 콘솔을 사용하여 클러스터를 종료하는 경우 종료 방지 기능을 끄는 추가 단계가 표시됩니다.

주의

종료 보호는 인적 오류 또는 해결 방법이 발생하는 경우, 예를 들어 를 사용하여 인스턴스에 연결된 상태에서 명령줄에서 재부팅 명령이 발행되는 경우SSH, 인스턴스에서 실행되는 애플리케이션 또는 스크립트가 재부팅 명령을 발행하는 경우 또는 Amazon EC2 또는 AmazonEMRAPI을 사용하여 종료 보호를 비활성화하는 경우 데이터를 보존하는 것을 보장하지 않습니다. Amazon EMR 릴리스 7.1 이상을 실행하고 인스턴스가 비정상이고 복구할 수 없는 경우에도 마찬가지입니다. 종료 방지가 활성화된 경우에도 데이터를 포함하여 인스턴스 스토리지에 저장된 HDFS 데이터가 손실될 수 있습니다. 데이터 출력을 Amazon S3 위치에 기록하고 비즈니스 연속성 요구 사항에 따라 적절한 백업 전략을 생성합니다.

종료 방지 기능은 다음 작업 중 하나를 사용하여 클러스터 리소스를 확장하는 기능에 영향을 미치지 않습니다.

종료 보호 및 Amazon EC2

Amazon EMR 클러스터의 종료 보호 설정은 클러스터의 모든 Amazon EC2 인스턴스에 대한 DisableApiTermination 속성과 일치합니다. 예를 들어 EMR 클러스터에서 종료 방지를 활성화하면 Amazon은 EMR 클러스터 내의 모든 EC2 인스턴스에 대해 EMR 자동으로 trueDisableApiTermination로 설정합니다. 종료 방지를 비활성화하는 경우에도 마찬가지입니다. Amazon은 EMR 클러스터 내의 모든 EC2 인스턴스에 대해 EMR 자동으로 falseDisableApiTermination로 설정합니다. Amazon에서 클러스터를 종료하거나 축소EMR하고 EC2 인스턴스에 대한 Amazon EC2 설정이 충돌하는 경우 Amazon은 Amazon의 DisableApiStop 및 EMR 설정보다 Amazon DisableApiTermination 설정을 EMR 우선시EC2하고 EC2 인스턴스를 계속 종료합니다.

예를 들어 Amazon EC2 콘솔을 사용하여 종료 보호가 비활성화된 EMR 클러스터의 Amazon EC2 인스턴스에서 종료 보호를 활성화할 수 있습니다. Amazon EMR 콘솔, 또는 Amazon 를 사용하여 클러스터를 종료 AWS CLI하거나 축소하면 EMR APIAmazon은 DisableApiTermination 설정을 EMR 재정의하고, 이를 false로 설정하고, 다른 인스턴스와 함께 인스턴스를 종료합니다.

또한 Amazon EC2 콘솔을 사용하여 종료 방지가 비활성화된 EMR 클러스터의 Amazon EC2 인스턴스에서 중지 방지를 활성화할 수 있습니다. 클러스터를 종료하거나 축소하면 Amazon은 Amazon에서 falseDisableApiStop로 EMR 설정하고 다른 인스턴스와 함께 인스턴스를 EC2 종료합니다.

Amazon은 클러스터를 종료하거나 축소할 때만 DisableApiStop 설정을 EMR 재정의합니다. EMR 클러스터에서 종료 방지를 활성화하거나 비활성화하면 AmazonEMR은 해당 EMR 클러스터의 EC2 인스턴스에 대한 disableApiStop 설정을 변경하지 않습니다.

중요

종료 방지 기능이 있는 Amazon EMR 클러스터의 일부로 인스턴스를 생성하고 Amazon EC2 API 또는 AWS CLI 명령을 사용하여 인스턴스를 로 수정false한 다음 Amazon EC2 API 또는 AWS CLI 명령DisableApiTerminationTerminateInstances 작업을 실행하는 경우 Amazon EC2 인스턴스가 종료됩니다.

종료 보호 및 비정상 YARN 노드

Amazon은 클러스터의 코어 및 태스크 Amazon EC2 인스턴스에서 실행되는 노드의 Apache Hadoop YARN 상태를 EMR 주기적으로 확인합니다. 상태 확인 NodeManager 서비스 에서 상태 상태를 보고합니다. 노드가 UNHEALTHY를 보고하는 경우 Amazon EMR 인스턴스 컨트롤러는 노드를 거부 목록에 추가하고 다시 정상 상태가 될 때까지 해당 노드에 YARN 컨테이너를 할당하지 않습니다. 종료 보호 상태, 비정상 노드 교체 및 Amazon EMR 릴리스 버전에 따라 AmazonEMR은 비정상 인스턴스를 교체하거나 인스턴스에 컨트롤러 할당을 중지합니다.

단계 실행 후 종료 보호 및 종료

단계 실행 후 종료를 활성화하고 종료 보호 활성화하면 Amazon은 종료 보호를 EMR 무시합니다.

클러스터에 단계를 제출할 때, ActionOnFailure 속성을 설정하여 단계가 오류로 인해 실행을 완료할 수 없는 경우 수행할 작업을 결정할 수 있습니다. 이 설정의 가능한 값은 TERMINATE_CLUSTER(이전 버전의 TERMINATE_JOB_FLOW), CANCEL_AND_WAITCONTINUE입니다. 자세한 내용은 Amazon EMR 클러스터에 작업 제출 단원을 참조하십시오.

ActionOnFailure 설정된 로 구성된 단계가 실패하면 단계 실행 후 종료가 활성화된 CANCEL_AND_WAIT경우 클러스터는 후속 단계를 실행하지 않고 종료됩니다.

ActionOnFailureTERMINATE_CLUSTER로 설정하여 구성된 단계가 실패하면 아래 설정 테이블을 사용하여 출력을 결정합니다.

ActionOnFailure 단계 실행 후 종료 종료 방지 Result

TERMINATE_CLUSTER

활성화됨

Disabled(비활성)

클러스터 종료

활성화됨

활성화됨

클러스터 종료

Disabled(비활성)

활성화됨

클러스터 계속 진행

Disabled(비활성)

Disabled(비활성)

클러스터 종료

종료 방지 및 스팟 인스턴스

Amazon EMR 종료 보호는 EC2 스팟 가격이 최대 스팟 가격보다 높을 때 Amazon 스팟 인스턴스가 종료되는 것을 방지하지 않습니다.

클러스터 시작 시 종료 방지 구성

콘솔, 또는 를 사용하여 클러스터를 시작할 때 종료 방지를 활성화 AWS CLI하거나 비활성화할 수 있습니다API.

단일 노드 클러스터의 경우 기본 종료 보호 설정은 다음과 같습니다.

  • Amazon EMR Console에서 클러스터 시작 - 기본적으로 종료 방지가 비활성화되어 있습니다.

  • 클러스터 시작 기준 AWS CLI aws emr create-cluster- 이 지정되지 않는 한 종료 방지가 비활성화--termination-protected됩니다.

  • Amazon EMR API RunJobFlow 명령으로 클러스터 시작 - 부울 값이 TerminationProtected 로 설정되어 있지 않으면 종료 방지가 비활성화됩니다true.

고가용성 클러스터의 경우 기본 종료 보호 설정은 다음과 같습니다.

  • Amazon EMR Console에서 클러스터 시작 - 종료 방지가 기본적으로 활성화됩니다.

  • 클러스터 시작 기준 AWS CLI aws emr create-cluster- 이 지정되지 않는 한 종료 방지가 비활성화--termination-protected됩니다.

  • Amazon EMR API RunJobFlow 명령으로 클러스터 시작 - 부울 값이 TerminationProtected 로 설정되어 있지 않으면 종료 방지가 비활성화됩니다true.

Console
콘솔을 사용하여 클러스터를 생성할 때 종료 방지를 켜거나 끄려면
  1. 에 로그인 AWS Management Console하고 https://console.aws.amazon.com/emr에서 Amazon EMR 콘솔을 엽니다.

  2. 왼쪽 탐색 창의 EMR 에서 EC2 클러스터 를 선택한 다음 클러스터 생성 을 선택합니다.

  3. EMR 릴리스 버전 에서 emr-6.6.0 이상을 선택합니다.

  4. 클러스터 종료 및 노드 교체 에서 종료 보호 사용을 미리 선택했는지 확인하거나 선택을 취소하여 해제합니다.

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

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

AWS CLI
를 사용하여 클러스터를 생성할 때 종료 방지를 켜거나 끄려면 AWS CLI
  • 를 사용하면 --termination-protected 파라미터가 있는 create-cluster 명령으로 종료 방지가 활성화된 클러스터를 시작할 AWS CLI수 있습니다. 종료 방지 기능은 기본적으로 비활성화됩니다.

    다음은 종료 방지 기능이 활성화된 클러스터를 생성하는 예제입니다.

    참고

    가독성을 위해 Linux 줄 연속 문자(\)가 포함됩니다. Linux 명령에 사용하거나 제외할 수 있습니다. Windows에서는 제외시키거나 캐럿(^)으로 바꿉니다.

    aws emr create-cluster --name "TerminationProtectedCluster" --release-label emr-7.3.0 \ --applications Name=Hadoop Name=Hive Name=Pig \ --use-default-roles --ec2-attributes KeyName=myKey --instance-type m5.xlarge \ --instance-count 3 --termination-protected

    에서 Amazon EMR 명령을 사용하는 방법에 대한 자세한 내용은 섹션을 AWS CLI참조하세요https://docs.aws.amazon.com/cli/latest/reference/emr.

실행 중인 클러스터에 대한 종료 방지 구성

콘솔 또는 AWS CLI를 사용하여 실행 중인 클러스터에 대해 종료 방지 기능을 구성할 수 있습니다.

Console
콘솔을 사용하여 실행 중인 클러스터에 대해 종료 방지를 켜거나 끄려면
  1. 에 로그인 AWS Management Console하고 https://console.aws.amazon.com/emr에서 Amazon EMR 콘솔을 엽니다.

  2. 왼쪽 탐색 창의 EMR 에서 EC2 클러스터 를 선택하고 업데이트하려는 클러스터를 선택합니다.

  3. 클러스터 세부 정보 페이지의 속성 탭에서 클러스터 종료를 찾아 편집을 선택합니다.

  4. 종료 방지 기능 사용 확인란을 선택하거나 선택 취소하여 기능을 켜거나 끕니다. 그런 다음 변경 사항 저장을 선택하여 확인합니다.

AWS CLI
를 사용하여 실행 중인 클러스터에 대한 종료 방지를 켜거나 끄려면 AWS CLI
  • AWS CLI를 사용하여 실행 중인 클러스터에 대해 종료 방지 기능을 활성화하려면 --termination-protected 파라미터와 함께 modify-cluster-attributes 명령을 사용합니다. 이 기능을 비활성화하려면 --no-termination-protected 파라미터를 사용합니다.

    다음 예제에서는 ID가 인 클러스터에서 종료 방지를 활성화합니다.j-3KVTXXXXXX7UG:

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --termination-protected

    다음 예에서는 동일한 클러스터에서 종료 방지 기능을 비활성화합니다.

    aws emr modify-cluster-attributes --cluster-id j-3KVTXXXXXX7UG --no-termination-protected