翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
終了保護の使用
長時間稼働クラスターで削除保護が有効になっていてもクラスターを終了することはできますが、最初にクラスターから明示的に削除保護を削除する必要があります。これにより、事故やエラーで EC2 インスタンスがシャットダウンされることがなくなります。削除保護は、インスタンスが終了する前に復元する必要があるデータがクラスターのローカルディスクに格納されている場合に特に役に立ちます。削除保護はクラスターの作成時に有効にできます。また、実行中のクラスターで設定を変更することもできます。
終了保護が有効になっていると、Amazon EMR API の TerminateJobFlows
アクションは機能しません。ユーザーは、この API や AWS CLI の terminate-clusters
コマンドでクラスターを終了することはできません。この API はエラーを返し、CLI はゼロ以外のリターンコードで終了します。Amazon EMR コンソールを使用してクラスターを終了する場合、終了保護を無効にする追加ステップが示されます。
終了保護は、ヒューマンエラーや回避策が発生した場合にデータが保持されることを保証するものではありません。例えば、SSH を使用してインスタンスに接続しているときにコマンドラインから再起動コマンドが発行された場合、インスタンスで実行されているアプリケーションまたはスクリプトによって再起動コマンドが発行された場合、または Amazon EC2 や Amazon EMR API が使用されて終了保護が無効にされた場合などです。終了保護が有効になっている場合でも、HDFS データを含むインスタンスストレージに保存されたデータは失われる可能性があります。Simple Storage Service (Amazon S3) のロケーションにデータ出力を書き込み、ビジネス継続性の要件に応じてバックアップ戦略を作成します。
削除保護は、以下のアクションによるクラスターリソースのスケールに影響することはありません。
-
AWS Management Console または AWS CLI を使用して手動でクラスターのサイズを変更する。詳細については、「実行中のクラスターのサイズを手動で変更する」を参照してください。
-
スケールインポリシーと自動スケーリングを使用して、コアまたはタスクインスタンスグループからインスタンスを削除する。詳細については、「カスタムポリシーによる自動スケーリングをインスタンスグループに使用する 」を参照してください。
-
ターゲット容量を減らしてインスタンスフリートからインスタンスを削除する。詳細については、「インスタンスフリートオプション」を参照してください。
終了保護と Amazon EC2
終了保護が有効になっている Amazon EMR クラスターでは、クラスターのすべての Amazon EC2 インスタンスに disableAPITermination
属性が設定されています。終了リクエストが Amazon EMR で発生し、インスタンスの Amazon EMR と Amazon EC2 の設定が競合する場合、Amazon EMR の設定が Amazon EC2 の設定に優先します。例えば、Amazon EC2 コンソールを使用して、終了保護が無効になっているクラスター内の Amazon EC2 インスタンスに対して終了保護を有効にする場合、Amazon EMR コンソール、Amazon EMR の AWS CLI コマンド、または Amazon EMR API を使用してクラスターを終了すると、Amazon EMR は DisableApiTermination
をfalse
に設定し、他のインスタンスとともにインスタンスを終了します。
終了保護を設定した Amazon EMR クラスターの一部としてインスタンスを作成し、DisableApiTermination
が false
になるように Amazon EC2 API または AWS CLI コマンドを使用してインスタンスを変更してから、Amazon EC2 API または AWS CLI コマンドで TerminateInstances
アクションを実行した場合、Amazon EC2 インスタンスは終了します。
終了保護と異常な状態の YARN ノード
Amazon EMR は、クラスターのコアおよびタスクの Amazon EC2 インスタンスで実行されている Apache Hadoop YARN のノードのステータスを定期的にチェックします。ヘルスステータスは、NodeManager ヘルスチェッカーサービスUNHEALTHY
を報告すると、Amazon EMR のインスタンスコントローラーはノードを拒否リストに追加し、再び正常な状態になるまで YARN コンテナを割り当てません。ノードが異常な状態になる一般的な理由としては、ディス使用率が 90% を超えることが挙げられます。異常な状態のノードを特定して復旧する方法の詳細については、「リソースエラー」を参照してください。
ノードが UNHEALTHY
の状態が 45 分以上続く場合、Amazon EMR は終了保護のステータスに基づいて以下のアクションを実行します。
終了保護 | 結果 |
---|---|
有効 (推奨) |
Amazon EC2 コアインスタンスは拒否リスト状態のままであり、引き続きクラスター容量に加算されます。設定とデータ復旧のために Amazon EC2 のコアインスタンスに接続し、クラスターのサイズを変更してキャパシティを追加できます。詳細については、「リソースエラー」を参照してください。 異常のあるタスクノードは終了保護の対象外となり、終了されます。 |
無効 |
Amazon EC2 インスタンスは終了されます。Amazon EMR は、インスタンスグループか、またはインスタンスフリート用のターゲット容量で指定されたインスタンス数に基づいて新しいインスタンスをプロビジョニングします。すべてのコアノードが 45 分以上 異常な状態が原因でコアインスタンスが終了すると、HDFS のデータが失われる可能性があります。他のノードにレプリケートされなかったブロックがノードに格納されている場合、それらのブロックは失われるため、データ損失が発生する可能性があります。必要に応じてインスタンスに接続してデータを復旧できるよう、削除保護を使用することをお勧めします。 |
終了保護とステップ実行
ステップ実行を有効にし、終了保護も有効にすると、Amazon EMR は終了保護を無視します。
クラスターにステップを送信するときに ActionOnFailure
プロパティを設定することにより、エラーが原因でステップの実行を完了できなかった場合に何が起きるのかを確認できます。この設定に使用できる値は、TERMINATE_CLUSTER
(以前のバージョンでは TERMINATE_JOB_FLOW
)、CANCEL_AND_WAIT
、および CONTINUE
です。詳細については、「クラスターへの作業の送信」を参照してください。
ActionOnFailure
を CANCEL_AND_WAIT
に設定したステップが失敗した場合、ステップ実行が有効になっていると、クラスターは後続のステップを実行せずに終了します。
ActionOnFailure
が TERMINATE_CLUSTER
に設定されているステップが失敗した場合は、以下の設定の表で結果を確認してください。
ActionOnFailure | ステップ実行 | 終了保護 | 結果 |
---|---|---|---|
|
有効 |
無効 |
クラスターが終了 |
有効 |
有効 |
クラスターが終了 |
|
無効 |
有効 |
クラスターの稼働が継続 |
|
無効 |
無効 |
クラスターが終了 |
終了保護とスポットインスタンス
Amazon EMR の終了保護を有効にしても、スポット料金が最大スポット料金を超えた場合の Amazon EC2 スポットインスタンスの終了を防ぐことはできません。
クラスターを起動するときに終了保護を設定する
コンソール、AWS CLI または API を使用してクラスターを起動するときは、終了保護を有効または無効にすることができます。
デフォルトの削除保護設定は、クラスターの起動方法によって異なります。
-
Amazon EMR コンソールのクイックオプション - 終了保護はデフォルトで無効になっています。
-
Amazon EMR コンソールの詳細オプション - 終了保護はデフォルトで有効になっています。
-
AWS CLI
aws emr create-cluster
—--termination-protected
が指定されていない限り、終了保護は無効になっています。 -
Amazon EMR API RunJobFlow コマンド -
TerminationProtected
ブール値がtrue
に設定されていない限り、終了保護は無効になっています。
コンソールを使用してクラスターを作成するときに削除保護を有効または無効にするには
-
で Amazon EMR コンソールを開きます。https://console.aws.amazon.com/elasticmapreduce/
。 -
[Create cluster] (クラスターを作成) を選択します。
-
[Go to advanced options] を選択します。
-
を使用する場合ステップ 3: クラスター全般設定、の下で汎用オプション次を確認します。終了保護が選択されて有効になっていますが、選択を解除して無効にします。
-
必要に応じてアプリケーションの他の設定を選択し、[Next (次へ)] を選択してクラスターの設定を終了します。
AWS CLI を使用してクラスターを作成するときに削除保護を有効にするには
-
AWS CLI を使用して、
create-cluster
コマンドと--termination-protected
パラメータで削除保護を有効にしたクラスターを起動できます。削除保護はデフォルトで無効になっています。次の例では、削除保護を有効にしたクラスターを作成します。
注記 読みやすくするために、Linux 行連続文字 (\) が含まれています。Linux コマンドでは、これらは削除することも、使用することもできます。Windows の場合、削除するか、キャレット (^) に置き換えてください。
aws emr create-cluster --name "
TerminationProtectedCluster
" --release-labelemr-5.36.0
\ --applications Name=Hadoop
Name=Hive
Name=Pig
\ --use-default-roles --ec2-attributes KeyName=myKey
--instance-typem5.xlarge
\ --instance-count3
--termination-protectedAWS CLI での Amazon EMR コマンドの使用の詳細については、https://docs.aws.amazon.com/cli/latest/reference/emr を参照してください。
実行中のクラスターに対する終了保護の設定
コンソールまたは AWS CLI を使用して、実行中のクラスターに対して終了保護を設定することができます。
コンソールを使用して実行中のクラスターの削除保護を有効または無効にするには
で Amazon EMR コンソールを開きます。https://console.aws.amazon.com/elasticmapreduce/
。 -
[Clusters (クラスター)] ページでクラスターの名前を選択します。
-
[Summary (概要)] タブで [Termination protection (削除保護)] の [Change (変更)] を選択します。
-
削除保護を有効にするには、[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