오라클 클라우드 무료인스턴스를 이용한 서비스 가이드 1단계(NPM)
안녕하세요. 달소입니다.
오늘부터,, 프로젝트성으로 오라클 클라우드 무료인스턴스를 이용한 가이드를 만들어보고자 합니다.
오라클클라우드의 경우 무료 인스턴스를 꽤 오랫동안 안정적으로 제공해주고있고 홈서버에 입문하시고자 하는 분들의 니즈를 채울수 있는부분들이 있어 장난감으로 많이 쓰실텐데요.
가이드를 통해 간단한 블로그, 파일공유, 모니터링, 알람등의 용도로 사용하실 수 있게끔 진행해보겠습니다.
1단계는 NPM(Nginx Proxy Manager) 입니다.
저같은 경우 메인서비스의경우 http3를 제공하는 Caddy를 사용하고있지만 conf형태로 입문자분들에게 가독성이 좋지않아 Reverse Proxy 용으로 NPM을 선정하였습니다.
여기서는 NPM을 구축하고 방화벽 설정까지 진행해보겠습니다.
NPM을 먼저 셋팅하는 이유는 이후 서비스를 연결해주는 게이트웨이 역할을 해주기때문입니다.
구축환경
Oracle Cloud - ARM, AMD 인스턴스 아무거나 상관없음. 타 클라우드도 가능.
도메인 - duckdns를 사용하지만 가능하면 소유중인 도메인으로 사용할것을 권장드립니다.
docker / docker-compose - 필수!!
Nginx Proxy Manager란?
Nginx Proxy Manager란?
Nginx Proxy Manager는 Nginx를 기반으로 한 웹 인터페이스를 제공하는 오픈 소스 프로젝트입니다. 이 도구는 사용자가 Nginx를 사용하여 여러 웹 애플리케이션을 프록시로 관리할 수 있도록 도와줍니다.
Nginx Proxy Manager는 사용자가 도메인 및 하위 도메인을 설정하고, SSL 인증서를 생성하고, 리버스 프록시 및 로드 밸런싱을 구성할 수 있도록 인터페이스를 제공합니다. 또한 사용자는 웹 애플리케이션에 대한 액세스 제어를 구성하고, 사용자 지정 도메인 및 SSL 인증서를 관리할 수 있습니다.
이 도구는 사용자가 복잡한 Nginx 설정 파일을 직접 편집하지 않고도 웹 인터페이스를 통해 간단하게 프록시 설정을 관리할 수 있도록 도와줍니다. 이를 통해 사용자는 더 쉽게 웹 애플리케이션을 배포하고 관리할 수 있습니다.

관련해서 이전에 작성했던 글이 있어 추가공유합니다.
역방향 Reverse Proxy 작동하는 방법[서버 구축(Self-Hosted)] 달소 2022.05.06안녕하세요. 달소입니다. 이번글은 홈서버에서 가장 유용하게 사용할수 있는 팁이자 이해...
OCI에 NPM 설치하기
nginx proxy manager 설치가 아마 가장 쉬울겁니다.
도커로 구동되기 때문에 도커만 미리 설치되어있으면 뚝딱입니다.
혹시 도커 설치가 안되셨다면 아래명령어로 설치해주세요 + apt install docker-compose
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
mkdir -p /data/npm
cd /data/npm
vi docker-compose.yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
esc + :wq로 저장 후 종료해주시고 docker-compose up -d 로 컨테이너를 생성해줍니다.

생성이 되면 이제 방화벽을 오픈해주셔야합니다.
방화벽 설정하기
먼저 해당 인스턴스의 설정으로 가서 아래 서브넷 보안그룹을 편집해줍니다.


그리고 수신규칙추가로 80,443(http/https) 포트를 허용해줍니다.

그리고 npm 관리콘솔을 오픈해줘야하는데 이건 반드시 vpn 환경이나, 가정의 공인 ip를 확인하신뒤 해당 ip에서만 접근하도록 셋팅하셔야 보안적으로 안전합니다.
Tailscale사용시
Tailscale을 사용하신다면 별도의 포트오픈은 필요없습니다.
오라클 클라우드 인스턴스 쉽게 접근하기.(Feat. Tailscale)[서버 구축(Self-Hosted)] 달소 2023.09.11 안녕하세요. 달소입니다. 앞서 소개해드린 Tailscale을 통해서 많이들 사...

가정 공인 IP만 허용
아래 페이지에서 공인 ip를 확인해주신뒤 방화벽 정책을 추가합니다.
서버포럼 - myipsvrforum.com공인 아이피 주소를 확인하는방법입니다.
소스 IP에 32비트로 해주시면됩니다.

이렇게 정책을 만드면 오라클 클라우드의 공인 IP:81번 포트시 아래처럼 접속이됩니다.
기본계정정보는 아래와같습니다.
Email: admin@example.com
Password: changeme

접속 후 계정 pw는 반드시 바꿔주세요.
도메인 할당하기
무료도메인은 duckdns를 이용하나 가급적이면 사용하고계신 도메인에 A 레코드로 오라클 공인 IP를 지정해주시면됩니다.
Duck DNSwww.duckdns.orgDuck DNS free dynamic DNS hosted on Amazon VPC


그럼 이제 IP로 접근하시면 아래처럼 셋팅이 완료됩니다.
가정 공인 ip에서는 81번 포트시 NPM 웹 콘솔로되고 80/443은 npm에서 이제 리버스프록시 해줄 수 있습니다.
향후 다른 서비스를 더 붙였을때 사용하시면됩니다.
