☁️ 오라클 클라우드 (Oracle Cloud)
아마존 라이트세일(AWS), 구글 클라우드 플랫폼(GCP), 오라클 클라우드(OC) 중 가장 나은 사양의 인스턴스를 평생 무료로 대여해주는 오라클 클라우드에 인스턴스를 만들어 평생 무료 서버로 사용할 수 있습니다.
오라클 클라우드는 프리 티어(Free-tier)기간 동안 총 2개의 인스턴스를 총 100GB 안에서 운영할 수 있도록 되어 있습니다. 하지만 프리티어 기간이 끝나도 제공되는 인스턴스의 조건은 최대 2개, 총 100GB로 동일합니다.
이를 두 개의 인스턴스로 나누어서 사용하여도 되고 1개 인스턴스에 100GB를 몰아 설정해도 되나 프리티어 기간이 끝나면 인스턴스가 2개라도 고정 IP(예약 IP)를 1개 이상 새로 만들 수 없습니다.
기존에 만든 고정 IP(예약 IP)가 2개였어도, 프리티어 기간 이후에 삭제하면 1개 이상 재생성할 수 없습니다.
인스턴스는 프리티어 기간이 끝나도 총 2개, 2개 합 용량 100GB까지는 얼마든지 삭제하고 다시 만들수 있으나 고정 IP(예약 IP)를 2개 만들어놓지 않았다면 1개의 인스턴스는 도메인 연결이 불가하게 됩니다.
그렇기 때문에 이 포스팅에서는 100G 인스턴스 1개에 고정 IP 1개를 할당하는 방식을 사용합니다.
⚒️ 선행 작업
Oracle Cloud에 평생 무료 서버를 만들기 전, 삭제하려는 인스턴스를 모두 종료하고 구획을 종료시킵니다. 이 단계에서 이미 예약한 고정 IP가 있다면 root 구획으로 옮깁니다. 구획을 옮긴 후 인스턴스 종료, 구획 삭제를 차례대로 진행합니다.
구획 삭제가 제대로 되지 않을 경우에는 테넌시 관리자에서 연결된 백업 볼륨들을 따로 삭제한 후 인스턴스를 새로 만들면 우측에 [항상 무료] 표시가 다시 나타납니다.
구획은 그대로 두고, 인스턴스만 새로 만들었다는 가정 하에 아래 순서대로 설정을 진행합니다.
⚙️ 인스턴스 설정
인스턴스가 프로비저닝 단계를 지나 실행 중인 상태에서 컴퓨트 > 인스턴스 > 인스턴스 세부정보 > 연결된 VNIC > VNIC 세부정보 > IPv4 주소에서 편집을 클릭합니다.
연결된 VNIC 항목은 인스턴스 화면에서 스크롤을 내리면 왼쪽 메뉴에서 확인할 수 있습니다.
해당 화면이 나타납니다.
공용 IP 유형에서 공용 IP 없음 체크 후 업데이트를 누르고 다시 예약된 공용 IP를 지정해줍니다.
기존 구획을 삭제하느라 기존에 예약된 IP를 root 구획으로 옮겼으므로 [기존 예약된 ip주소 선택] 후 작게 링크된 구획 변경 버튼을 통해 root 구획으로 옮겨진 ip를 선택하여 이어줍니다.
그리고 보유하고 있는 도메인 호스팅 사이트에 접속하여 DNS설정을 진행합니다. 서브도메인(A)을 생성 후 인스턴스의 고정 IP를 미리 입력해둡니다.
🚶♂️ Oracle Cloud 인스턴스 접속
완료되었으면 터미널을 열고 ssh 접속을 진행합니다.
ssh ubuntu@예약 IP(고정 IP)
만약 이곳에서 접속이 안된다면, 예전 인스턴스에 동일 IP로 접속한 흔적이 있어 오류가 날 수 있으므로 known_hosts 파일에서 해당 고정 ip가 적혀진 행들을 삭제한 뒤 저장합니다.
sudo nano ~/.ssh/known_hosts
ctrl+k로 해당 줄 삭제한 뒤 ctrl+x, y를 차례로 눌러 저장 후 닫습니다. 정상적으로 인스턴스 ssh 접속이 완료되었으면 아래 커맨드를 차례로 입력합니다.
루트 사용자로 변경
sudo su
애플리케이션 업데이트
sudo apt update
nginx 웹 서버 설치
sudo apt install nginx
continue를 묻는 창이 나오면 Y룰 눌러 마저 설치합니다.
설치가 완료된 뒤 고정 ip(예약 ip)주소와 도메인을 각각 검색하면 반드시 아래와 같은 창이 나타나야 합니다.
만약 이 창이 나타나지 않을 경우, 가상 클라우드 네트워크 > 구획 선택 > 구획 내 서브넷 > Default Security List for 구획명 클릭 > 수신 규칙 추가
에서 22, 80, 443포트가 모두 추가되어있는지 확인합니다. 기존 구획을 사용하여 기존 설정이 남아있는 경우 이 수신 규칙을 편집하게 되는데, 그럴 경우 인스턴스 자체에서 iptables을 통해 방화벽을 다시 열어주어야 합니다.
80 포트 개방 (http)
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
443 포트 개방 (https)
sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT
방화벽 설정 저장
sudo netfilter-persistent save
다시 확인해보면 정상적으로 연결됩니다.
이 이후 필요에 따라 워드프레스, 고스트 블로그를 각각 설치해 사용할 수 있습니다.