Server

    [AWS] CloudFront와 S3 연결하기

    들어가기 전에 기존에 SpringBoot를 이용한 S3에 이미지 업로드 및 삭제에 대해 포스팅한 적이 있습니다. [SpringBoot] SpringBoot를 이용한 AWS S3에 여러 파일 업로드 및 삭제 구현하기 해당 포스팅을 할 때에는 프론트엔드에서 S3 이미지를 불러올 때 아래 사진과 같이 S3의 각 객체 URL을 통해 호출하면 될 것이라 생각하고 진행했습니다. 위와 같이 진행하게 되면, Client가 S3를 직접 접근하게 되어 캐싱 기능이나 보안 측면에서 아쉬운 점이 있었습니다. 이번 포스팅에는 AWS가 제공하는 Contents Delivery Network(CDN)인 CloudFront를 사용하여 S3 데이터를 좀 더 효율적으로 전송하는 방법에 대해 알아보도록 하겠습니다. CloudFront C..

    [AWS] Route 53, ACM을 통해 Elastic Beanstalk HTTPS 설정하기(freenom을 통한 무료 도메인 사용)

    들어가기 전에 이번 포스팅은 프론트엔드가 사용하는 NAVER MAP과의 통신을 위해 백엔드 도메인을 HTTPS로 통신하도록 설정하는 법에 대해 다뤄보고자 합니다. 진행하고 있는 프로젝트의 경우, Elastic Beanstalk을 통해 배포하였기 때문에 Elastic Beanstalk으로 인해 생성된 ALB(Application Load Balancer)에 Route53과 ACM을 통해 HTTPS 통신 설정을 하였습니다. Elastic Beanstalk 환경이 이미 구성되어 있다는 가정하에 진행하였기 때문에 만약, Elastic Beanstalk의 어플리케이션 생성 및 환경 생성이 되어 있지 않다면 하기 포스팅을 먼저 읽어볼 것을 권해드립니다. [AWS, Github Action] Elastic Beans..

    [AWS, Github Action] Elastic Beanstalk에 SpringBoot 이미지 Docker로 배포하기(4) - Github Action과 Dockerfile을 작성해서 배포하기

    들어가기 전에 이번 포스팅은 ECR, Elastic Beanstalk 세팅이 완료되어 있다는 가정하에 진행합니다. 따라서, 해당 부분이 아직 완성되지 않았다면 하기 포스팅들을 먼저 보신 후 이번 포스팅을 읽어보시길 권해드립니다. 이전 포스팅 [AWS, Github Action] Elastic Beanstalk에 SpringBoot 이미지 Docker로 배포하기(1) - 왜 Amazon ECS가 아닌 Elastic Beanstalk을 선택했고, Docker를 사용하려 할까? [AWS, Github Action] Elastic Beanstalk에 SpringBoot 이미지 Docker로 배포하기(2) - ECR 리포지토리 생성 및 권한 설정 [AWS, Github Action] Elastic Beanstal..

    [AWS, Github Action] Elastic Beanstalk에 SpringBoot 이미지 Docker로 배포하기(3) - EB 기본 세팅(RDS 포함)

    들어가기 전에 기존에 Docker가 아닌, SpringBoot을 EC2에 직접 배포하는 Elastic Beanstalk 환경을 생성하는 과정을 포스팅한 적 있습니다. 해당 어플리케이션에 신규 환경을 만들어 세팅하였기 때문에 어플리케이션 생성이 필요하다면 해당 포스팅을 한 번 읽어보면 좋을 것 같습니다. 이번 포스팅에서는, Elastic Beanstalk 환경 세팅 및 RDS 생성을 진행해보도록 하겠습니다. [AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(1) - EB 기본 세팅 이번 포스팅은 하기 2가지 포스팅의 다음 순서입니다. 기존 포스팅을 보시지 않았다면 먼저 보고 오시는 것을 추천드립니다. 이전 포스팅 [AWS, Github Action] Ela..

    [AWS, Github Action] Elastic Beanstalk에 SpringBoot 이미지 Docker로 배포하기(2) - ECR 리포지토리 생성 및 권한 설정

    들어가기 전에 이번 포스팅에서는 ECR(Elastic Container Registry)의 리포지토리 신규 생성 및 Elastic Container Repository에 Pull, Push, GetAuthorizationToken 권한을 주는 방법에 대해 알아보도록 하겠습니다. 이번 포스팅은 하기 포스팅의 다음 순서입니다. 기존 포스팅을 보시지 않았다면 먼저 보고 오시는 것을 추천드립니다. 이전 포스팅 [AWS, Github Action] Elastic Beanstalk에 SpringBoot 이미지 Docker로 배포하기(1) - - 왜 Amazon ECS가 아닌 Elastic Beanstalk을 선택했고, Docker를 사용하려 할까? 다음 포스팅 [AWS, Github Action] Elastic B..

    [AWS, Github Action] Elastic Beanstalk에 SpringBoot 이미지 Docker로 배포하기(1) - 왜 Amazon ECS가 아닌 Elastic Beanstalk을 선택했고, Docker를 사용하려 할까?

    들어가기 전에 기존에는 Elastic Beanstalk을 이용하여 개발 환경 배포를 진행했습니다. 개발 환경을 구축할 때 Elastic Beanstalk을 이용한 이유는 짧은 시간동안 기능 개발과 환경 구축을 한 번에 해야하다 보니, 간편한 방식이 필요했기 때문입니다. 또한, Docker 위에 이미지를 생성해서 띄울만큼의 여유가 없어 SpringBoot 자체를 EC2에 바로 띄웠습니다. 이번 포스팅에서는 Elastic Container Service와 Elastic Beanstalk에 대해 간단히 알아보면서 왜 Docker를 사용하는 지금도 Elastic Beanstalk를 운영 배포에 선택했는지에 대해 이야기해보겠습니다. 추가적으로, 개발 환경과 동일하게 서버 내 SpringBoot을 띄우지 않고 도커..

    [AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(3) - EB에 RDS 사용하여 환경속성 통해 application.yml 주입받기

    들어가기 전에 Github Action을 통해 Elastic Beanstalk에 SpringBoot 배포하는 부분은 이전 2가지의 포스팅을 통해 완료하였습니다. 기존 SpringBoot 프로젝트의 경우 h2 database를 메모리로 올리는 방식을 사용했습니다. 따라서, Github이 public repository라해도 DB 계정을 암호화하지 않아도 문제가 없었습니다. 하지만, 로컬 데이터베이스가 아닌 환경을 이용할 때에는 보안을 통해 접근을 막는다해도 해당 정보를 모든 사람에게 공유하는 것은 좋지 않습니다. 이번 포스팅에서는 DB의 username이나 password 등 민감 정보를 application.yml에 작성하지 않고 Elastic Beanstalk의 환경속성에 기입하여 각 환경별로 원하는 ..

    [AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(2) - IAM 인증키 Github Action에서 사용하여 배포

    들어가기 전에 해당 글은 Elastic Beanstalk의 기본 세팅이 되어 있다는 가정하에 진행합니다. 만약, Elastic Beanstalk의 어플리케이션 및 환경 구성이 되어 있지 않다면 하기 글을 클릭하여 먼저 구성하고 이 포스팅을 읽는 것을 권해드립니다. 이전 포스팅 [AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(1) - EB 기본 세팅 다음 포스팅 [AWS, Github Action] Elastic Beanstalk에 SpringBoot 배포하기(3) - EB에 RDS 사용하여 환경속성 통해 application.yml 주입받기 Github Action을 통해 SpringBoot 어플리케이션 EB에 배포하기 이번 포스팅에서 구현하려는 것은 ..