Mit Instanzen arbeiten

Mit Oracle Cloud Infrastructure Compute können Sie Compute-Hosts, die auch als Instanzen bezeichnet werden, bereitstellen und verwalten. Sie können Instanzen nach Bedarf erstellen, um Ihre Compute- und Anwendungsanforderungen zu erfüllen. Nach dem Erstellen einer Instanz können Sie sicher von Ihrem Rechner aus darauf zugreifen, sie neu starten, Volumes anhängen und trennen und die Instanz beenden, wenn Sie fertig sind.

Sicherheitszonen

Sicherheitszonen stellen sicher, dass Cloud-Ressourcen den Oracle-Sicherheitsgrundsätzen entsprechen. Wenn ein Vorgang für eine Ressource in einem Sicherheitszonen-Compartment eine Policy für diese Sicherheitszone verletzt, wird der Vorgang abgelehnt.

Die folgenden Sicherheitszonen-Policys beeinflussen die Fähigkeit, Instanzen zu erstellen:

  • Das Boot-Volume für eine Compute-Instanz in einer Sicherheitszone muss sich ebenfalls in derselben Sicherheitszone befinden.
  • Eine Compute-Instanz, die sich nicht in einer Sicherheitszone befindet, kann kein Boot-Volume verwenden.
  • Eine Compute-Instanz in einer Sicherheitszone muss Subnetze verwenden, die sich ebenfalls in dieser Sicherheitszone befinden.
  • Alle Compute-Instanzen in einer Sicherheitszone müssen mit Plattformimages erstellt werden. Sie können keine Compute-Instanz aus einem benutzerdefinierten Image in einer Sicherheitszone erstellen.
Wichtig

Wenn Sie eine der aufgeführten Sicherheitszonen-Policys nicht implementieren, kann dies die Erstellung einer Instanz verhindern.

Erforderliche IAM Policy für die Arbeit mit Instanzen

Um Oracle Cloud Infrastructure verwenden zu können, muss ein Administrator Mitglied einer Gruppe sein, der Sicherheitszugriff in einer Policy von einem Mandantenadministrator erteilt wurde. Dieser Zugriff ist unabhängig davon erforderlich, ob Sie die Konsole oder die REST-API mit einem SDK, einer CLI oder einem anderen Tool verwenden. Wenn Sie eine Meldung erhalten, dass Sie keine Berechtigung haben oder nicht autorisiert sind, fragen sie den Mandantenadministrator, welcher Zugriffstyp Ihnen zugewiesen wurde und In welchem Compartment Ihr Zugriff funktioniert.

Tipp

Wenn Sie eine Instanz erstellen, sind mehrere andere Ressourcen wie ein Image, ein Cloud-Netzwerk und ein Subnetz daran beteiligt. Diese Ressourcen können sich in demselben Compartment  wie die Instanz oder in anderen Compartments befinden. Sie müssen für jedes der beteiligten Compartments über die erforderliche Zugriffsebene verfügen, um die Instanz zu starten. Dies gilt auch, wenn Sie ein Volume an eine Instanz anhängen. Zwar müssen sich die beiden nicht in demselben Compartment befinden, doch wenn dies nicht der Fall ist, benötigen Sie die erforderliche Zugriffsebene für jedes der Compartments.

Für Administratoren: Die einfachste Policy, mit der Benutzer Instanzen erstellen, bearbeiten und beenden (löschen) können, ist unter Starten von Compute-Instanzen durch Benutzer zulassen aufgeführt. Sie erteilt der angegebenen Gruppe allgemeinen Zugriff für die Verwaltung von Instanzen und Images sowie die erforderliche Zugriffsebene zum Anhängen vorhandener Block-Volumes an die Instanzen. Wenn die angegebene Gruppe keine Instanzen starten oder Volumes zuordnen muss, können Sie die Policy so vereinfachen, dass nur manage instance-family enthalten ist, und die Anweisungen mit volume-family sowie virtual-network-family entfernen.

Wenn die Gruppe Block-Volumes Erstellen muss, können sie diese verwalten. Siehe Verwalten von Block-Volumes, Backups und Volume-Gruppen durch Volume-Administratoren zulassen.

Wenn die Gruppe speziell Zugriff auf Communitybilder benötigt, muss sie die Berechtigung zum Lesen von Communitybildern haben. Siehe Communityanwendungen veröffentlichen.

