티스토리 뷰
반응형
직접 만드는 나만의 블록체인 (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 등 실전 적용 사례
'study > 블록체인' 카테고리의 다른 글
직접 만드는 나만의 블록체인 (14) – 블록체인의 미래: AI, IoT, DeFi와 융합되는 Web3 생태계 (2) | 2025.04.01 |
---|---|
직접 만드는 나만의 블록체인 (12) – 블록체인 확장성 (샤딩 및 Layer 2 솔루션 개념 적용) (0) | 2025.03.29 |
직접 만드는 나만의 블록체인 (11) – 블록체인 성능 최적화 (멀티 스레드 마이닝 & DB 연동) (0) | 2025.03.28 |
직접 만드는 나만의 블록체인 (10) – 블록체인 API 최적화 및 보안 강화 (0) | 2025.03.27 |
직접 만드는 나만의 블록체인 (9) – 블록체인 네트워크 분산 실행 (Docker 배포 및 노드 간 연결) (0) | 2025.03.27 |
※ 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 웹개발
- gatsbyjs
- Docker
- kotlin
- 개발블로그
- nodejs
- SEO최적화
- github
- fastapi
- rag
- 백엔드개발
- SEO 최적화
- App Router
- AI챗봇
- PostgreSQL
- Webpack
- Ktor
- seo 최적화 10개
- nextJS
- Next.js
- AI 자동화
- 프론트엔드
- REACT
- Prisma
- CI/CD
- LangChain
- NestJS
- 관리자
- 스마트 컨트랙트
- llm
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함
반응형