Skip to content

s-mendes/oracle-vps-automation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Oracle VPS Automation

🏗️ Oracle Cloud ARM Instance Creator

Um script em Bash para criar automaticamente instâncias ARM gratuitas no Oracle Cloud Infrastructure (OCI).

📋 Pré-requisitos

  1. Oracle Cloud Account: Conta ativa no Oracle Cloud (nível gratuito funciona)
  2. OCI CLI: Instale a CLI oficial do Oracle Cloud
  3. jq: Ferramenta para processamento de JSON

Instalação das Dependências

Ubuntu/Debian:

# 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)"

CentOS/RHEL/Fedora:

# 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)"

⚙️ Configuração

1. Configurar OCI CLI

oci setup config

Siga as instruções para:

  • Fornecer o User OCID
  • Fornecer o Tenancy OCID
  • Escolher uma região
  • Gerar ou fornecer chaves de API

2. Adicionar Chave Pública no Oracle Cloud

  • Acesse sua conta Oracle Cloud
  • Vá para: Identity & SecurityUsersSeu usuárioAPI Keys
  • Clique em Add API Key e cole sua chave pública

3. Obter IDs Necessários

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.sh

4. Configurar o Script

Edite 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=0

🚀 Uso

Execução Normal

bash create_oracle_arm_instance.sh

Execução em Background (Recomendado)

# 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

Parar a Execução

# Encontrar o processo
ps aux | grep create_oracle_arm_instance

# Parar o processo (substitua [PID] pelo número do processo)
kill [PID]

🎛️ Configurações Avançadas

Especificações da VM

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)

Controle de Tentativas

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

🔧 Solução de Problemas

Erro: "Out of host capacity"

  • Normal: Este é o erro esperado quando não há capacidade disponível
  • Solução: O script continuará tentando automaticamente

Erro: "NotAuthorizedOrNotFound"

  • Causa: Configuração incorreta da OCI CLI ou OCIDs inválidos
  • Solução: Verifique a configuração da CLI e os OCIDs fornecidos

Erro: "InvalidParameter"

  • Causa: Um ou mais parâmetros estão incorretos
  • Solução: Execute com SETUP=1 para verificar os valores disponíveis

Erro: "Too many requests"

  • Causa: Muitas requisições em pouco tempo
  • Solução: O script aumentará automaticamente o intervalo

📊 Monitoramento

Ver Logs em Tempo Real

tail -f nohup.out

Verificar Status

# Ver processos rodando
ps aux | grep create_oracle_arm_instance

# Ver últimas tentativas
tail -20 nohup.out

📝 Notas Importantes

  • ⏱️ 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

📄 Licença

MIT License - Sinta-se livre para usar, modificar e distribuir.

🤝 Contribuições

Contribuições são bem-vindas! Abra issues ou pull requests para melhorias.


⚠️ Aviso: Este script é para fins educacionais. Use por sua conta e risco.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages