AWS CloudShell Rechenumgebung: Spezifikationen und Software - AWS CloudShell

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AWS CloudShell Rechenumgebung: Spezifikationen und Software

Beim Start wird eine Rechenumgebung erstellt AWS CloudShell, die auf Amazon Linux 2023 basiert, um das Shell-Erlebnis zu hosten. Die Umgebung ist mit Rechenressourcen (V CPU und Speicher) konfiguriert und bietet eine breite Palette vorinstallierter Software, auf die über die Befehlszeilenschnittstelle zugegriffen werden kann. Stellen Sie sicher, dass jede Software, die Sie in der Rechenumgebung installieren, gepatcht und auf dem neuesten Stand ist. Sie können Ihre Standardumgebung auch konfigurieren, indem Sie Software installieren und Shell-Skripts ändern.

Ressourcen der Umgebung berechnen

Jeder AWS CloudShell Rechenumgebung werden Folgendes CPU und Speicherressourcen zugewiesen:

  • 1 V CPU (virtuelle Zentraleinheit)

  • 2 GiB RAM

Und die Umgebung wird mit der folgenden Speicherkonfiguration bereitgestellt:

  • 1 GB persistenter Speicher (der Speicher bleibt auch nach Ende der Sitzung bestehen)

Weitere Informationen finden Sie unter Persistenter Speicher.

CloudShell Netzwerkanforderungen

WebSockets

CloudShell hängt vom WebSocket Protokoll ab, das eine bidirektionale interaktive Kommunikation zwischen dem Webbrowser des Benutzers und dem CloudShell Dienst in der AWS Cloud ermöglicht. Wenn Sie einen Browser in einem privaten Netzwerk verwenden, wird der sichere Zugriff auf das Internet wahrscheinlich durch Proxyserver und Firewalls erleichtert. WebSocket Die Kommunikation kann normalerweise problemlos über Proxyserver erfolgen. In einigen Fällen verhindern WebSockets Proxyserver jedoch, dass sie ordnungsgemäß funktionieren. Wenn dieses Problem auftritt, meldet Ihre CloudShell Schnittstelle den folgenden Fehler:Failed to open sessions : Timed out while opening the session.

Wenn dieser Fehler wiederholt auftritt, überprüfen Sie in der Dokumentation Ihres Proxyservers, ob er so konfiguriert ist, dass er dies zulässt WebSockets. Sie können sich auch an den Systemadministrator Ihres Netzwerks wenden.

Anmerkung

Wenn Sie detaillierte Berechtigungen durch spezifische Zulassungslisten definieren möchten, können Sie einen Teil der Berechtigungen hinzufügenURLs, den die AWS Systems Manager Sitzung verwendetURL, um eine WebSocket Verbindung zum Senden von Eingaben und Empfangen von Ausgaben herzustellen. (Ihre AWS CloudShell Befehle werden an diese Systems Manager Manager-Sitzung gesendet.)

Das von Systems Manager dafür StreamUrl verwendete Format istwss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

Die Region stellt die Regionskennung für eine AWS Region dar, die von unterstützt wird AWS Systems Manager, z. B. us-east-2 für die Region USA Ost (Ohio).

Da die Sitzungs-ID nach dem erfolgreichen Start einer bestimmten Systems Manager Manager-Sitzung erstellt wird, können Sie sie nur angeben, wss://ssmmessages.region.amazonaws.com wenn Sie Ihre URL Zulassungsliste aktualisieren. Weitere Informationen finden Sie in der Referenz zu StartSessiondiesem Vorgang.AWS Systems Manager API

Vorinstallierte Software

Anmerkung

Da die AWS CloudShell Entwicklungsumgebung regelmäßig aktualisiert wird, um Zugriff auf die neueste Software zu bieten, geben wir in dieser Dokumentation keine spezifischen Versionsnummern an. Stattdessen beschreiben wir, wie Sie überprüfen können, welche Version installiert ist. Um die installierte Version zu überprüfen, geben Sie den Programmnamen gefolgt von der --version Option ein (z. B.git --version).

