Skip to content
Published on

Red Hat vs Ubuntu 서버 운영 비교: 엔터프라이즈 관점 의사결정 가이드

Authors
  • Name
    Twitter

들어가며

"Red Hat이냐, Ubuntu냐"는 리눅스 서버를 운영하는 조직이라면 반드시 마주치는 질문이다. 단순한 취향이 아니라 라이선스 비용, 기술 지원 SLA, 보안 패치 주기, 인증/컴플라이언스, 인력 풀 등 비즈니스에 직접 영향을 미치는 의사결정이다.

이 글에서는 RHEL(Red Hat Enterprise Linux) 계열과 Ubuntu Server를 엔터프라이즈 운영 관점에서 항목별로 비교하고, 워크로드별 추천 기준을 정리한다.


1. 배포판 계보와 현재 생태계

Red Hat 계열

Fedora (업스트림)RHEL (엔터프라이즈)CentOS Stream (중간 스트림)
Rocky Linux (커뮤니티 RHEL 클론)
AlmaLinux (커뮤니티 RHEL 클론)
  • RHEL: Red Hat 구독 필요. 10년 이상 기술 지원.
  • CentOS Stream: RHEL 다음 마이너 릴리스의 프리뷰. 프로덕션 직접 사용은 논쟁 중.
  • Rocky Linux / AlmaLinux: CentOS 8 지원 종료 이후 등장한 1:1 RHEL 호환 배포판.

Debian 계열

Debian (업스트림)Ubuntu (Canonical)Ubuntu LTS (장기 지원)
Ubuntu Pro (확장 보안)
  • Ubuntu LTS: 2년마다 릴리스, 기본 5년 + Ubuntu Pro 10년 지원.
  • Ubuntu Pro: Canonical의 엔터프라이즈 보안·컴플라이언스 상품.

2. 핵심 비교표

항목RHEL 9 / Rocky 9Ubuntu 24.04 LTS
커널5.14 (백포트)6.8
패키지 매니저DNF (yum 후속)APT
패키지 형식RPMDEB
Init 시스템systemdsystemd
기본 파이썬3.93.12
SELinux/AppArmorSELinux (기본 Enforcing)AppArmor (기본 Enabled)
방화벽firewalldufw / nftables
기본 지원 기간10년 (RHEL) / 10년 (Rocky)5년 (LTS)
확장 지원ELS 최대 13년Ubuntu Pro 12년
라이선스 비용RHEL: 서버당 연간 구독 / Rocky: 무료무료 (Pro 별도)
인증·컴플라이언스FIPS 140-2/3, CC, STIGFIPS 140-2 (Pro), CIS
컨테이너 기반 이미지UBI (Universal Base Image)ubuntu:24.04
클라우드 지원AWS, Azure, GCP 전체AWS, Azure, GCP 전체

3. 패키지 관리 비교

DNF (Red Hat 계열)

# 패키지 검색·설치·제거
dnf search nginx
dnf install -y nginx
dnf remove nginx

# 패키지 정보·파일 목록
dnf info nginx
rpm -ql nginx

# 보안 업데이트만 적용
dnf update --security

# 모듈 스트림 (RHEL 8+)
dnf module list nodejs
dnf module enable nodejs:20
dnf module install nodejs:20/common

# 트랜잭션 이력·롤백
dnf history
dnf history undo 15

# 저장소 관리
dnf repolist
dnf config-manager --add-repo https://repo.example.com/el9/

APT (Ubuntu)

# 패키지 검색·설치·제거
apt search nginx
apt install -y nginx
apt remove nginx
apt purge nginx  # 설정 파일까지 삭제

# 패키지 정보·파일 목록
apt show nginx
dpkg -L nginx

# 보안 업데이트만 적용
apt update
apt upgrade -y -o Dpkg::Options::="--force-confold"  # 기존 설정 유지
# 또는 unattended-upgrades 활용

# 자동 보안 업데이트 설정
apt install unattended-upgrades
dpkg-reconfigure -plow unattended-upgrades

# PPA 관리
add-apt-repository ppa:deadsnakes/ppa
apt update

# 버전 고정
apt-mark hold nginx
apt-mark unhold nginx

패키지 관리 비교 요약

기능DNF (RHEL)APT (Ubuntu)
트랜잭션 롤백dnf history undo직접 지원 없음
모듈 스트림dnf modulePPA / Snap
보안 패치 분리--security 플래그unattended-upgrades
의존성 해결libsolvapt 내장
오프라인 설치dnf download + createrepoapt-offline / dpkg -i
병렬 다운로드기본 지원apt 2.0+ 기본 지원

