X

Technologie - Trends - Tipps&Tricks
in deutscher Sprache

  • Cloud
    February 18, 2020

Oracle Cloud Infrastructure Shell - Das Browser-Terminal

Marcus Schroeder
Master Principal Sales Consultant

Seit kurzem ist die Oracle Cloud Infrastructure Cloud Shell verfügbar. Der folgende Artikel gibt Anwendungsbeispiele und Hintergrundinformationen zur Cloud Shell. Anhand von drei einfachen Beispielen wird das schnelle und unkomplizierte Arbeiten mit der Cloud Shell verdeutlicht.

Was ist die Cloud Shell?

Die Oracle Cloud Infrastructure (OCI) Shell ist ein browser-basierendes Terminal-Fenster, das Zugriff auf eine Linux-Shell gewährt. Die Shell wird unten im OCI-Fenster angezeigt und man kann trotz geöffneter Shell in der OCI-Konsole navigieren. 

Vorteil an dieser Stelle: Man bekommt eine Shell in der man als aktueller Benutzer eingeloggt ist und auf die OCI-Umgebung zugreifen kann. Dieser Benutzer besitzt die gleichen Rechte und Policies wie der Benutzer, mit dem man sich im Browserfenster angemeldet hat. Zentrale Administrative Tätigkeiten können so auf der Shell durchgeführt werden, ohne eine aufwendige Konfiguration/Port-Freischaltung bei Desktop-Terminals. 

Hinweis: Die Cloud-Shell wird immer gegen die Region ausgeführt, in der die Cloud-Shell gestartet worden ist. Bei einem Wechsel zwischen den Regionen, muss die Cloud-Shell beendet und neu gestartet werden, wenn man auch mit der Shell in die neue Region wechseln möchte.

Limits und Kosten

Die Basis-Service-Limits der Cloud Shell liegen bei einem Pay-as-you-Go Account bei 50 Benutzern und einer Gesamtnutzung von 240 Stunden. Bei Monthly Flex liegen die Limits bei 75 Benutzern und 400 Stunden Nutzung/Monat. D.h. innerhalb dieser Limits entstehen keine weiteren Kosten. 

Wichtig! Die Cloud Shell ist in den Always-Free-Accounts nicht vorhanden! Hintergrund ist die Nutzung zusätzlicher Compute-Ressourcen, die durch die Cloud Shell Instanz entstehen. Daher ist die Cloud Shell nur den Bezahl-Accounts vorbehalten. 

Implementierung

Die Cloud Shell ist als Docker-Image implementiert. Wenn Sie die Cloud Shell im Browser-Fenster aktivieren, wird das Docker-Image gestartet und steht nach kurzer Zeit zur Verfügung. Das Docker-Image hat ein 5GB großes Volume im Home-Verzeichnis. Wenn Skripte/Dateien etc. im Home-Verzeichnis gespeichert werden, sind diese auch nach Beenden beim nächsten Start verfügbar.  

Das Docker-Image liegt nicht innerhalb des Benutzer-Tenants, d.h. die Tenant-Limits etc. werden durch die Nutzung der Cloud-Shell nicht beeinflusst.

Bevor eine Gruppe von Benutzern auf die Cloud Shell zugreifen kann, muss die entsprechende Policy in der OCI angelegt werden. Die Policy lautet: 

allow group <GRUPPEN-NAME> to use cloud-shell in tenancy

Das Time-Out der Cloud Shell liegt bei 20 Minuten Inaktivität und das maximale Session-Time-Out liegt bei 24 Stunden. Dies sollte man berücksichtigen, bevor zum Beispiel Jobs angelegt werden und man sich anschließend wundert, warum diese nicht ausgeführt wurden.

Tools

Die Cloud Shell unterstützt folgende Tools:

  • OCI CLI
  • Git
  • Java
  • Python (2 und 3)
  • SQL*Plus
  • kubectl
  • helm
  • maven
  • gradle
  • terraform

Dies bedeutet, es kann alles aus der Cloud Shell gemacht werden, was auch aus einem Terminal-Fenster bzw. aus einer Development-Instanz innerhalb der OCI gemacht werden kann. 

