Tan Kim

on-premise

On-Premise

서버, 네트워크, 스토리지 등 인프라를 자체 시설에 직접 구축·운영하는 방식.

On-Premise vs Cloud

항목 On-Premise Cloud
초기 비용 높음 (하드웨어 구매) 낮음 (사용량 기반)
운영 비용 고정 (전기, 인력) 변동 (사용량에 따라 증가)
확장성 느림 (장비 구매 필요) 빠름 (즉시 스케일)
데이터 통제 완전한 통제 클라우드 제공자에 의존
보안 직접 책임 공동 책임 모델
장애 대응 직접 처리 제공자 SLA 의존
적합한 경우 규정 준수, 대용량 고정 워크로드 유동적 트래픽, 빠른 출시

주요 구성 요소

네트워크

인터넷
  ↓
공유기 / 방화벽 (외부 → 내부 트래픽 제어)
  ↓
스위치 (내부 네트워크 연결)
  ↓
서버들 (고정 IP 또는 DHCP)
장비 역할
공유기 (Router) 외부 인터넷 ↔ 내부 네트워크 연결
방화벽 (Firewall) 포트 기반 트래픽 허용/차단
스위치 (Switch) 내부 장비 간 연결
NAS 네트워크 공유 스토리지

서버 접근

# SSH 접속
ssh user@192.168.0.10
ssh -p 2222 user@192.168.0.10      # 포트 변경 시
 
# 키 기반 인증
ssh-keygen -t ed25519              # 키 생성
ssh-copy-id user@192.168.0.10      # 공개키 등록

포트 포워딩

외부에서 내부 서버로 접근하기 위해 공유기에서 설정.

외부 요청: 공인IP:8080
      ↓
공유기 포트 포워딩
      ↓
내부 서버: 192.168.0.10:8080

정적 IP 설정

서버는 재부팅 후에도 IP가 바뀌지 않도록 고정 IP 설정 필요.

방법 1 — 공유기 DHCP 예약

공유기 설정에서 MAC 주소 기준으로 항상 같은 IP 할당. 서버 OS 설정 불필요.

방법 2 — OS 레벨 고정 (Ubuntu)

# /etc/netplan/00-installer-config.yaml
network:
  ethernets:
    eth0:
      dhcp4: false
      addresses: [192.168.0.10/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
  version: 2
sudo netplan apply

원격 접근 방법

방법 설명 용도
SSH CLI 원격 접속 서버 관리
VPN 가상 사설망으로 내부망 접근 보안 원격 접근
ngrok / Cloudflare Tunnel 터널링으로 외부 노출 개발/테스트
포트 포워딩 공유기에서 직접 노출 간단한 서비스 외부 공개

보안 기본 설정

# SSH 비밀번호 인증 비활성화 (키 인증만 허용)
# /etc/ssh/sshd_config
PasswordAuthentication no
PermitRootLogin no
 
sudo systemctl restart sshd
 
# 방화벽 (ufw)
sudo ufw allow 22/tcp      # SSH
sudo ufw allow 80/tcp      # HTTP
sudo ufw allow 443/tcp     # HTTPS
sudo ufw enable
sudo ufw status

메모