본문 바로가기

일기

2022-12-21

어제부로 게시글에 관련한 모든 기능들을 전부 완료했고 이제는 진짜 그냥 병합을 하면서 정리를 해주면 된다.

 

  • 게시글 작성시 기본적으로 이미지 테이블 생성
  • 유저 회원가입시 기본적으로 이미지 Column 생성
  • 이 부분에는 항상 기본적으로 빈값 또는 Null 이 들어간다.( Null 은 카카오 연동 회원가입시 들어간다. )
  • 게시글 및 프로필 이미지는 이미지를 업로드하면 자동적으로 이전의 파일이 존재시 삭제를 진행한다.
  • 이전의 파일이 삭제가 될 때에는 DB의 이미지 주소값과 AWS s3 저장소의 이미지도 함께 삭제된다.
  • 게시글 수정시 이전 이미지가 불러와지고 변동이 없으면 그대로 올라간다.
  • 게시글을 삭제하면 그와 관련한 모든 테이블 및 AWS s3 의 이미지도 함께 삭제된다.

위 정도가 내가 구현한 게시판의 기능들의 작동방식을 어느정도 요약한 내용이다.

( 유저계정 삭제시에도 모든 DB가 날아가고 아마존의 이미지도 모두 날아간다. )

 

구현하는데 꽤나 애를 먹었는데 좀 황당한 이유로 애를 먹은 경우도 있었다...

 

 

 

 

 

 

 

 

 

 

 

 

 

 

S3 Access Denied

s3 기능 구현을 하는데 삭제하는 과정에서 자꾸 진행이 되질 않고 발생한 오류
결론적으로 말하자면 내가 사용중인 IAM key 의 권한에서 발생한 문제였다.
이 key 값이 깃허브에 올릴 때 같이 올라가서 노출이 되면 이를 인식해서 자동으로 차단을 걸어버린다고 한다.
이러한 이유로 1시간 반을 날려버렸다.....
다행히도 아래의 블로그를 통해서 해결이 가능했다.
해결법은 단순하게 기존의 IAM 사용자를 삭제하고 다시 만들어서 재발급...

 

 

 

[AWS S3 버킷] Access Denied 오류 해결

com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: ~~~~; S3 Extended Request ID: ~~~~ 클래스명 수정을 해야해서 해당 작업을 진행한 후, 제대로

eboong.tistory.com

 

 

원래는 아래의 AmazonS3FullAccess 만 존재해야 하는데, 다른것이 하나 더 추가된것을 볼 수 있다.

만약 삭제기능이 작동하지 않고(업로드는 되더라...) Access Denied 가 뜨면 이 부분을 체크하도록 하자.

 

 

위 부분을 진행하면서 그러면 이러한 민감 정보를 올리지 않기 위해서 gitignore 를 사용하려고 했는데 다른 조원분이 더 좋은 정보를 발견했다.

 

 

[IntelliJ] .gitignore 파일에 application.properties 민감 정보 안나오게 하기

🐧 또 깃헙에 DB 개인정보를 같이 푸쉬해버렸기 때문에 좌절하면서 적는 글 배포 후 application.properties에 database 정보가 적혀있는데, 깃 푸쉬를 해버리는 바람에 깃헙에 그대로 올라갔다. 레파지

kelly-tech.tistory.com

 

위 글대로 따라서 진행해주면 이제 깃허브에서 민감한 정보인 프로퍼티 부분에 대한 해결이 가능하다 !!!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AWS s3 업로드 방식

이부분은 다음에 진행할 때 참고하도록 할 것인데, 지금 내가 참고한 블로그의 방식은...
이미지를 업로드 할 때, 로컬에 해당 이미지를 가져와서 업로드가 이루어지고 나면 해당 이미지를 로컬에서 삭제를 진행해주게 된다.
만약 이 부분이 없을면 같은 이미지를 업로드 할 때, 에러가 발생하면서 터지게 된다... ㅜㅠ
해당 방식의 경우에는 차후 또다시 s3를 다루게 되면 이 방식 말고 다른 방식을 찾아서 이용해 보도록 해야겠다...

 

 

위 코드가 바로 문제가 되었던 코드...

작동방식을 제대로 이해하지 못해서 이게 왜 필요하지? 싶어서 주석처리 했다가 애를 먹었다...

저부분이 없으면 프로젝트 폴더에 이미지 업로드시 그 이미지가 저장이 되고 똑같은 이름으로 재업로드시 에러가 발생한다....

'일기' 카테고리의 다른 글

2022-12-23  (0) 2022.12.24
2022-12-22  (0) 2022.12.22
2022-12-20  (0) 2022.12.20
2022-12-19  (0) 2022.12.19
2022-12-18  (0) 2022.12.18