Muscheln

Vorinstallierte Schalen
Name Beschreibung Versionsinformationen

Bash

Die Bash-Shell ist die Standard-Shell-Anwendung für. AWS CloudShell

bash --version

PowerShell (pwsh)

Es bietet eine Befehlszeilenschnittstelle und Unterstützung für Skriptsprachen und PowerShell baut auf denen von Microsoft auf. NETCommand Language Runtime. PowerShell verwendet einfache Befehle namens cmdlets Accept und Return. NETObjekte.

pwsh --version

Z-Shell (zsh)

Die Z Shell, auch bekannt alszsh, ist eine erweiterte Version der Bourne Shell, die erweiterte Anpassungsunterstützung für Themes und Plugins bietet.

zsh --version

AWS Befehlszeilenschnittstellen (CLI)

CLI
Name Beschreibung Versionsinformationen

AWS CDK Toolkit CLI

Das AWS CDK Toolkit, der CLI Befehl, ist das wichtigste Toolcdk, das mit Ihrer App interagiert. AWS CDK Es führt Ihre App aus, fragt das von Ihnen definierte Anwendungsmodell ab und erstellt und stellt die von der generierten Vorlagen bereit. AWS CloudFormation AWS CDK

Weitere Informationen finden Sie unter Toolkit.AWS CDK

cdk --version

AWS CLI

Das AWS CLI ist eine Befehlszeilenschnittstelle, mit der Sie mehrere AWS Dienste von der Befehlszeile aus verwalten und mithilfe von Skripten automatisieren können. Weitere Informationen finden Sie unter AWS Dienste von innen CLI verwalten CloudShell.

Informationen darüber, wie Sie sicherstellen können, dass Sie die aktuelle up-to-date AWS CLI Version 2 verwenden, finden Sie unterInstallation AWS CLI in Ihrem Home-Verzeichnis.

aws --version

EB CLI

Das AWS Elastic Beanstalk CLI bietet eine Befehlszeilenschnittstelle, um das Erstellen, Aktualisieren und Überwachen von Umgebungen von einem lokalen Repository aus zu vereinfachen.

Weitere Informationen finden Sie unter Using the Elastic Beanstalk Command Line Interface (EBCLI) im AWS Elastic Beanstalk Entwicklerhandbuch.

eb --version

Amazon ECS CLI

Die Befehlszeilenschnittstelle (ECS) von Amazon Elastic Container Service (AmazonCLI) bietet Befehle auf hoher Ebene, um die Erstellung, Aktualisierung und Überwachung von Clustern und Aufgaben zu vereinfachen.

Weitere Informationen finden Sie unter Using the Amazon ECS Command Line Interface im Amazon Elastic Container Service Developer Guide.

ecs-cli --version

AWS SAM CLI

AWS SAM CLIist ein Befehlszeilentool, das mit einer AWS Serverless Application Model Vorlage und einem Anwendungscode arbeitet. Sie können mehrere Aufgaben ausführen. Dazu gehören das lokale Aufrufen von Lambda-Funktionen, das Erstellen eines Bereitstellungspakets für Ihre serverlose Anwendung und die Bereitstellung Ihrer serverlosen Anwendung in der Cloud. AWS

Weitere Informationen finden Sie in der AWS SAM CLIBefehlsreferenz im Developer Guide.AWS Serverless Application Model

sam --version

AWS Tools for PowerShell Dies AWS Tools for PowerShell sind PowerShell Module, die auf der Funktionalität basieren, die von der bereitgestellt wird AWS SDK for .NET. Mit AWS Tools for PowerShell können Sie über die PowerShell Befehlszeile Skripte für Operationen auf Ihren AWS Ressourcen erstellen.

AWS CloudShell installiert die modularisierte Version (AWS.Tools) von vor. AWS Tools for PowerShell

