Skip to content
Snippets Groups Projects
Select Git revision
  • main
1 result

foss2023-2-final

  • SangJun Park's avatar
    SangJun Park authored
    e49d5fc7
    History
    Name Last commit Last update
    LICENSE
    README.md
    SWTT_S3WithSpringBoot.pptx

    foss2023-2-final 보고서

    [SWTT] AWS S3를 이용한 이미지 서버 구축하기 with Spring Boot

    아이템 선정 동기

    학교에서 프로젝트를 진행하며 느꼈던 AWS에 대한 어려움을 극복하고자 하는 목표로, Spring Boot와 AWS S3를 주제로 선정했다. Spring Boot는 자바 개발자들 사이에서 널리 사용되는 프레임워크이고, AWS S3는 클라우드 스토리지의 대표적인 서비스로, 둘을 연동하는 것은 실용적이며 현업에서도 매우 유용한 기술 조합이라고 생각한다.

    수 많은 AWS 서비스 중 S3를 주제를 선정한 주된 이유는, AWS의 다양한 서비스 중에서도 S3가 가장 기본적이면서도 핵심적인 서비스 중 하나이기 때문이다. AWS의 무료 계정 제공 정책(프리티어)은 S3를 포함한 여러 서비스를 1년간 무료로 사용할 수 있는 기회를 제공하며, 이를 통해 학생들이 비용 부담 없이 클라우드 서비스를 체험하고 학습할 수 있는 환경을 마련해준다.

    S3와 Spring Boot를 연동하는 과정을 통해 학생들은 두 가지 중요한 기술을 동시에 배울 수 있다고 생각한다. 이는 클라우드 기반의 애플리케이션 개발에 필요한 기술 스택을 구축하는 데 도움이 되며, 연동에 대한 경험은 다른 AWS 서비스들을 학습하고 응용하는 데도 자신감을 줄 것이라고 생각하기 떄문에 해당 주제를 선택하게 되었다.

    어려웠던 점

    S3와 관련하여, 정확한 정의와 각각의 옵션에 대한 의미를 파악하는 것이 가장 어려웠다. 지금까지는 구현되는 기능에 기반하여 사용하는 것에 만족하였는데, 이번 발표를 준비하면서 AWS docs를 찾아보면서 각각의 기능에 대해 정확하게 파악해야만 하였다. 이를 통해 AWS S3 서비스의 더 깊이 있는 이해를 얻을 수 있었다. 각 옵션과 설정의 의미를 파악함으로써, 서비스의 보안, 성능, 비용 효율성 등 다양한 측면에서 더 효과적인 활용 방법을 고민할 수 있었다. 이 과정에서 AWS 문서를 자세히 읽고 이해하는 것이 시간이 많이 소요되었지만, 결과적으로는 이러한 노력이 S3 서비스를 보다 전문적으로 활용하는 데 크게 도움이 되었다.

    특히, 버킷 정책, IAM 역할, 액세스 키 관리 등의 보안 관련 설정을 이해하고 적절히 적용하는 것은 서비스의 안전한 운영에 매우 중요한 부분인데, 이러한 학습 경험을 통해 기술적인 지식 뿐만 아니라, 클라우드 기반 서비스를 사용할 때 발생할 수 있는 다양한 이슈에 대해 더 깊게 생각해 볼 기회가 되었다.

    제작하면서 고민하였던 점

    본 프로젝트는 AWS S3와 Spring Boot만을 활용하여 하나의 간결한 토이 프로젝트를 완성하는 것을 목표로 삼았다. 이 과정에서 주요 개념들에 집중하고자, 데이터베이스를 사용하지 않기로 결정하였다. 여러 아이디어를 고려한 끝에, 이미지를 업로드하면 해당 이미지에 대한 URL을 즉시 반환하는 간단하면서도 실용적인 '이미지-URL 반환기' 웹사이트를 제작하기로 결정했다.

    이 아이디어 선택의 핵심은 프로젝트의 주요 기술인 S3와 Spring Boot의 기능을 최대한 활용하면서, 사용자에게 명확하고 직관적인 가치를 제공하는 데에 있었다. 또한, 이러한 접근은 발표에서 주요 내용에 집중하여 설명하는 데 도움이 되었다. 사용자가 이미지를 업로드하고 URL을 받는 과정을 통해, S3의 파일 저장 및 관리 기능, Spring Boot의 웹 애플리케이션 구축 능력을 효과적으로 보여줄 수 있었다.

    개발 내역

    ajou.git.ac.kr에 올리려고 했으나, access 관련 이슈로 인해 일단 github에 올려둔 상태이다. 프로젝트의 주소는 아래와 같다. https://github.com/jjunhub/s3withspringboot

    또한 업로드 된 image 파일에 대한 URL은 아래와 같다. https://myfossfinalbucket.s3.ap-northeast-2.amazonaws.com/IMG_2783.jpg_20231223225645

    감상

    프로젝트를 마무리 하고 든 가장 첫번째 생각은 이제 더 이상 동영상 편집이 두렵지 않다는 점이다. OBS와 Davinci Resolve를 함께 사용하여 매우 간단하게 작업을 할 수 있었다. 이러한 좋은 편집 도구들을 알아가게 되어 감사하다.

    또한, 하나의 영상을 완성하기까지 필요한 노력은 시청자가 볼 수 있는 것보다 훨씬 많다는 사실을 몸소 체험했다. 주제에 대한 심도 깊은 학습, 정보의 정확성 검증, 발표 자료의 제작, 그리고 대본 작성에 이르기까지 모든 단계는 영상의 길이와 비교할 때 상당한 시간과 노력을 요구했다.

    마지막으로, 프로젝트를 완료한 후의 성취감과 자신감은 이 모든 노력이 결코 헛되지 않았음을 보여주었다고 생각한다. 이번 프로젝트는 단순히 영상을 제작하는 것을 넘어, 새로운 도전을 극복하고 성장하는 과정이었다.