AWS re:Postを使用することにより、以下に同意したことになります AWS re:Post 利用規約

Amazon EMR Serverless ジョブの接続とリソースアクセスに関する問題をトラブルシューティングする方法を教えてください。

所要時間1分
0

Amazon EMR Serverless の接続とリソースアクセスに関する問題をトラブルシューティングしたいです。

簡単な説明

Amazon EMR Serverless ジョブは、ソースからデータを読み取り、データを処理し、結果をデータストアに書き込みます。そのためには、ジョブを実行するワーカーは、AWS またはオンプレミスでホストされている他の AWS サービスおよびデータソースに接続する必要があります。アプリケーションが正しく構成されていないと、次のようなネットワークエラーが発生する可能性があります。

"java.net.SocketTimeoutException: 接続がタイムアウトしました。"

Amazon EMR Serverless ジョブのネットワークオプションの詳細については、「VPC アクセスの設定」および「その他の考慮事項」を参照してください。

解決策

Amazon EMR Serverless ジョブの接続とリソースアクセスの問題をトラブルシューティングするには、次の手順を実行します。

ネットワークエラーが原因でジョブが失敗したかどうかを確認するには、ジョブのステータス詳細またはドライバーログを確認します。次のエラーメッセージが表示されているかを確認します。

"java.net.SocketTimeoutException: 接続がタイムアウトしました。"

上記のエラーがジョブのステータス詳細に表示され、ドライバーログを取得できない場合、ジョブは開始されていません。ワーカーが Amazon Simple Storage Service (Amazon S3) からスクリプトを取得できなかったため、ジョブは開始されませんでした。その結果、ログを取得しようとすると次のエラーが表示されます。

"<job_name> (<job_run_id>) のログを開くことができませんでした。${apiError}"

SAML 関連のエラーをトラブルシューティングするには、次の操作を行います。

  • アプリケーションが実行されているネットワークから Amazon S3 バケットにアクセスできることを確認します。
  • Amazon VPC エンドポイントポリシー、AWS Identity and Access Management (IAM) ポリシー、サービスポリシー、バケットポリシーがジョブへのアクセスを拒否していないことを確認します。
  • ジョブが Amazon VPC サブネットで実行され、インターネットへのアウトバウンド接続がない場合は、Amazon S3 ゲートウェイ Amazon VPC エンドポイントを作成します。エンドポイントは、必ずアプリケーションと同じサブネットに作成してください。

これらのエラーがドライバーログにある場合は、エラーコードメッセージを確認して、アクセスできない AWS サービスまたはデータソースを特定します。次に、現在のネットワーク設定で AWS サービスまたはデータソースにアクセスできるかどうかを確認します。アクセスできない場合は、ネットワーク設定を更新してください。

Amazon VPC アプリケーションの場合は、次のアクションを実行します。

  • アタッチされたセキュリティグループが、必要なリソースへのアウトバウンドトラフィックを許可していることを確認します。または、すべてのポートでアウトバウンドトラフィックを許可します。
  • ホストアプリケーションのサブネットネットワークアクセスコントロールリスト (ネットワーク ACL) が、必要なリソース間のトラフィックを拒否していないことを確認します。
  • リソースのセキュリティグループが、アプリケーションのサブネットまたはセキュリティグループからのインバウンドトラフィックを許可していることを確認します。
  • アプリケーションにインターネット接続が必要な場合は、パブリック NAT ゲートウェイからのアウトバウンドインターネット接続を備えたプライベートサブネットを使用します。
  • アプリケーションにアウトバウンドインターネット接続がない場合は、ジョブがアクセスする必要のある AWS サービスの Amazon VPC エンドポイントを使用します。
  • アプリケーションのサブネットから宛先リソースにアクセスできるかどうかを判断するには、Reachability Analyzer を使用します。ソースにはワーカーのエラスティックネットワークインターフェイスを使用し、宛先にはリソースのエラスティックネットワークインターフェイスまたは IP アドレスを使用します。

追加のトラブルシューティング

以前に実行していたアプリケーションが起動状態のままになっている場合は、セキュリティグループを確認します。既存のセキュリティグループが Amazon VPC アプリケーションから削除されていないことを確認してください。

ジョブが単一のサブネットを使用しているが、複数のサブネットを設定した場合、アプリケーションが事前に初期化されたキャパシティで構成される場合があります。その結果、ワーカーは単一のサブネットで起動し、アプリケーションは停止するまでそのサブネットを使用し続けます。アプリケーションに送信されるすべてのジョブは、事前に初期化されたワーカーのサブネットを使用します。

IP アドレスが枯渇したり、Amazon EMR Serverless が使用可能なサブネット IP アドレスをすべて使用したりした場合は、アプリケーションをスケーリングしてください。サブネット内のワーカーと IP アドレスには 1 対 1 のマッピングがあります。サブネットに、アプリケーションを起動するのに十分な数の IP アドレスがあることを確認します。詳細については、「サブネット計画のベストプラクティス」を参照してください。

AWS公式
AWS公式更新しました 2ヶ月前
コメントはありません

関連するコンテンツ