오라클 클라우드 고정 IP 부족할 때, DDNS 설정

클라우드플레어를 이용한 도메인 및 DDNS 설정 방법

클라우드플레어(Cloudflare)에서 구매한 도메인 주소를 사용할 때의 기본 설정 방법과, 이를 활용한 Dynamic DNS(DDNS) 구성을 정리해 둡니다.

도메인을 구입하면 해당 도메인에 대한 관리 권한이 주어지며, 이를 통해 서브도메인을 자유롭게 추가할 수 있습니다.
만약 도메인 관리 서비스에서 API를 제공한다면, 이 API를 활용해 서브도메인의 IP 주소를 직접 갱신하는 것도 가능합니다.

이 구조의 핵심은 API를 통해 메인 도메인의 서브도메인 A레코드(IP 주소) 값을 원하는 주소로 자동 변경하는 것입니다. 예를 들어 요청 시 공인 IP 주소를 받아와 서브도메인에 등록하는 식으로 동작합니다.

이 방식을 응용하면 cron 스케줄러를 통해 주기적으로 현재 IP를 확인하고, 변경이 있을 때만 클라우드플레어 API를 이용해 도메인 DNS를 갱신하도록 만들 수 있습니다.
이렇게 자동으로 공인 IP를 업데이트하는 기능을 Dynamic DNS (DDNS) 라고 합니다.


클라우드플레어 API 토큰 생성

아래 링크에서 토큰 생성 -> 영역 DNS 편집 템플릿 사용을 눌러서 편집 화면으로 집입합니다.
https://dash.cloudflare.com/profile/api-tokens

아래 이미지처럼 설정 후 나머지 과정 진행API KEY를 발급받을 수 있습니다.

(권한 설정 - 영역 설정/영역 -> 읽기 - DNS -> 편집) (영역 리소스 - 포함 -> 모든 영역)

Docker로 클라우드플레어 DDNS 구현하기

클라우드플레어용 DDNS 스크립트는 Docker 이미지로도 제공되어 손쉽게 사용할 수 있습니다.
공식 Docker Hub 주소는 다음과 같습니다.

https://hub.docker.com/r/oznu/cloudflare-ddns

아래 명령어 예시는 로컬 컴퓨터의 공인 IP를 해당 도메인의 서브도메인에 자동 등록합니다. (리눅스 환경 기준)
docker stop을 통해 정지하지 않는 이상 계속 동작하게 됩니다.
기본 설정은 내부적으로 5분 마다 체크하는 걸로 명시되어 있습니다.

docker run \
--detach \
--name cloudflare-ddns \
--restart unless-stopped \
-e API_KEY=xxxxxxx \
-e ZONE=example.com \
-e SUBDOMAIN=subdomain \
oznu/cloudflare-ddns

오라클 클라우드 프리티어와 DDNS의 필요성

오라클 클라우드(Oracle Cloud) 프리티어에서는 고정 IP(Reserved IP) 를 하나만 무료로 사용할 수 있습니다.
즉, 무료로 제공되는 두 개의 인스턴스 중 하나만 고정 IP를 설정할 수 있고, 나머지 하나는 유동 IP 를 사용해야 합니다.

유동 IP의 경우 인스턴스를 재부팅하지 않는 한 변경될 가능성은 적지만, 절대적으로 고정된 IP는 아닙니다.
따라서 DDNS를 함께 구성해 두면 공인 IP가 변경되더라도 도메인 주소를 통해 안정적으로 접속할 수 있습니다.



이 설정을 통해 클라우드플레어 도메인을 가진 서버는 IP 변경에 관계없이 지속적으로 접근 가능한 환경을 유지할 수 있습니다.

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다