4. 보안 모델 비교

SELinux (RHEL 계열)

MAC(Mandatory Access Control) 기반으로 프로세스가 접근할 수 있는 파일·포트·시스템 콜을 정책으로 제한한다.

# 상태 확인
getenforce          # Enforcing / Permissive / Disabled
sestatus            # 상세 상태

# 컨텍스트 확인
ls -Z /var/www/html
ps -eZ | grep nginx

# 불리언 토글
getsebool -a | grep httpd
setsebool -P httpd_can_network_connect on

# 문제 진단
ausearch -m avc -ts recent
sealert -a /var/log/audit/audit.log

# 커스텀 정책 모듈
audit2allow -a -M my_policy
semodule -i my_policy.pp

AppArmor (Ubuntu)

경로 기반 MAC으로 프로필 파일을 통해 프로그램별 접근 권한을 정의한다.

# 상태 확인
aa-status
apparmor_status

# 프로필 모드 전환
aa-enforce /etc/apparmor.d/usr.sbin.nginx
aa-complain /etc/apparmor.d/usr.sbin.nginx

# 로그 기반 프로필 생성
aa-genprof /usr/sbin/myapp
aa-logprof

보안 모델 비교

항목SELinuxAppArmor
접근 제어 방식레이블 기반 (inode)경로 기반
학습 곡선높음낮음
기본 정책 범위매우 광범위주요 서비스 위주
컨테이너 격리탁월 (MCS)기본 수준
정책 디버깅audit2why, sealertaa-logprof
엔터프라이즈 인증STIG, CC, FIPS 필수CIS Benchmark

실전 조언: SELinux를 Disabled로 끄는 것은 안티패턴이다. 문제가 생기면 Permissive로 전환하고 로그를 분석하여 정책을 조정하라.


5. 시스템 관리 명령어 매핑

작업RHEL / RockyUbuntu
서비스 시작/정지systemctl start nginxsystemctl start nginx
부팅 시 서비스 활성화systemctl enable nginxsystemctl enable nginx
방화벽 포트 열기firewall-cmd --add-port=80/tcp --permanent && firewall-cmd --reloadufw allow 80/tcp
네트워크 설정nmcli / nmtuinetplan apply
호스트명 변경hostnamectl set-hostnamehostnamectl set-hostname
시간 동기화chronysystemd-timesyncd / chrony
사용자 생성useradd -m -s /bin/bash useradduser user
디스크 파티션fdisk / partedfdisk / parted
LVM 관리lvm 기본 내장apt install lvm2
커널 파라미터sysctl -psysctl -p

6. 컨테이너와 클라우드 네이티브

컨테이너 베이스 이미지

항목UBI 9 (Red Hat)ubuntu:24.04
이미지 크기~215MB~78MB
Minimal 변형ubi9-minimal (~100MB)ubuntu:24.04 자체가 경량
Micro 변형ubi9-micro (~35MB)-
재배포자유 (UBI EULA)자유
보안 스캔Red Hat 취약점 DBCanonical USN
패키지 매니저microdnf / dnfapt
# RHEL 계열 멀티스테이지
FROM registry.access.redhat.com/ubi9/ubi-minimal:latest AS builder
RUN microdnf install -y java-17-openjdk-headless && microdnf clean all
COPY target/app.jar /app.jar

