Um script em Bash para criar automaticamente instâncias ARM gratuitas no Oracle Cloud Infrastructure (OCI).
- Oracle Cloud Account: Conta ativa no Oracle Cloud (nível gratuito funciona)
- OCI CLI: Instale a CLI oficial do Oracle Cloud
- jq: Ferramenta para processamento de JSON
# Instalar jq
sudo apt update && sudo apt install jq
# Instalar OCI CLI
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"# Instalar jq
sudo yum install jq # ou sudo dnf install jq
# Instalar OCI CLI
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"oci setup configSiga as instruções para:
- Fornecer o User OCID
- Fornecer o Tenancy OCID
- Escolher uma região
- Gerar ou fornecer chaves de API
- Acesse sua conta Oracle Cloud
- Vá para: Identity & Security → Users → Seu usuário → API Keys
- Clique em Add API Key e cole sua chave pública
Execute o script em modo setup para listar os valores disponíveis:
# Edite o script e altere SETUP=1
nano create_oracle_arm_instance.sh
# Execute para ver as opções
bash create_oracle_arm_instance.shEdite as seguintes variáveis no script:
# IDs da sua conta Oracle Cloud
TENANCY_ID="ocid1.tenancy.oc1..aaaaaaaa[SEU_ID_AQUI]"
COMPARTMENT_ID="ocid1.tenancy.oc1..aaaaaaaa[SEU_ID_AQUI]"
IMAGE_ID="ocid1.image.oc1.[REGIAO].[SEU_IMAGE_ID_AQUI]"
SUBNET_ID="ocid1.subnet.oc1.[REGIAO].[SEU_SUBNET_ID_AQUI]"
AVAIL_DOMAIN="[SEU_AVAILABILITY_DOMAIN_AQUI]"
# Sua chave SSH pública
SSH_KEY='ssh-rsa AAAAB3... [SUA_CHAVE_PUBLICA_AQUI] ...usuario@host'
# Altere SETUP para 0 quando estiver pronto
SETUP=0bash create_oracle_arm_instance.sh# Executa silenciosamente em background
nohup bash create_oracle_arm_instance.sh &
# Verificar o progresso
tail -f nohup.out
# Verificar se está rodando
ps aux | grep create_oracle_arm_instance# Encontrar o processo
ps aux | grep create_oracle_arm_instance
# Parar o processo (substitua [PID] pelo número do processo)
kill [PID]VM_DISPLAY_NAME="ARM-Instance-Gratuita" # Nome da instância
CPUS=4 # Número de OCPUs (máx. 4 gratuito)
RAM=24 # Memória em GB (máx. 24 gratuito)REQUEST_INTERVAL=10 # Intervalo entre tentativas (segundos)
MAX_RETRIES=8640 # Máximo de tentativas (24h se intervalo=10s)
SILENT=0 # 1 para saída reduzida, 0 para verbose- Normal: Este é o erro esperado quando não há capacidade disponível
- Solução: O script continuará tentando automaticamente
- Causa: Configuração incorreta da OCI CLI ou OCIDs inválidos
- Solução: Verifique a configuração da CLI e os OCIDs fornecidos
- Causa: Um ou mais parâmetros estão incorretos
- Solução: Execute com SETUP=1 para verificar os valores disponíveis
- Causa: Muitas requisições em pouco tempo
- Solução: O script aumentará automaticamente o intervalo
tail -f nohup.out# Ver processos rodando
ps aux | grep create_oracle_arm_instance
# Ver últimas tentativas
tail -20 nohup.out- ⏱️ Paciência: Pode levar horas ou dias para conseguir uma instância ARM gratuita
- 🔄 Persistência: O script tentará continuamente até conseguir
- 💰 Gratuito: Configurado para usar apenas recursos do nível gratuito
- 🔒 Segurança: Mantenha suas chaves e OCIDs seguros
MIT License - Sinta-se livre para usar, modificar e distribuir.
Contribuições são bem-vindas! Abra issues ou pull requests para melhorias.