무중단 배포 - 롤링, 블루-그린, 카나리 배포
·
DevOps
무중단 배포란, 운영 중인 서비스를 중단하지 않고(zero-downtime) 새로운 소프트웨어를 배포하는 기술이다.즉, 로드밸런서(Load Balancer)를 통해서 연결된 두 개 이상의 인스턴스에 트래픽을 제어하여 배포하는 것이 핵심이다. 무중단 배포는 크게 2가지 종류로 나뉜다.롤링 배포: 제한된 자원에서 하나씩 배포하여 변경해 나가기블루-그린 배포: 현재 사용 중인 버전의 인스턴스 수만큼 새로운 버전의 인스턴스를 준비해서 로드밸런서가 스위칭여기에, 새 버전 소프트웨어의 모니터링과 검증에 초점을 맞춘 카나리 배포도 많이 사용하고 있다.그러면 이제 각각에 대해 자세히 알아보자. ✅ 롤링(Rolling) 배포트래픽을 점진적으로 구버전에서 새 버전으로 옮기는 방식으로, 무중단 배포의 가장 기본적인 방식이다..
단일 장애 지점(SPOF)과 이에 대응하는 방법들
·
DevOps
단일 장애 지점(SPOF, Single Point of Failure)이란 시스템의 특정 요소가 고장 났을 때 전체 시스템이 작동을 멈추는 약점을 말한다. 아무래도 시스템의 취약점으로 작용하고, 해결하지 않으면 예기치 못한 상황에서 전체 시스템이 마비될 수 있다.따라서, 고가용성의 아키텍처를 위해서는 SPOF를 식별하고 제거하는 것이 중요하다. 장애는 다양한 상황에서 발생할 수 있다.그렇기 때문에 아래 그림에서처럼, SPOF는 시스템 어디에서나 존재할 수 있다. 심지어 하드웨어에서도...! 이러한 SPOF를 제거하기 위한 핵심 축을 나누면 크게 두 가지를 뽑을 수 있을 것이다.1. 다중화"단일" 장애 지점이 사라지도록, 같은 기능을 하는 자원을 여러 개 두는 것을 말한다.이를 통해 서비스의 연속성을 확보..
[AWS] ALB 이용해서 AWS로 서비스 배포하기
·
DevOps
최근 AI를 이용한 업무 자동화라는 것에 약간의 관심이 생겨서 찾아보게 되었다.개발 환경에 AI를 도입하는 것에 가장 접근하기 쉬운 방법인 것 같다. AI를 이용한 업무 자동화를 하려면, 이벤트 트리거를 감지하고 처리하는 일련의 과정이기 때문에 AI 서버를 켜놓아야 한다.그래서 AI 서비스를 AWS를 활용하여 띄우는 것을 먼저 정리해보려고 한다. 크게 다음과 같이 구성하려고 한다.VPC 내부에 Public/Private Subnet을 분리해 보안 계층화NAT로 Private Outbound 허용Bastion으로 SSH 진입 통로 확보ALB로 HTTPS 수신 및 Redirectnginx로 내부 Docker 포트 프록시 처리 🎯 VPC 생성우선 VPC를 생성해 보자. AWS 콘솔 검색창에서 VPC를 검색해..
[Docker] MySQL 설치하고 접속하기(feat. Access denied for user 'root'@'localhost' 에러 해결)
·
DevOps
로컬 환경에 DB를 설치하지 말고, Docker를 이용해서 컨테이너로 관리해 보자. 🔵 Docker에서 MySQL 이미지 다운로드하기8.0.34 버전을 지정해서 다운로드했다. 태그에 버전을 지정하지 않으면 최신 버전을 다운로드한다.$ docker pull mysql:8.0.34 다음 명령어로 다운로드한 도커 이미지를 확인할 수 있다.$ docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEmysql 8.0.34 59ae56ac42c6 2 years ago 783MB 🔵 MySQL 이미지를 바탕으로 도커 컨테이너 생성 및 실행$ docker run -d --name mysql -p 3306:3306 \-e M..