終了保護の使用 - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

終了保護の使用

長時間稼働クラスターで削除保護が有効になっていてもクラスターを終了することはできますが、最初にクラスターから明示的に削除保護を削除する必要があります。これにより、事故やエラーで EC2 インスタンスがシャットダウンされることがなくなります。削除保護は、インスタンスが終了する前に復元する必要があるデータがクラスターのローカルディスクに格納されている場合に特に役に立ちます。削除保護はクラスターの作成時に有効にできます。また、実行中のクラスターで設定を変更することもできます。

終了保護が有効になっていると、TerminateJobFlowsAmazon EMR API のアクションは機能しません。ユーザーは、この API や AWS CLI の terminate-clusters コマンドでクラスターを終了することはできません。この API はエラーを返し、CLI はゼロ以外のリターンコードで終了します。Amazon EMR コンソールを使用してクラスターを終了する場合、削除保護を無効にする追加ステップが示されます。

警告

終了保護は、ヒューマンエラーや回避策が発生した場合にデータが保持されることを保証するものではありません。たとえば、SSH を使用してインスタンスに接続しているときにコマンドラインから再起動コマンドが発行された場合、インスタンスで実行されているアプリケーションまたはスクリプトが再起動コマンドを発行した場合、Amazon EC2 または Amazon EMR API を使用して、終了保護を無効にします。終了保護が有効になっている場合でも、HDFS データを含むインスタンスストレージに保存されたデータは失われる可能性があります。Amazon S3 のロケーションにデータ出力を書き込み、ビジネス継続性要件に応じてバックアップ戦略を作成します。

削除保護は、以下のアクションによるクラスターリソースのスケールに影響することはありません。

終了保護と Amazon EC2

終了保護が有効になっている Amazon EMR クラスターには、disableAPITerminationクラスター内のすべての Amazon EC2 インスタンスの属性セット。終了リクエストの送信元が Amazon EMR でインスタンスの Amazon EMR および Amazon EC2 の設定が競合に関する設定が行われている場合、Amazon EMR の設定が Amazon EC2 の設定に優先します。たとえば、Amazon EC2 コンソールを使用して、有効化終了保護があるクラスター内の Amazon EC2 インスタンスでの終了保護を無効にするAmazon EMR コンソールを使用する場合、AWS CLIAmazon EMR、または Amazon EMR API がクラスターを終了するためのコマンド、Amazon EMR を設定します。DisableApiTerminationfalse他のインスタンスとともにインスタンスを終了します。

重要

インスタンスが終了保護された Amazon EMR クラスターの一部として作成され、Amazon EC2 API またはAWS CLIコマンドは、次のようにインスタンスを変更するために使用されます。DisableApiTerminationfalse、Amazon EC2 API またはAWS CLIコマンドは、TerminateInstancesアクションを実行すると、Amazon EC2 インスタンスが終了します。

終了保護と異常な YARN ノード

Amazon EMR は、クラスターのコアおよびタスクの Amazon EC2 インスタンスで実行されている Apache Hadoop YARN のノードの Apache Hadoop YARN ステータスを定期的にチェックします。ヘルスステータスは、NodeManager ヘルスチェッカーサービス。ノードがレポートする場合UNHEALTHYの場合、Amazon EMR インスタンスコントローラーはノードをブラックリストに追加し、再び正常になるまで YARN コンテナを割り当てません。ノードが異常な状態になる一般的な理由としては、ディス使用率が 90% を超えることが挙げられます。異常な状態のノードを特定して復旧する方法の詳細については、「リソースエラー」を参照してください。

ノードが残っている場合UNHEALTHY45 分以上経過すると、Amazon EMR は削除保護のステータスに基づいて以下のアクションを実行します。

削除保護 結果

有効 (推奨)

Amazon EC2 コアインスタンスは、ブラックリストに入れられたまま引き続きクラスターの容量としてカウントされます。設定とデータ復旧のために Amazon EC2 コアインスタンスに接続し、クラスターのサイズを変更してキャパシティーを追加できます。詳細については、「」を参照してくださいリソースエラー

異常のあるタスクノードは終了保護の対象外となり、終了します。

無効

Amazon EC2 インスタンスは終了します。Amazon EMR は、インスタンスグループ内の指定されたインスタンス数またはインスタンスフリート用のターゲット容量に基づいて、新しいインスタンスをプロビジョニングします。すべてのコアノードが 45 分以上 UNHEALTHY の状態になっている場合、クラスターは NO_SLAVES_LEFT ステータスを報告して終了します。

重要

