혼자서 공부하기/AWS
-
AWS FinOps Dashboard 설치와 활용 요약혼자서 공부하기/AWS 2025. 9. 1. 23:28
AWS FinOps Dashboard란?AWS FinOps Dashboard는 터미널에서 사용할 수 있는 AWS 비용 및 리소스 관리 도구입니다. Python과 Rich 라이브러리로 개발되었으며, AWS 계정의 서비스별 비용, EC2 인스턴스 상태, 예산 사용 현황 등을 한눈에 보여줍니다. 데이터를 CSV, JSON 등으로 쉽게 내보낼 수 있습니다.설치 과정 준비하기이 도구를 설치하려면 우선 Python이 PC에 있어야 합니다. Python이 없다면 공식 사이트(https://www.python.org/downloads)에서 다운로드 후 설치하세요. 그다음, AWS CLI도 필요하니, aws cli가 없다면 공식 가이드(https://docs.aws.amazon.com/cli/latest/userguid..
-
Express.js 백엔드, Docker, AWS ECS, MongoDB로 클라우드에 배포하기혼자서 공부하기/AWS 2025. 9. 1. 23:20
필요한 준비물Express.js 백엔드를 배포하려면 Node.js와 npm이 설치돼 있어야 합니다. AWS CLI 설정과 Docker 설치도 필요하며, AWS 계정, 그리고 MongoDB Atlas 계정(혹은 직접 호스팅할 MongoDB)이 있어야 합니다.Express.js 앱 기본 구조프로젝트 폴더를 만들고 express, mongoose 패키지를 설치한 후, 아래와 같이 기본 서버 코드를 작성하면 됩니다.// index.jsconst express = require(express);const mongoose = require(mongoose);const app = express();const PORT = process.env.PORT || 3000;app.use(express.json());mongo..
-
FastAPI와 Docker, AWS ECS로 머신러닝 모델 배포하기혼자서 공부하기/AWS 2025. 9. 1. 23:19
단계별 ML 모델 배포 여정머신러닝 모델을 실제 서비스로 만들려면, 단순히 학습만으로 끝나지 않고 다양한 배포 과정을 거쳐야 합니다. 이 글에서는 scikit-learn으로 만든 모델을 FastAPI로 감싸고, Docker로 컨테이너화해 AWS ECS(Fargate)를 통해 클라우드에 올리는 일련의 과정을 소개합니다.모델 학습 및 저장먼저 머신러닝 모델을 훈련시킨 후 파일로 저장합니다. 여기서는 유명한 아이리스 데이터셋을 사용해 랜덤 포레스트 분류기를 만들었고, 결과를 iris_model.pkl로 저장했습니다.# train_model.pyfrom sklearn.datasets import load_irisfrom sklearn.ensemble import RandomForestClassifierimpor..
-
Amazon ECS의 ECScape 취약점 핵심 정리혼자서 공부하기/AWS 2025. 9. 1. 23:18
ECScape 취약점이란?ECScape는 Amazon ECS(Elastic Container Service)에서 발견된 새로운 보안 취약점으로, 공격자가 한 컨테이너에서 다른 컨테이너의 AWS 자격 증명(IAM)을 훔칠 수 있는 문제입니다. 특히 여러 컨테이너가 같은 EC2 인스턴스에서 함께 동작할 때 심각한 영향을 미칩니다.취약점의 작동 방식ECScape는 ECS 내부의 알려지지 않은 프로토콜을 악용해서 실행 중인 컨테이너끼리의 경계를 뚫고, 낮은 권한의 컨테이너가 높은 권한의 IAM 자격 증명을 탈취할 수 있게 만듭니다. 이를 통해 공격자는 권한을 올리거나 시스템 전체에 접근할 수 있습니다.왜 심각한 문제인지컨테이너는 기본적으로 서로 격리되는 것이 특징이지만, ECScape로 인해 이 격리 보장에 금..
-
AWS ECS와 Lambda를 결합한 하이브리드 서버리스 아키텍처혼자서 공부하기/AWS 2025. 9. 1. 23:17
하이브리드 구조의 기본 아이디어전통적 서버리스인 Lambda는 짧은 작업, ECS는 지속적 과업에 각각 강점이 있습니다. 이 둘을 함께 쓰면, 꾸준한 작업과 갑작스러운 트래픽에 모두 유연하게 대응할 수 있습니다.언제 쓰면 좋은가?백그라운드 작업을 컨테이너 환경에서 안정적으로 처리할 때갑작스런 트래픽이 몰릴 땐 ECS로 충분히 대응하기 어려울 때ECS를 과도하게 할당하지 않고 비용 최적화를 원할 때Lambda와 ECS에서 거의 같은 코드베이스를 활용하고 싶을 때활용 예시실시간 데이터 처리 파이프라인: ECS는 꾸준히 스트림을 처리, Lambda는 갑자기 데이터가 몰릴 때 추가로 대응PDF 즉시 생성: ECS에서 대량 작업, Lambda로 단건 작업 처리이미지/영상 처리 대기열 관리주요 구성 요소와 역할SQ..
-
Spring Boot 앱을 ECS에 GitHub Actions로 자동 배포하기혼자서 공부하기/AWS 2025. 9. 1. 23:16
AWS 리소스 준비 개요Spring Boot 앱을 ECS에 자동 배포하려면, 여러 AWS 리소스를 미리 만들어야 해요. 대표적으로 보안 그룹, 로그 그룹, IAM 역할, ECR 저장소, ECS 클러스터, 태스크 정의, 그리고 서비스가 필요합니다. 각각의 리소스가 어떻게 연결되는지 이해하면 전체 흐름이 명확해져요.보안 그룹 생성 및 포트 허용ECS 서비스가 외부에서 접속될 수 있도록 보안 그룹을 만들고, 필요한 포트를 엽니다. AWS CLI를 사용해 아래와 같이 수행합니다.aws ec2 create-security-group --group-name ecs-demo-sg ...aws ec2 authorize-security-group-ingress --group-id --protocol tcp --port..
-
AWS Secrets Manager와 클라우드 보안 핵심혼자서 공부하기/AWS 2025. 9. 1. 23:15
AWS Secrets Manager의 역할AWS Secrets Manager는 암호, API 키 등 중요한 정보를 안전하게 저장하고 관리할 수 있는 서비스입니다. 자동으로 비밀번호를 정기적으로 변경해줄 수 있고, 다양한 AWS 서비스와 쉽게 연동됩니다.데이터베이스 암호 자동 교체Secrets Manager를 활용하면 RDS 같은 데이터베이스의 비밀번호를 Lambda 함수로 주기적으로 새로 만들고 자동으로 업데이트할 수 있습니다. 이는 보안 사고 위험을 줄이는 데 큰 도움이 됩니다.ECS 환경 변수로 안전하게 주입AWS ECS 서비스와 Secrets Manager는 완벽하게 연동됩니다. ECS 태스크를 시작할 때, 필요한 비밀번호와 같은 비밀 정보를 환경 변수로 받아와 내부 애플리케이션에서 안전하게 사용할..
-
AWS 비용 절감 실전 노하우혼자서 공부하기/AWS 2025. 9. 1. 23:10
EC2 비용 절감: Spot 인스턴스와 오토스케일링 활용EC2를 계속 온디맨드로만 사용하면 요금이 크게 나옵니다. Spot 인스턴스를 사용하면 최대 90%까지 절약할 수 있어요. ASG(오토스케일링 그룹)를 같이 쓰면 Spot이 회수돼도 자동으로 온디맨드로 전환해 다운타임 없이 운용할 수 있습니다.resource aws_autoscaling_group web_asg { name = web-asg launch_configuration = aws_launch_configuration.web.name max_size = 10 min_size = 2 desired_capacity = 4 mixed_instances_policy { instances_distribution { on_dem..