개요
2023.01.04 - [Cloud Platform] - [Oracle Cloud Infrastructure] 오라클 클라우드 배포 과정 정리(1)
위 글에서 설명했듯이, ARM 프로세서 기반인 A1 인스턴스는 최대 4OCPU, 24GB RAM을 유연하게 사용할 수 있도록 제공함과 동시에 상시 무료로 사용할 수 있기 때문에 그 인기가 높다.
따라서, 이미 한국 리전도 리소스 리밋이 걸려있는 상태이다. (회원가입 시에는 서울과 도쿄만 리밋이라고 뜨는데 상황을 보아하니 춘천, 오사카 등도 다 걸려있는 모양)
유료 계정으로 업그레이드를 한다면 대기하지 않고 바로 생성할 수 있으나,
혹시 모르는 과금때문에 선뜻 업그레이드를 하지 않는 분도 계실꺼라 생각한다. (Me too..)
우선, 유료 계정 업그레이드 시 100달러가 테스트용으로 출금되었다 다시 입금된다. (회원가입 때랑 동일)
또한 업그레이드를 했더라도 프리 티어 제공량 까지는 과금없이 무료로 계속 쓸 수 있다.
다만, 책정 방식이 조금 오차가 있는 것인지, 커뮤니티를 보면 최대 200GB 스토리지를 쓸 수 있는데 197GB를 생성했음에도 과금이 되고 있다는 분도 있었다. (이 부분은 안전하게 한 5 ~ 10% 빼고 쓰면 되긴하겠지만..무섭다)
따라서, 이번 글에서는 무료 계정에서 A1 인스턴스를 생성하기 위한 스크립트를 작성하고 실행하는 과정을 정리했다.
준비사항
- 리눅스 PC (24시간 돌려야 하니 개인 PC보단, 프리티어 VM을 사용하는 게 좋아보인다.)
- 해당 PC에 접속할 수 있는 터미널
- 오라클 클라우드 계정
- 파일질라 같은 FTP 프로그램
과정
리눅스 PC 접속 후 스크립트 clone
git clone https://github.com/hitrov/oci-arm-host-capacity.git
oci-arm-host-capacity 폴더로 이동 후 php 설치
cd oci-arm-host-capacity/ #이동
sudo apt update
sudo apt install php-fpm -y [& apt install nano -y] #나노 에디터는 선택사항
#설치 후 상태 확인
php -v
#필요한 패키지 설치
#길어서 끊어 썼는데 &로 연결해서 사용하거나, 혹시나 안되면 하나씩 해보세요.
sudo apt install zlibc -y & apt install php7.4-curl -y & apt install php7.4-dom -y
sudo apt install php7.4-mbstring -y & apt install php7.4-zip -y & apt install unzip -y & apt install composer -y
#composer 설치
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
composer install
인스턴스 생성
이미지 버전은 상관없음.
키는 가지고 있는 키를 업로드하거나 자동으로 생성된 키 쌍을 저장(추후 필요)
볼륨은 추후 설정할 수 있음.
cURL 복사
Ctrl + F12로 개발자도구 키고, 생성버튼 클릭.
이후 네트워크 탭에서 instances/ 로 보낸 실패한 요청을 찾고 cURL 복사.
필요한 정보 추출하기
subnetId, imagedId, ssh_authorized_keys 추출해서 다른 메모장에 정리해놓는다.
사용자 설정에서 API 추가 및 키 다운로드
내 프로파일에 들어가서 API 키를 추가한다.
전용 키와 공용 키는 다운로드한다.
추가하고 나오는 팝업 정보는 복사해서 메모장에 기록해둔다.
FTP 프로그램을 이용해 oci-arm-host-capacity 폴더로 업로드
ssh key는 상관없다고 한다.
env 파일 편집
cp .env.example .env
vi .env #다른 에디터 가능
API 키 추가하고 나온 팝업 정보로 해당 정보 수정
인스턴스 생성 클릭해서 얻은 subnetId, imageId, ssh key 복사/붙여넣기
KEY_FILENAME은 FTP로 옮긴 API 키 이름을 적어주면 된다. (경로 포함)
마지막으로 원하는 볼륨 사이즈를 기재한다.
나머지도 마찬가지로 본인이 원하는대로 변경해주면 된다.
로그 파일 설정
touch oci.log
chmode 777 oci.log
crontab -e #이후 에디터 선택은 본인이 원하는대로
크론탭 마지막에 아래 내용 작성 (경로는 본인에 맞게 수정)
* * * * * /usr/bin/php /oci-arm-host-capacity/index.php >> /oci-arm-host-capacity/oci.log 2>&1
Nano 에디터 기준 Ctrl + O로 저장 후 엔터, Ctrl + X로 나온다.
로그 확인
1분에 한 번씩 요청을 보내기 때문에, 생각날 때 가끔 확인해주면 된다.
tail oci.log
잘 되고 있으면 생성 버튼 클릭했을 때처럼 똑같은 응답이 로그에 기록된다.
예전에도 오래걸렸는데, 요즘엔 아마 더 힘들지 않을 까 싶다.
어차피 쓴 만큼 나오기 때문에 괜찮다 싶으면 그냥 유료 계정으로 업그레이드 하는 것이 좋아보인다.
참고자료
'Cloud Platform' 카테고리의 다른 글
[Oracle Cloud Infrastructure] 오라클 클라우드 배포 과정 정리(2) (1) | 2023.01.05 |
---|---|
[Oracle Cloud Infrastructure] 오라클 클라우드 배포 과정 정리(1) (0) | 2023.01.04 |
댓글