도커 + 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] AWS 리소스 삭제하기!
·
DevOps/AWS
나를 포함해서 많은 사람들이 AWS를 사용하고 있지않는다고 생각함에도 매달 비용이 청구되는 경우가 있다.이건 여러 서비스들을 이용하고 더 이상 필요하지 않은 리소스를 삭제해주지 않아서 생기는 문제다. 이 포스팅이 리소스를 잘 삭제할수있게 도와주고 돈을(?) 아끼게 해주면 좋겠다.. 상황설명나의 경우 AWS VPC를 만들어서 네트워크를 구축했고, 거기에 EC2 인스턴스를 만들었다.RDS도 네트워크상에 만들어줬고, 만든 EC2에는 Route 53으로 도메인 이름을 설정해줬다.리소스 삭제 순서 Route 53 삭제레코드 삭제호스팅 영역 삭제RDS 삭제데이터베이스 삭제옵션그룹 삭제파라미터 그룹 삭제서브넷 그룹 삭제EC2 인스턴스 삭제인스턴스 삭제탄력적 IP 삭제보안 그룹 삭제키페어 삭제 (옵션)AWS 네트워크 ..
[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 프로젝트를 이때까지 진행했던 클라우드 서비스에 올려보려고한다. 전체..
[AWS] Amazon RDS 사용해보기
·
DevOps/AWS
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 네트워크 운영하기 [AWS] Amazon 네트워크 운영하기2024.08.15 - [DevOps/AWS] - [AWS] Amazonlsdiary.tistory.com이전 포스팅에서는 네트워크를 구축하고 그 안에 EC2 인스턴스를 만드는 작업까지 진행해봤다.DB에 대해서 외부인터넷에 접속하려고 하면 어떻게 해야할까? RDS에 대해 살펴보기 이전, DB에 대해 간략하..
[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. 커피 판매..