Panoramica di Resource Manager
Automatizza l'implementazione e le operazioni per le risorse di Oracle Cloud Infrastructure utilizzando Resource Manager. Grazie agli strumenti Infrastructure as Code (IaC) supportati, i tecnici di DevOps possono sviluppare e distribuire la propria infrastruttura ovunque.
Una configurazione Terraform codifica l'infrastruttura nei file di configurazione dichiarativi. Resource Manager consente di condividere e gestire le configurazioni dell'infrastruttura e i file di stato tra più team e piattaforme. Questa gestione dell'infrastruttura non può essere eseguita solo con le installazioni Terraform locali e i moduli Oracle Terraform. Per ulteriori informazioni sul provider Terraform di Oracle Cloud Infrastructure, vedere Provider Terraform. Per un'introduzione generale a Terraform e al modello "infrastructure-as-code", consulta la comunità Terraform.
Resource Manager è conforme a Federal Information Processing Standard (FIPS). Per ulteriori informazioni su OCI nelle region governative degli Stati Uniti, consulta Oracle US Government Cloud e Oracle US Defense Cloud.
Concetti chiave
Di seguito sono riportate brevi descrizioni dei concetti chiave e dei componenti principali di Resource Manager.
- configurazione
- Informazioni per la codifica dell'infrastruttura. Utilizzare la configurazione per specificare le risorse Oracle Cloud Infrastructure in uno stack specifico. Ad esempio, specificare i metadati delle risorse, le definizioni delle origini dati e le dichiarazioni delle variabili. Ogni file di configurazione Terraform è in formato HCL (HashiCorp Configuration Language) o JSON. I file in formato HCL usano l'estensione file
.tf
. I file in formato JSON utilizzano l'estensione file.tf.json
. - provider di origine configurazione
- Informazioni di connessione a un sistema di controllo del codice sorgente in cui sono memorizzati i file di configurazione Terraform. Utilizzare un provider di origine configurazione per creare uno stack da un file di configurazione Terraform remoto con controllo delle versioni.
- deviazione
- Differenza tra lo stato reale dell'infrastruttura e l'ultima configurazione eseguita dello stack. Ad esempio, la deviazione si verifica quando un membro del team aggiunge un tag di produzione alle risorse o quando una risorsa ha esito negativo. È possibile eseguire i report di rilevamento delle deviazioni per determinare se le risorse di cui è stato eseguito il provisioning hanno stati diversi da quelli delle risorse definite nell'ultima configurazione eseguita dello stack. È inoltre possibile visualizzare lo stato dettagliato delle deviazioni per ogni risorsa.
- job
- Istruzioni per eseguire le azioni definite nella configurazione. Un solo job alla volta può essere eseguito su un determinato stack. Inoltre, puoi avere un solo set di risorse Oracle Cloud Infrastructure in un determinato stack. Per eseguire il provisioning di un set diverso di risorse, è necessario creare uno stack separato e utilizzare una configurazione diversa.
- modulo
- Un gruppo di risorse correlate. Utilizza i moduli per creare astrazioni leggere e riutilizzabili, in modo da poter descrivere la tua infrastruttura in termini di architettura. Per ulteriori informazioni, vedere Creazione di moduli.
- package
- In genere, un file .zip in una configurazione Terraform memorizzata in un provider supportato, ad esempio GitHub. Per ulteriori informazioni, vedere Uso del pulsante Distribuisci in Oracle Cloud.
- endpoint privato
- Informazioni di rete per la connessione a una risorsa non pubblica. Per ulteriori informazioni, vedere Gestione degli endpoint privati.
- ricerca automatica delle risorse
- Funzione per acquisire le risorse Oracle Cloud Infrastructure distribuite come file di configurazione e stato Terraform. Per ulteriori informazioni, vedere Ricerca automatica delle risorse.
- stack
- La raccolta di risorse Oracle Cloud Infrastructure corrispondenti a una determinata configurazione Terraform. Ogni stack risiede nel compartimento specificato, in un'unica area; tuttavia, le risorse in un determinato stack possono essere distribuite in più aree. A ogni stack viene assegnato un OCID .
- stato
- Stato della configurazione delle risorse, memorizzato in formato JSON in un file di stato (
.tfstate
). Per ulteriori informazioni, vedere Gestione dello stato.
- modello
- Configurazione Terraform predefinita che esegue il provisioning di un set di risorse utilizzate in uno scenario comune. Il modello può essere fornito da Oracle o da un utente della tenancy come modello privato. Per creare stack dai modelli, vedere Creazione di uno stack da un modello. Per riferimento, vedere Modelli forniti da Oracle.
Funzioni
Un modello è una configurazione Terraform che è possibile utilizzare per gestire l'infrastruttura. I modelli possono aiutare i clienti che non hanno familiarità con l'infrastruttura come codice e che stanno aggiornando le configurazioni del workflow di produzione. Utilizzare i modelli per provare Resource Manager e per applicare best practice comprovate alla configurazione del flusso di lavoro di produzione. Per informazioni sui modelli forniti da Oracle, vedere Modelli forniti da Oracle.
Creare i propri modelli privati da condividere con altri utenti della tenancy.
Salvare la configurazione da una pagina di configurazione delle risorse in uno stack. Utilizza lo stack per installare, configurare e gestire la risorsa tramite il modello "infrastruttura sotto forma di codice". Per ulteriori informazioni, vedere Creazione di uno stack da una pagina di creazione delle risorse.
Memorizza in remoto le configurazioni Terraform utilizzando sistemi di controllo del codice sorgente integrati, come Bitbucket Cloud, Bitbucket Server, DevOps, GitHub e GitLab. Questa integrazione consente di ottenere l'integrazione continua e la distribuzione continua (CI/CD).
Per ulteriori informazioni, fare riferimento agli argomenti sotto riportati.
Per una panoramica sull'uso dell'interfaccia CLI per il provisioning cloud in una pipeline CI/CD, vedere IaC in the Cloud: Integrating Terraform and Resource Manager in your CI/CD Pipeline - Building With the OCI CLI.
Inoltre, consentiamo anche di memorizzare le configurazioni Terraform nei bucket di storage degli oggetti. Per ulteriori informazioni, vedere Creazione di uno stack da un bucket.
Funzione per acquisire le risorse distribuite come file di configurazione e stato Terraform. Questa funzione consente di eseguire le seguenti operazioni.
- Passa dall'infrastruttura gestita manualmente all'infrastruttura controllata da Resource Manager.
- Scopri come Terraform utilizza la sintassi HCL (HashiCorp Configuration Language) per rappresentare le risorse Oracle Cloud Infrastructure.
- Duplica o ricostruisci l'infrastruttura esistente in un altro compartimento.
Resource Manager memorizza i file di stato Terraform per gli stack in modo da non doverlo fare. Più persone possono lavorare contemporaneamente su uno stack perché Resource Manager blocca lo stato dello stack, consentendo l'esecuzione di un solo job alla volta su uno stack specifico. Resource Manager genera e aggiorna automaticamente il file di stato dello stack (.tfstate
, in formato JSON). Questo file mappa le risorse dello stack alla configurazione e gestisce i metadati di configurazione essenziali, ad esempio le dipendenze delle risorse.
Per ulteriori informazioni sui file di stato Terraform, vedere Stato.
Scopri se le risorse di cui è stato eseguito il provisioning hanno stati diversi da quelli delle risorse definite nella configurazione dell'ultima esecuzione dello stack e visualizza lo stato dettagliato delle deviazioni per ogni risorsa.
Facoltativamente, è possibile limitare il rilevamento delle deviazioni alle risorse specificate. Ogni risorsa viene identificata da un indirizzo di risorsa, ovvero una stringa derivata dal tipo di risorsa e dal nome specificati nella configurazione Terraform dello stack più un indice facoltativo. Ad esempio, l'indirizzo della risorsa per la quarta istanza di computazione con il nome "test_instance" è oci_core_instance.test_instance[3]
. Il tipo di risorsa è oci_core_instance
, un punto funge da delimitatore, il nome della risorsa è test_instance
e l'indice è 3
tra parentesi. Per ulteriori dettagli ed esempi sugli indirizzi delle risorse, consultare la documentazione di Terraform all'indirizzo Examples.
Il pulsante Distribuisci in Oracle Cloud consente di avviare la configurazione Terraform remota utilizzando il workflow Crea stack disponibile in Resource Manager.
Per ulteriori informazioni, vedere Uso del pulsante Distribuisci in Oracle Cloud.
Con gli endpoint privati, puoi accedere alle risorse cloud non pubbliche nella tua tenancy da Resource Manager. Ad esempio, utilizzare Remote Exec con un'istanza privata o accedere a una configurazione Terraform in un server GitHub privato.
Per ulteriori informazioni, inclusi gli scenari comuni, vedere Gestione degli endpoint privati.
Puoi fornire provider Terraform personalizzati utilizzando lo storage degli oggetti. Per aggiungere provider personalizzati ai bucket, vedere Inserimento dei dati nello storage degli oggetti. Per recuperare i provider personalizzati dai bucket, vedere Utilizzo di provider personalizzati con uno stack.
I file di blocco delle dipendenze vengono gestiti automaticamente per gli stack nuovi e aggiornati. Si decide quando recuperare le versioni più recenti disponibili dall'origine configurata dei provider Terraform. I provider vengono aggiornati entro i vincoli di versione della configurazione Terraform. Per istruzioni, vedere Recupero degli ultimi provider.
Eseguire il rollback di uno stack a uno stato noto precedente. Il rollback è una buona alternativa alla risoluzione dei problemi dello stato sconosciuto di uno stack.
Per eseguire il rollback, identificare innanzitutto il job di applicazione riuscito desiderato. Questo "job di destinazione" utilizza una configurazione Terraform diversa. Creare un job di rollback del piano per questo job di destinazione, quindi creare un job di rollback dell'applicazione utilizzando il piano di esecuzione generato.
disponibilità
Il servizio Resource Manager è disponibile in tutte le aree commerciali di Oracle Cloud Infrastructure. Vedere Informazioni sulle aree e sui domini di disponibilità per la lista delle aree disponibili, insieme alle posizioni associate, agli identificativi delle aree, alle chiavi delle aree e ai domini di disponibilità.
Flusso di lavoro generalizzato
L'immagine seguente rappresenta una vista generalizzata del flusso di lavoro di Resource Manager.
-
Creare una configurazione Terraform.
Nota
Per le origini di configurazione Terraform supportate con Resource Manager, vedere Dove memorizzare le configurazioni Terraform. - Creare uno stack.
- Eseguire un job del piano, che produce un piano di esecuzione.
- Rivedere il piano di esecuzione (log dei job).
- Se sono necessarie modifiche nel piano di esecuzione, aggiornare la configurazione ed eseguire di nuovo un job del piano.
- Eseguire un job di applicazione per eseguire il provisioning delle risorse.
- Se necessario, vedere file di stato e file di log.
- Facoltativamente, è possibile riapplicare la configurazione, con o senza apportare modifiche, eseguendo di nuovo un job di applicazione.
- Facoltativamente, per rilasciare le risorse in esecuzione in uno stack, eseguire un job di eliminazione.
Per una panoramica dettagliata del flusso di lavoro di Resource Manager, vedere Guida introduttiva.
Modalità di accesso a Resource Manager
È possibile accedere al servizio Resource Manager utilizzando la console o l'API REST di Resource Manager. Le istruzioni per l'uso della console, dell'API e dell'interfaccia CLI sono incluse negli argomenti della presente documentazione. Per un elenco di SDK disponibili, consulta Software Development Kits and Command Line Interface.
Console: per accedere a Resource Manager utilizzando la console, è necessario utilizzare un browser supportato. Per andare alla pagina di accesso della console, aprire il menu di navigazione nella parte superiore di questa pagina e selezionare Console dell'infrastruttura. Viene richiesto di immettere il tenant cloud, il nome utente e la password. Aprire il menu di navigazione e selezionare Developer Services. In Resource Manager, selezionare Panoramica.
API: per accedere a Resource Manager tramite le API, utilizzare API Resource Manager.
CLI: vedere Command Line Reference for Resource Manager.
Provider predefinito
Per impostazione predefinita, Resource Manager supporta terraform-provider-oci
, il provider Terraform per Oracle Cloud Infrastructure.
Per i provider Terraform di terze parti supportati, vedere Provider Terraform supportati.
Autenticazione e autorizzazione
Ogni servizio in Oracle Cloud Infrastructure si integra con IAM per l'autenticazione e l'autorizzazione, per tutte le interfacce (console, SDK o CLI e API REST).
Un amministratore di un'organizzazione deve impostare gruppi , compartimenti e criteri che controllano gli utenti che possono accedere a quali servizi, quali risorse e il tipo di accesso. Ad esempio, i criteri controllano chi può creare nuovi utenti, creare e gestire la rete cloud, creare istanze, creare bucket, scaricare oggetti e così via. Per ulteriori informazioni, vedere Gestione dei domini di Identity. Per dettagli specifici sulla scrittura dei criteri relativi a ognuno dei vari servizi, consulta il riferimento per i criteri.
Se sei un utente normale (non un amministratore) che deve utilizzare le risorse Oracle Cloud Infrastructure di proprietà dell'azienda, contatta un amministratore per impostare un ID utente. L'amministratore può confermare quale compartimento o compartimenti è possibile utilizzare.
Le policy per la gestione delle risorse Oracle Cloud Infrastructure sono necessarie anche per le operazioni di Resource Manager che accedono alle risorse. Ad esempio, l'esecuzione di un job di applicazione in uno stack che include istanze di computazione e subnet richiede criteri che concedono le autorizzazioni per tali tipi di risorsa nei compartimenti in cui si desidera eseguire il provisioning delle risorse. Per visualizzare esempi di criteri per la gestione delle risorse di Oracle Cloud Infrastructure, vedere Policy comuni.
Amministratori: per i criteri comuni che consentono ai gruppi di accedere alle risorse di Resource Manager, vedere Criteri IAM (Protezione di Resource Manager).
Sicurezza
Oltre a creare criteri IAM, seguire queste procedure ottimali di sicurezza per Resource Manager.
- Limitare l'uso di informazioni riservate nei file di configurazione e di output
- Eseguire un controllo della sicurezza
- Utilizza gli endpoint privati per accedere in modo sicuro alle risorse senza esporre il traffico di rete al pubblico
Vedere Protezione di Resource Manager.
Limiti delle risorse di Resource Manager
Vedere Limiti di Resource Manager.
Per un elenco dei limiti applicabili e delle istruzioni per richiedere un aumento del limite, consulta la sezione relativa ai limiti dei servizi. Per impostare limiti specifici del compartimento per una risorsa o una famiglia di risorse, gli amministratori possono utilizzare le quote dei compartimenti.