Beispiele: 

  • Hochfahren und Anhalten von einer/mehreren OCI Ressourcen (Datenbanken, Compute-Instanzen, etc.)
  • Ausführen von Terraform-Skripten in dem OCI-Tenant
  • Aufrufen von Datenbank-Verbindungen und Ausführen von SQL*Plus Befehlen/Skripten
  • Ausführen von Python-Skripte, Java-Programmen, etc.
  • Steuern der Kubernetes-Cluster mittels kubectl
  • Erstellen und Bereitstellen von Maven-Projekten
  • Bereitstellen von Builds aus einem Git-Repository
  • uvm.

Verbindungen

Mit der Cloud Shell kann auf das Internet zugreifen Der umgekehrte Zugriff - vom Internet auf die Cloud Shell - ist allerdings nicht möglich. Die Cloud Shell besitzt keine privaten Zugriffrechte auf den Tenant: Private Ressourcen innerhalb des Tenants sind damit nicht mit der Cloud Shell bedienbar. D.h die privaten Ressourcen innerhalb der OCI bleiben privat und können mit der Cloud Shell nicht "umgangen" werden. 

Beispiel für die Anwendung der Cloud Shell

1.) Öffnen der Cloud Shell

Wenn ausreichend Rechte vorhanden sind, kann man durch Klicken auf das Cloud Shell Icon oben rechts die Shell öffnen. 

Bild: Öffnen der Cloud Shell innerhalb des Browser-Fensters.

Das Öffnen kann ein paar Sekunden dauern, da bei längerer Benutzung die Docker-Instanz neu gestartet werden muss. Hat man die Cloud Shell vor kurzem gestartet, geht es viel schneller. Das Cloud Shell Fenster kann man maximieren und minimieren, Schrift-art und -Größe und den Hintergrund verändern. 

2.) Abfragen des aktuellen Tenants

Um herauszufinden wie der aktuelle Tenant bezeichnet wird, an dem man angemeldet ist, reicht es ohne weitere Konfiguration die OCI CLI zu verwenden. Mit dem Befehl: oci os ns get bekommt man den aktuellen Tenant angezeigt. 

Bild: Abfrage des aktuellen Tenants. 

3.) Verbindung zu einer Datenbank mittels SQL*Plus

Für diese Verbindung wird der bereits installierte Instant-Client verwendet. Um es etwas einfacher zu machen erzeugen wir eine tnsnames.ora Datei und legen diese im Home-Verzeichnis-Pfad des aktuellen Benutzers ab. Anschließend geben wir den Pfad mittels export TNS_ADMIN=/Pfad_zur_tnsnames_ora bekannt. Wichtig an dieser Stelle ist, dass die tnsnames.ora im Verzeichnis-Pfad des Benutzers liegt, da sie nur an dieser Stelle persistent abgelegt werden kann. Anschließend rufen wir mit sqlplus /nolog und einem connect username/password@NetServiceName die Verbindung auf. Natürlich können nur Verbindungen geöffnet werden, die auch über das Internet erreichbar sind, da die Cloud Shell nicht auf OCI Ressourcen zugreifen kann, die in einem privaten Netzwerk liegen. 

Bild: Aufruf einer SQL*Plus Verbindung 

Fazit

Die OCI Cloud Shell ist ein sehr effizientes Hilfsmittel, wenn es um die zeilenorientierte Administration der OCI Ressourcen geht. Die Vielzahl von vorhandenen Tools ermöglicht es Administratoren und Entwicklern eine Reihe von Aufgaben schnell und effizient durchzuführen. Man könnte sich natürlich auch alle Tools lokal auf den eigenen Rechner installieren oder den Oracle Cloud Infrastruktur Development Client aus dem OCI Marketplace installieren. Dies bedeutet jedoch ein größerer Aufwand und setzt voraus, dass man entweder immer Zugriff auf den Client hat oder eine zusätzliche Ressource in dem Cloud Tenant betreibt, der natürlich Kosten verursacht. 

Weiterführendes Material:

Cloud Shell Handbuch 

 

 

Join the discussion

Comments ( 2 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.