終了保護を使用してクラスターを誤ってシャットダウンするのを防ぐ - Amazon EMR

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

終了保護を使用してクラスターを誤ってシャットダウンするのを防ぐ

終了保護は、クラスターを偶発的な終了から保護します。これは、重要なワークロードを処理する長時間稼働クラスターに特に役立ちます。長時間稼働クラスターで削除保護が有効になっていてもクラスターを終了することはできますが、最初にクラスターから明示的に削除保護を削除する必要があります。これにより、EC2インスタンスが事故やエラーによってシャットダウンされないようになります。削除保護はクラスターの作成時に有効にできます。また、実行中のクラスターで設定を変更することもできます。

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

警告

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

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

終了保護と Amazon EC2

Amazon EMRクラスターの終了保護設定は、クラスター内のすべての Amazon EC2インスタンスの DisableApiTermination 属性に対応します。例えば、 EMRクラスターで終了保護を有効にすると、Amazon はEMRクラスター内のすべてのEC2インスタンスに対して EMR を自動的に DisableApiTermination true に設定します。終了保護を無効にする場合も同様です。Amazon はDisableApiTermination、EMRクラスター内のすべてのEC2インスタンスに対して EMR を自動的に false に設定します。Amazon からクラスターを終了またはスケールダウンEMRし、EC2インスタンスの Amazon EC2設定が競合する場合、Amazon は Amazon EMRの DisableApiStopおよび 設定よりも Amazon DisableApiTermination設定をEMR優先EC2し、EC2インスタンスを終了し続けます。

例えば、Amazon EC2コンソールを使用して、終了保護が無効になっているEMRクラスター内の Amazon EC2インスタンスで終了保護を有効にできます。Amazon EMRコンソールを使用してクラスターを終了またはスケールダウンする場合、 AWS CLI、または Amazon EMR ではAPI、Amazon が DisableApiTermination設定をEMR上書きし、false に設定して、他のインスタンスとともにインスタンスを終了します。

また、Amazon EC2コンソールを使用して、終了保護が無効になっているEMRクラスター内の Amazon EC2インスタンスで停止保護を有効にすることもできます。クラスターを終了またはスケールダウンすると、Amazon EMRは Amazon で DisableApiStopを false に設定EC2し、他のインスタンスとともにインスタンスを終了します。

Amazon は、クラスターを終了またはスケールダウンする場合にのみDisableApiStop設定をEMR上書きします。EMR クラスターで終了保護を有効または無効にしても、Amazon EMRはそれぞれのEMRクラスター内のEC2インスタンスのdisableApiStop設定を変更しません。

重要

終了保護付きの Amazon EMRクラスターの一部としてインスタンスを作成し、Amazon EC2APIまたは を使用する場合 AWS CLI が になるようにインスタンスを変更する コマンドfalse、Amazon DisableApiTermination EC2APIまたは AWS CLI コマンドは TerminateInstancesオペレーションを実行し、Amazon EC2インスタンスは終了します。

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

Amazon は、クラスター内のコアおよびタスク Amazon EC2インスタンスで実行されているノードの Apache Hadoop YARNステータスEMRを定期的に確認します。ヘルスステータスは、NodeManager ヘルスチェッカーサービス によって報告されます。ノードが を報告するとUNHEALTHY、Amazon EMRインスタンスコントローラーはノードを拒否リストに追加し、再び正常になるまでYARNコンテナを割り当てません。終了保護、異常なノード交換、Amazon EMRリリースバージョンのステータスに応じて、Amazon EMRは異常なインスタンスを置き換えるか、インスタンス へのコントローラーの割り当てを停止します。 https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-node-replacement.html

ステップ実行後の終了保護と終了

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

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

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

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

ActionOnFailure ステップ実行後の終了 終了保護 結果

TERMINATE_CLUSTER

有効

無効

クラスターが終了

有効

有効

クラスターが終了

無効

有効

クラスターの稼働が継続

無効

無効

クラスターが終了

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

Amazon EMR 終了保護は、EC2スポット料金が最大スポット料金を超えたときに Amazon スポットインスタンスが終了することを妨げません。

クラスターを起動するときに終了保護を設定する

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

単一ノードクラスターの場合、デフォルトの終了保護設定は次のとおりです。

  • Amazon EMRコンソールによるクラスターの起動 — 終了保護はデフォルトで無効になっています

  • によるクラスターの起動 AWS CLI aws emr create-cluster— が指定されていない限り、終了保護--termination-protected無効になります。

  • Amazon EMR API RunJobFlow コマンドによるクラスターの起動 — ブール値が TerminationProtected に設定されていない限り、終了保護は無効になりますtrue

高可用性クラスターの場合、デフォルトの終了保護設定は次のとおりです。

  • Amazon EMRコンソールによるクラスターの起動 — Termination Protection はデフォルトで有効になっています。

  • によるクラスターの起動 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
  • で AWS CLIでは、 --termination-protectedパラメータを指定して create-cluster コマンドを使用して、終了保護を有効にしたクラスターを起動できます。削除保護はデフォルトで無効になっています。

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

    注記

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

    aws emr create-cluster --name "TerminationProtectedCluster" --release-label emr-7.2.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