만약 무언가 파일을 올린다고 하면, 예전에는 그런 자료들을 바이너리 형태로 변환하여 서버와 같은 공간에 저장을 할 테니지만, 요새는 클라우드 오브젝트 스토리지가 등장하면서 파일은 별도의 스토리지에 저장하고 데이터베이스는 파일의 경로나 URL 만 저장하는 방식으로 일반화 되었다. 이로 인해 데이터베이스 내부에 들어가는 용량이 엄청나게 쾌적해졌으며, 클라우드 스토리지에서 기본적으로 CDN 기능을 제공해주는 곳도 존재하여, 본래 원본 저장소에서 데이터를 꺼내는 것보다 훨씬 빠른 데이터 처리를 가능 할 수 있게 되었다.

일단 내가 사용한거는 aws의 ec2를 사용한 김에 s3를 사용하면 되는거 아닌가 했지만 그래도 어차피 초창기 규모인거 그냥 규모 굳이 큰거 가져갈 필요가 없다고 생각이 들어서 무료 티어이지만 효율이 더 좋게 나오는 cludeflare를 사용하기로 했다. 10GB 스토리지 무료에 한달간 사용 요금에 대해서는 부담이 전혀 업사고 해도 무방하다.

뭐 사용에 대해서는 좀 선호하는거 쓰면 될 거같고, 일단 나는 무료기 때문에 cloudflare를 사용하기로 하였다. 사용법은 상당히 간단했다.
일단 가입을 진행한 후 cloudflare R2 페이지로 들어온다.

그리고 파일이나 사진들을 공간을 만들어주는 버킷을 제작을 한다. 버킷을 원하는 이름으로 만든 후 진입한다. 설정같은건 그냥 일반적으로 설정되어있는거를 고르고 진행하면 된다.

일단 시작할 때 이 부분이 Enabled가 아닐 텐데, 이 부분을 Enabled로 바꿔줘야지 외부에서의 접속이 가능해진다. Settings에서 Public Development URL을 허용해주면 Enabled 로 R2에 접근이 가능해 질 것이다. 이후로 사이트 충돌을 막기 위한 CORS설정 등 다양한 설정들을 Settings에서 관리를 할 수 있다.
다음은 Account API를 뚫어놔줘야 한다.

이거는 cloudflare 와 연결을 하기 위한 과정이라고 보면 된다. 버킷까지 완성이 되었으니까 그걸 이제 본 메인 코드와 연결을 해야한다. 필요한 거는 Account api, secret-key, buckey-name, URL을 Enabled 하면서 나온 주소 그렇게 대표적으로 4개가 필요하다.

뭐 이런 느낌이라고 보면 된다. 설정 파일 안에 넣어놓고 코드로 연동 시켜면 된다

연결에 성공하여 테스트를 해보면 이렇게 파일이 잘 들어간다는 것을 알 수 있다. 이걸로 프로필 이미지나 커뮤니티 부분에서 파일들을 저장을 하는 형태를 구성을 할 수 있다.
'멀티캠퍼스' 카테고리의 다른 글
| 채팅과 알림 기능 리뷰하기 (1) | 2025.11.26 |
|---|---|
| 프로젝트 PR 및 코드 리뷰 시작 (0) | 2025.11.11 |
| spring boot Websocket와 RabbitMQ을 이용한 채팅 기능 공부 / 정규 표현식 배우기 (0) | 2025.11.05 |
| Docker 사용해보기 (0) | 2025.10.28 |
| 백엔드 nginx 연결 및 소셜 로그인 추가하기 (0) | 2025.10.20 |