Introduzione
Quando esegui workload su Oracle Cloud Infrastructure (OCI), gestire le istanze in modo efficiente e’ fondamentale. Questa guida mostra come creare un metodo semplice per spegnere una VM OCI dall’interno dell’istanza stessa, usando instance metadata e autenticazione instance principal.
Prerequisiti
- Un’istanza OCI con autenticazione instance principal abilitata
- OCI CLI installata sull’istanza
- Conoscenza base delle operazioni da riga di comando
Capire i componenti
Instance Metadata
Ogni istanza OCI puo’ accedere ai propri metadata tramite un endpoint locale. Questi metadata includono informazioni importanti come:
- Instance OCID, cioe’ Oracle Cloud Identifier
- Region
- Compartment ID
- Availability Domain
Puoi accedere a queste informazioni senza autenticazione quando fai la richiesta dall’interno dell’istanza:
curl http://169.254.169.254/opc/v1/instance/id
curl http://169.254.169.254/opc/v1/instance/region
Autenticazione Instance Principal
Instance Principal e’ un modo sicuro per autenticare chiamate API OCI senza gestire file di configurazione o API key. Quando e’ abilitato, l’istanza puo’ effettuare chiamate API usando la propria identita'.
Il comando base
Questo e’ il comando base per eseguire uno shutdown ordinato:
oci compute instance action \
--action SOFTSTOP \
--instance-id $(curl -s http://169.254.169.254/opc/v1/instance/id) \
--auth instance_principal \
--region $(curl -s http://169.254.169.254/opc/v1/instance/region)
Vediamo cosa fa ogni parte:
oci compute instance action: comando base per le operazioni sulle istanze--action SOFTSTOP: specifica uno shutdown ordinato--instance-id $(...): recupera l’ID dell’istanza corrente dai metadata--auth instance_principal: usa l’identita’ dell’istanza per l’autenticazione--region $(...): recupera la region corrente dai metadata
Semplificare tutto con un alias
Per semplificare il processo puoi creare un alias. Ecco come:
- Apri il file di configurazione della shell:
nano ~/.bashrc # per utenti bash
# oppure
nano ~/.zshrc # per utenti zsh
- Aggiungi l’alias:
alias ocishutdown='oci compute instance action \
--action SOFTSTOP \
--instance-id $(curl -s http://169.254.169.254/opc/v1/instance/id) \
--auth instance_principal \
--region $(curl -s http://169.254.169.254/opc/v1/instance/region)'
- Ricarica la configurazione:
source ~/.bashrc # per bash
# oppure
source ~/.zshrc # per zsh
Ora puoi digitare semplicemente ocishutdown per arrestare in modo ordinato la tua istanza.
Conclusione
Usando instance metadata e autenticazione instance principal puoi creare metodi efficienti e sicuri per gestire le istanze OCI. Questo approccio elimina la necessita’ di salvare credenziali e semplifica le attivita’ operative.
Anche se questa guida si concentra sullo shutdown, gli stessi principi valgono per altre operazioni di gestione, come start, reset o raccolta di informazioni sull’istanza. Puoi adattare questi esempi alle tue esigenze.
