안녕하세요 서버 이전을 진행중인 개발자입니다. 오류가 발생하였는데, 구글링 및 AWS…

안녕하세요
서버 이전을 진행중인 개발자입니다.
오류가 발생하였는데, 구글링 및 AWS 문서 확인을 해봐도 해결이 되지 않아 능력있는 분들께 도움을 구하기 위해 질문을 올립니다.

현재 진행중인 서버 이전 방식은 루트계정 A의 Tokyo Region에 존재하는 모든 인스턴스들을 새 계정의 Seoul Region 옮기는 작업입니다.

계정 자체를 이미지떠서 옮기는 방법은 찾지 못하여
인스턴스의 구성을 직접 확인하고 동일하게 생성하는 작업을 진행중입니다.

현재 사용중인 언어는 Java이며 Spring boot 프레임워크를 이용중입니다.

문제가 발생한 지점은 코드단에서 S3에 이미지를 업로드 하는 과정에서 발생했습니다.

S3 Path와 access key, secret access key를 알맞게 설정한 뒤,
amazonS3.putObject(PutObjectRequest.withCannedAcl(CannedAccessControlList.PublicRead))

이와같은 형태로 S3에 이미지 업로드를 요청하였습니다.
그리고 아래와 같은 에러가 발생하였습니다.

AWS Error Message: The authorization mechanism you have provided is not supported. Please use AWS4-HMAC-SHA256.

현재 구 프로덕션에서는 정상적으로 작동하고있어서 문제가 없는데, 이전을 위해 새롭게 설치하여 테스트중인 서버에서는 위와같은 에러가 발생합니다.

참고사항
1. aws configure를 통해 Region, access key, secret access key를 설정해둔 상태입니다.

2. aws configure set default.s3.signature_vsersion s3v4 커맨드의 경우, 아래와 같은 에러 메세지가 발생합니다.
usage: aws [options] [parameters]
aws: error: argument subcommand: Invalid choice, valid choices are:
list

3. IAM에서 V4를 적용하기위해 아래같은 정책을 포함하였으나 작동하지않습니다.
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “V4”,
“Effect”: “Deny”,
“Action”: “s3:*”,
“Resource”: “arn:aws:s3:::service-api-bucket/*”,
“Condition”: {
“StringEquals”: {
“s3:signatureversion”: “AWS4-HMAC-SHA256”
}
}
}
]
}

긴 글 읽어주셔서 감사합니다.

One thought on “안녕하세요 서버 이전을 진행중인 개발자입니다. 오류가 발생하였는데, 구글링 및 AWS…

  1. 서울리전 및 기타 새로생기는 리전은 기본적으로 시그니처 4만 지원합니다. 도쿄리전은 2와 4를 같이 쓰기때문에 문제가 없는것 뿐 입니다. 자세한건 코드쪽 시그니처 4 설정이 되어있다면, 방화벽쪽 HTTPS 설정도 함께 봐주시면 해결하실 수 있습니다.

Comments are closed.