The config profile could not be found

요약 — 사용 중인 프로필 이름이 프로세스가 읽는 AWS 구성 파일에 존재하지 않습니다. 흔한 원인 세 가지: 오래된 AWS_PROFILE 환경 변수, --profile/profile_name의 오타, 또는 잘못된 섹션 헤더 아래 정의된 프로필입니다 — ~/.aws/config 파일은 [profile myprofile]이 필요하고 ~/.aws/credentials는 단순히 [myprofile]를 사용합니다. aws configure list-profiles를 실행해 비교하세요.

무엇을 의미하나요

botocore.exceptions.ProfileNotFound: The config profile (myprofile) could not be found

DynamoDB 호출이 서명되기 전에 SDK는 자격 증명 프로필을 해석합니다. 프로필이 명시적으로 요청 되었는데(AWS_PROFILE, --profile, 또는 boto3.Session(profile_name=...)를 통해) 읽고 있는 config/credentials 파일에 그 이름의 섹션이 없으면, 해석이 이 오류와 함께 중단됩니다. AWS에는 아무것도 도달하지 않았습니다 — 전적으로 로컬 구성 조회가 실패한 것입니다.

왜 발생하나요

  • AWS_PROFILE이 존재하지 않는 프로필을 가리킴 — 오래전 셸 rc 파일, 컨테이너 이미지, 또는 CI 구성에 설정되었는데 이후 프로필이 이름이 바뀌거나 제거되었습니다.
  • 오타 또는 대소문자 불일치 — 프로필 이름은 정확히 일치해야 합니다.
  • 잘못된 섹션 헤더 구문~/.aws/config에서 이름 있는 프로필은 [profile myprofile]로 선언해야 합니다. 거기에 [myprofile]라고 쓰면 CLI/SDK가 찾지 못합니다(단순 형식은 ~/.aws/credentials에 속합니다).
  • 파일이 프로세스가 찾는 위치에 없음AWS_CONFIG_FILE/AWS_SHARED_CREDENTIALS_FILE가 경로를 재정의하거나, sudo/서비스 사용자 아래의 다른 홈 디렉터리, 또는 ~/.aws 마운트가 없는 컨테이너 때문입니다.

어떻게 고치나요

  1. 환경에 실제로 보이는 것을 나열하세요:

    aws configure list-profiles
    env | grep -i '^AWS_'
  2. 포인터를 고치거나 해제하세요unset AWS_PROFILE(또는 나열된 프로필로 설정), --profile/profile_name 철자를 수정하세요.

  3. 섹션 헤더를 확인하세요:

    # ~/.aws/config
    [profile myprofile]
    region = eu-west-1
    
    # ~/.aws/credentials
    [myprofile]
    aws_access_key_id = ...
    aws_secret_access_key = ...
  4. 프로필이 존재한 적이 없다면 생성하세요aws configure --profile myprofile(또는 Identity Center 프로필의 경우 aws configure sso).

  5. 컨테이너/CI에서는 프로필 파일보다 환경 자격 증명이나 역할을 선호하세요 — 또는 실제로 프로필을 정의하는 파일을 AWS_CONFIG_FILE로 마운트/지정하세요.

프로필이 해석되면 실제로 테이블에 도달할 수 있는지 확인하세요 — DynoTable 데스크톱 앱은 AWS 프로필을 사용해 연결하고 "어느 프로필이 어느 테이블을 보는지"를 보여주며, DynamoDB 요금 계산기는 해당 계정의 워크로드 비용을 계획하는 데 도움을 줍니다.

관련 오류

References

공식 AWS 문서(위 링크)를 기준으로 2026-07-13에 마지막으로 검증되었습니다.

Console 없이 DynamoDB 작업하기

DynoTable은 DynamoDB를 위한 빠른 데스크톱 클라이언트입니다 — 테이블을 탐색하고, SQL 스타일 쿼리를 실행하고, 항목을 로컬에서 편집하세요.