[클라우드 엔지니어링 부트캠프 우수 프로젝트] AWSome

하이브리드·멀티 클라우드 구축부터 Service Mesh, CI/CD, AutoScaling까지 직접 구현한 클라우드 아키텍처 프로젝트. 멋쟁이사자처럼 클라우드 엔지니어링 부트캠프 수료생의 실제 결과물을 확인해보세요.
[클라우드 엔지니어링 부트캠프 우수 프로젝트] AWSome

클라우드 엔지니어링 부트캠프를 수료하면 실제로 어떤 결과물을 만들 수 있을까요? 클라우드 환경 구성에서 그치는 게 아니라, Service Mesh와 CI/CD, 오토스케일링, 모니터링까지 구현할 수 있는지 궁금한 분들이 많아요.

이 글에서는 멋쟁이사자처럼 클라우드 엔지니어링 부트캠프 수강생이 만든 우수 프로젝트 'AWSome'을 소개합니다. 아키텍처 구성에서 끝나지 않고 프로세스 자동화까지 고려한 프로젝트로, 어떤 기술을 어떻게 구현했는지 살펴볼 수 있어요.

💡

AWSome은 하이브리드 및 멀티 클라우드 환경을 구축하고 클라우드 아키텍처를 직접 설계한 프로젝트예요.

AWS, GCP, Docker, Kubernetes, Istio, Rust, ELK Stack, KEDA, Slack Bot 등을 활용해 Service Mesh, CI/CD, AutoScaling, 로그 모니터링, 인스턴스 자동화까지 구현한 멋쟁이사자처럼 클라우드 엔지니어링 부트캠프 프로젝트입니다.

목차

  1. AWSome이란?

  2. 사용한 기술 스택

  3. 기획 과정

  4. 주요 기능 구현


1. AWSome이란?

AWSome은 하이브리드 및 멀티 클라우드 환경을 구축하고 클라우드 아키텍처에 대해 연구한 프로젝트예요. 아키텍처 구성에서 끝나지 않고 프로세스 자동화까지 고려한 프로젝트예요.

항목

내용

프로젝트명

AWSome

서비스 유형

하이브리드·멀티 클라우드 인프라 아키텍처 프로젝트

과정

멋쟁이사자처럼 클라우드 엔지니어링 부트캠프

2. 사용한 기술 스택

AWSome 프로젝트 기술 스택 — AWS, GCP, Docker, Kubernetes, Python, Rust

구분

기술

클라우드

GCP, AWS

컨테이너·오케스트레이션

Docker, Kubernetes, OpenShift

언어·런타임

Node.js, Python, Rust

서비스 메시

Istio

데이터베이스

MySQL

모니터링

ELK Stack (Elasticsearch, Logstash, Kibana, Beat)

오토스케일링

Cluster Autoscaler, KEDA

자동화

Slack Bot (boto3)

협업

Discord, Notion, Jira, Slack

3. 기획 과정

AWSome 클라우드 엔지니어링 프로젝트 시스템 아키텍처 다이어그램

4. 주요 기능 구현

1) Service Mesh — Istio

서비스 메시는 애플리케이션 트래픽을 관리, 추적 및 보안성을 강화하기 위해 플랫폼 레이어에 구성되는 네트워크 제어 방법이에요. Istio는 마이크로서비스 아키텍처에서 주로 사용되지만, 기존 애플리케이션 아키텍처에서도 유용하게 활용할 수 있는 오픈소스 서비스 메시예요.

AWSome 프로젝트 Service Mesh Istio 구성 설명

2) CI/CD

CI/CD는 조직이 버그 및 코드 오류를 예방하는 동시에 지속적인 소프트웨어 개발 및 업데이트 주기를 유지하는 데 도움이 돼요.

AWSome 프로젝트 CI/CD 파이프라인 환경 변수 및 빌드 구성
  • echo를 활용해 image.url에 env 환경 변수를 지원하고, build, push, scan 등 다양한 방식을 학습하며 전체 환경 변수를 사용해 가독성 및 품질성을 개선했어요.

AWSome 프로젝트 CI CD job 분리 및 needs 조건 구성
  • 두 개의 job을 분리해 각 CI/CD Step을 수행하되, CD 내부에 needs를 사용해 CI의 성공 여부를 확인하고 CD 빌드를 수행할지 결정해요.

