오라클의 프리티어는 평생 무료 VM을 제공하고 있는데요.
최근 오라클에서 미사용 중인 VM을 회수하고 있습니다.
오라클의 프리티어에 대해서는 아래에서 좀더 자세히 확인하실 수 있습니다.
오라클 프리티어 VM 회수
오라클은 메일을 통해서 7일 간 사용율이 없을 경우 VM을 Idle VM으로 간주하고 회수한다고 합니다.
해당 안내를 메일을 통해서 해왔는데요. 메일의 내용은 아래와 같습니다.
정지(Idle)로 처리되면 VM이 정지되므로 다시 시작을 누르라고 하는데요.
저도 들어가봤더니 서비스가 정지되어 있었습니다.
바로 시작을 누르니 정상적으로 실행은 되었는데요.
메일의 링크에 따르면 아래의 조건을 만족하면 VM을 회수한다고 합니다.
유휴 컴퓨트 인스턴스 회수
유휴 상시 무료 컴퓨트 인스턴스는 Oracle에서 회수할 수 있습니다. Oracle은 7일 동안 다음이 참인 경우 가상 머신 및 베어 메탈 컴퓨팅 인스턴스를 유휴 상태로 간주합니다.
– 95번째 백분위수의 CPU 사용률은 10% 미만입니다.
– 네트워크 사용률은 10% 미만입니다.
– 메모리 사용률이 10% 미만입니다 ( A1 셰이프 에만 적용됨 ).
실제로 일주일간 트래픽이 없을 경우 회수해 갑니다.
저의 경우 일부 사람들처럼 VM이 삭제되는 것은 아니고 VM이 정지상태로 되어 다시 접속해서
시작을 누르면 다시 사용할 수는 있었습니다.
그래도 혹시 모르니 이를 예방하기 위해서 트래픽을 만들어보겠습니다.
구글에 찾아보니 방법이 있더라구요.
리눅스 트래픽 부하 만들기
리눅스에서는 stress 툴 등을 이용해서 부하를 만들 수 있는데요.
sudo apt install stress-ng로 stress-ng툴을 설치해보았습니다.
stress-ng툴 사용법은 아래 github에서 확인하실 수 있는데요.
https://github.com/ColinIanKing/stress-ng
정말 간단하게 사용하면 아래의 명령어를 통해서 테스트 해볼 수 있습니다.
옵션은 -c는 cpu갯수인데 프리티어의 경우 1개이기 때문에 1로 설정해 줍니다.
그리고 timeout은 시간인데요 2분정도로 설정하였습니다.
상세 정보를 보는 –metrics 옵션을 줘서 상태를 확인할 수 있게 하였습니다.
stress-ng -c 1 --timeout 2m --metrics
짧은 시간을 주기 위해서 10s로 시간만 변경해보았습니다.
이렇게 부하를 준 다음 오라클 -인스턴트 – 리소스 – 측정항목에 가시면
서비스의 cpu 활용률을 볼 수 있는데요.
명령어를 치면 바로 CPU부하가 올라가는 것을 목격할 수 있습니다.
이를 통해서 Idle로 전환되는 것을 막을 수 있다고 하는데요.
저는 아래처럼 crontab에 등록하였습니다.
30 * * * * stress-ng -c 1 --timeout 2m
프리티어에 일부 데이터도 있어서 프리티어가 회수되면 불편한데요.
저도 일주일간 사용해보고 나중에 추가로 포스팅하도록 하겠습니다.
그럼 잘 사용하시기 바랍니다.
좋은 정보 감사합니다.
당황스럽군요
너무 적게 쓰면 또 뺏어(?)간다니 ㅋㅋㅋ
적게 써도 시비(?)군요 ㅋㅋㅋ
아무래도 그냥 스트레스 주기 보다는 뭔가 쓸만한 용도를 고려해봐야겠어요.
정책이 더 강화되었군요 ㅠㅠ
최근 티스토리도 그렇고 점점 무료 서비스가 박해지네요 ㅠ
https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm
이거보니 15%로 올렸네요 ㄷㄷㄷ
가짜로 부하주는 방식 이거 괜찮으려나 모르겠네요
뭘할까 고민하면서 계속 검색중인데,
아래 링크와 같은 정보가 있군요.
https://www.reddit.com/r/oraclecloud/comments/13xtpkq/oracle_cloud_idle_instance_95the_percentile/
답변중의 하나를 번역해보면
“2. 스트레스 테스트/벤치마킹 등을 위한 앱 중 하나가 아닌 한 괜찮을 것입니다.
그것들은 TOS/AUP에 위배되며 귀하의 계정을 금지시킬 수 있습니다. 사람들은 “유휴” 문제를 피하기 위해 계정을 사용하려고 시도한 다음 Reddit에서 자신의 계정이 “이유 없이 불가사의하게 금지되었다”고 불평합니다.”
대강 가짜 부하를 주다가 걸리면 계정을 밴 먹일수도 있다는 얘기 같네요.
실제 사례가 궁금한데 그런 얘길 들었다는 얘기일뿐, 링크는 안 써 놨군요.
아무래도 본문 방식 잘못 사용하면 위험한 모양이네요…
갑자기 꺼질까 불안해서 본문처럼 처리는 해놨는데 다른 방안 생각하고 빨리 꺼야겠어요. ㅠㅠ
아니 역으로 밴을 걱정하면 그냥 꺼지고나서 다시 켜는게 차라리 더 안전한가도 싶고…
일주일마다 그냥 껐다 켤까도 생각도 드네요….
아무튼 웹서버 만들고 외부 입력에 따른 부하 만들기를 생각해야겠네요.
자체 크론탭 방식은 너무 들키기 쉬울거 같아요.
계속 여기 달라붙어서 질문해서 죄송합니다만, 딱히 물어볼곳도 없고 해서…
혹시 저거 하시고 계속 알림도 안 받고 문제 없으신가요?
저는 일단 실패했습니다 ㅠㅠ 오늘 꺼져버렸네요.
계산대로라면 일주일치의 15%는 달성한거 같은데, 뭔가 잘못된거 같네요.
일단 제가 계산한건 1주일은 168시간이고, 95%의 분위를 계산하면 0.05 곱해서 8.4시간 동안 CPU 15% 달성하면 된다고 생각했습니다.
8.4시간동안 15%라면, 대략 1.5시간동안 100% 달성하면 될테고, 90분간 100%이므로,
하루에 13분씩 100% 달성하면 되겠다 생각했고, 몇시간동안 13분 채우도록 구성했습니다.
그런데 결국 실패했네요.
다들 분명한 얘기는 없어서 좀 갸우뚱합니다만 윗댓글 링크를 보면,
“a job running that consumes more than 15% CPU / Memory, every hour”
라는 얘기가 있습니다.
이 “every hour”가 문제인거 같은데, 이걸 쓴 사람이 알고 한말인지 추정인지는 모르겠습니다만 이게 옳다고 가정할때, 우리 방법은 틀렸습니다.
일주일 168시간의 5%는 8.4시간이고, 조건을 해석하면 “일주일 168시간동안 1시간단위로 산정해서 최소 9시간 15% hit가 발생해야한다”는 의미가 아닐까 짐작됩니다.
즉, 일주일간 1시간에 10분 이상 100% 찍는 작업을 9번 해야한다는거죠.
(10분 100%면 1시간 기준 16.67%)
저처럼 몇시간동안 13분 채우거나 본문처럼 30분에 한번 2분씩 하는걸로는 못 채우죠.
근데 그렇다면 Doru님도 똑같이 문제 생겨서 캐치하셨을듯 싶은데 문제 없으셨나요?
아무튼 모두 95 percentile로 시간당 기준이라면 네트워크는 포기해야겠군요.
480Mbps의 15%면 72Mbps인데 흔한 가정용 인터넷 속도기준으로
최대치인 100Mbps 연속으로 9시간 매주 채워야한다는 계산이라….
걍 일주일에 한번씩 껐다켰다하는게 편할지도요.. ㅠㅠ
아니면 걍 유료업글하거나요…
아 저는 아직까지는 괜찮은데요.
이게 지역별로 정책이 다르더라구요.
혹시 저도 달라지면 참고해야겠네요.