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: 2sudo 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