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 e 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 non riesce. È possibile eseguire i report di rilevamento delle deviazioni per stabilire se gli stati delle risorse di cui è stato eseguito un provisioning hanno stati diversi rispetto a quelli delle risorse definite nell'ultima configurazione eseguita dello stack. È inoltre possibile visualizzare lo stato di deviazione dettagliato 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 Utilizzo 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
- Raccolta di risorse Oracle Cloud Infrastructure corrispondenti a una configurazione Terraform specifica. Ogni stack risiede nel compartimento specificato, in una singola 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
- Una 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, sotto forma di 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 nuovi utenti dell'infrastruttura come codice e chi sta aggiornando le configurazioni del workflow di produzione. Utilizza i modelli per provare Resource Manager e 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 nella 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 "infrastructure-as-code". 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 la memorizzazione delle 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 Utilizzo 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 Missione 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 dei provider più recenti.
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 candidatura 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 di 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 piano, che produce un piano di esecuzione.
- Esaminare 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.
- Rivedere i file di stato e i file di log, se necessario.
- Facoltativamente, è possibile riapplicare la configurazione, con o senza apportare modifiche, eseguendo di nuovo un job di applicazione.
- Facoltativamente, per rilasciare le risorse in esecuzione su uno stack, eseguire un job di eliminazione.
Per informazioni dettagliate sul 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 di questa documentazione. Per un elenco degli SDK disponibili, vedere Software Development Kit 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, consulta la sezione relativa ai fornitori 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 consultare un elenco dei limiti applicabili e le istruzioni per richiedere un incremento del limite, vedere Limiti per servizio. Per impostare limiti specifici di compartimento per una risorsa o una famiglia di risorse, gli amministratori possono utilizzare le quote di compartimento.