AWS Glue의 "The specified subnet does not have enough free addresses to satisfy the request" 오류를 해결하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 8월 27일

다음과 같은 오류가 발생하여 AWS Glue 작업이 실패합니다.

"The specified subnet does not have enough free addresses to satisfy the request. (Service: AmazonEC2; Status Code: 400; Error Code: InsufficientFreeAddressesInSubnet; Request ID: my_request_id)"

간략한 설명

이 오류는 AWS Glue 작업에 사용할 수 있는 IP 주소가 부족할 때 발생합니다. 이 오류가 발생하는 두 가지 일반적인 이유는 다음과 같습니다.

  • Virtual Private Cloud(VPC) 서브넷에서 작업을 실행하면 AWS Glue에서 작업을 VPC의 다른 리소스로 안전하게 연결할 수 있는 탄력적 네트워크 인터페이스가 설정됩니다. 각 탄력적 네트워크 인터페이스가 프라이빗 IP 주소를 가져옵니다. 탄력적 네트워크 인터페이스가 시기적절하게 릴리스되지 않으면 작업에 사용할 수 있는 IP 주소가 부족해질 수 있습니다. 이 오류를 해결하려면 작업에서 사용한 DPU 개수를 확인합니다. 그런 다음, DPU 수를 줄이고 작업을 다시 실행합니다. 또는 사용하지 않는 탄력적 네트워크 인터페이스를 삭제합니다.
  • 여러 AWS 서비스가 동일한 서브넷을 사용하고 있습니다. 이 서비스들이 서브넷의 사용 가능한 IP 주소를 여러 개 사용하고 있을 수 있습니다. 이 오류를 해결하려면 더 많은 IP 주소를 사용할 수 있는 다른 서브넷을 AWS Glue 작업에 사용하세요.

​해결 방법

이 오류를 해결하려면 다음 방법 중 하나를 사용합니다.

작업의 DPU 개수 줄이기

작업 실행이 완료되면 작업에서 사용한 DPU가 몇 개인지 확인합니다.

  1. AWS Glue 콘솔을 엽니다.
  2. 탐색 창에서 [Jobs]를 선택합니다.
  3. 작업을 선택한 다음, [History] 탭을 선택합니다. [Maximum capacity] 열에 작업에 사용된 DPU 개수가 표시됩니다.

작업의 DPU 개수를 줄입니다.

  1. 작업에서 DPU를 몇 개 제거할지 결정합니다. DPU 개수가 탄력적 네트워크 인터페이스 수와 같지 않다는 것을 기억하세요. 언제나 탄력적 네트워크 1개가 각 작업자에 연결됩니다. 그러나 각 작업에 추가적인 탄력적 네트워크 인터페이스도 필요합니다.
    표준 작업자 유형(작업자당 DPU 1개): 추가 탄력적 네트워크 인터페이스 1개 필요
    G1.X 작업자 유형(작업자당 DPU 1개): 추가 탄력적 네트워크 인터페이스 2개 필요
    G2.X 작업자 유형(DPU 2개): 추가 탄력적 네트워크 인터페이스 2개 필요
  2. 탐색 창에서 [Jobs]를 선택합니다.
  3. [Action] 드롭다운 메뉴를 선택한 다음, [Edit job]을 선택합니다.
  4. [Security configuration, script libraries, and job parameters(optional)] 목록을 펼칩니다.
  5. [Maximum capacity] 필드에 더 낮은 숫자를 입력합니다. 이 필드는 작업에서 사용할 수 있는 DPU의 최대 개수를 설정합니다.
  6. 변경 사항을 저장한 다음, 작업을 다시 실행합니다.

사용하지 않는 탄력적 네트워크 인터페이스 삭제

자세한 내용은 네트워크 인터페이스 삭제를 참조하세요.

사용 가능한 IP 주소가 더 많은 서브넷 사용

새 서브넷을 생성합니다.

  1. VPC에 새 서브넷을 생성합니다.
    참고: VPC의 원본 CIDR 블록을 사용하여 새 서브넷을 생성하거나 새 서브넷에 사용할 추가 CIDR 블록을 VPC에 추가합니다.
  2. 이전 서브넷과 연결된 라우팅 테이블ACL(액세스 제어 목록) 규칙을 검토하고 새 서브넷이 동일한 방식으로 트래픽을 라우팅하는지 확인합니다. 예를 들어 이전 서브넷이 기본 경로를 인터넷 게이트웨이로 구성했다면, 새 서브넷에 유사한 기본 경로가 있는지 확인합니다.

새 서브넷에 사용할 수 있도록 AWS Glue 연결을 수정합니다.

  1. AWS Glue 콘솔을 엽니다.
  2. 탐색 창에서 [Connections]를 선택합니다.
  3. AWS Glue 작업에 사용 중인 연결 옆의 확인란을 선택합니다.
  4. [Action] 드롭다운 목록에서 [Edit connection]을 선택합니다.
  5. [Set up your connection’s properties] 페이지에서 [Next]를 선택합니다.
  6. [Set up access to your data store] 페이지의 [Subnet] 드롭다운 목록에서 새 서브넷을 선택합니다.
  7. [Next]을 선택한 다음, [Finish]를 선택합니다.
  8. 작업을 다시 실행합니다.

서브넷에서 사용 가능한 IP 주소 개수를 확인합니다.

  1. AWS Glue 콘솔을 엽니다.
  2. 탐색 창에서 [Connections]를 선택합니다.
  3. AWS Glue 작업에 사용 중인 연결 옆의 확인란을 선택합니다.
  4. [Action] 드롭다운 목록에서 [View details]를 선택합니다. 서브넷을 메모합니다.
  5. Amazon VPC 콘솔을 엽니다.
  6. 탐색 창에서 [Subnets]를 선택합니다.
  7. [Subnet] 드롭다운 목록에서 AWS Glue 연결에 사용 중인 서브넷을 선택합니다.
  8. [Description] 탭에서 [Available IPv4 Addresses] 필드를 확인합니다. 이 필드에는 서브넷에서 사용 가능한 IP 주소 개수가 표시되어 있습니다.

이 문서가 도움이 되었습니까?


결제 또는 기술 지원이 필요합니까?