[AWS] S3 이미지 업로드 및 EC2 연결하기
·
Infra & Cloud/AWS
Simple Storage Service (S3)란?사진, 동영상 등 파일을 저장하기 위해 사용하는 파일 서버 서비스. S3의 버킷에 파일을 업로드 하면, URL로 파싱되어 사용자가 이용할 수 있는 서비스이다.서버에 이미지나 파일 등을 업로드 할 때 로컬 서버에 저장할 경우 데이터가 쌓이다 보면 언젠가 용량이 초과되겠지? 따라서 S3를 사용하면 좋은 점은 다음과 같다.1. 확장성(Scalability)파일 서버는 트래픽이 증가함에 따라 서버 인프라 및 용량 계획을 변경해야 되는데, S3가 확장 및 성능 부분을 대신 처리해준다. 2. 내구성(Durability)여러 영역에 여러 데이터 복사본을 저장하므로 한 영역이 다운되더라도 데이터를 사용할 수 있고, 복구가 가능하다. 이를 Spring 환경에서 적용해보..
[AWS] EC2에서 https 프로토콜 적용하기
·
Infra & Cloud/AWS
문제 상황프론트에서 배포 후 https 프로토콜을 사용하는 클라이언트가 현재 http를 사용 중인 서버에 요청을 보내는데 에러가 발생했다. http 80 포트에 접속하려는데, https 443 포트와의 충돌로 인한 문제였다. 이를 Mixed Content Error라고 한다.  이를 해결하기 위해, 클라이언트 딴에서 프록시 서버를 사용하거나 (react 환경 :  http-proxy-middleware) 서버에 SSL 인증서를 통한 https 프로토콜을 적용해야 한다. AWS Route 53으로 사용하면 쉽겠지만 어느 개발자님의 블로그를 참고하여 Nginx와 SSL 인증서를 통해 ec2에 적용해보도록 하겠다. 참고로, EC2에서 docker를 이용하여 빌드 파일을 다운로드하는 방식을 사용해도 똑같이 적용..
[Infra] EC2 + GitHub Action + Docker를 이용한 CI / CD 구현 (2)
·
Infra & Cloud/Docker
이전에 GitHub Actions를 사용하여 로컬 환경에서 git push 시 자동으로 빌드 파일을 생성하여 도커 허브에 업로드 해주는 기능을 구현해보았다. - 이전 블로그 포스트 [Spring] GitHub Action을 이용한 CI 구현 (Docker 사용)본 프로젝트에서 로컬에서 푸쉬한 프로젝트를 github actions를 통해 build하고 빌드된 파일을 도커 이미지로 업로드하여 EC2에서 pull 받아 사용하는 방식으로 아키텍쳐를 설계하였습니다.  1. CI 구sksmsfbrjs51.tistory.com 이번엔 자동 빌드에서 끝나지 않고 자동 배포 (CD) 까지 구현해보도록 하겠다. 1. EC2에 연결하기 위한 GitHub Secret 환경 변수 등록 workflow에서 필요한 ec2의 hos..
[Infra] EC2 + GitHub Action + Docker를 이용한 CI / CD 구현 (1)
·
Infra & Cloud/Docker
본 프로젝트에서 로컬에서 푸쉬한 프로젝트를 github actions를 통해 build하고 빌드된 파일을 도커 이미지로 업로드하여 EC2에서 pull 받아 사용하는 방식으로 아키텍쳐를 설계하였습니다. CI / CD란?CI/CD는 약어로, 몇 가지의 다른 의미를 가지고 있다.CI/CD의 "CI"는 개발자를 위한 자동화 프로세스인 지속적인 통합(Continuous Integration)을 의미한다. CI를 성공적으로 구현할 경우 애플리케이션에 대한 새로운 코드 변경 사항이 정기적으로 빌드 및 테스트되어 공유 리포지토리에 통합되므로 여러 명의 개발자가 동시에 애플리케이션 개발과 관련된 코드 작업을 할 경우 서로 충돌할 수 있는 문제를 해결할 수 있다. CI/CD의 "CD"는 지속적인 서비스 제공(Continu..