自動終了ポリシーを使用する
自動終了ポリシーを使用すると、未使用のクラスターをモニタリングして手動で終了することなく、クラスターのクリーンアップをオーケストレーションできます。クラスターに自動終了ポリシーを追加する場合、クラスターが自動的にシャットダウンするまでのアイドル時間を指定します。
リリースバージョンに応じて、Amazon EMR は異なる基準を使用してクラスターをアイドルとしてマークします。次の表は、Amazon EMR がクラスターのアイドル状態を決定する方法の概要を示しています。
使用するバージョン | クラスターがアイドル状態と見なされる基準 |
---|---|
Amazon EMR バージョン 5.34.0 以降、および 6.4.0 以降 |
|
Amazon EMR バージョン 5.30.0~5.33.0 および 6.1.0~6.3.0 |
注記Amazon EMR はクラスターをアイドルとしてマークし、アクティブな Python3 カーネルがある場合でも、クラスターを自動的に終了することがあります。これは、Python3 カーネルを実行しても Spark ジョブがクラスターで送信されないためです。Python3 カーネルで自動終了を使用するには、Amazon EMR バージョン 6.4.0 以降を使用することをお勧めします。 |
注記
Amazon EMR バージョン 6.4.0 以降では、プライマリノードでのアクティビティを検出するためのクラスター上のファイル /emr/metricscollector/isbusy
がサポートされています。クラスターを使用してシェルスクリプトまたは非 Yarn アプリケーションを実行する場合、isbusy
を定期的に変更または更新して、クラスターがアイドル状態ではないことを Amazon EMR に伝えることができます。
クラスターの作成時に自動終了ポリシーをアタッチしたり、既存のクラスターにポリシーを追加したりできます。自動終了を変更または無効にするには、ポリシーを更新または削除することができます。
考慮事項
自動終了ポリシーを使用する前に、次の機能と制限を考慮してください。
-
アジアパシフィック (ジャカルタ) では、Amazon EMR の自動終了は Amazon EMR 6.14.0 以降で使用できます。
-
以下の AWS リージョンでは、Amazon EMR の自動終了は Amazon EMR 5.30.0 および 6.1.0 以降で使用できます。
米国東部 (バージニア北部、オハイオ)、米国西部 (オレゴン、北カリフォルニア)、南米 (サンパウロ)、欧州 (フランクフルト、アイルランド、ロンドン、ミラノ、パリ、ストックホルム)、カナダ (中部)、アジアパシフィック (香港、ムンバイ、ソウル、シンガポール、シドニー、東京)、中東 (バーレーン)、アフリカ (ケープタウン)、AWS GovCloud (米国東部)、AWS GovCloud (米国西部)、Sinnet が運営する中国 (北京)、NWCD が運営する中国 (寧夏)。
-
アイドルタイムアウトは、時間を指定しない場合、デフォルトで 60 分 (1 時間) です。最小アイドルタイムアウトには 1 分、最大アイドルタイムアウトには 7 日間を指定できます。
-
Amazon EMR バージョン 6.4.0 以降では、Amazon EMR コンソールで新しいクラスターを作成すると、自動終了がデフォルトで有効になります。
-
クラスターの自動終了を有効にする場合、Amazon EMR は高解像度の Amazon CloudWatch メトリクスを公開します。これらのメトリクスを使用して、クラスターのアクティビティとアイドル状態を追跡できます。詳細については、「クラスター容量メトリクス」を参照してください。
-
Presto、Trino、HBase などの非 Yarn アプリケーションを使用する場合、自動終了はサポートされません。
-
自動終了を使用するには、メトリクスコレクタープロセスが API Gateway の自動終了用のパブリック API エンドポイントに接続できる必要があります。Amazon Virtual Private Cloud でプライベート DNS 名を使用すると、自動終了は正しく機能しません。自動終了が動作するようにするには、次のアクションの 1 つを実行することをお勧めします。
-
Amazon VPC から API Gateway のインターフェイス VPC エンドポイントを削除します。
-
「VPC から API Gateway API に接続するときに「HTTP 403 Forbidden」エラーが発生するのはなぜですか?
」の手順に従い、プライベート DNS 名の設定を無効にします。 -
代わりに、クラスターをプライベートサブネットで起動します。詳細については、「プライベートサブネット」のトピックを参照してください。
-
-
(EMR 5.30.0 以降) プライマリセキュリティグループのデフォルトの [すべて許可] アウトバウンドルールを削除して 0.0.0.0/ にした場合、サービスアクセス用のセキュリティグループへのアウトバウンド TCP 接続をポート 9443 で許可するルールを追加する必要があります。サービスアクセス用のセキュリティグループで、プライマリセキュリティグループからのインバウンド TCP トラフィックをポート 9443 で許可する必要もあります。セキュリティグループの設定の詳細については、「Amazon EMR-managed security group for the primary instance (private subnets))」を参照してください。
自動終了を使用するためのアクセス許可
Amazon EMR の自動終了ポリシーを適用および管理するには、次の EMR クラスターを管理する IAM リソースへの IAM アクセス許可ポリシーの例に記載されている、アクセス許可にアタッチする必要があります。
{ "Version": "2012-10-17", "Statement": { "Sid": "AllowAutoTerminationPolicyActions", "Effect": "Allow", "Action": [ "elasticmapreduce:PutAutoTerminationPolicy", "elasticmapreduce:GetAutoTerminationPolicy", "elasticmapreduce:RemoveAutoTerminationPolicy" ], "Resource": "
<your-resources>
" } }
自動終了ポリシーをアタッチ、更新、または削除する
このセクションでは、Amazon EMR クラスターに自動終了ポリシーをアタッチ、更新、または削除する手順について説明します。自動終了ポリシーを使用する前に、必要な IAM アクセス許可があることを確認してください。「自動終了を使用するためのアクセス許可」を参照してください。
注記
Amazon EMR コンソールは、再設計され、使いやすくなりました。古いコンソールと新しいコンソールエクスペリエンスの違いについては、「コンソールの新機能」を参照してください。