Überblick über Resource Manager
Automatisieren Sie Deployment und Vorgänge für Oracle Cloud Infrastructure-Ressourcen mit Resource Manager. Mit unterstützten Infrastructure-as-Code-(IaC-)Tools können DevOps-Ingenieure ihre Infrastruktur überall entwickeln und bereitstellen.
Eine Terraform-Konfiguration kodifiziert Ihre Infrastruktur in deklarativen Konfigurationsdateien. Mit Resource Manager können Sie Infrastrukturkonfigurationen und Statusdateien über mehrere Teams und Plattformen hinweg teilen und verwalten. Diese Infrastrukturverwaltung kann nicht nur mit lokalen Terraform-Installationen und Oracle Terraform-Modulen durchgeführt werden. Weitere Informationen zum Terraform-Provider von Oracle Cloud Infrastructure finden Sie unter Terraform-Provider. Eine allgemeine Einführung in Terraform und das "infrastructure-as-code"-Modell finden Sie in der Terraform-Community.
Resource Manager ist mit Federal Information Processing Standard (FIPS) konform. Weitere Informationen zu OCI in US-Regierungsregionen finden Sie unter Oracle US Government Cloud und Oracle US Defense Cloud.
Wichtige Konzepte
Im Folgenden finden Sie kurze Beschreibungen wichtiger Konzepte und der Hauptkomponenten von Resource Manager.
- Konfiguration
- Informationen zur Codierung Ihrer Infrastruktur. Verwenden Sie Ihre Konfiguration, um die Oracle Cloud Infrastructure-Ressourcen in einem bestimmten Stack anzugeben. Geben Sie beispielsweise Ressourcenmetadaten, Datenquellendefinitionen und Variablendeklarationen an. Jede Terraform-Konfigurationsdatei hat das HCL-(HashiCorp Configuration Language-)Format oder das JSON-Format. HCL-formatierte Dateien verwenden die Dateierweiterung
.tf
. JSON-formatierte Dateien verwenden die Dateierweiterung.tf.json
. - Konfigurationsquellenprovider
- Verbindungsinformationen zu einem Quellcode-Kontrollsystem, in dem Ihre Terraform-Konfigurationsdateien gespeichert sind. Verwenden Sie einen Konfigurationsquellenprovider, um einen Stack aus einer versionierten Terraform-Remotekonfigurationsdatei zu erstellen.
- Abweichung
- Differenz zwischen dem tatsächlichen, realen Zustand Ihrer Infrastruktur und der zuletzt ausgeführten Konfiguration des Stacks. Beispiel: Eine Abweichung tritt auf, wenn ein Teammitglied Ihren Ressourcen ein Produktionstag hinzufügt oder wenn eine Ressource ausfällt. Sie können Abstandserkennungsberichte ausführen, um zu bestimmen, ob bereitgestellte Ressourcen andere Status aufweisen als die Ressourcen, die in der zuletzt ausgeführten Konfiguration des Stacks definiert wurden. Sie können auch detaillierte Abweichungsstatus für jede Ressource anzeigen.
- Job
- Anweisungen zum Ausführen der in Ihrer Konfiguration definierten Aktionen. Es kann jeweils nur ein Job für einen bestimmten Stack ausgeführt werden. Außerdem kann es nur ein Set von Oracle Cloud Infrastructure-Ressourcen in einem bestimmten Stack geben. Um ein anderes Ressourcenset bereitzustellen, müssen Sie einen separaten Stack erstellen und eine andere Konfiguration verwenden.
- Modul
- Eine Gruppe zugehöriger Ressourcen. Verwenden Sie Module, um einfache und wiederverwendbare Abstraktionen zu erstellen, sodass Sie Ihre Infrastruktur in Bezug auf die Architektur beschreiben können. Weitere Informationen finden Sie unter Module erstellen.
- Package
- In der Regel eine ZIP-Datei in einer Terraform-Konfiguration, die in einem unterstützten Provider gespeichert ist, wie GitHub. Weitere Informationen finden Sie unter Schaltfläche "Deployment für Oracle Cloud verwenden".
- Persönlicher Endpunkt
- Netzwerkinformationen für die Verbindung mit einer nicht öffentlichen Ressource. Weitere Informationen finden Sie unter Private Endpunkte verwalten.
- Ressourcen-Discovery
- Ein Feature zum Erfassen von bereitgestellten Oracle Cloud Infrastructure-Ressourcen als Terraform-Konfigurations- und -Statusdateien. Weitere Informationen finden Sie unter Resource Discovery.
- Stack
- Die Sammlung von Oracle Cloud Infrastructure-Ressourcen, die einer bestimmten Terraform-Konfiguration entsprechen. Jeder Stack befindet sich in dem von Ihnen angegebenen Compartment in einer einzelnen Region. Ressourcen in einem bestimmten Stack können jedoch über mehrere Regionen hinweg bereitgestellt werden. Jedem Stack wird eine OCID zugewiesen.
- Status
- Der Status Ihrer Ressourcenkonfiguration, gespeichert im JSON-Format in einer Statusdatei (
.tfstate
). Weitere Informationen finden Sie unter Statusverwaltung.
- Vorlage
- Eine vordefinierte Terraform-Konfiguration, die eine Gruppe von Ressourcen bereitstellt, die in einem gängigen Szenario verwendet werden. Die Vorlage kann von Oracle oder einer Person in Ihrem Mandanten als private Vorlage bereitgestellt werden. Informationen zum Erstellen von Stacks aus Vorlagen finden Sie unter Stacks aus einer Vorlage erstellen. Weitere Informationen finden Sie unter Von Oracle bereitgestellte Vorlagen.
Features
Eine Vorlage ist eine Terraform-Konfiguration, mit der Sie die Infrastruktur verwalten können. Vorlagen können Kunden helfen, die neu bei Infrastructure-as-Code-Konfigurationen sind und die Konfigurationen von Produktionsworkflows aktualisieren. Verwenden Sie Vorlagen, um Resource Manager auszuprobieren und bewährte Best Practices auf Ihre Produktionsworkflowkonfiguration anzuwenden. Informationen zu von Oracle bereitgestellten Vorlagen finden Sie unter Von Oracle bereitgestellte Vorlagen.
Erstellen Sie Ihre eigenen privaten Vorlagen, die Sie für andere im Mandanten freigeben möchten.
Speichern Sie die Konfiguration von einer Ressourcenkonfigurationsseite in einem Stack. Verwenden Sie den Stack, um die Ressource über das Infrastructure-as-Code-Modell zu installieren, zu konfigurieren und zu verwalten. Weitere Informationen finden Sie unter Stack auf der Seite "Ressourcen erstellen" erstellen.
Speichern Sie Ihre Terraform-Konfigurationen remote mit integrierten Quellcodekontrollsystemen wie Bitbucket Cloud, Bitbucket Server, DevOps, GitHub und GitLab. Diese Integration unterstützt Sie bei der kontinuierlichen Integration und Bereitstellung (CI/CD).
Weitere Informationen finden Sie unter:
Einen Ablauf zur Verwendung der CLI für das Cloud-Provisioning in einer CI/CD-Pipeline finden Sie unter IaC in der Cloud: Terraform und Resource Manager in Ihre CI/CD-Pipeline integrieren - Mit der OCI-CLI erstellen.
Darüber hinaus können wir auch Terraform-Konfigurationen in Object Storage-Buckets speichern. Weitere Informationen finden Sie unter Stack aus einem Bucket erstellen.
Ein Feature zum Erfassen bereitgestellter Ressourcen als Terraform-Konfigurations- und -Statusdateien. Mit diesem Feature können Sie:
- Wechseln Sie von der manuell verwalteten Infrastruktur zur Resource Manager-gesteuerten Infrastruktur.
- Erfahren Sie, wie Terraform mit HashiCorp Configuration Language-(HCL-)Syntax Oracle Cloud Infrastructure-Ressourcen darstellt.
- Duplizieren Sie vorhandene Infrastruktur in einem anderen Compartment, oder erstellen Sie sie dort neu.
Resource Manager speichert Terraform-Statusdateien für Stacks, sodass Sie dies nicht tun müssen. Mehrere Personen können gleichzeitig an einem Stack arbeiten, da Resource Manager den Stackstatus sperrt, sodass jeweils nur ein Job für einen bestimmten Stack ausgeführt werden kann. Resource Manager generiert und aktualisiert automatisch die Statusdatei des Stacks (.tfstate
im JSON-Format). In dieser Datei werden die Ressourcen des Stacks Ihrer Konfiguration zugeordnet und wesentliche Konfigurationsmetadaten wie Ressourcenabhängigkeiten beibehalten.
Weitere Informationen zu Terraform-Statusdateien finden Sie unter Status.
Finden Sie heraus, ob die bereitgestellten Ressourcen einen anderen Status aufweisen als die Ressourcen, die in der Konfiguration der letzten Ausführung des Stacks definiert wurden, und zeigen Sie den detaillierten Abweichungsstatus für jede Ressource an.
Optional können Sie die Abweichungserkennung auf bestimmte Ressourcen begrenzen. Jede Ressource wird durch eine Ressourcenadresse identifiziert. Dabei handelt es sich um eine Zeichenfolge, die aus dem in der Terraform-Konfiguration des Stacks angegebenen Ressourcentyp und Namen sowie einem optionalen Index abgeleitet wird. Beispiel: Die Ressourcenadresse für die vierte Compute-Instanz mit dem Namen "test_instance" lautet oci_core_instance.test_instance[3]
. Der Ressourcentyp ist oci_core_instance
, ein Punkt fungiert als Trennzeichen, der Ressourcenname ist test_instance
und der Index ist 3
in Klammern. Weitere Details und Beispiele für Ressourcenadressen finden Sie in der Terraform-Dokumentation unter Beispiele.
Mit der Schaltfläche "In Oracle Cloud bereitstellen" können Sie Ihre Remote-Terraform-Konfiguration mit dem in Resource Manager verfügbaren Workflow "Stack erstellen" starten.
Weitere Informationen finden Sie unter Schaltfläche "Deployment für Oracle Cloud verwenden".
Mit privaten Endpunkten können Sie über Resource Manager auf nicht öffentliche Cloud-Ressourcen in Ihrem Mandanten zugreifen. Beispiel: Verwenden Sie die Remoteausführung mit einer privaten Instanz, oder greifen Sie auf eine Terraform-Konfiguration in einem privaten GitHub-Server zu.
Weitere Informationen, einschließlich allgemeiner Szenarios, finden Sie unter Private Endpunkte verwalten.
Sie können benutzerdefinierte Terraform-Provider mit Object Storage bereitstellen. Informationen zum Hinzufügen benutzerdefinierter Provider zu Buckets finden Sie unter Daten in Object Storage einfügen. Informationen zum Abrufen benutzerdefinierter Provider aus Buckets finden Sie unter Benutzerdefinierte Provider mit einem Stack verwenden.
Abhängigkeitssperrdateien werden automatisch für neue und aktualisierte Stacks verwaltet. Sie entscheiden, wann die neuesten verfügbaren Versionen aus der konfigurierten Quelle von Terraform-Providern abgerufen werden sollen. Provider werden innerhalb der Versions-Constraints der Terraform-Konfiguration aktualisiert. Anweisungen hierzu finden Sie unter Aktuelle Provider abrufen.
Setzen Sie einen Stack auf einen früheren bekannten Status zurück. Das Zurückrollen ist eine gute Alternative, um Zeit damit zu verbringen, den unbekannten Status eines Stacks zu beheben.
Um ein Rollback durchzuführen, müssen Sie zuerst den gewünschten erfolgreichen Bewerbungsjob angeben. Dieser "Zieljob" verwendet eine andere Terraform-Konfiguration. Erstellen Sie einen Plan-Rollback-Job für diesen Zieljob, und erstellen Sie dann einen Apply Rollback-Job mit dem generierten Ausführungsplan.
Verfügbarkeit
Der Resource Manager-Service ist in allen kommerziellen Oracle Cloud Infrastructure-Regionen verfügbar. Unter Informationen zu Regionen und Availability-Domains finden Sie die Liste der verfügbaren Regionen sowie zugehörige Standorte, Regions-IDs, Regionsschlüssel und Availability-Domains.
Allgemeiner Workflow
In der folgenden Abbildung ist eine allgemeine Ansicht des Resource Manager-Workflows dargestellt.
-
Erstellen Sie eine Terraform-Konfiguration.
Hinweis
Informationen zu Terraform-Konfigurationsquellen, die mit Resource Manager unterstützt werden, finden Sie unter Speicherorte für Terraform-Konfigurationen. - Erstellen Sie einen Stack.
- Führen Sie einen "Planen"-Job aus, mit dem ein Ausführungsplan erstellt wird.
- Prüfen Sie den Ausführungsplan (Joblogs).
- Wenn im Ausführungsplan Änderungen erforderlich sind, aktualisieren Sie die Konfiguration, und führen Sie erneut einen "Planen"-Job aus.
- Führen Sie einen "Anwenden"-Job aus, um Ressourcen bereitzustellen.
- Prüfen Sie die Statusdateien und die Logdateien nach Bedarf.
- Sie können die Konfiguration optional erneut mit oder ohne Änderungen anwenden, indem Sie erneut einen "Anwenden"-Job ausführen.
- Um die für einen Stack ausgeführten Ressourcen freizugeben, können Sie optional einen "Zerstören"-Job ausführen.
Eine detaillierte Einführung in den Resource Manager-Workflow finden Sie unter Erste Schritte.
Möglichkeiten für den Zugriff auf Resource Manager
Der Zugriff auf den Resource Manager-Service kann über die Konsole oder die Resource Manager-REST-API erfolgen. Anweisungen zur Verwendung der Konsole, der API und der Befehlszeilenschnittstelle (CLI) sind in verschiedenen Themen in dieser Dokumentation enthalten. Eine Liste der verfügbaren SDKs finden Sie unter Software Development Kits und Befehlszeilenschnittstelle (CLI).
Konsole: Um mit der Konsole auf Resource Manager zuzugreifen, müssen Sie einen unterstützten Browser verwenden. Um zur Anmeldeseite der Konsole zu wechseln, öffnen Sie das Navigationsmenü oben auf dieser Seite, und wählen Sie Infrastrukturkonsole aus. Dort werden Sie aufgefordert, Ihren Cloud-Mandanten, Benutzernamen und Ihr Kennwort einzugeben. Öffnen Sie das Navigationsmenü , und wählen Sie Entwicklerservices aus. Wählen Sie unter Resource Manager die Option Überblick aus.
API: Um über APIs auf Resource Manager zuzugreifen, verwenden Sie die Resource Manager-API.
CLI: siehe Befehlszeilenreferenz für Resource Manager.
Standardprovider
Standardmäßig unterstützt Resource Manager terraform-provider-oci
, den Terraform-Provider für Oracle Cloud Infrastructure.
Unterstützte Terraform-Provider von Drittanbietern finden Sie unter Unterstützte Terraform-Provider.
Authentifizierung und Autorisierung
Jeder Service in Oracle Cloud Infrastructure lässt sich mit IAM zur Authentifizierung und Autorisierung für alle Schnittstellen (Konsole, SDK oder CLI und REST-API) integrieren.
Ein Administrator in einer Organisation muss Gruppen , Compartments und Policys einrichten, die steuern, welche Benutzer auf Services und Ressourcen sowie den Zugriffstyp zugreifen können. Beispiel: Die Policys steuern, wer neue Benutzer erstellen, das Cloud-Netzwerk erstellen und bearbeiten, Instanzen erstellen, Buckets erstellen, Objekte herunterladen darf usw. Weitere Informationen finden Sie unter Identitätsdomains verwalten. Einzelheiten zum Schreiben von Policys für die einzelnen Services finden Sie in der Policy-Referenz.
Wenn Sie ein regulärer Benutzer sind (nicht ein Administrator), der die Oracle Cloud Infrastructure-Ressourcen verwenden muss, für die das Unternehmen verantwortlich ist, bitten Sie einen Administrator, eine Benutzer-ID für Sie einzurichten. Der Administrator kann festlegen, welche Compartments Sie verwenden können.
Policys für die Verwaltung von Oracle Cloud Infrastructure-Ressourcen sind auch für Resource Manager-Vorgänge erforderlich, die auf Ressourcen zugreifen. Beispiel: Für die Ausführung eines Anwendungsjobs auf einem Stack, der Compute-Instanzen und Subnetze enthält, sind Policys erforderlich, die Ihnen Berechtigungen für diese Ressourcentypen in den Compartments erteilen, in denen Sie die Ressourcen bereitstellen möchten. Beispiele für Policys zum Verwalten von Oracle Cloud Infrastructure-Ressourcen finden Sie unter Allgemeine Policys.
Administratoren: Allgemeine Policys, die Gruppen Zugriff auf Resource Manager-Ressourcen erteilen, finden Sie unter IAM-Policys (Resource Manager sichern).
Sicherheitseinstellungen
Neben dem Erstellen von IAM-Policys sollten Sie auch die folgenden Best Practices zur Sicherheit für Resource Manager befolgen.
- Begrenzen der Verwendung sensibler Informationen in Konfigurations- und Ausgabedateien
- Sicherheitsaudit ausführen
- Verwenden Sie private Endpunkte, um sicher auf Ressourcen zuzugreifen, ohne den Netzwerktraffic für die Öffentlichkeit freizugeben
Siehe Resource Manager sichern.
Limits für für Resource Manager-Ressourcen
Siehe Limits für Resource Manager.
Eine Liste der jeweiligen Limits sowie Anweisungen dazu, wie Sie eine Erhöhung beantragen finden Sie unter Servicelimits. Um compartment-spezifische Grenzwerte für eine Ressource oder Ressourcenfamilie festzulegen, können Administratoren Compartment-Quotas verwenden.