Weitere Informationen finden Sie PowerShell im Benutzerhandbuch unter Verwenden der AWS Tools für.AWS Tools for PowerShell

pwsh --Command ' Get-Module -ListAvailable -Name AWS.Tools.Common'

Laufzeiten und AWSSDKs: Node.js und Python 3

Laufzeiten und AWS SDKs
Name Beschreibung Versionsinformationen

Node.js (mit npm)

Node.js ist eine JavaScript Runtime, die die Anwendung asynchroner Programmiertechniken erleichtern soll. Weitere Informationen finden Sie in der Dokumentation auf der offiziellen Website Node.js.

npm ist ein Paketmanager, der Zugriff auf eine Online-Registrierung von JavaScript Modulen bietet. Weitere Informationen finden Sie in der Dokumentation auf der offiziellen npm-Website.

  • Node.js: node --version

  • npm: npm --version

SDKfür JavaScript in Node.js

Das Software Development Kit (SDK) trägt zur Vereinfachung der Codierung bei, indem es JavaScript Objekte für AWS Dienste wie Amazon S3, AmazonEC2, DynamoDB und Amazon bereitstellt. SWF Weitere Informationen finden Sie im AWS SDK for JavaScript -Entwicklerhandbuch.

npm -g ls --depth 0 2>/dev/null | grep aws-sdk

Python

Python 3 ist bereit, in der Shell-Umgebung verwendet zu werden. Python 3 gilt jetzt als Standardversion der Programmiersprache (die Unterstützung für Python 2 endete im Januar 2020). Weitere Informationen finden Sie in der Dokumentation auf der offiziellen Python-Seite.

Ebenfalls vorinstalliert ist pip, der Paket-Installer für Python. Sie können dieses Befehlszeilenprogramm verwenden, um Python-Pakete aus Online-Indizes wie dem Python Package Index zu installieren. Weitere Informationen finden Sie in der Dokumentation der Python Packaging Authority.

  • Python 3: python3 --version

  • pip: pip3 --version

SDKfür Python (Boto3)

Boto ist das Software Development Kit (SDK), das Python-Entwickler zum Erstellen, Konfigurieren und Verwalten verwenden AWS-Services, z. B. Amazon EC2 und Amazon S3. Das SDK bietet sowohl objektorientierten als API auch einfachen Zugriff auf. easy-to-use AWS-Services

Weitere Informationen finden Sie in der Boto3-Dokumentation.

pip3 list | grep boto3

Entwicklungstools und Shell-Dienstprogramme

Entwicklungstools und Shell-Dienstprogramme
Name Beschreibung Versionsinformationen

bash-completion

Bash-Completion ist eine Sammlung von Shell-Funktionen, die die automatische Vervollständigung von teilweise eingegebenen Befehlen oder Argumenten durch Drücken der Tabulatortaste ermöglichen. Sie finden die Pakete, die Bash-Completion unterstützt, in. /usr/share/bash-completion/completions

Um die automatische Vervollständigung für die Befehle eines Pakets einzurichten, muss die Programmdatei als Quelle bereitgestellt werden. Um beispielsweise die automatische Vervollständigung für Git-Befehle einzurichten, fügen Sie die folgende Zeile hinzu, .bashrc damit die Funktion bei jedem AWS CloudShell Sitzungsstart verfügbar ist:

source /usr/share/bash-completion/completions/git

Wenn Sie benutzerdefinierte Vervollständigungsskripten verwenden möchten, fügen Sie sie zu Ihrem persistenten Home-Verzeichnis ($HOME) hinzu und beziehen Sie sie direkt darin.bashrc.

Weitere Informationen finden Sie auf der READMEProjektseite unter GitHub.

dnf info bash-completion

CodeCommit Hilfsprogramm für Git

