2023-07-22T20:29:40.018+09:00 ERROR 9632 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: org.hibernate.LazyInitializationException: failed to lazily initialize a collection: could not initialize proxy - no Session] with root cause
org.hibernate.LazyInitializationException: failed to lazily initialize a collection: could not initialize proxy - no Session
500 에러가 발생.
이 에러는 사실 @Transactional 어노테이션을 달지 않아서 생긴 문제였다.
다음.

2023-07-22T20:38:05.973+09:00 ERROR 4672 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: WGZVQ1RJA9TW0YVQ; S3 Extended Request ID: vaNHv2TFHnDQtaE6wdpKPhQ144KaziRf+BFuAfH7TZmeVcQum82VxxcS/1I5bSYo7oxnIhpVlAI=; Proxy: null), S3 Extended Request ID: vaNHv2TFHnDQtaE6wdpKPhQ144KaziRf+BFuAfH7TZmeVcQum82VxxcS/1I5bSYo7oxnIhpVlAI=] with root cause
com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied;

프로젝트에서 게시물에 관련된 코드를 맡게되어서 s3 버킷을 사용해서 이미지파일을 관리를 하던중 버킷에 객체가 등록은 잘 되지만 삭제가 되지 않아서 골머리를 앓고 있었다.
{
"Version": "2012-10-17",
"Id": "Policy1690084618997",
"Statement": [
{
"Sid": "Stmt1690084617464",
"Effect": "Allow",
"Principal": "*",
"Action": [
"s3:DeleteObject",
"s3:GetObject",
"s3:PutObject"
],
"Resource": "arn:aws:s3:::pin-clone-bucket/*"
}
]
}
역시 문제는 가까이 있었다. IAM 문제였다.
내 aws 엑세스키와 시크릿키가 Github에 노출되어서 권한이 막힌 것 같다.
그런데 왜 삭제만 안되는거였지??? 이 부분은 아직도 모르겠다
그래서 aws support에 이슈에 대한 조치를 취했다고 보고하고 이슈를 닫고
엑세스 키를 다시 발급받은 후 좀 기다렸다가 시도했지만....
여전히 같은 문제가 발생...
포기하고 다음날 아침에 일어나서 다시 엑세스 키를 발급받고 시도하니 정상적으로 삭제가 되었다.
분명 엑세스키 노출 문제를 전에 겪었던 적이 있어서 조심하려고 했지만 또 키를 포함한 파일을 푸쉬해버렸다. 더욱 더 조심 해야겠다.
aws에서 권한에 대한 디테일한 설정이 가능하다는 것을 알았다.
좋은 정보 얻어갑니다, 감사합니다.