Wenn Sie mit Policys neu sind, finden Sie weitere Informationen unter Identitätsdomains verwalten und Allgemeine Policys. Referenzmaterial zum Schreiben von Policys für Instanzen, Cloud-Netzwerke oder andere Core Services-API-Ressourcen finden Sie unter Details zu Core Services.

Für einige Compute-Aufgaben sind zusätzliche Policys erforderlich, wie in den folgenden Abschnitten beschrieben.

Partnerimagekatalog.

Wenn die Gruppe Instanzen auf Basis von Partnerimages erstellen muss, benötigen sie die Verwaltungsberechtigung für app-catal-listing, um Abonnements für Images aus dem Partnerimagekatalog zu erstellen. Siehe Auflisten und Abonnieren von Images aus dem Partnerimagekatalog durch Benutzer zulassen .

SSH- und Remotedesktopzugriff

Für Benutzer: Um eine Verbindung zu einer aktiven Instanz mit einer Secure Shell-(SSH-) oder Remotedesktopverbindung herzustellen, benötigen Sie keine IAM-Policy, um Ihnen Zugriff zu gewähren. Sie benötigen jedoch die öffentliche IP-Adresse der Instanz.

Für Administratoren: Wenn es eine Policy gibt, mit der Benutzer eine Instanz starten können, können Benutzer mit dieser Policy wahrscheinlich auch die IP-Adresse der Instanz abrufen. Die einfachste Policy, die beide Vorgänge ausführt, wird unter Starten von Compute-Instanzen durch Benutzer zulassen aufgelistet.

Im Folgenden finden Sie eine restriktivere Policy, mit der die angegebene Gruppe die IP-Adresse vorhandener Instanzen abrufen und Aktionen auf den Instanzen ausführen kann (Beispiel: Stoppen oder Starten der Instanz), Instanzen jedoch nicht starten oder beenden kann. Die Policy geht davon aus, dass sich Instanzen und Cloud-Netzwerk zusammen in einem Compartment (XYZ) befinden.

Allow group InstanceUsers to read virtual-network-family in compartment XYZ
Allow group InstanceUsers to use instance-family in compartment XYZ

Instance Metadata Service (IMDS)

Für Benutzer: Wenn Sie bei der Instanz angemeldet sind und mit cURL Instanzmetadaten abrufen können, ist keine IAM-Policy erforderlich.

Für Administratoren: Benutzer können Instanzmetadaten auch über die Compute-API abrufen (z.B. mit GetInstance). Die Policy unter Starten von Compute-Instanzen durch Benutzer zulassen deckt diese Fähigkeit ab.

Um sicherzustellen, dass Legacy-IMDSv1-Endpunkte auf neu erstellten Instanzen deaktiviert sind, verwenden Sie die folgende Policy:

Allow group InstanceLaunchers to manage instances in compartment ABC 
  where request.instanceOptions.areLegacyEndpointsDisabled= 'true'

Kapazitätsreservierungen

Für Administratoren: Die folgenden Beispiele zeigen typische Policys, die Zugriff auf Kapazitätsreservierungen ermöglichen. Erstellen Sie die Policy im Mandanten, sodass der Zugriff allen Compartments durch Policy-Vererbung erteilt wird. Um den Geltungsbereich des Zugriffs nur auf die Kapazitätsreservierungen in einem bestimmten Compartment einzuschränken, geben Sie dieses Compartment anstelle des Mandantenan.

Zugriffstyp: Fähigkeit, eine Instanz in einer Reservierung zu starten.

Allow group InstanceLaunchers to use compute-capacity-reservations in tenancy
                            

Zugriffstyp: Fähigkeit, Kapazitätsreservierungen zu verwalten.

Allow group InstanceLaunchers to manage compute-capacity-reservations in tenancy
                            

Befehl ausführen