git-remote-codecommit ist ein Hilfsprogramm, das durch die Erweiterung von Git eine einfache Methode zum Pushen und Abrufen von Code aus CodeCommit Repositorys bereitstellt. Dies ist die empfohlene Methode zur Unterstützung von Verbindungen, die mit Verbundzugriff, Identitätsanbietern und temporären Anmeldeinformationen hergestellt werden.

Weitere Informationen finden Sie unter Einrichtungsschritte für HTTPS Verbindungen AWS CodeCommit mit git-remote-codecommit im AWS CodeCommit Benutzerhandbuch.

pip3 list | grep git-remote-codecommit

Git

Git ist ein verteiltes Versionskontrollsystem, das moderne Softwareentwicklungspraktiken durch Branch-Workflows und Content Staging unterstützt. Weitere Informationen finden Sie auf der Dokumentationsseite auf der offiziellen Website von Git.

git --version

iputils

Das iputils-Paket enthält Hilfsprogramme für Linux-Netzwerke. Weitere Informationen zu den bereitgestellten Hilfsprogrammen finden Sie im iputils-Repository unter. GitHub

Beispiele für ein iputils-Tool: arping -V

jq Das Hilfsprogramm jq analysiert JSON -formatierte Daten, um eine Ausgabe zu erzeugen, die durch Befehlszeilenfilter modifiziert wird. Weitere Informationen finden Sie im jq-Handbuch unter. GitHub

jq --version

kubectl

kubectl ist ein Befehlszeilentool für die Kommunikation mit der Steuerungsebene eines Kubernetes-Clusters unter Verwendung von Kubernetes. API

kubectl --version

make

Das Make-Utility dient makefiles zur Automatisierung von Aufgabensätzen und zur Organisation der Codekompilierung. Weitere Informationen finden Sie in der GNUMake-Dokumentation.

make --version

man

Der Befehl man stellt Handbuchseiten für Befehlszeilenprogramme und Tools bereit. man lsGibt beispielsweise die Handbuchseite für den ls Befehl zurück, die den Inhalt von Verzeichnissen auflistet. Weitere Informationen finden Sie im Wikipedia-Eintrag auf der Manpage.

man --version

nano nano ist ein kleiner und benutzerfreundlicher Editor für textbasierte Benutzeroberflächen. Weitere Informationen finden Sie in der GNUNano-Dokumentation.

nano --version

procps

procps ist ein Systemverwaltungsprogramm, mit dem Sie aktuell laufende Prozesse überwachen und stoppen können. Weitere Informationen finden Sie in der README Datei, die Programme auflistet, die mit procps ausgeführt werden können.

ps --version

SSHKlient

SSHClients verwenden das Secure-Shell-Protokoll für die verschlüsselte Kommunikation mit einem Remotecomputer. Open SSH ist der SSH Client, der vorinstalliert ist. Weitere Informationen finden Sie auf der SSHOpen-Website, die von Open BSD verwaltet wird.

ssh -V

sudo

Mit dem Hilfsprogramm sudo können Benutzer ein Programm mit den Sicherheitsberechtigungen eines anderen Benutzers ausführen, in der Regel des Superusers. Sudo ist nützlich, wenn Sie als Systemadministrator Anwendungen installieren müssen. Weitere Informationen finden Sie im Sudo-Handbuch.

sudo --version

tar

tar ist ein Befehlszeilenprogramm, mit dem Sie mehrere Dateien in einer einzigen Archivdatei (oft als Tarball bezeichnet) gruppieren können. Weitere Informationen finden Sie in der GNUTar-Dokumentation.

tar --version

tmux

tmux ist ein Terminal-Multiplexer, mit dem Sie verschiedene Programme gleichzeitig in mehreren Fenstern ausführen können. Weitere Informationen finden Sie in einem Blog, der eine kurze Einführung in tmux bietet.

tmux -V

unzip

Weitere Informationen finden Sie unter zip/unzip.
vim

