오라클 A1 인스턴스 (최대 4코어 24GB 메모리) 생성 자동화 스크립트 한글 가이드
오라클 A1 인스턴스는 유료 계정에서는 바로 만들 수 있지만 무료 계정에서는 노가다 작업이 좀 필요합니다.
최대 4코어 CPU, 24GB 메모리로 무료 클라우드 서버를 운용할 수 있어 그 장점은 다들 알고 계실 것입니다.
깃헙과 유튜브 등에서 인스턴스 생성 자동화 방법이 안내되어 있지만 한글 가이드는 없어서 이번에 작성해 보았습니다.
준비사항
1. 리눅스PC(오라클 프리티어 우분투에서 가능)
2. MobaXtrem 등 터미널 프로그램
3. 오라클 클라우드 무료 계정
4. Winscp 등 ftp 접속 프로그램
가이드 시작
1. 오라클 클라우드 접속 후 사용자 설정에서 API 추가 및 키 다운로드
위 이미지 화살표 따라서 클릭해서 전용키와 공용키를 다운받아 둡니다.
API 추가 버튼 해서 나오는 정보는 복사해서 메모장 등에 붙여넣기
2. 리눅스 PC에 MobaXterm 통해 ssh 접속 후 깃 저장소 복제 (노트북에 우분투 설치 후 터미널에서 작업해도 됩니다)
git clone https://github.com/hitrov/oci-arm-host-capacity.git
3. oci-arm-host-capacity 폴더로 이동 후 php 설치 (명령어 복사 해서 한줄씩 붙여넣어서 설치 진행)
cd oci-arm-host-capacity/
sudo apt update
sudo apt install php-fpm -y & apt install nano -y
으로 php 및 nano 설치
php -v
입력해서 php 설치 상태 확인
4. composer 설치 (명령어 복사 해서 한줄씩 붙여넣어서 설치 진행)
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo apt install zlibc php7.4-curl php7.4-dom php7.4-mbstring php7.4-zip unzip composer -y
으로 필요한 패키지들을 설치 후
composer install
입력해서 composer를 최종 설치합니다.
5. 오라클 클라우드에서 인스턴스 생성
*예시에는 Ubuntu 22.04, Shape는 Ampere A1으로 선택했으나 우분투 버전은 상관 없으니 20.04 등으로 선택해도 무방
SSH키는 오라클에서 발급받아 저장한 후 생성 버튼 클릭
6. 생성 버튼 누르자마자 F12 눌러서 네트워크->instance 우클릭해서 curl 복사 -> 메모장에 붙여넣기
7. 메모장에 붙여넣은 내용 중에 컨트롤+F로 SubnetID, ImageID, SSH Key 각각 확인해서 다른 메모장에 붙여넣기
*위 정보는 각자 다를테니 예시의 내용은 참고만 하세요.
*ssh key 는 ssh key generator 통해서 발급받은 키를 사용해도 됩니다.
8. Winscp 통해 리눅스 서버에 sftp 접속 후 1번 과정에서 다운받아 둔 파일들 oci-arm-host-capacity 폴더로 복사
*ssh 키는 굳이 복사하지 않아도 상관 없습니다.
9. env 파일 편집
cp .env.example .env
nano .env
변경해야 할 정보들
과정1에서 얻은 정보로 1 완성
과정7에서 확보한 정보로 2, 3 완성
8과정에서 업로드 한 pem 파일 경로 및 파일명 기재 및
OCI_BOOT_VOLUME_SIZE_IN_GBS= 에는 부트볼륨 최대값 200 기재 후 컨트롤+O -> 컨트롤+X 로 편집 완료
변경 선택 사항
*OCI_OCPUS=2
*OCI_MEMORY_IN_GBS=12
*OCI_MAX_INSTANCES=2
*OCI_BOOT_VOLUME_SIZE_IN_GBS=100
이라고 편집한다면 2코어 12기가, 부트볼륨 100기가짜리 인스턴스가 최대 2개까지 생성될 수 있습니다.
10. 로그 파일 설정 및 분당 한번씩 스크립트 실행하도록 설정
touch oci.log
chmod 777 oci.log
crontab -e
1
크론탭에 아래 내용 기재 후 컨트롤+O, 컨트롤+X 하면 자동화 스크립트 세팅 완료
* * * * * /usr/bin/php /root/oci-arm-host-capacity/index.php >> /root/oci-arm-host-capacity/oci.log 2>&1
11. 하루에 한 번 정도 ssh 접속해서
cat ~/oci-arm-host-capacity/oci.log
로 로그 파일 확인 하시면
언젠간 A1 인스턴스 만들어진 것을 보실 수 있을 것입니다.
성공한 경우 Already have an instance(s) 라고 시작하는 로그가 있을 것입니다.
그럼 오라클 클라우드 접속 후 생성된 인스턴스에 공용IP 붙이고 ssh 접속해서 세팅 하시면 됩니다.
참고로 저는 운이 좋았는지 4코어 24GB메모리 200GB용량 A1 인스턴스를 약 8시간 만에 만들었습니다.
다들 성공하시고 제 정보가 도움이 되었으면 좋겠네요 +_+
헐... 이런 개꿀팁이..!! 이글을 공지로 올려도 될까요!?!? 너무 양질의 글이네요!
공지라니 저야말로 영광이죠^^
저는 오늘 새벽에 클릭 매크로 설정 해놨더니 만들어져 있더라구요. 스크립트 만드시는 실력 대단합니다.
제 실력은 형편없어요 ㅎㅎ 매번 구글링해서 알아낸 것들입니다
오히려 클릭 매크로 방법을 배우고 싶네요ㅎㅎ
로지텍 마우스 프로그램에서 매크로로 생성 버튼 10초마다 누르게 해놓고 자고 일어났더니 되있더라구요
아하 마침 로지텍 마우스 쓰는데 G hub 라는 프로그램 인가보군요!
근데 제가 사용중인 M705 마우스, K750 키보드는 지원하지 않네요ㅠㅠㅎㅎ
춘천은 저도 쓰고 있는데 서울은 힘들어 보이더라구요! 가능할까요? ㅎㅎ
얼마 전에 클리앙 나스포럼에서 서울 리전에서 A1 생성했다는 분이 계셨어요~
예전에 북마크 해뒀던 스트립트 다시 열어서 해봤는데 제 기준 춘천 리전에서 하루도 안되서 생성 되더라구요^^
서버에 장비 추가되거나 누군가가 인스턴스 삭제하면 바로 생성될 수 있게 프리티어 우분투에서 작업 돌려보세요~
아하 그렇군요! 서울도 하나 도전해봐야겠네요!
sudo apt install zlibc -y & apt install php7.4-curl -y & apt install php7.4-dom -y & apt install php7.4-mbstring -y & apt install php7.4-zip -y & apt install unzip -y & apt install composer -y
여기서부터 패키지 설치에 에러가 엄청 나오는군요...
Processing triggers for install-info (6.7.0.dfsg.2-5) ...lock-frontend. It is held by process 3515412 (apt)... 4s
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 3515412 (apt)... 153s
이렇게 계속 기다리고 답이없네요.
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
이 명령어 다음에 넣는게 빠져서 그럴까요?
apt install zlibc php7.4-curl php7.4-dom php7.4-mbstring php7.4-zip unzip composer -y
이렇게 설치하니 잘 되네요.
좋은 지적 감사합니다~~ 본문을 수정해야겠네요
{
"code": "InternalError",
"message": "Out of host capacity."
}
일단은 이렇게 나오네요! 1분에 한번씩 시도하니 기대해봐도 되겠습니다!
cat ~/oci-arm-host-capacity/oci.log
이렇게 해야 로그가 잘 나오네요!
* * * * * /usr/bin/php /root/oci-arm-host-capacity/index.php >> /root/oci-arm-host-capacity/oci.log 2>&1
이렇게 하니 실행이 잘 되네요!
덕분에 수정 완료했습니다^^
완벽하네요. ㅎ
아직까진 생성이 안되는군요 ㅠㅠ 서울은 진짜 힘든 것 같습니다. ㅎㅎ
좋은 가이드 글 감사합니다. 열심히 잘 돌아가고 있습니다! ㅎㅎ
오라클 클라우드는 여러번 들어봤고 만들까 말까 고민만 하다 이제 만들어 보는데..
글들을 보니 쉽지 않은 여정이 기다리고 있더군요ㅎㅎ ( 4코어..... )
빨리 만들어졌으면 좋겠습니당 ㅎㅎ
추가로 php파일을 살펴보니 텔레그램으로도 알람을 받을 수 있는 기능이 있어서 해봤는데 잘 동작되더라구요!
텔레그램으로 알림 받을 수 있으면 더욱 좋겠네요^^
cmt alert