Für Administratoren: So schreiben Sie die Policy für das Befehlsfeature ausführen:

  1. Erstellen Sie eine Gruppe mit den Benutzern, die Befehle ausgeben, Befehle abbrechen und die Befehlsausgabe für die Instanzen in einem Compartment anzeigen sollen. Schreiben Sie dann die folgende Policy, um Zugriff für die Gruppe zu erteilen:

    Allow group RunCommandUsers to manage instance-agent-command-family in compartment ABC
  2. Erstellen Sie eine dynamische Gruppe mit den Instanzen, auf denen Befehle ausgeführt werden können. Beispiel: Eine Regel innerhalb der dynamischen Gruppe kann Folgendes angeben:

    any { instance.id1 = 'ocid1.instance.oc1.phx.<unique_ID_1>', instance.id2 = 'ocid2.instance.oc1.phx.<unique_ID_2>' }
  3. Schreiben Sie die folgende Policy, um Zugriff für die dynamische Gruppe zu erteilen:
    Hinweis

    Wenn Sie eine Instanz erstellen und dann einer dynamischen Gruppe hinzufügen, dauert es bis zu 30 Minuten, bis die Instanz mit dem Polling von Befehlen beginnt. Wenn Sie die dynamische Gruppe zuerst und dann die Instanz erstellen, beginnt die Instanz direkt nach ihrer Erstellung mit dem Polling von Befehlen.
    Allow dynamic-group RunCommandDynamicGroup to use instance-agent-command-execution-family in compartment ABC where request.instance.id=target.instance.id
  4. Um der dynamischen Gruppe den Zugriff auf die Skriptdatei aus einem Object Storage-Bucket zu ermöglichen und die Antwort in einem Object Storage-Bucket zu speichern, schreiben Sie die folgenden Policys:

    Allow dynamic-group RunCommandDynamicGroup to read objects in compartment ABC where all {target.bucket.name = '<bucket_with_script_file>'}
    Allow dynamic-group RunCommandDynamicGroup to manage objects in compartment ABC where all {target.bucket.name = '<bucket_for_command_output>'}

Empfohlene Starttypen für Networking für Compute-Instanzen

Wenn Sie eine VM-Instanz erstellen, wählt Oracle Cloud Infrastructure standardmäßig einen empfohlenen Networkingtyp für die VNIC basierend auf der Instanzausprägung und dem BS-Image aus. Die Netzwerkschnittstelle verarbeitet Funktionen wie Datenträger-I/O und Netzwerkkommunikation.

Die folgenden Networkingtypen sind verfügbar:

  • Paravirtualisiertes Networking: Für General Purpose Workloads wie Unternehmensanwendungen, Microservices und kleine Datenbanken. Mit dem paravirtualisierten Networking können Sie dasselbe Image auch über verschiedene Hardwareplattformen hinweg flexibler verwenden. Linux-Images mit paravirtualisiertem Networking unterstützen die Livemigration während der Infrastrukturwartung.
  • Hardwaregestütztes Networking (SR-IOV): Single-Root-I/O-Virtualisierung. Für Workloads mit geringer Latenz wie Videostreaming, Echtzeitanwendungen sowie große oder geclusterte Datenbanken. Das hardwaregestützte Networking (SR-IOV) verwendet das VFIO-Treiber-Framework.
Wichtig

Um einen bestimmten Networkingtyp zu verwenden, müssen sowohl die Ausprägung als auch das Image diesen Networkingtyp unterstützen.

Ausprägungen: In der folgenden Tabelle sind die standardmäßigen und unterstützten Networkingtyp für VM-Ausprägungen aufgeführt.

Ausprägung Standardmäßiger Networkingtyp Unterstützte Networkingtypen
VM.Standard1-Reihe SR-IOV Paravirtualisiert, SR-IOV
VM.Standard2-Reihe Paravirtualisiert Paravirtualisiert, SR-IOV
VM.Standard3.Flex Paravirtualisiert Paravirtualisiert, SR-IOV
VM.Standard.E2-Reihe Paravirtualisiert Nur paravirtualisiert
VM.Standard.E3.Flex

Paravirtualisiert

Paravirtualisiert, SR-IOV
VM.Standard.E4.Flex

Paravirtualisiert

Paravirtualisiert, SR-IOV
VM.Standard.E5.Flex

Paravirtualisiert

Paravirtualisiert, SR-IOV
VM.Standard.E6. FlexFeld

Paravirtualisiert

Paravirtualisiert, SR-IOV
VM.Standard.A1.Flex1 Paravirtualisiert Paravirtualisiert, SR-IOV
VM.DenseIO1-Reihe SR-IOV Paravirtualisiert, SR-IOV
VM.DenseIO2-Reihe Paravirtualisiert Paravirtualisiert, SR-IOV
VM.DenseIO.E4.Flex Paravirtualisiert Paravirtualisiert, SR-IOV
VM.GPU2-Reihe SR-IOV Paravirtualisiert, SR-IOV
VM.GPU3-Reihe SR-IOV Paravirtualisiert, SR-IOV
Serie VM.GPU.A10 SR-IOV Paravirtualisiert, SR-IOV
VM.Optimized3.Flex

Paravirtualisiert

Paravirtualisiert, SR-IOV