FROM registry.access.redhat.com/ubi9/ubi-micro:latest
COPY --from=builder /usr/lib/jvm /usr/lib/jvm
COPY --from=builder /app.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]
# Ubuntu 멀티스테이지
FROM ubuntu:24.04 AS builder
RUN apt-get update && apt-get install -y --no-install-recommends \
    openjdk-17-jre-headless && rm -rf /var/lib/apt/lists/*
COPY target/app.jar /app.jar

FROM gcr.io/distroless/java17-debian12
COPY --from=builder /app.jar /app.jar
ENTRYPOINT ["java", "-jar", "/app.jar"]

Kubernetes 호환성

두 배포판 모두 Kubernetes를 완벽히 지원한다. 차이는 주로 관리형 서비스 기본 OS에서 나타난다.

클라우드관리형 K8s 노드 기본 OS
AWS EKSAmazon Linux 2023 (RHEL 계열) / Bottlerocket
Azure AKSUbuntu (기본) / Azure Linux (CBL-Mariner)
GCP GKEContainer-Optimized OS (Chromium 기반) / Ubuntu

7. 라이선스·비용·지원 비교

항목RHELRocky LinuxUbuntu LTSUbuntu Pro
라이선스 비용799 799~13,000+/서버무료무료소규모 무료, 엔터프라이즈 유료
기술 지원Red Hat 24/7커뮤니티커뮤니티Canonical 24/7
SLA1~4시간 응답없음없음1시간 응답
보안 패치Red Hat SecurityRHEL 동기화Canonical USN확장 보안 (12년)
컴플라이언스FIPS, CC, STIG, HIPAAFIPS (자체 인증)CISFIPS, CIS, DISA-STIG
교육·인증RHCSA, RHCE--CUA (Canonical)

실제 비용 시뮬레이션 (100대 서버 기준)

시나리오연간 비용 (추정)
RHEL Standard (100대)80,000 80,000~130,000
Rocky Linux + 외부 기술 지원20,000 20,000~50,000
Ubuntu LTS (커뮤니티)$0 (인력 비용 별도)
Ubuntu Pro (100대)25,000 25,000~50,000

8. 워크로드별 추천

워크로드추천 배포판근거
금융·의료 (규제 산업)RHELFIPS/CC/STIG 인증, 감사 이력
SAP / Oracle DBRHEL벤더 공식 지원
스타트업 웹 서비스Ubuntu LTS커뮤니티·최신 패키지·비용
Kubernetes 워크로드Ubuntu 또는 Rocky클라우드 네이티브 생태계
ML/AI 워크로드UbuntuNVIDIA 드라이버·CUDA 우선 지원
레거시 Java 서비스RHEL / RockyJBoss/WildFly 인증
CI/CD 러너UbuntuGitHub Actions, GitLab Runner 기본
내부 도구 서버Rocky / AlmaLinuxRHEL 호환 + 무료

9. 마이그레이션 체크리스트

CentOS → Rocky Linux / AlmaLinux

# Rocky Linux 마이그레이션 (in-place)
curl -O https://raw.githubusercontent.com/rocky-linux/rocky-tools/main/migrate2rocky/migrate2rocky.sh
chmod +x migrate2rocky.sh
./migrate2rocky.sh -r  # 변환 실행

# 검증
cat /etc/os-release
rpm -qa | grep rocky
dnf check

Ubuntu ↔ RHEL 전환 시 확인사항

확인 항목세부 내용
패키지 매핑apt 패키지 → dnf 패키지 이름 매핑 목록 작성
서비스 설정systemd 유닛 파일 경로·옵션 검증
보안 정책AppArmor 프로필 → SELinux 정책 변환
네트워크netplan → NetworkManager 전환
방화벽ufw 룰 → firewalld 룰 전환
자동화 스크립트Ansible playbook의 aptdnf 모듈 교체
모니터링에이전트 패키지·로그 경로 확인
백업/복구스냅샷 또는 이미지 백업 후 전환

10. 의사결정 플로우차트

조직에 규제 컴플라이언스(FIPS, CC, STIG) 요구사항이 있는가?
├── YesRHEL (또는 Ubuntu Pro FIPS)
└── No
    ├── 벤더 인증이 필요한 상용 소프트웨어를 운영하는가? (SAP, Oracle)
    │   ├── YesRHEL
    │   └── No
    │       ├── 24/7 벤더 기술 지원이 필요한가?
    │       │   ├── Yes + 예산 있음 → RHEL 또는 Ubuntu Pro
    │       │   └── No
    │       │       ├── RHEL 호환이 필요한가? (사내 RPM, 기존 인프라)
    │       │       │   ├── YesRocky Linux / AlmaLinux
    │       │       │   └── NoUbuntu LTS
    │       │       └──
    │       └──
    └──

마무리

"최고의 배포판"은 없다. 조직의 규제 요건, 기술 역량, 예산, 기존 인프라에 맞는 배포판이 올바른 선택이다. 핵심은 다음 세 가지다.

  1. 컴플라이언스가 요구되면 RHEL이 가장 안전한 선택이다.
  2. 비용을 줄이면서 RHEL 호환을 원하면 Rocky/AlmaLinux를 검토하라.
  3. 최신 에코시스템과 커뮤니티 활력을 원하면 Ubuntu LTS가 합리적이다.

어떤 배포판을 선택하든, 패치 관리·보안 정책·자동화는 배포판과 무관하게 반드시 갖춰야 할 기본기다.