![[CI/CD] Docker, EC2, ECR, CodeDeploy, Github Actions를 활용한 배포 자동화](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbgT4Kg%2FbtsLu5gCyxH%2FF30Isf03KZqA35pDU0M7N1%2Fimg.png)
[CI/CD] Docker, EC2, ECR, CodeDeploy, Github Actions를 활용한 배포 자동화이 글에서는 Docker, EC2, ECR, CodeDeploy, Github Actions를 조합하여 애플리케이션 배포를 자동화하는 방법을 단계별로 설명함. 이를 통해 지속적 통합(CI)과 지속적 배포(CD)를 구현할 수 있음.CI/CD 파이프라인 프로세스 설명CI/CD 파이프라인의 주요 단계를 아래와 같이 설명:Git Push개발자가 GitHub 저장소에 변경 사항을 Push하면 CI/CD 프로세스가 시작Docker 이미지 생성GitHub Actions가 트리거되며, 애플리케이션 코드를 기반으로 Docker 이미지를 생성Docker 이미지를 ECR로 Push생성된 Docker 이미지는 A..
![[ECS] 환경변수 - Neo4j 드라이버 URI 설정 문제 해결](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fw2cp0%2FbtsLrJrzBEB%2FCUeUXVHokltAJGEkKljcxk%2Fimg.png)
Neo4j 드라이버 URI 설정 문제 해결AS-IS문제 상황Django 애플리케이션에서 Neo4j 드라이버를 초기화하는 과정에서 다음과 같은 문제가 발생했습니다:환경 변수 NEO4J_BOLT_URI에 잘못된 값이 전달되어 neo4j.exceptions.ConfigurationError 발생.환경 변수 값에 불필요한 따옴표(" 또는 ')가 포함되어 URI 값이 올바르게 파싱되지 않음.주요 증상Neo4j 드라이버가 URI를 인식하지 못하고 에러 로그를 출력.URI 스킴 유효성 검사 실패.예시환경 변수 파일에 다음과 같이 잘못 정의되어 있었습니다:NEO4J_BOLT_URI="bolt://URI:7687"Challenge문제 원인환경 변수 정의 오류URI 값을 감싸는 불필요한 따옴표가 포함됨.bolt://URI..
![[AT] MLflow 보안 강화: htpasswd를 활용한 Nginx 인증 설정](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FLyd3s%2FbtsLlRihMMw%2FVQi7fMjTj0KRwlNCNB3Wn0%2Fimg.png)
AS-IS현재 상황에서 인식한 문제점과 해결하고자 하는 내용입니다.문제상황 인지 EC2에서 Docker와 Nginx를 통해 MLflow 서버를 실행하고 있음. MLflow 서버에 별도의 인증 절차가 없어 누구나 접속 가능한 보안 문제가 발생. 보안 그룹 설정은 있지만 근본적으로 접근 통제를 위한 추가적인 보안이 필요함.Challenge문제를 해결하기 위해 고민하고 기술적으로 접근한 과정입니다.문제 해결을 위해 고민한 내용 Nginx에서 인증 절차를 구현하기 위한 방법을 찾아야 함. 검색을 통해 Nginx에서 사용자 인증을 제공하는 htpasswd 방법을 발견함. 참고한 자료: htpasswd로 ID, 패스워드 생성시에 SHA 암호화방식으로 암호생성하기htpasswd 설치 방법 htpasswd..
![[DevOps] Django - CI/CD 파이프라인 자동화](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdluxz8%2FbtsLjThETTM%2F2C0C4fmkk1ICkYIKic707k%2Fimg.png)
WEB(Django) CI/CD 아키텍처1. 개요해당 아키텍처는 CI/CD 파이프라인을 통해 애플리케이션 코드를 자동으로 빌드 및 배포하는 과정을 설명합니다. 개발자가 코드를 푸시하면 GitHub Actions가 Docker 이미지를 빌드하고 Amazon ECR에 푸시합니다.이후 ECS를 통해 Django 애플리케이션이 포함된 컨테이너를 배포하고 서비스를 갱신합니다.2. 주요 컴포넌트2.1 개발자역할: 애플리케이션 소스코드를 개발하고 GitHub에 푸시합니다.2.2 GitHub역할: 버전 관리 시스템으로 코드 변경 사항을 관리합니다.주요 동작:개발자의 코드 푸시를 감지하고 GitHub Actions를 트리거합니다.2.3 GitHub Actions역할: CI/CD 파이프라인의 핵심 자동화 도구입니다. ..
![[MLflow] MLflow란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc3Nu97%2FbtsLitKeP6C%2FvGOyFFJo4uuM6kTgKcHBRk%2Fimg.png)
MLflow란?MLflow는 머신러닝 모델 실험, 관리, 배포, 모니터링, 재현성을 지원하는 오픈 소스 플랫폼임. 다양한 머신러닝 프레임워크(TensorFlow, PyTorch, Scikit-learn 등)와 호환되며, 실험 기록, 모델 관리, 배포 워크플로우를 간소화함. 특히, 중앙화된 실험 관리와 프로덕션 단계까지의 일관된 프로세스를 제공하여 머신러닝 프로젝트의 생산성을 높이는 데 기여함.MLflow의 주요 구성 요소1. MLflow Tracking실험 기록 및 관리.하이퍼파라미터, 모델 메트릭, 결과 등을 체계적으로 관리.2. MLflow Projects프로젝트 종속성을 명시적으로 정의하여 재현성을 보장.3. MLflow Models모델 저장 및 배포 표준화.다양한 배포 환경에 적합한 모델 변환 및..