젠킨스와 nginx를 통해서 배포 자동화를 구현해보려고 하였습니다.여기에 관련해서 시행착오가 많았는데 정리하려고 합니다. 일단 구조는 다음과 같습니다. 1. aws ec2 instance jenkins 설치2. docker compose 로 nginx, postgresql, certbot, spring 이미지 빌드 후 실행 이상하다고 생각할 수 있는데, 맞습니다. 1번 방법을 먼저 수행해봤고, 2번 방법으로 나중에 도입했기 때문에 보통은 jenkins도 docker compose로 띄워야 네트워크 이슈도 적고, 관리도 편하다는 것을 나중에 깨달았습니다. AWS EC2 프리티어 기준입니다. 1. SWAP 메모리 설정관련해서 이전에 포스팅을 한 적이 있습니다.https://iii.ad/67bfb72. Do..
보통 개발 초기에는 로컬에 첨부파일이나 이미지를 저장하도록 설정하지만, 운영 단계에 들어가기 전에 파일 저장소를 어떻게 구성할지를 결정하는 것이 중요합니다. 파일을 서버의 특정 디렉토리에 저장할 수도 있지만, 일반적으로 서버 용량 관리와 이중화(HA) 문제를 고려하여 별도의 스토리지 시스템을 도입하는 경우가 많습니다. AWS에서는 이러한 파일 저장소 문제를 해결하는 서비스를 제공하는데, 그중 대표적인 것이 AWS S3입니다. S3 버킷 설정버킷 만들기 클릭버킷 만들기 세팅 버킷 이름 입력하는 부분 빼고, 나머지 부분은 기본 설정을 그대로 가져갔습니다. AWS IAM 권한 설정AWS에서는 IAM(Identity and Access Management) 계정을 생성하여 권한을 세분화하여 할당하는 방법을 권..
간단하게 만들어 본 사이드 프로젝트를 백엔드만 배포하려고 할 때 거쳤던 여러가지 배포 방법 고민에 대해 공유하면 좋을 것 같아서 정리해놓으려고 합니다. 그래서 배포란 무엇일까?기획 -> 요구사항 분석 -> 역할 분담 -> 개발 -> 배포 -> 지속적인 서비스 개선 (리팩토링)개발자들이 개발한 앱, 웹 서비스들을 일반 사용자들이 접근할 수 있게 하는 것이 배포라고 할 수 있습니다. 이런 배포를 하려면 컴퓨터 한 대가 필요합니다. 온프레미스 환경이라고 부릅니다.정확히 말하면, 온프레미스 환경은 단순히 입출력 장치가 포함된 컴퓨터를 의미하는 것이 아니라, 물리적인 하드웨어 인프라를 구축하여 우리의 웹사이트를 24시간 안정적으로 운영할 수 있도록 하는 것을 말합니다. 그러나 24시간 365일 서버를 계속 가동하..
네트워크를 왜 학습해야 할까? 서비스는 네트워크를 통해 사용자의 가치를 전달합니다. 네트워크 상의 이슈는 서비스에 심각한 문제를 발생시킬 수 있다.! 안정적인 서비스 운영을 위해 미리 네트워크를 학습해야한다. 내가 만든 서비스가 인기가 많아져서, 하루 만명의 유저가 사용한다고 생각해보자. 서버 한대가 힘겹게 요청을 받아들이고 있다... (서버 : 살려줘..) 결국 느려진 지연 요청과, 트래픽으로 인해 서버가 터지게 되어 많은 유저들을 잃게 되었다. (절망편) 망 AWS에서는 망과 관련된 개념이 몇 개 있습니다. 일단 리전(Region) - 제가 정리 해놓은 글도 있습니다. 버지니아로 리전을 하면 안 되는 이유 https://computerlove.tistory.com/entry/%EB%A6%AC%EC%A..
기존 노션에 있는 글을 옮기게 되었습니다. https://cow.oopy.io/53c269e9-4e34-4d2f-a586-b6c00f1fb918 On-Premise 시스템은 기업이 직접 보유하는 시스템들로 일반적으로 Client-Server 또는 3-Tier 환경으로 구성된다. 정리 온프레미스의 클라이언트 서버 아키텍처 사용자가 접속하는 쪽이 클라이언트, 서버는 WEB, WAS, DB로 구성 웹과 와스의 차이점? 웹은 기존에는 웹으로 만들어짐 → HTML같은 웹 페이지라고 해서 브라우저 상에서 보여지는 구성들을 웹이라고 함. 웹의 데이터들을 여기에서 담아서 처리를 했었음 이미지도 나올 수 있고, 텍스트도 나올 수도 있고 웹 사이트에서 제공을 해줬음 근데 점점 웹에 어떤 기능들이 추가가 되면서 계속 많은 ..
리전(Region) 선택하기 AWS EC2를 시작하기 위해 제일 먼저 확인해야 할 점 리전(Region)이란 인프라를 지리적으로 나누어 배포한 각각의 데이터 센터를 의미한다. EC2를 간단하게 설명하면 우리는 컴퓨터를 빌려서 원격으로 접속해 서비스를 사용한다. 컴퓨터라는 하드웨어는 가상머신 개념이 생긴 뒤로 여러 사용자에게 빌려줄 수 있게 되었다. 가상화 개념으로 컴퓨터를 쪼개서? 빌려주는 건데, 실제로 컴퓨터는 존재한다에 초점을 맞춰야 할 것 같다. 빌려주는 컴퓨터들이 모여있는 곳을 리전(Region)이라고 생각하면 된다. 왜 버지니아 컴퓨터를 사용하면 안 될까? 애플리케이션을 사용할 때 네트워크를 통해 통신하게 됩니다. 다 해저 광 케이블로 연결되어 있습니다. 따라서 컴퓨터와 위치가 멀면 멀수록 속도..