티스토리 뷰

반응형

직접 만드는 나만의 블록체인 (13) – 블록체인 운영 환경 구축 (클라우드 & 온프레미스 배포 가이드)


☁️ 블록체인, 이제 실전 운영 환경에서 돌려보자

이전 글까지 우리는 블록체인을 로컬에서 설계하고, 구현하고, 최적화하는 모든 과정을 거쳤습니다.
이제 진짜 운영 환경에 배포할 차례입니다.

이번 글에서는 **클라우드(AWS, GCP)**와 온프레미스(Mac mini 등) 환경에서
블록체인을 실행하고 유지보수하는 방법을 구체적으로 설명합니다.


✅ 목표

  • Docker 기반 블록체인 운영
  • AWS EC2, GCP VM 또는 Mac mini 같은 On-prem 서버에서 실행
  • 포트포워딩 및 HTTPS 적용
  • 운영 환경에서 지속 실행 및 자동 재시작 구성

🛠 Step 1. Docker 컨테이너화

이미 이전 글에서 Dockerfile을 구성했으므로 이를 활용해 운영 환경에서도 동일한 이미지로 배포할 수 있습니다.

FROM python:3.12
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "node.py"]

✅ 모든 의존성 및 실행 코드를 포함한 이미지 생성 가능


🚀 Step 2. AWS EC2에서 실행하기 (Ubuntu 기준)

1️⃣ 인스턴스 생성 & 포트 열기

  • AWS EC2 → Ubuntu 22.04 LTS 선택
  • 보안 그룹 설정에서 5000 포트 허용 (Flask 기본 포트)

2️⃣ Docker 설치

반응형
sudo apt update && sudo apt install docker.io -y
sudo systemctl enable docker && sudo systemctl start docker

3️⃣ 프로젝트 복사 및 이미지 빌드

git clone https://github.com/your/blockchain-project.git
cd blockchain-project
docker build -t myblockchain .

4️⃣ 컨테이너 실행

docker run -d -p 5000:5000 --restart=always --name blockchain-node myblockchain

✅ 서버 재부팅 시 자동 재시작 설정까지 포함됨


🧪 접속 확인

브라우저에서 아래 주소로 접속

http://<EC2_PUBLIC_IP>:5000/chain

✅ 블록체인 API 정상 작동 확인 가능


🧰 Step 3. 온프레미스 환경 (Mac mini + Docker)

1️⃣ Mac mini에 Docker 설치

  • Docker Desktop 또는 Homebrew 설치:
brew install --cask docker

2️⃣ 동일한 방식으로 이미지 빌드 및 실행

docker build -t myblockchain .
docker run -d -p 5000:5000 --restart=always --name node1 myblockchain

3️⃣ 라우터에서 포트 포워딩 설정

  • 내부 IP: 192.168.x.x:5000
  • 외부 포트: 80 또는 443 → 내부 포트 5000

🔐 Step 4. HTTPS 인증 적용 (Let's Encrypt + Nginx)

1️⃣ Nginx 리버스 프록시 설정

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:5000;
    }
}

2️⃣ Let's Encrypt 인증서 발급

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com

✅ HTTPS 인증서 자동 적용 → 보안 강화 완료


🔄 Step 5. CI/CD 자동화 (선택)

GitHub Actions 또는 Docker Hub를 활용해
코드 푸시 시 자동 빌드 & 배포 가능

# .github/workflows/deploy.yml 예시
jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - run: docker build -t myblockchain .
      - run: docker run -d -p 5000:5000 myblockchain

📦 운영 환경 비교 요약

환경 장점 단점

AWS EC2 손쉬운 글로벌 접근, 가용성 높음 트래픽에 따라 요금 증가
GCP VM 유사한 방식, 성능 우수 네트워크 설정 복잡
On-prem (Mac mini) 서버 완전 제어 가능, 저비용 인터넷 공개 시 보안 리스크 존재

🧠 정리

구성 요소 설명

Docker 블록체인 컨테이너화 운영
EC2 / GCP 클라우드 서버 배포
Mac mini 온프레미스 서버 운영
HTTPS 인증 Let's Encrypt + Nginx
자동 재시작 --restart=always 옵션 사용

📌 다음 글 예고

👉 (14) 블록체인의 미래 – AI, IoT, DeFi와 융합되는 Web3 생태계

  • 블록체인 + AI 시너지
  • IoT와 연결된 분산 장치 네트워크
  • DeFi, NFT, DID 등 실전 적용 사례
※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함
반응형