3) Rust Tools (Cursive, Kube, K8s-openapi)

Rust는 성능, 안전성, 그리고 병렬 처리를 중점으로 하는 프로그래밍 언어예요. 특히 메모리 안전성과 스레드 안전성에 중점으로 개발됐어요.

Cursive 주요 기능

  • TUI 기반 애플리케이션을 빠르게 만들고 싶을 때 사용해요.

  • 다양한 위젯 제공 (버튼, 체크박스, 리스트뷰 등)

  • 레이아웃 시스템 지원 (자동 정렬)

  • 마우스 입력 및 키보드 단축키 지원

  • 외부 데이터와 연동 기능 (예: 파일 시스템, API)

Kube, K8s-openapi

  • Kube: Rust에서 Kubernetes 클러스터와 상호작용할 수 있도록 도와주는 라이브러리예요.

  • K8s-openapi: API 리소스를 Rust 타입으로 변환해주는 라이브러리예요.

  • Kubernetes 애플리케이션 개발 시 필요한 라이브러리예요.

AWSome 프로젝트 Rust Tool 소개 카드

4) AutoScaling

Cluster Autoscaler와 KEDA(Kubernetes Event-Driven Autoscaler)를 비교·적용했어요.

Feature

Cluster Autoscaler

KEDA

확장 대상

노드(Node) 개수 조정

Pod 개수 조정

스케일링 기준

CPU, 메모리 부족 시 노드 추가

이벤트 기반 (Kafka, SQS, HTTP 요청 횟수) Pod 스케일링

최소 리소스

최소 1개의 노드 유지

Pod를 0개까지 줄일 수 있음

주요 활용 사례

클러스터 내 리소스 부족 시 노드 추가/제거, 클라우드 비용 최적화

트래픽·이벤트 기반 동적 스케일링, 서버리스 환경 구축

Cluster Autoscaler 설정 방법이에요.

  • kOps edition을 사용해 설정했어요.

  • ASG(AutoScaling Group) 설정 후 CA를 설정했어요.

  • ASG에 CA가 인식할 수 있게 태그를 추가했어요.

  • CA를 설정할 노드 그룹 IAM 역할에 Autoscaling 관련 권한을 추가했어요.

AWSome 프로젝트 Cluster Autoscaler 설정 화면
AWSome 프로젝트 HPA와 KEDA 오토스케일링 방식 비교
AWSome 프로젝트 KEDA 메트릭 기반 오토스케일링 동작 화면

5) ELK Stack

ELK Stack은 로그 및 데이터를 수집, 저장, 검색, 시각화하는 오픈소스 로그 분석 및 모니터링 솔루션이에요. Kubernetes 환경에서는 Logstash 대신 Fluentd를 사용하는 EFK Stack이 더 많이 사용돼요.

Elasticsearch에 저장된 로그 데이터를 Kibana 시각화 시스템을 이용한 대시보드를 생성했어요.

AWSome 프로젝트 ELK Stack 구성 — Elasticsearch Logstash Kibana Beat
AWSome 프로젝트 Kibana 로그 모니터링 대시보드

6) Slack Bot

손으로 직접 모든 인스턴스를 중지하거나 시작하는 것에 번거로움을 느껴서 제작했어요. boto3 라이브러리를 활용해 Slack으로 자동화했어요.

  • /all-instance: 모든 EC2, RDS, ASG를 재개·시작, 중지하고 상태를 확인할 수 있어요.

  • /all-project-instance: 특정 태그가 있는 EC2, RDS, ASG를 재개·시작, 중지하고 상태를 확인할 수 있어요.

    AWSome 프로젝트 Slack Bot 인스턴스 자동화 명령어 화면
    AWSome 프로젝트 Slack Bot all-instance 명령어 실행 화면
    AWSome 프로젝트 Slack Bot all-project-instance 명령어 실행 화면

💡프로젝트 시연 영상


AWSome은 하이브리드·멀티 클라우드 환경 구축부터 Service Mesh, CI/CD, AutoScaling, 로그 모니터링, Slack 자동화까지 구현한 프로젝트예요.

멋쟁이사자처럼 클라우드 엔지니어링 부트캠프에서 어떤 수준의 프로젝트를 만들 수 있는지 확인해보세요.

멋쟁이사자처럼 클라우드 엔지니어링 부트캠프 상세 보기

Share article