Skip to content
@Woori-FISA-Go

Woori-FISA-Go

IPiece

ezgif-8a5d07b47a741ded


Next.js Spring Boot Hyperledger Besu AWS Kubernetes


📖 목차

  1. 프로젝트 개요
  2. 시스템 아키텍처
  3. 주요 서비스 기능
  4. 인프라 및 기술적 특징
  5. 기술 스택
  6. 트러블슈팅
  7. 팀원 소개
  8. 리포지토리 링크

🚀 프로젝트 개요

💡 기획 배경

K-콘텐츠 시장의 급격한 성장에도 불구하고, 캐릭터·웹툰 등 유망 IP에 대한 투자는 대형 기관에 국한되어 있었습니다. IPiece는 블록체인 기술을 활용해 IP 수익권을 토큰증권(STO)으로 발행하여, 팬과 개인 투자자가 소액으로도 콘텐츠 생태계에 참여하고 수익을 공유할 수 있는 민주화된 투자 플랫폼입니다.

🎯 프로젝트 목표

  • 제도권 금융 준수: 온체인(블록체인)과 오프체인(DB) 데이터 정합성을 보장하는 신뢰받는 STO 플랫폼 구축
  • 하이브리드 클라우드: 보안이 필수적인 '원장'은 온프레미스에, 확장성이 필요한 '서비스'는 AWS에 배치
  • 고가용성(HA) 확보: 단일 장애점(SPOF) 없는 무중단 서비스 아키텍처 구현
🗓️ 수행 기간

2025.10.21 ~ 2025.12.05 (7주)


🏛️ 시스템 아키텍처

IPiece는 금융권의 망 분리 요건을 고려하여 AWS 클라우드와 온프레미스 IDC를 VPN으로 연결한 하이브리드 아키텍처를 채택했습니다.

image

🏗️ 인프라 구성의 핵심

  1. Hybrid Network: AWS VPC와 온프레미스 내부망을 Site-to-Site VPN (IPsec)으로 연결하여 보안 터널링 구현
  2. EKS (Amazon Elastic Kubernetes Service): 마이크로서비스의 유연한 배포와 오토스케일링(HPA/CA)을 위한 컨테이너 오케스트레이션
  3. DB High Availability: 비용 최적화를 위해 RDS 대신 EC2 상에 Self-Hosted PostgreSQL Cluster (Patroni + etcd) 구축 및 자동 Failover 구현
  4. Private Blockchain: 온프레미스 폐쇄망 내에 Hyperledger Besu 노드를 구축하여 토큰 발행 및 거래 기록의 무결성 보장

✨ 주요 서비스 기능

사용자 친화적인 투자 경험(MTS)과 투명한 관리자 운영 시스템을 제공합니다.

기능 설명 화면 예시
📈 IP 공모 신규 캐릭터 IP의 로드맵과 수익 구조를 확인하고 청약에 참여합니다.
🔄 2차 거래 주식 호가창과 유사한 UI에서 실시간으로 토큰을 매매합니다. (WebSocket 적용)
📊 자산 관리 보유 토큰의 평가 손익과 포트폴리오 비중을 시각화하여 제공합니다.
🔐 관리자 기능 상품 등록, 공모 승인, **배당금 자동 정산 및 지급(Smart Contract)**을 관리합니다.

☁️ 인프라 및 기술적 특징

본 프로젝트는 단순한 서비스 개발을 넘어 엔터프라이즈급 인프라 구축 및 운영 최적화에 중점을 두었습니다.

1️⃣ 비용 최적화 (Cost Optimization)

  • 문제: 표준 아키텍처(RDS Multi-AZ 등) 설계 시 월 예상 비용 $1,054로 예산($450) 초과
  • 해결:
    • Self-Hosted DB: RDS 대신 EC2에 PostgreSQL HA 클러스터 직접 구축 (약 20% 절감)
    • IaC & Lifecycle: Terraform을 활용해 야간/주말 유휴 리소스 자동 삭제 (terraform destroy)
  • 결과: 핵심 기능(HA)은 유지하면서 비용 70% 이상 절감 달성

2️⃣ 고가용성 (High Availability)

  • Compute: EKS Worker Node 및 Pod에 오토스케일링(HPA, CA) 적용하여 트래픽 급증 대응
  • Database: Patroni + etcd 기반의 3-Node PostgreSQL 클러스터 구성으로 장애 발생 시 수 초 내 자동 Failover
  • Traffic: AWS ALB 및 NLB를 활용하여 부하 분산 및 Health Check 기반의 무중단 서비스 제공

3️⃣ 하이브리드 연결성 (Connectivity)

  • NAT-T VPN: NAT 환경의 온프레미스와 AWS 간 통신을 위해 UDP 4500 캡슐화를 적용한 IPsec 터널링 구축
  • 단일 진입점: 개발자 접근 제어를 위해 Bastion Host 대신 WireGuard VPN을 도입하여 보안성과 접근 편의성 동시 확보

