도커 + EC2 + Nginx +Github Actions를 이용한 다중 컨테이너 배포하기
·
DevOps/AWS
요구사항도커 컨테이너(Spring 프로젝트 2개)MongoDB(MongoDB Atlas)MySQL(RDS)Redis(Elastic Cache)위와 같이 스프링 프로젝트를 컨테이너화 시킨것을 CI/CD 구축할것이다.먼저 위와 같이 많은 리소스들의 파이프라인 관리와 배포를 위해서 많은 도구들이 제공되어 있다.ECS, ECR, Jenkins 등등... 아직 나는 그 정도까지는 못할것 같고, 비교적 간단하게(?) 도커, EC2, Nginx, Github Actions를 이용해 보려고한다.먼저 배포를 위해서는 docker 파일에 대한 정보를 알려주기 위해 Dockerfile을 직접 작성하고, push하고, container Image에 build하고, registry에 등록 하는 방식은 정말 벌써부터 하기가 싫다..
[AWS] Route 53으로 도메인 서비스 구축하기
·
DevOps/AWS
2024.08.18 - [DevOps/AWS] - [AWS] EC2에 스프링 프로젝트 띄우기 [AWS] EC2에 스프링 프로젝트 띄우기2024.08.17 - [DevOps/AWS] - [AWS] Amazon RDS 사용해보기 [AWS] Amazon RDS 사용해보기2024.08.16 - [DevOps/AWS] - [AWS] Amazon EC2 원격 로그인 [AWS] Amazon EC2 원격 로그인2024.08.15 - [DevOps/AWS] - [AWS] Amazon EC2 인스턴스 만들lsdiary.tistory.com 지난 포스팅까지 EC2에 스프링 프로젝트를 띄우고, 인터넷에서 Public IP 주소로 접근해서 나의 Rest API가 잘 작동하는지 테스트했다. 그렇다면 www.(호스트 이름)nave..
[AWS] EC2에 스프링 프로젝트 띄우기
·
DevOps/AWS
2024.08.17 - [DevOps/AWS] - [AWS] Amazon RDS 사용해보기 [AWS] Amazon RDS 사용해보기2024.08.16 - [DevOps/AWS] - [AWS] Amazon EC2 원격 로그인 [AWS] Amazon EC2 원격 로그인2024.08.15 - [DevOps/AWS] - [AWS] Amazon EC2 인스턴스 만들기 [AWS] Amazon EC2 인스턴스 만들기2024.08.15 - [DevOps/AWS] - [AWS] Amazon 네트워lsdiary.tistory.com이전 포스팅까지 AWS에서 제공하는 다양한 서비스들을 활용하며 테스트 해봤다.서버/백엔드 개발자로서 많이 사용하는 Spring 프로젝트를 이때까지 진행했던 클라우드 서비스에 올려보려고한다. 전체..
[Spring] 스프링이란?
·
Spring
서버 개발을 하면서 다들 Spring 쓰니까 나도 쓴거지 정확히 이게 뭘 지원하는지 잘 몰라서 정리를 해본다.  Spring 이란? Java 기반의 웹 프레임워크다. FrameWork : 웹 개발을 수월하게 할수 있게 제공하는 소프트웨어 개발환경Spring FrameworkSpring Boot톰캣 설치하고 안에 프로젝트 넣어줌내장 톰캣 서버 사용dependency 각각 호환버전 맞춰야함starter를 통한 dependency 자동화 Spring Boot 3.0 버전의 등장 : Java 17이상을 지원그랄 VM 기반으로 스프링 네이티브 공식 지원AOT 컴파일러 : 코드 최적화, 컴파일후 네이티브 코드로 제공, 네이티브 이미지로 컴파일이 가능 -> Java가 Binary 파일을 만들수 있다! -> 속도 향..
[AWS] Amazon EC2 원격 로그인
·
DevOps/AWS
2024.08.15 - [DevOps/AWS] - [AWS] Amazon EC2 인스턴스 만들기 [AWS] Amazon EC2 인스턴스 만들기2024.08.15 - [DevOps/AWS] - [AWS] Amazon 네트워크 운영하기 [AWS] Amazon 네트워크 운영하기2024.08.15 - [DevOps/AWS] - [AWS] Amazon 클라우드 시작하기 [AWS] Amazon 클라우드 시작하기클라우드 이해 Cloud는 IT 자원(서lsdiary.tistory.com이전 포스팅 들에선 VPC를 구축하면서 직접 네트워크를 구축해보고, EC2 인스턴스까지 만들어 봤다.이번 포스팅은 만든 EC2에 원격접속하는 과정을 공부해본다. 윈도우 사용자와 맥 사용자에 따라 원격 접속하는 방법이 다르다.윈도우 버전 ..
[AWS] Amazon EC2 인스턴스 만들기
·
DevOps/AWS
2024.08.15 - [DevOps/AWS] - [AWS] Amazon 네트워크 운영하기 [AWS] Amazon 네트워크 운영하기2024.08.15 - [DevOps/AWS] - [AWS] Amazon 클라우드 시작하기 [AWS] Amazon 클라우드 시작하기클라우드 이해 Cloud는 IT 자원(서버, 스토리지, 애플리케이션 등)에 네트워크(인터넷) 연결을 통해 접근하여 사용lsdiary.tistory.com 이전 포스팅에서 인스턴스를 위한 공간인 네트워크 구축을 진행했다. 인스턴스란? Amazon EC2(Elastic Compute Cloud)는 프로세서, 스토리지, 네트워킹, OS 및 구매 모델의 다양한 옵션을 제공하며, 클라우드에서 안전하고 크기 조정 가능한 컴퓨팅을 제공한다.따라서 인스턴스란 A..
[AWS] Amazon 네트워크 운영하기
·
DevOps/AWS
2024.08.15 - [DevOps/AWS] - [AWS] Amazon 클라우드 시작하기 [AWS] Amazon 클라우드 시작하기클라우드 이해 Cloud는 IT 자원(서버, 스토리지, 애플리케이션 등)에 네트워크(인터넷) 연결을 통해 접근하여 사용할 수 있도록 해주는 모델이다.굳이 클라우드 서비스를 이용해야 할 이유?선투자lsdiary.tistory.comAWS의 입문자라면 계정 생성부터 간단한 서비스 종류까지 알아볼수 있는 내용을 이전 포스팅에서 소개했다. 이번 포스팅은 AWS에서 제공하는 서비스는 어떤것인지 조금 더 구체적으로 살펴보겠다.기본용어RegionAZ(가용 영역) : 리전 내 위치한 물리적으로 독립된 복수 개의 데이터 센터 - 아시아(서울)의 경우 a, b, c, d 4개의 데이터센터(가용..
[AWS] Amazon 클라우드 시작하기
·
DevOps/AWS
클라우드 이해 Cloud는 IT 자원(서버, 스토리지, 애플리케이션 등)에 네트워크(인터넷) 연결을 통해 접근하여 사용할 수 있도록 해주는 모델이다.굳이 클라우드 서비스를 이용해야 할 이유?선투자 비용이 없다 : 미리 서버를 구매하지 않아도 된다.운영 비용 절감 : 사용한 만큼만 지불한다.탄력적인 운영 및 확장속도 및 민첩성 : 수 분 만에 인프라 구축이 가능하다.비즈니스에만 집중글로벌 확장CSP(Cloud Service Provider) : 클라우드 서비스 제공업체. 크게 AWS, Azure, Google Cloud가 있다.AWS 기본 용어 리전(Region) : AWS 서비스가 운영되는 지역으로 복수개의 데이터 센터들의 집합이다.가용 영역(AZ) : 리전 내 위치한 복수 개의 데이터 센터들로 각각 물..
백엔드 아키텍처 간단히 알아보기 (DDD, MSA, 멀티모듈)
·
DevOps/AWS
서버사이드에서 어떤식으로 서버를 운영할까?아무런 방법론 없이 서버를 운영한다면 초기 요구사항같이 변동이 없는 경우에는 아무 상관이 없을 것이다. 하지만 현실세계는 변화가 많기때문에 막무가내로 개발하게 된다면 복잡도가 엄청나고 유지보수가 정말 힘들것이다. 이에 대한 방법론을 말하고자 한다.DDD(Domain Driven Design) 도메인 주도 설계 라는 용어이다. 도메인 설계나 개발 작업의 중심에 도메인 모델을 두고 반복적으로 변경 및 진화시켜서 프로그램을 구현하는 개발방법론이다. 이게 무슨말이지...?비즈니스 도메인 기업의 주요 활동 영역을 정의하고, 회사가 고객에게 제공하는 서비스를 의미한다.이걸 세분화 시킨걸 하위 도메인이라고 한다.ex. 스타벅스의 커피 판매 -> 비즈니스 도메인ex. 커피 판매..
Spring Webflux와 Redis이용해서 접속자 대기열 시스템 만들기(2)
·
Spring/대용량 트래픽
2024.07.20 - [Spring/대용량 트래픽] - Spring Webflux와 Redis이용해서 접속자 대기열 시스템 만들기(1) Spring Webflux와 Redis이용해서 접속자 대기열 시스템 만들기(1)2024.07.13 - [Spring/대용량 트래픽] - Blockhound로 디버깅하기 Blockhound로 디버깅하기2024.07.13 - [Spring/대용량 트래픽] - Spring MVC vs Webflux 성능 비교(with Jmeter) Spring MVC vs Webflux 성능 비교(with Jmeter)2024.07.12lsdiary.tistory.com wait -> proceed 으로 렌더링이 리다이렉트되는걸 자동화 시키기 위해선 어떻게 해야할까? Scheduler ht..