vim ist ein anpassbarer Editor, mit dem Sie über eine textbasierte Oberfläche interagieren können. Weitere Informationen finden Sie in den Dokumentationsressourcen auf vim.org.

vim --version

wget

wget ist ein Computerprogramm, das verwendet wird, um Inhalte von Webservern abzurufen, die durch Endpunkte in der Befehlszeile angegeben werden. Weitere Informationen finden Sie in der GNUWget-Dokumentation.

wget --version

komprimieren/entpacken

Die Hilfsprogramme zum Komprimieren und Entpacken verwenden ein Archivdateiformat, das eine verlustfreie Datenkomprimierung ohne Datenverlust ermöglicht. Rufen Sie den Befehl zip auf, um Dateien in einem einzigen Archiv zu gruppieren und zu komprimieren. Verwenden Sie unzip, um Dateien aus einem Archiv in ein bestimmtes Verzeichnis zu extrahieren.

unzip --version

zip --version

Docker

Docker ist eine offene Plattform für die Entwicklung, den Versand und den Betrieb von Anwendungen. Docker ermöglicht es Ihnen, Ihre Anwendungen von Ihrer Infrastruktur zu trennen, sodass Sie Software schnell bereitstellen können. Es ermöglicht Ihnen, Dockerfiles im Inneren zu erstellen und damit AWS CloudShell Docker-Assets zu erstellen. CDK Informationen darüber, welche AWS Regionen von Docker unterstützt werden, finden Sie unter Unterstützte Regionen für. AWSAWS CloudShell Sie sollten sich bewusst sein, dass Docker nur über begrenzten Speicherplatz in der Umgebung verfügt. Wenn Sie große Einzelbilder oder zu viele bereits vorhandene Docker-Images haben, kann dies zu Problemen führen. Weitere Informationen zu Docker finden Sie im Docker-Dokumentationsleitfaden.

docker --version

Installation AWS CLI in Ihrem Home-Verzeichnis

Wie die restliche Software, die in Ihrer CloudShell Umgebung vorinstalliert ist, wird das AWS CLI Tool automatisch mit geplanten Upgrades und Sicherheitspatches aktualisiert. Wenn Sie sicherstellen möchten, dass Sie über die meiste up-to-date Version von verfügen AWS CLI, können Sie das Tool manuell im Home-Verzeichnis der Shell installieren.

Wichtig

Sie müssen Ihre Kopie von manuell AWS CLI im Home-Verzeichnis installieren, damit sie verfügbar ist, wenn Sie das nächste Mal eine CloudShell Sitzung starten. Diese Installation ist erforderlich, da Dateien, die zu Verzeichnissen außerhalb von hinzugefügt wurden, nach Abschluss einer Shell-Sitzung gelöscht $HOME werden. Außerdem wird diese Kopie von nach der AWS CLI Installation nicht automatisch aktualisiert. Mit anderen Worten, es liegt in Ihrer Verantwortung, Updates und Sicherheitspatches zu verwalten.

Weitere Informationen zum Modell der AWS gemeinsamen Verantwortung finden Sie unterDatenschutz in AWS CloudShell.

Um zu installieren AWS CLI
  1. Verwenden Sie in der CloudShell Befehlszeile den curl Befehl, um eine komprimierte Kopie der AWS CLI installierten Datei in die Shell zu übertragen:

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  2. Entpacken Sie den komprimierten Ordner:

    unzip awscliv2.zip
  3. Um das Tool einem bestimmten Ordner hinzuzufügen, führen Sie das AWS CLI Installationsprogramm aus:

    sudo ./aws/install --install-dir /home/cloudshell-user/usr/local/aws-cli --bin-dir /home/cloudshell-user/usr/local/bin

    Wenn es erfolgreich installiert wurde, zeigt die Befehlszeile die folgende Meldung an:

    You can now run: /home/cloudshell-user/usr/local/bin/aws --version
  4. Der Einfachheit halber empfehlen wir, dass Sie auch die PATH Umgebungsvariable aktualisieren, sodass Sie bei der Ausführung von aws Befehlen nicht den Pfad zu Ihrer Installation des Tools angeben müssen:

    export PATH=/home/cloudshell-user/usr/local/bin:$PATH
    Anmerkung

    Wenn Sie diese Änderung rückgängig machenPATH, verwenden aws Befehle, die keinen angegebenen Pfad enthalten, standardmäßig die vorinstallierte Version AWS CLI von.