異常な状態が原因でコアインスタンスが終了すると、HDFS のデータが失われる可能性があります。他のノードにレプリケートされなかったブロックがノードに格納されている場合、それらのブロックは失われるため、データ損失が発生する可能性があります。必要に応じてインスタンスに接続してデータを復旧できるよう、削除保護を使用することをお勧めします。

終了保護とステップ実行

ステップ実行を有効にし、also終了保護を有効にすると、Amazon EMR は終了保護を無視します。

クラスターにステップを送信するときに ActionOnFailure プロパティを設定することにより、エラーが原因でステップの実行を完了できなかった場合に何が起きるのかを確認できます。この設定に使用できる値は、TERMINATE_CLUSTER (以前のバージョンでは TERMINATE_JOB_FLOW)、CANCEL_AND_WAIT、および CONTINUE です。詳細については、「」を参照してくださいを使用してステップを操作するAWS CLIコンソールと

で設定されたステップが失敗した場合ActionOnFailureに設定します。CANCEL_AND_WAITの場合、ステップ実行が有効になっていると、クラスターは後続のステップを実行せずに終了します。

ActionOnFailureTERMINATE_CLUSTER に設定されているステップが失敗した場合は、以下の設定の表で結果を確認してください。

ActionOnFailure ステップの実行 削除保護 結果

TERMINATE_CLUSTER

有効

無効

クラスターが終了

有効

有効

クラスターが終了

無効

有効

クラスターの稼働が継続

無効

無効

クラスターが終了

終了保護とスポットインスタンス

Amazon EMR 終了保護を有効にしても、スポット料金が最大スポット料金を超えた場合の Amazon EC2 スポットインスタンスの削除を防ぐことはできません。

クラスターを起動するときの終了保護を構成する

コンソール、AWS CLI または API を使用してクラスターを起動するときは、終了保護を有効または無効にすることができます。

デフォルトの削除保護設定は、クラスターの起動方法によって異なります。

  • Amazon EMR コンソールのクイックオプション-終了保護はを無効にするデフォルトでは、次にようになります。

  • Amazon EMR コンソールの詳細オプション-終了保護はenabledデフォルトでは、次にようになります。

  • AWS CLI aws emr create-cluster—終了保護はを無効にするない限り--termination-protectedが指定されている。

  • Amazon EMR APIRunJobFlowコマンド:終了保護はを無効にするでない限りTerminationProtectedブール値はtrue

コンソールを使用してクラスターを作成するときに削除保護を有効または無効にするには

  1. で Amazon EMR コンソールを開きます。https://console.aws.amazon.com/elasticmapreduce/

  2. [クラスターの作成] を選択します。

  3. [Go to advanced options] を選択します。

  4. を使用する場合ステップ 3: クラスターの一般的な設定で、汎用オプション次のことを確認してください。削除保護が選択されて有効になります。選択を解除して無効にします。

    
							クラスターを作成するための詳細オプションの削除保護設定。
  5. 必要に応じてアプリケーションの他の設定を選択し、[Next (次へ)] を選択してクラスターの設定を終了します。

AWS CLI を使用してクラスターを作成するときに削除保護を有効にするには

  • AWS CLI を使用して、create-cluster コマンドと --termination-protected パラメータで削除保護を有効にしたクラスターを起動できます。削除保護はデフォルトで無効になっています。

    次の例では、削除保護を有効にしたクラスターを作成します。

    注記

    読みやすくするために Linux 行継続文字 (\) が含まれています。これらは Linux コマンドで削除したり、使用できます。Windows の場合、削除するか、キャレット (^) に置き換えます。

    aws emr create-cluster --name "TerminationProtectedCluster" --release-label emr-5.33.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 を使用して、実行中のクラスターに対して終了保護を設定することができます。

コンソールを使用して実行中のクラスターの削除保護を有効または無効にするには

  1. で Amazon EMR コンソールを開きます。https://console.aws.amazon.com/elasticmapreduce/

  2. [Clusters (クラスター)] ページでクラスターの名前を選択します。

  3. [Summary (概要)] タブで [Termination protection (削除保護)] の [Change (変更)] を選択します。

  4. 削除保護を有効にするには、[On (オン)] を選択します。削除保護を無効にするには、[Off (オフ)] を選択します。次に緑のチェックマークを選択して確定します。

    
							削除保護の変更の確認

AWS CLI を使用して実行中のクラスターの削除保護を有効または無効にするには

  • AWS CLI を使用して実行中のクラスターで終了保護を有効にするには、modify-cluster-attributes コマンドと --termination-protected パラメータを使用します。削除保護を無効にするには、--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