오라클 클라우드 Always Free Resources 에는 Ampere A1 Compute instances (4OCPU와 24GB 메모리)를 제공하지만 일부 리전에서는 용량 부족 문제 (Out of Capacity)로 인스턴스를 생성할 수 없습니다. 이 프로젝트는 일정 기간마다 인스턴스 생성 요청을 보내 문제를 해결합니다.
원본 프로젝트: hitrov/oci-arm-host-capacity
-
API 키 생성 [OCI 콘솔 > 사용자 설정 > API 키 관리]
OCI API 키 생성시 나온 설정 파일을.oci
폴더에.config
이름으로 저장합니다.
OCI에서 생성한 API 키 파일 2개 (private key, public key)도.oci
폴더에 저장합니다. -
SSH 접속에 사용할 키파일 생성 [OCI 인스턴스 생성 과정에서 키 페어 생성]
키 파일을 생성한 후, public key를ssh_keys
폴더에public_key.pub
이름으로 저장합니다. -
로그 기능 사용 > 디스코드 웹훅 연동하기 [디스코드 채널 Integrations > Webhooks > New Webhook]
loghook/discord.py
코드에 일부분을 아래와 같이 수정하세요.
5 | class DiscordHook(LogHookBase):
6 | URL = "디스코드에서 생성한 웹훅 URL"
7 |
- 로컬 설정파일 수정하기
config.example.json
파일을config.json
으로 이름을 바꾸고 아래와 같이 값을 변경합니다.
{
"compartment_id": "인스턴스를 생성할 구획 OCID",
"availability_domain": "인스턴스를 생성할 가용 도메인",
"subnet_id": "인스턴스에 연결할 서브넷 OCID",
"image_id": "인스턴스에 설치할 이미지 OCID",
"instance_display_name": "생성할 인스턴스의 이름",
"instance_ocpus": "인스턴스의 ocpu 수 (Always Free, A1.Flex 기준 최대 4개)",
"instance_memory_in_gbs": "인스턴스의 메모리 용량 (Always Free, A1.Flex 기준 최대 24GB)",
"instance_shape": "인스턴스의 형태 (Always Free 기준 VM.Standard.A1.Flex 추천)",
}
docker-compose up -d
여기를 클릭해 Python version이 3.13인지 확인한 후 운영체제에 맞게 설치합니다.
pip install -r requirements.txt
python cronjob.py