오라클 클라우드 회수 방지 NeverIdle 스크립트 적용하기 / 프리티어

오라클 클라우드 프리티어는 정책상 일정량 이상 자원을 사용하지 않으면

회수 절차를 거쳐 다른 이용자에게 다시 재분배하는 구조를 가지고 있다.

이를 방지하려면 유료 계정으로 업그레이드 해야 하는데, 카드 등록도 쉬운 편이 아니라서

회수 방지를 위해 서버 자원을 주기적으로 사용하게 하는 NeverIdle 스크립트를 적용했다.


오라클 클라우드 회수 방지 NeverIdle 스크립트 적용하기 /
프리티어


오라클 클라우드 회수 방지 NeverIdle 스크립트 적용 사진.



오라클 클라우드 프리티어 계정으로 사용중인 서버의 리소스 현황.

회수 대상 판단 기준은 CPU, 메모리, 네트워크 사용량이 20% 이하인데
CPU와 네트워크에서 기준치를 미달한 것 같다.



오라클 클라우드 회수 방지 NeverIdle 스크립트 적용 사진.



선택한 서버 구성에 따라 조건이 다른 경우도 있지만
대부분 위에서 언급한 세 가지 리소스를 20% 이상 활용해야
활성화 된 서버로 간주한다.



오라클 클라우드 회수 방지 NeverIdle 스크립트 적용 사진.



리소스를 덜 쓰는 것과 마찬가지로 더 쓰는거 역시 쉽지 않은 일인데,
스크립트 적용을 통해 일정 시간마다 자원을 낭비해 활성화 기준을 충족시킬 수 있다.

우선 스크립트 적용을 위해 현재 서버 구성이 AMD인지 ARM인지 확인 후
아래 코드를 자신의 서버에 맞게 수정해 실행시킨다.

아래 코드는 AMD 서버에 대한 코드다.

wget https://github.com/layou233/NeverIdle/releases/download/0.2.3/NeverIdle-linux-amd64 -O NeverIdle



스크립트 다운로드가 끝나면
아래 코드를 실행시켜 권한을 부여한다.

chmod 777 NeverIdle



해당 스크립트를 실행하는 중에는 다른 작업이 불가하기 때문에
screen으로 콘솔을 분리해 사용하는 편이 좋다.

아래 코드를 실행해 콘솔을 분리해준다.

screen -R NeverIdle




오라클 클라우드 회수 방지 NeverIdle 스크립트 적용 사진.



콘솔이 분리됐다면 이제 스크립트를 실행시키면 된다.
명령어를 통해 리소스 사용 주기를 설정할 수 있는데,
나는 메모리 사용은 필요 없어서 CPU와 네트워크 주기만 설정했다.

메모리 낭비가 필요하다면 중간에 “-m”을 추가하면 된다.

./NeverIdle -c 2h -n 4h



참고로 -c 2h 는 2시간 간격으로 CPU 자원을 낭비하고
-m 2 는 메모리 2GB를 낭비하며
-n 4h 는 4시간 간격으로 네트워크 자원을 낭비한다.



오라클 클라우드 회수 방지 NeverIdle 스크립트 적용 사진.



NeverIdle 실행 후 원래 콘솔로 돌아오려면
“ctrl + a + d”를 입력하면 된다.

스크립트 종료는 아래 코드를 입력해 가능하며
서버 재부팅 시에는 스크립트도 다시 실행시켜줘야 한다.

pkill NeverIdle




오라클 클라우드 회수 방지 NeverIdle 스크립트 적용 사진.



자원이 주기적으로 낭비되는 모습.
서버가 부하를 받지 않을 정도로 적절히 설정하면
최저 사용량을 맞춰 유지할 수 있을 듯 싶다.



오라클 클라우드 회수 방지 NeverIdle 스크립트 적용 사진.



다만 AWS의 경우 의도적으로 자원을 낭비시키면 정지당하는 경우도 있다는데
NeverIdle을 통한 방법도 살짝 찜찜한 건 사실이다.

자원 낭비가 찜찜하고 카드 등록을 통한 유료 계정 업그레이드도 실패했다면
차라리 귀찮을 수 있지만 일주일에 한 번 씩 콘솔에 접속해
아래 코드를 한 줄 씩 실행해 리눅스 업그레이드를 해주는 것도 괜찮다.

sudo apt update
sudo apt dist-upgrade


답글 남기기