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.
- Instanzen erstellen: Befolgen Sie die Schritte in diesem Thema, um eine Bare-Metal- oder VM-Compute-Instanz zu erstellen.
- Instanzen, die mit Oracle Linux-, CentOS - oder Ubuntu-Images gestartet werden, verwenden ein SSH-Schlüsselpaar anstelle eines Kennworts zur Authentifizierung eines Remotebenutzers. Um eine Verbindung zu einer Instanz herzustellen, müssen Sie daher möglicherweise ein SSH-Schlüsselpaar erstellen.
- Sie können burstfähige Instanzen, abschirmte Instanzen und vertrauliche Instanzen erstellen.
- Sie können Ihre Instanzen so konfigurieren, dass sie unterschiedliche Kapazitätstypen verwenden.
- Sie können Instanzen mit erweiterten Speicher-VM-Instanzen erweiterten Speicher und Cores hinzufügen.
- Verbindungen zu Instanzen herstellen: Sie können eine Secure Shell-(SSH-) oder Remotedesktopverbindung zu einer ausgeführten Instanz herstellen.
- Instanzen bearbeiten: Sie können die Eigenschaften einer Compute-Instanz bearbeiten, ohne die Instanz neu erstellen oder Ihre Anwendungen erneut bereitstellen zu müssen.
- Instanzen stoppen, starten oder neu starten: Sie können eine Instanz nach Bedarf stoppen und starten, um Software zu aktualisieren oder Fehlerbedingungen zu beheben.
- Boot-Volume ersetzen: Sie können das Boot-Volume einer Instanz automatisch ersetzen, ohne die Instanz zu beenden und neu zu erstellen.
- Kontextbezogene Benachrichtigungen für eine Instanz einrichten: Sie werden über Ereignisse im Zusammenhang mit Compute-Instanzen benachrichtigt.
- Benutzer zu Instanzen hinzufügen: Sie können einer Compute-Instanz Benutzer hinzufügen.
- Befehle auf einer Instanz ausführen: Sie können Compute-Instanzen remote konfigurieren und verwalten sowie Fehler beheben, indem Sie Skripte innerhalb der Instanz mit dem Befehlsausführungsfeature ausführen.
- Gleichzeitiges Multithreading deaktivieren: Sie können das gleichzeitige Multithreading (SMT) auf Ihren Instanzen über die Konsole oder mit CLI-Befehlen deaktivieren.
- Instanzmetadaten abrufen: Der Instance Metadata Service (IMDS) enthält Informationen über eine laufende Instanz, einschließlich Details über die Instanz, die angehängten virtuellen Netzwerkkarten (VNICs), zugehörige Multipath-fähige Volume-Anhänge und benutzerdefinierte Metadaten, die Sie definieren. IMDS stellt auch Informationen für cloud-init bereit, eine Methode, die Sie für verschiedene Systeminitialisierungsaufgaben verwenden können.
- Instanzmetadaten aktualisieren: Sie können benutzerdefinierte Metadaten für eine Compute-Instanz mit der CLI oder REST-APIs hinzufügen und aktualisieren.
- Compute-Instanzen auf neuen Host verschieben: Sie können Instanzen mit Neustartmigration oder einem manuellen Prozess verschieben.
- Instanzen beenden: Sie können nicht mehr benötigte Instanzen endgültig löschen (beenden). Alle angehängten VNICs und Volumes werden beim Beenden der Instanz automatisch getrennt.
Tags für Instanzen verwalten
Wenden Sie Tags auf Ihre Ressourcen an, um diese entsprechend Ihren Geschäftsanforderungen zu organisieren. Wenden Sie Tags beim Erstellen einer Ressource an, oder aktualisieren Sie die Ressource später mit den gewünschten Tags. Allgemeine Informationen über das Anwenden von Tags finden Sie unter Ressourcentags.
So verwalten Sie Tags für eine Instanz:
- Öffnen Sie das Navigationsmenü, und klicken Sie auf Compute. Klicken Sie unter Compute auf Instanzen.
-
Klicken Sie auf die gewünschte Instanz.
-
Klicken Sie auf die Registerkarte Tags, um die vorhandenen Tags anzuzeigen oder zu bearbeiten. Sie können auch auf Weitere Aktionen und dann auf Tags hinzufügen klicken, um neue Tags hinzuzufügen.
Sicherheitszonen
Sicherheitszonen stellen sicher, dass Ihre Cloud-Ressourcen den Sicherheitsgrundsätzen von Oracle 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, das in einer Sicherheitszone enthalten ist.
- 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.
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 zu verwenden, muss Ihnen ein Administrator in einer Policy Sicherheitszugriff erteilen. 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 Administrator, welcher Zugriffstyp Ihnen erteilt wurde und in welchem Compartment Sie arbeiten sollen.
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 aufgelistet. 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.
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
Bevor Sie beginnen
Für Administratoren: So richten Sie kontextbezogene Benachrichtigungen für eine Instanz ein:
allow group ContextualNotificationsUsers to manage alarms in tenancy
allow group ContextualNotificationsUsers to read metrics in tenancy
allow group ContextualNotificationsUsers to manage ons-topics in tenancy
allow group ContextualNotificationsUsers to manage cloudevents-rules in tenancy
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 Mandanten an.
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:
-
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
-
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.id = 'ocid1.instance.oc1.phx.<unique_ID_1>', 'ocid1.instance.oc1.phx.<unique_ID_2>' }
-
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
-
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>'}