Installation von Drittanbietersoftware in Ihrer Shell-Umgebung

Anmerkung

Wir empfehlen Ihnen, das Modell der gemeinsamen Sicherheitsverantwortung zu überprüfen, bevor Sie Drittanbieteranwendungen in AWS CloudShell der Computerumgebung installieren.

Standardmäßig verfügen alle AWS CloudShell Benutzer über Sudo-Berechtigungen. Daher können Sie den sudo Befehl verwenden, um Software zu installieren, die noch nicht in der Rechenumgebung der Shell verfügbar ist. Sie können ihn beispielsweise sudo zusammen mit dem DNF Paketverwaltungsprogramm für die Installation verwendencowsay, das ASCII Kunstbilder einer Kuh mit der folgenden Nachricht generiert:

sudo dnf install cowsay

Anschließend können Sie das neu installierte Programm starten, indem Sie Folgendes eingeben. echo "Welcome to AWS CloudShell" | cowsay

Wichtig

Dienstprogramme zur Paketverwaltung wie dnf installieren Programme in Verzeichnissen (zum Beispiel)/usr/bin, die wiederverwendet werden, wenn Ihre Shell-Sitzung endet. Das bedeutet, dass zusätzliche Software pro Sitzung installiert und verwendet wird.

Ändern Sie Ihre Shell mit Skripten

Wenn Sie die Standard-Shell-Umgebung ändern möchten, können Sie ein Shell-Skript bearbeiten, das bei jedem Start der Shell-Umgebung ausgeführt wird. Das .bashrc Skript wird immer dann ausgeführt, wenn die Standard-Bash-Shell gestartet wird.

Warnung

Wenn Sie Ihre .bashrc Datei falsch ändern, können Sie danach möglicherweise nicht mehr auf Ihre Shell-Umgebung zugreifen. Es empfiehlt sich, vor der Bearbeitung eine Kopie der Datei zu erstellen. Sie können das Risiko auch verringern, indem Sie bei der Bearbeitung .bashrc zwei Shells öffnen. Wenn Sie den Zugriff auf eine Shell verlieren, sind Sie immer noch in der anderen Shell angemeldet und können alle Änderungen rückgängig machen.

Wenn Sie nach einer falschen Änderung .bashrc oder einer anderen Datei den Zugriff verlieren, können Sie AWS CloudShell zu den Standardeinstellungen zurückkehren, indem Sie Ihr Home-Verzeichnis löschen.

In diesem Verfahren ändern Sie das .bashrc Skript so, dass Ihre Shell-Umgebung automatisch zur Ausführung der Z-Shell wechselt.

  1. Öffnen Sie das .bashrc mit einem Texteditor (z. B. Vim):

    vim .bashrc
  2. Drücken Sie in der Editor-Oberfläche die Taste I, um mit der Bearbeitung zu beginnen, und fügen Sie dann Folgendes hinzu:

    zsh
  3. Um die bearbeitete .bashrc Datei zu beenden und zu speichern, drücken Sie, Esc um in den Vim-Befehlsmodus zu wechseln, und geben Sie Folgendes ein:

    :wq

  4. Verwenden Sie den source Befehl, um die Datei neu zu laden: .bashrc

    source .bashrc

    Wenn die Befehlszeilenschnittstelle wieder verfügbar ist, hat sich das Eingabeaufforderungssymbol geändert und weist nun % darauf hin, dass Sie jetzt die Z-Shell verwenden.