본문 바로가기
Cloud 개발

oracle Cloude 무료 VM 설치 후 최적화로 개인 서버 만들기

by 굿대디~ 2026. 2. 22.
반응형

Oracle VM(Micro 1 OCPU / 1GB RAM)에 Oracle Linux 9 Minimal 설치 후,
실제 운영에 바로 사용할 수 있도록 반드시 해줘야 하는 기본 설정들을 우선순위별로 정리해서 알려드릴게요.

 

먼저 저는 아래 5번 항목의 SWAP 항목을 먼저 설정합니다. 그렇지 않으면 메모리가 너무 작어 아무것도 못하기 때문에, 스왑 메모리 증가 후 아래 작업들을 진행하시면 됩니다. dnf 관련 처음에 너무 느리지만 한번 하고 나면 빨라지니 update 요청 후 기다리면 진행 되니 참고하세요

 

oracle Cloude 무료 VM 설치 후 최적화


✅ 1. 기본 패키지 업데이트

Minimal 설치는 유틸리티가 거의 없으므로 먼저 업데이트 + 필수 패키지 설치가 필요합니다.

sudo dnf update -y
sudo dnf install -y vim wget curl net-tools tar unzip chrony git

✅ 2. 시간 동기화(NTP / Chrony)

Oracle Linux 9 기본 NTP는 chrony입니다.

sudo systemctl enable --now chronyd
chronyc sources -v

✅ 3. 방화벽 기본 설정 (firewalld)

불필요한 포트가 열리지 않도록 기본 제한 설정.

sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

필요 포트는 이후 개별 추가(예: HTTP/HTTPS 등).


✅ 4. SELinux 모드 확인

운영 환경이라면 enforcing 유지 권장.
테스트 용도라면 permissive 가능.

getenforce

변경하고 싶을 때:

sudo vim /etc/selinux/config
SELINUX=permissive

✅ 5. 스왑(SWAP) 설정 (Micro 인스턴스 1GB RAM 필수)

OCI Micro는 스왑이 기본 제공되지 않습니다.
1GB RAM이면 OOM(Out of Memory) 자주 발생 → 반드시 스왑 추가 추천.

5GB swapfile 생성

sudo fallocate -l 5G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile swap swap defaults 0 0' | sudo tee -a /etc/fstab

확인:

free -h

✅ 6. SSH 보안 설정 강화

비밀번호 로그인 비활성화 또는 포트 변경 권장.

sudo vim /etc/ssh/sshd_config

추천 설정:

PasswordAuthentication no
PermitRootLogin no

반영:

sudo systemctl restart sshd

✅ 7. Fail2ban 설치(SSH 공격 방지)

Minimal은 보안 툴이 없으므로 SSH 보호용 fail2ban 설치 필요.

sudo dnf install -y epel-release
sudo dnf install -y fail2ban fail2ban-firewalld
sudo systemctl enable --now fail2ban

기본 SSH 보호 jail 활성화:

sudo vim /etc/fail2ban/jail.local 또는 jail.conf 로 설정

내용:

[sshd]
enabled = true

반영:

sudo systemctl restart fail2ban

⚠️ 만약 EPEL이 설치되지 않는 경우 (OCI Minimal 이미지에서 발생 가능)

아래처럼 직접 epel-release 패키지를 설치하면 됩니다.
Shell

sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm 

그 후 다시:
Shel

lsudo dnf install -y fail2ban fail2ban-firewalld

 


✅ 8. OCI 메타데이터 활용 가능 여부 확인

OCI VM에서 네트워크 설정 자동화가 필요한 경우:

curl -s http://169.254.169.254/opc/v1/instance/

✅ 9. 필수 도구 설치(운영 목적에 따라)

Web 운영용

sudo dnf install -y nginx

Java/Spring Boot 운영용

sudo dnf install -y java-17-openjdk java-17-openjdk-devel

DB 클라이언트

sudo dnf install -y mysql

✅ 10. 시스템 모니터링 도구 설치

Minimal에는 htop 등 없음.

sudo dnf install -y htop iotop sysstat

활성화:

sudo systemctl enable --now sysstat

🔧 (선택) 11. Cloud-init 비활성화 (필요 시)

OCI VM에서는 cloud-init이 종종 불필요한 설정을 변경.

비활성화:

sudo systemctl stop cloud-init
sudo systemctl disable cloud-init

⚠️ 12. Micro 인스턴스 특성에 따른 권장사항

✔ 1GB 메모리 → 자바 애플리케이션은 Xms/Xmx 줄여야 함

예)

java -Xms256m -Xmx512m -jar app.jar

✔ DB 서버로 사용 금지

메모리가 너무 작음 → 외부 DB(ATP/Heatwave/MariaDB VM) 추천.

✔ Nginx + Spring Boot 단독 구성은 가능

단, JVM 메모리 튜닝 필요.


📌 요약: 반드시 해야 할 순서

  1. dnf update
  2. 기본 유틸 설치
  3. swap 생성(Strongly recommended)
  4. firewalld 설정
  5. SSH 보안 설정
  6. fail2ban
  7. 필수 패키지 / 개발환경 설치
  8. 모니터링 유틸 설치
반응형