AWS 버킷을 한번 사용해보려고 시도했는데 문제가 발생했다.
간단하게 POST 요청 받으면 hihi 출력하도록 해놨는데 실행이 안되더라
그래서 제일 마지막 줄에 worn 부분을 검색해 보니까 어떤게 뜨느냐
Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [352] milliseconds.
직접 검색해보고 싶으면 해보길 바란다.
검색을 해보니 무슨 설정을 시스템 변수를 변경 해달라고 한다.
JVM 옵션에서
-Djava.security.egd=file:/dev/./urandom"
이렇게 추가 하라는데
JVM 옵션은 어디에 있는것인지 모르겠어서 그것도 검색해봤다.
이 블로그 에서 말하길
https://happy-jjang-a.tistory.com/12
인텔리제이에서는
여기서 하단 화살표를 클릭하면
이렇게 뜬다고 하더라
그런데 나는 블로그랑 조금 다르게 떴다.
나는 저렇게 Applicition 으로만 떴는데
블로그에서는 Springboot로 되있어서 좀 달랐다.
환경 변수니까 Environment variable에 넣으면 될까 해서 넣고 돌렸는데 안됬다.
저런 차이가 왜 생기는지에 대한 궁금증만 추가되고 문제가 해결 되진 않은 상황
예상으로 나는 springboot.io 에서 만들어서 다운받고 열었는데 그냥 intellij에서 스프링 부트 프로젝트 생성하면 저렇게 되나? 모르겠다. 이건 넘어가고
아
그래서 다른 블로그를 찾아 보니까
https://kingpiggylab.tistory.com/359?category=763851
같은 환경인거 같아서 그대로 붙여 넣어서 실행해봤지만
그래도 안되더라
또 다른 블로그를 찾아봤다.
여기서 보여주는 방법으로 옵션 추가해 보았지만 안되더라
결국 이 문제가 아닌거 같아서 스트레스 받고 있었는데
스프링 프로젝트를 만들 때 security 도 같이 implement 한것이 떠올라서 그걸 주석 처리 해보니
테스트는 잘 되더라
결국 security 부분 주석 처리하면 되는 문제 였다.
검색 보다 감을 따를 때도 있어야 한다는걸 배웠다.
그러고 나서 aws s3는 잘 실행 되었느냐?
그건 또 아니다
버킷 만들고
사용자 만들고 키받고
코드 작성하고
우선 버킷을 만드는거 부터 말하자면
버킷을 만들 때는
https://my-codinglog.tistory.com/36
여기를 참고하였고 여기서 버킷 정책 설정 부분은 안해도 되는것 같다.
{
"Version": "2012-10-17",
"Id":
"Statement": [
{
"Sid":
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::버킷이름/*"
}
]
}
필요하면 쓰면 되지만 주의해야할게 Resource 에 마지막에 /* 해줘야 문제가 안생긴다. 이유는 모르지만 안했을 때 문제가 생기더라
추가적으로 ACL 관련한 문제가 있어서
The bucket does not allow ACLs (Service: Amazon S3; Status Code: 400; Error Code: AccessControlListNotSupported
위와 같은 오류가 발생해서
https://my-codinglog.tistory.com/36
https://fun-coding-study.tistory.com/324
여기를 참고하였다.
코드는
https://jane514.tistory.com/10
여기를 참고 했고
사용자생성과 엑세스키 발급은
https://gaeggu.tistory.com/33
여기를 참고 하였다.