"Could not connect to the endpoint URL" (DynamoDB) — 엔드포인트 URL에 연결할 수 없습니다.

TL;DR — botocore가 해결한 DynamoDB 엔드포인트에 대한 연결을 열 수 없습니다. 거의 항상 잘못된 1--endpoint-url, DynamoDB Local이 실행되지 않음, 존재하지 않는 호스트 이름을 생성하는 잘못/오타된 지역 또는 네트워크 경로 없음(오프라인, VPC, 보안 그룹). 연결 가능한 엔드포인트를 가리키고 무언가가 듣고 있는지 확인하세요.

무엇을 의미하는가

botocore.exceptions.EndpointConnectionError: Could not connect to the
endpoint URL: "http://localhost:8000/"

# what the engine actually returns, reproduced against Amazon DynamoDB (live service, us-east-1):
connect ECONNREFUSED 127.0.0.1:9

boto3/botocore는 해당 리전(또는 명시적인 endpoint_url)에서 DynamoDB 엔드포인트 URL을 구축한 다음 이에 대한 TCP/HTTP 연결 설정에 실패합니다. 인증 또는 유효성 검사 오류와 달리 요청은 실행 중인 서비스에 도달하지 않았습니다. DynamoDB Local(에뮬레이터 작동 중지/잘못된 포트) 및 실제 AWS(잘못된 지역 호스트 이름 또는 차단된 네트워크)에 대해 모두 표시됩니다.

왜 발생하는가

  • DynamoDB Local이 실행되고 있지 않습니다--endpoint-url http://localhost:8000를 전달했지만 에뮬레이터가 해당 포트(see connection refused)에서 작동하지 않습니다.
  • 잘못된 엔드포인트 URL — 오타, 잘못된 포트 또는 로컬 에뮬레이터가 http을 제공하는 https입니다.
  • 잘못된 지역 — 철자가 틀린 지역(us-east-11)은 존재하지 않는 호스트 이름으로 확인되므로 연결할 수 없습니다.
  • 네트워크 경로 없음 — 오프라인이거나 VPC 엔드포인트, 보안 그룹 또는 네트워크 ACL에 의해 차단된 DynamoDB 트래픽입니다.
  • 교차 컨테이너/교차 호스트 — Docker 내부에서 localhost는 호스트나 DynamoDB 로컬 서비스가 아닌 컨테이너 자체입니다.

어떻게 해결하는가

  1. 엔드포인트에서 듣고 있는 내용을 확인하세요.

    curl http://localhost:8000    # DynamoDB Local answers with a small response
  2. 엔드포인트 URL 수정 — 호스트, 포트(기본적으로 8000) 및 구성표(로컬의 경우 http)를 수정합니다.

  3. 실제 AWS의 리전 철자를 확인하고 네트워크 경로가 있는지 확인합니다(VPC 엔드포인트/보안 그룹 규칙은 DynamoDB를 허용함).

  4. Docker에서는 localhost 대신 compose 서비스 이름 또는 host.docker.internal를 사용합니다(host.docker.internal는 Docker Desktop에서 자동으로 확인되며 Linux Docker 엔진에서는 --add-host host.docker.internal:host-gateway를 추가합니다).

  5. 실제 AWS와 대화 중이신가요? --endpoint-url 재정의를 완전히 삭제하고 botocore가 올바른 지역 엔드포인트를 구축하도록 하세요.

DynoTable을 Local에 연결

DynoTable은 각 프로필의 Test Connection을 통해 연결을 검증합니다. 설정 → 프로필 (Connect an AWS account). 에 대한 DynamoDB Local, 엔드포인트 http://localhost:8000(또는 LocalStack의 경우 :4566) 설정 자리 표시자 자격 증명 사용 - CLI에 필요한 것과 동일한 값입니다. ⌘P을 누르세요 앱이 DynoTable과 다른 포트를 사용할 때 프로필을 전환합니다. 가이드: Connect to DynamoDB Local & LocalStack.

실제 AWS와 비교하여 지역 문자열의 오타로 인해 호스트 이름이 생성되지 않습니다. 해결 — 연결할 수 없는 로컬 포트와 동일한 EndpointConnectionError 모양입니다. 디버깅하기 전에 프로필에서 aws sts get-caller-identity로 확인하세요. DynamoDB 관련 설정.

관련 오류

출처

Console 없이 DynamoDB 작업하기

DynamoDB로는 실행할 수 없는 진짜 SQL(JOINs, GROUP BY, 집계)을 실행하는 빠른 DynamoDB 데스크톱 클라이언트. 시각적 편집과 여러분 자신의 Bedrock 키로 동작하는 AI 에이전트를 제공합니다.

30일 무료 체험, 신용카드 불필요 — 이후 기간 제한 없는 무료 요금제.