【AWS S3】AWS Access Key Id you provided does not exist in our records 오류 【Rails AWS EC2】

오류 내용



프로덕션 환경 (EC2)에서 이미지 게시 (carrierwave)를 시도하면 다음과 같은 오류가 발생합니다.


표시된 (로드된) AWSAccessKeyId는 이전에 사용했던 이전 키입니다.
에러문으로부터 낡은 액세스 키가 읽혀지고 있기 (위해)때문에 무결성이 잡히지 않아 일어난 에러라고 판단했다.

오류에 대한 TRY


  • .bash_profile 업데이트
  • .env 파일 확인
  • .aws 디렉토리 다음 확인 (config, credentials)
  • aws configure 확인
  • AWS IAM을 통해 정책 등 확인

  • .bash_profile로 export하고 있던 액세스 키 ID가 확실히 낡은 것이었다.
    그것을 새로운 액세스 키로 갱신하고, .env 파일이나 IAM, aws configure list를 확인해, 최신의 액세스 키 ID에 갱신된 것을 확인했지만, 이미지를 투고하면 같은 에러가 발생한다. Docker를 이용하고 있기 때문에, 낡은 이미지등을 소거하는 것도, 변화 없음.

    지역
    $ aws configure list
    AWS Access Key ID [None]: AKIA...(新しいアクセスキー)
    AWS Secret Access Key [None]: KEY...(新しいアクセスキー)
    Default region name: ーーー
    Default output format: json
    

    해결 방법



    엄청나게 살았던 곳,

    "EC2에서 문제가 일어났을 때는 먼저 EC2 인스턴스를 재기동시켜라"는 선인의 말을 문득 기억했다.

    「아아, 이것이 정답이다」라고 생각했다. 아마도 EC2 인스턴스를 다시 시작하지 않으면 잘 로드되지 않습니다. EC2 인스턴스에서 exit로 로그아웃하고, 재로그인(ssh)에서는 안 됐다.

    EC2 인스턴스를 재부팅시키면 예상대로 해결하고 성공적으로 이미지를 게시할 수 있었다.

    학습



    AWS CLI를 사용하면 터미널에서 이전 키를 새 키로 변경한 경우 EC2 인스턴스를 다시 시작합니다!

    AWS 액세스 키 ID 등은 최신인데 저와 같은 에러가 발생한다면 먼저 사용하고 있는 EC2 인스턴스를 재부팅시켜 보세요.

    좋은 웹페이지 즐겨찾기