내용으로 건너뛰기

Amazon EMR Serverless 작업과 관련된 연결 및 리소스 액세스 문제를 해결하려면 어떻게 해야 합니까?

3분 분량
0

Amazon EMR Serverless 작업과 관련된 연결 및 리소스 액세스 문제를 해결하고 싶습니다.

간략한 설명

Amazon EMR Serverless 작업은 소스에서 데이터를 읽고, 데이터를 처리하고, 결과를 데이터 저장소에 씁니다. 이를 위해서는 작업을 실행하는 작업자가 AWS 또는 온프레미스에서 호스팅되는 다른 AWS 서비스 및 데이터 소스에 연결해야 합니다. 애플리케이션이 제대로 구성되지 않은 경우 다음과 같은 네트워크 오류가 발생할 수 있습니다.

"java.net.SocketTimeoutException: Connect timed out."

Amazon EMR Serverless 작업의 네트워킹 옵션에 대한 자세한 내용은 VPC 액세스 구성기타 고려 사항을 참조하십시오.

해결 방법

Amazon EMR Serverless 작업의 연결 및 리소스 액세스 문제를 해결하려면 다음 단계를 완료하십시오.

네트워킹 오류로 인해 작업이 실패했는지 여부를 확인하려면 작업의 상태 세부 정보 또는 드라이버 로그를 확인합니다. 다음 오류 메시지를 확인합니다.

"java.net.SocketTimeoutException: Connect timed out."

작업의 상태 세부 정보에 위 오류가 표시되고 드라이버 로그를 가져올 수 없는 경우 작업이 시작되지 않은 것입니다. 작업자가 Amazon Simple Storage Service(Amazon S3)에서 스크립트를 가져올 수 없어서 작업이 시작되지 않았습니다. 따라서 로그를 가져오려고 할 때 다음 오류가 나타납니다.

"Failed to open logs for <job_name> (<job_run_id>). ${apiError}"

위 오류를 해결하려면 다음 조치를 취하십시오.

  • 애플리케이션이 실행되는 네트워크에서 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 주소는 일대일로 매핑됩니다. 서브넷에 애플리케이션을 시작하는 데 사용할 수 있는 IP 주소가 충분한지 확인하십시오. 자세한 내용은 서브넷 계획 모범 사례를 참조하십시오.

AWS 공식업데이트됨 2년 전