Images: Paravirtualisiertes Networking wird auf den folgenden Plattformimages unterstützt:

  • Oracle Linux 9, Oracle Linux 8, Oracle Autonomous Linux 8.x, Oracle Autonomous Linux 7.x, Oracle Linux Cloud Developer 8: Alle Images.
  • Oracle Linux 7: ab März 2019 veröffentlichte Images
  • CentOS Stream 8, CentOS 7: Ab Juli 2019 veröffentlichte Images.
  • Ubuntu 22.04, Ubuntu 20.04: Alle Images.
  • Ubuntu 18.04: ab März 2019 veröffentlichte Images.
  • Windows Server 2022, Windows Server 2019: Alle Images.
  • Windows Server 2016, Windows Server 2012 R2: Ab August 2019 veröffentlichte Images.

SR-IOV-Networking wird auf allen Plattformimages unterstützt, mit folgenden Ausnahmen:

  • Images für ARM-basierte Ausprägungen unterstützen kein SR-IOV-Networking.
  • Für Images, die unter Windows Server 2019 und Windows Server 2022 mit einer Ausprägung der VM.Standard2-Reihe gestartet werden, wird SR-IOV-Networking nicht unterstützt.
  • Unter Windows Server 2012 R2 wird SR-IOV-Networking auf Plattformimages unterstützt, die ab April 2021 veröffentlicht wurden.
  • Die Installationsoption "Server Core" für Windows Server unterstützt kein SR-IOV-Networking.

Erstellungsfehler mit Arbeitsanforderungen beheben

Arbeitsanforderungen helfen Ihnen, Vorgänge mit langer Ausführungszeit zu überwachen, wie Datenbankbackups oder das Provisioning von Compute-Instanzen.

Wenn ein Vorgang wie der Vorgang zum Erstellen einer Instanz nicht erfolgreich verläuft oder der Instanzstatus direkt von "Provisioning wird ausgeführt" zu "Wird beendet" wechselt, verwenden Sie Arbeitsanforderungen, um zu bestimmen, wo im Workflow der Fehler aufgetreten ist. Fehler können aufgrund von Konfigurationsproblemen oder Problemen mit den Benutzerdaten auftreten. Synchrone Fehler treten beim ersten Aufruf der Compute-API zum Erstellen der Instanz auf. Asynchrone Fehler treten während des Workflows zum Erstellen der Instanz auf, der nach dem anfänglichen API-Aufruf ausgeführt wird. Arbeitsanforderungen erfassen asynchrone Validierungsfehler. Auf einen erfolgreichen API-Aufruf zum Erstellen einer Instanz, der eine HTTP 200-Antwort zurückgibt, kann während des nachfolgenden Workflows zum Erstellen der Instanz ein asynchroner Fehler folgen.

Die Antwort auf den REST-API-Aufruf enthält die OCID der Arbeitsanforderung im opc-work-request-id-Header. Sie können den Status der Arbeitsanforderung jederzeit überwachen, indem Sie GetWorkRequest in der Arbeitsanforderungs-API aufrufen und die Arbeitsanforderungs-ID im Header opc-work-request-id übergeben. Wenn während des Workflows ein Fehler auftritt, können Sie ListWorkRequestErrors in der Arbeitsanforderungs-API aufrufen und die Arbeitsanforderungs-ID übergeben, um eine Fehlerliste abzurufen.

Informationen zur Verwendung von Arbeitsanforderungen zur Behebung von Fehlern finden Sie unter Arbeitsanforderungen. Ausführliche Informationen zu asynchronen Arbeitsanforderungen, einschließlich Filtern der Anforderungsantwort und einer Beispielanforderung und -antwort finden Sie unter Asynchrone Arbeitsanforderungen.

Tags für Instanzen verwalten

Wenden Sie Tags auf Ressourcen an, um diese entsprechend Ihren Geschäftsanforderungen zu organisieren. Sie können Tags beim Erstellen einer Ressource anwenden und eine Ressource später aktualisieren, um Tags hinzuzufügen, zu ändern oder zu entfernen. Allgemeine Informationen über das Anwenden von Tags finden Sie unter Ressourcentags.

So verwalten Sie Tags für eine Instanz:

  1. Öffnen Sie das Navigationsmenü , und wählen Sie Compute aus. Wählen Sie unter Compute die Option Instanzen aus.
  2. Wählen Sie die gewünschte Instanz aus.

  3. Wählen Sie die Registerkarte Tags aus, um die vorhandenen Tags anzuzeigen oder zu bearbeiten. Oder klicken Sie auf Weitere Aktionen und dann auf Tags hinzufügen, um neue Tags hinzuzufügen.