4️⃣ 통합 관측 가능성 (Observability)

  • PLG Stack: Prometheus(메트릭), Loki(로그), Grafana(시각화) 스택을 EKS 내에 구축
  • Hybrid Monitoring: OpenTelemetry Collector를 활용하여 온프레미스 노드 상태와 클라우드 리소스를 단일 대시보드에서 통합 관제

🛠️ 기술 스택

영역 기술 스택
Frontend Next.js TypeScript Tailwind CSS Zustand
Backend Java 17 Spring Boot JPA Spring Security
Blockchain Hyperledger Besu Solidity Web3j
Infra (AWS) EKS EC2 VPC Route53
DevOps Terraform Docker GitHub Actions ArgoCD
Monitoring Prometheus Grafana Loki

🔥 트러블슈팅

프로젝트 진행 중 발생한 기술적 난관과 해결 과정을 기록했습니다. (상세 내용은 토글을 클릭하세요)

1️⃣ 하이브리드 네트워크: NAT 환경에서의 IPsec 통신 문제
  • 문제: 온프레미스 서버가 공유기(NAT) 뒤에 있어 AWS VPN Gateway와 IPsec 터널 연결 실패 (ESP 패킷 변조로 인식)
  • 해결: NAT-T (Traversal) 기술을 적용하여 IPsec 패킷을 UDP 4500으로 캡슐화, NAT 장비를 통과하도록 구성
2️⃣ 비용 최적화: RDS 비용 절감과 HA 확보
  • 문제: 제한된 예산($450) 내에서 엔터프라이즈급 DB 고가용성(Multi-AZ) 구현 불가능 (RDS 비용 과다)
  • 해결: EC2 인스턴스에 PostgreSQL + Patroni + etcd 클러스터를 직접 구축하여 RDS 대비 20% 비용 절감 및 HA 아키텍처 내재화
3️⃣ 블록체인: 초기 Genesis 설정(EIP-155) 호환성 오류
  • 문제: 배포 초기 ChainId not supported 에러 발생, 스마트 컨트랙트 배포 불가
  • 해결: Genesis 파일 내 하드포크 설정(spuriousDragonBlock)을 수정하고 네트워크 전체 리셋 및 키 재생성 자동화 스크립트 적용
4️⃣ 실시간 거래: WebSocket 연결 끊김 (ALB Timeout)
  • 문제: AWS ALB의 기본 Idle Timeout(60초)으로 인해 호가창 연결이 주기적으로 단절
  • 해결: Ingress Annotation을 통해 ALB Timeout을 3600초로 증설하고, Sticky Session을 적용하여 연결 안정성 확보

👨‍💻 팀원 소개


고태우
PM / Infra
@kohtaewoo

이조은
PL / FE / BE
@LeeJoEun-01

강한솔
FE / BE
@kkangsol

이기현
Blockchain / BE / Infra
@GIHYUN-LEE

황병길
FE / Blockchain / Infra
@Gill010147
IPiece- 최종

🔗 리포지토리 링크

본 프로젝트는 마이크로서비스 및 하이브리드 인프라 구조를 반영하여 기능별로 리포지토리를 분리해 관리하고 있습니다.

영역 설명 링크
🎨 Frontend Next.js 기반의 투자자용 웹 애플리케이션입니다.
WebSocket을 통한 실시간 호가/차트 및 포트폴리오 시각화 기능을 포함합니다.
shadcn/uiTailwind CSS를 활용한 반응형 UI를 구현했습니다.
IPiece-web
⚙️ Backend Spring Boot 기반의 핵심 비즈니스 로직 및 REST API 서버입니다.
• 회원/자산 관리, 주식형 호가 매칭 엔진, 블록체인 연동을 담당합니다.
EC2(PostgreSQL HA) 및 외부 시스템과의 데이터 정합성을 관리합니다.
IPiece-server
⛓️ Blockchain Hyperledger Besu 프라이빗 네트워크 구성 및 설정 파일입니다.
• STO 발행, 배당, 소각을 위한 Solidity 스마트 컨트랙트 원본을 포함합니다.
• 제네시스 설정 및 노드 키 관리 스크립트가 포함되어 있습니다.
IPiece-blockchain
🏗️ Infrastructure AWS & On-Premise 하이브리드 환경 구성을 위한 Terraform 코드입니다.
ArgoCD 연동을 위한 Kubernetes Manifests (Helm/Kustomize) 파일입니다.
• 구축 가이드 및 트러블슈팅 문서가 정리되어 있습니다.
IPiece-infra

Popular repositories Loading

  1. IPiece-web IPiece-web Public

    IPiece의 프론트엔드 레포지토리입니다.

    TypeScript 1

  2. IPiece-blockchain IPiece-blockchain Public

    blockchain

    Solidity 1

  3. IPiece-server IPiece-server Public

    IPiece의 백엔드 레포지토리입니다.

    Java 1

  4. ipiece-manifests ipiece-manifests Public

    1

  5. Kubernetes-mini-projects Kubernetes-mini-projects Public

    1

  6. IPiece-terraform IPiece-terraform Public

    HCL

Repositories

Showing 8 of 8 repositories

Top languages

Loading…

Most used topics

Loading…