EC2

오늘은 기존에 수동으로 진행하던 EC2 배포 과정을 Github Actions를 이용해 자동화하며 겪었던 과정을 공유하려고 합니다.저처럼 사내에서도 온프레미스 환경 + 배포 자동화가 되어 있지 않는 곳에서 근무하셨던 분들은 생소하게 여길 수도 있을 개념이라고 생각합니다. 1. 기존 배포 방식의 문제점 (The Pain Point)로컬에서 Docker Image Build빌드한 이미지를 Docker Hub에 PushEC2 인스턴스에 SSH로 접속EC2 디렉토리(프로젝트 docker-compose 위치해 있는)로 이동최신 이미지 pull (docker-compose pull)기존 컨테이너 내리기 docker-compose down새 컨테이너 올리기 docker-compose up어떤 단점이 있는지 생각해보..
젠킨스와 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..
간단하게 만들어 본 사이드 프로젝트를 백엔드만 배포하려고 할 때 거쳤던 여러가지 배포 방법 고민에 대해 공유하면 좋을 것 같아서 정리해놓으려고 합니다. 그래서 배포란 무엇일까?기획 -> 요구사항 분석 -> 역할 분담 -> 개발 -> 배포 -> 지속적인 서비스 개선 (리팩토링)개발자들이 개발한 앱, 웹 서비스들을 일반 사용자들이 접근할 수 있게 하는 것이 배포라고 할 수 있습니다. 이런 배포를 하려면 컴퓨터 한 대가 필요합니다. 온프레미스 환경이라고 부릅니다.정확히 말하면, 온프레미스 환경은 단순히 입출력 장치가 포함된 컴퓨터를 의미하는 것이 아니라, 물리적인 하드웨어 인프라를 구축하여 우리의 웹사이트를 24시간 안정적으로 운영할 수 있도록 하는 것을 말합니다. 그러나 24시간 365일 서버를 계속 가동하..
리전(Region) 선택하기 AWS EC2를 시작하기 위해 제일 먼저 확인해야 할 점 리전(Region)이란 인프라를 지리적으로 나누어 배포한 각각의 데이터 센터를 의미한다. EC2를 간단하게 설명하면 우리는 컴퓨터를 빌려서 원격으로 접속해 서비스를 사용한다. 컴퓨터라는 하드웨어는 가상머신 개념이 생긴 뒤로 여러 사용자에게 빌려줄 수 있게 되었다. 가상화 개념으로 컴퓨터를 쪼개서? 빌려주는 건데, 실제로 컴퓨터는 존재한다에 초점을 맞춰야 할 것 같다. 빌려주는 컴퓨터들이 모여있는 곳을 리전(Region)이라고 생각하면 된다. 왜 버지니아 컴퓨터를 사용하면 안 될까? 애플리케이션을 사용할 때 네트워크를 통해 통신하게 됩니다. 다 해저 광 케이블로 연결되어 있습니다. 따라서 컴퓨터와 위치가 멀면 멀수록 속도..
EC2(Elastic Compute Cloud)? 컴퓨터를 빌려서 원격으로 접속해 사용하는 서비스이다. 하나의 컴퓨터를 빌리는 것! EC2가 왜 필요할까? 서버를 배포하기 위해서 컴퓨터가 필요합니다. 중점은 서버가 꺼지면 안 된다는 점입니다. 우리 집의 컴퓨터를 서버로 쓸 수 있겠지만. 전기세 어쩔티비.. 그리고 인터넷을 통해 내 컴퓨터에도 접근할 수 있기 때문에 보안적으로 위험하다. AWS EC2는 여러 부가기능들(로깅, 오토스케일링, 로드밸런싱 등) 백엔드에서 보통 서버를 배포할 때 AWS EC2 로 배포한다고 한다. 자체적으로 온프레미스 형식으로 배포하는 경우도 있지만! 톰캣, 제우스 등등 프론트엔드에서는 AWS EC2로 배포하기보다는 AWS S3를 사용해서 주로 배포한다고 합니다.! vercel,..
솜사탕코튼
'EC2' 태그의 글 목록