AWS CloudShell ambiente di calcolo: specifiche e software - AWS CloudShell

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

AWS CloudShell ambiente di calcolo: specifiche e software

Al momento del lancio AWS CloudShell, viene creato un ambiente di elaborazione basato su Amazon Linux 2023 per ospitare l'esperienza shell. L'ambiente è configurato con risorse di calcolo (v CPU e memoria) e fornisce un'ampia gamma di software preinstallato a cui è possibile accedere dall'interfaccia a riga di comando. Assicurati che qualsiasi software che installi nell'ambiente di calcolo sia patchato e aggiornato. Puoi anche configurare l'ambiente predefinito installando software e modificando gli script di shell.

Risorse dell'ambiente di calcolo

A ogni ambiente di AWS CloudShell calcolo vengono assegnate le seguenti risorse CPU e le seguenti risorse di memoria:

  • 1 v CPU (unità di elaborazione centrale virtuale)

  • 2 GiB RAM

Inoltre, l'ambiente viene fornito con la seguente configurazione di archiviazione:

  • Storage persistente da 1 GB (lo storage persiste dopo la fine della sessione)

Per ulteriori informazioni, consulta Storage persistente.

CloudShell requisiti di rete

WebSockets

CloudShell dipende dal WebSocket protocollo, che consente la comunicazione interattiva bidirezionale tra il browser Web dell'utente e il CloudShell servizio nel AWS Cloud. Se utilizzi un browser in una rete privata, l'accesso sicuro a Internet è probabilmente facilitato da server proxy e firewall. WebSocket la comunicazione in genere può attraversare i server proxy senza problemi. Ma in alcuni casi, i server proxy WebSockets impediscono di funzionare correttamente. Se si verifica questo problema, la tua CloudShell interfaccia riporta il seguente errore:Failed to open sessions : Timed out while opening the session.

Se questo errore si verifica ripetutamente, consulta la documentazione del tuo server proxy per assicurarti che sia configurato per consentire WebSockets. In alternativa, puoi contattare l'amministratore di sistema della tua rete.

Nota

Se desideri definire autorizzazioni granulari specificando l'elenco delle autorizzazioniURLs, puoi aggiungere parte di URL quelle utilizzate dalla AWS Systems Manager sessione per aprire una WebSocket connessione per l'invio di input e la ricezione di output. (I AWS CloudShell comandi vengono inviati a quella sessione di Systems Manager.)

Il formato StreamUrl utilizzato per questo scopo da Systems Manager èwss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

La regione rappresenta l'identificatore di regione per una AWS regione supportata da AWS Systems Manager, ad esempio us-east-2 per la regione degli Stati Uniti orientali (Ohio).

Poiché l'id di sessione viene creato dopo l'avvio corretto di una determinata sessione di Systems Manager, è possibile specificare solo wss://ssmmessages.region.amazonaws.com quando si aggiorna la URL lista delle autorizzazioni. Per ulteriori informazioni, vedete l'StartSessionoperazione nella Guida di riferimento.AWS Systems Manager API

Software preinstallato

Nota

Poiché l'ambiente di AWS CloudShell sviluppo viene aggiornato regolarmente per consentire l'accesso al software più recente, in questa documentazione non forniamo numeri di versione specifici. Descriviamo invece come verificare quale versione è installata. Per verificare la versione installata, inserite il nome del programma seguito dall'--versionopzione (ad esempio,git --version).

Conchiglie

Conchiglie preinstallate
Nome Descrizione Version information (Informazioni relative alla versione)

Bash

La shell Bash è l'applicazione shell predefinita per. AWS CloudShell

bash --version

PowerShell (pwsh)

Offre un'interfaccia a riga di comando e supporto per il linguaggio di scripting, PowerShell è basato su quello di Microsoft. NETCommand Language Runtime PowerShell utilizza comandi leggeri chiamati cmdlets accept e return. NEToggetti.

pwsh --version

Shell Z (zsh)

La Z Shell, nota anche comezsh, è una versione estesa di Bourne Shell che offre un supporto avanzato per la personalizzazione di temi e plugin.

zsh --version

AWS interfacce a riga di comando () CLI

CLI
Nome Descrizione Version information (Informazioni relative alla versione)

AWS CDK Kit di strumenti CLI

Il AWS CDK Toolkit, il CLI comandocdk, è lo strumento principale che interagisce con l'app. AWS CDK Esegue l'app, interroga il modello di applicazione definito e produce e distribuisce i AWS CloudFormation modelli generati da. AWS CDK

Per ulteriori informazioni, consulta Toolkit.AWS CDK

cdk --version

AWS CLI

AWS CLI È un'interfaccia a riga di comando che è possibile utilizzare per gestire più AWS servizi dalla riga di comando e automatizzarli tramite script. Per ulteriori informazioni, consulta Gestisci AWS i servizi dall'CLIinterno CloudShell.

Per informazioni su come assicurarti di utilizzare la maggior parte della up-to-date AWS CLI versione 2, consulta. Installazione AWS CLI nella tua home directory

aws --version

EB CLI

AWS Elastic Beanstalk CLIFornisce un'interfaccia a riga di comando per semplificare la creazione, l'aggiornamento e il monitoraggio degli ambienti da un repository locale.

Per ulteriori informazioni, consulta Using the Elastic Beanstalk Command Line Interface CLI (EB) nella Developer Guide.AWS Elastic Beanstalk

eb --version

Amazon ECS CLI

L'interfaccia a riga di comando di Amazon Elastic Container Service (Amazon ECSCLI) () fornisce comandi di alto livello per semplificare la creazione, l'aggiornamento e il monitoraggio di cluster e attività.

Per ulteriori informazioni, consulta Using the Amazon ECS Command Line Interface nella Amazon Elastic Container Service Developer Guide.

ecs-cli --version

AWS SAM CLI

AWS SAM CLIè uno strumento a riga di comando che opera su un AWS Serverless Application Model modello e un codice applicativo. È possibile eseguire diverse attività. Questi includono l'invocazione delle funzioni Lambda localmente, la creazione di un pacchetto di distribuzione per l'applicazione serverless e la distribuzione dell'applicazione serverless nel cloud. AWS

Per ulteriori informazioni, consulta il riferimento ai AWS SAM CLI comandi nella Guida per gli sviluppatori.AWS Serverless Application Model

sam --version

AWS Tools for PowerShell AWS Tools for PowerShell Sono PowerShell moduli basati sulle funzionalità esposte da AWS SDK for .NET. Con AWS Tools for PowerShell, puoi eseguire operazioni di script sulle tue AWS risorse dalla PowerShell riga di comando.

AWS CloudShell preinstalla la versione modularizzata (AWS.Tools) di. AWS Tools for PowerShell

Per ulteriori informazioni, vedere Uso AWS degli strumenti per nella Guida per PowerShell l'utente.AWS Tools for PowerShell

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

Runtime e AWSSDKs: Node.js e Python 3

Runtime e AWS SDKs
Nome Descrizione Version information (Informazioni relative alla versione)

Node.js (con npm)

Node.js è un JavaScript runtime progettato per semplificare l'applicazione di tecniche di programmazione asincrona. Per ulteriori informazioni, consulta la documentazione sul sito ufficiale Node.js.

npm è un gestore di pacchetti che fornisce l'accesso a un registro di JavaScript moduli online. Per ulteriori informazioni, consulta la documentazione sul sito ufficiale di npm.

  • Node.js: node --version

  • npm: npm --version

SDKper JavaScript in Node.js

Il kit di sviluppo software (SDK) aiuta a semplificare la codifica fornendo JavaScript oggetti per AWS servizi tra cui Amazon S3, AmazonEC2, DynamoDB e Amazon. SWF Per ulteriori informazioni, consulta la Guida per gli sviluppatori di AWS SDK for JavaScript.

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

Python

Python 3 è pronto per l'uso nell'ambiente shell. Python 3 è ora considerato la versione predefinita del linguaggio di programmazione (il supporto per Python 2 è terminato a gennaio 2020). Per ulteriori informazioni, consulta la documentazione sul sito ufficiale di Python.

Inoltre, è preinstallato pip, l'installatore di pacchetti per Python. È possibile utilizzare questo programma da riga di comando per installare pacchetti Python dagli indici online come Python Package Index. Per ulteriori informazioni, consulta la documentazione fornita dalla Python Packaging Authority.

  • Python 3: python3 --version

  • pip: pip3 --version

SDKper Python (Boto3)

Boto è il kit di sviluppo software (SDK) che gli sviluppatori Python usano per creare, configurare e Servizi AWS gestire, come Amazon e EC2 Amazon S3. SDKFornisce un accesso easy-to-use orientato agli oggetti e a API basso livello a. Servizi AWS

Per ulteriori informazioni, consulta la documentazione di Boto3.

pip3 list | grep boto3

Strumenti di sviluppo e utilità shell

Strumenti di sviluppo e utilità shell
Nome Descrizione Version information (Informazioni relative alla versione)

bash-completion

bash-completion è una raccolta di funzioni di shell che consentono il completamento automatico di comandi o argomenti parzialmente digitati premendo il tasto Tab. Puoi trovare i pacchetti supportati da bash-completion in. /usr/share/bash-completion/completions

Per impostare il completamento automatico dei comandi di un pacchetto, è necessario reperire il file di programma. Ad esempio, per impostare il completamento automatico per i comandi Git, aggiungi la seguente riga .bashrc in modo che la funzionalità sia disponibile ogni volta che inizia la AWS CloudShell sessione:

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

Se desideri utilizzare script di completamento personalizzati, aggiungili alla tua home directory persistente ($HOME) e inseriscili direttamente da essa. .bashrc

Per ulteriori informazioni, consulta la READMEpagina del progetto su GitHub.

dnf info bash-completion

CodeCommit utilità per Git

git-remote-codecommit è un'utilità che fornisce un metodo semplice per inviare ed estrarre codice dai CodeCommit repository estendendo Git. È il metodo consigliato per supportare connessioni effettuate con accesso federato, provider di identità e credenziali temporanee.

Per ulteriori informazioni, consulta i passaggi di configurazione per HTTPS le connessioni a AWS CodeCommit with git-remote-codecommit nella Guida per l'AWS CodeCommit utente.

pip3 list | grep git-remote-codecommit

Git

Git è un sistema di controllo delle versioni distribuito che supporta le moderne pratiche di sviluppo software attraverso flussi di lavoro delle filiali e gestione dei contenuti. Per ulteriori informazioni, consulta la pagina di documentazione sul sito ufficiale di Git.

git --version

iputils

Il pacchetto iputils contiene utilità per le reti Linux. Per ulteriori informazioni sulle utilità fornite, consultate il repository iputils su. GitHub

Esempi di uno strumento iputils: arping -V

jq L'utilità jq analizza i dati in JSON formato C per produrre un output modificato dai filtri della riga di comando. Per ulteriori informazioni, consulta il manuale jq ospitato su. GitHub

jq --version

kubectl

kubectl è uno strumento a riga di comando per comunicare con il piano di controllo di un cluster Kubernetes, utilizzando Kubernetes. API

kubectl --version

make

L'utilità make viene utilizzata makefiles per automatizzare set di attività e organizzare la compilazione del codice. Per ulteriori informazioni, consulta la documentazione di GNUMake.

make --version

man

Il comando man fornisce pagine di manuale per le utilità e gli strumenti della riga di comando. Ad esempio, man ls restituisce la pagina di manuale del ls comando che elenca il contenuto delle directory. Per ulteriori informazioni, vedere la voce di Wikipedia nella pagina man.

man --version

nano nano è un editor piccolo e intuitivo per interfacce testuali. Per ulteriori informazioni, consulta la documentazione di nano. GNU

nano --version

procps

procps è un'utilità di amministrazione del sistema che è possibile utilizzare per monitorare e arrestare i processi attualmente in esecuzione. Per ulteriori informazioni, consultate il README file che elenca i programmi che possono essere eseguiti con procps.

ps --version

SSHcliente

SSHi client utilizzano il protocollo Secure Shell per le comunicazioni crittografate con un computer remoto. Open SSH è il SSH client preinstallato. Per ulteriori informazioni, consulta il SSHsito Open gestito dall'OpenBSD.

ssh -V

sudo

Con l'utilità sudo, gli utenti possono eseguire un programma con le autorizzazioni di sicurezza di un altro utente, in genere il superutente. Sudo è utile quando è necessario installare applicazioni come amministratore di sistema. Per ulteriori informazioni, consulta il manuale Sudo.

sudo --version

tar

tar è un'utilità da riga di comando che puoi usare per raggruppare più file in un unico file di archivio (spesso chiamato tarball). Per ulteriori informazioni, consultate la documentazione di GNUtar.

tar --version

tmux

tmux è un multiplexer di terminale che puoi usare per eseguire diversi programmi contemporaneamente in più finestre. Per maggiori informazioni, consulta un blog che fornisce una breve introduzione a tmux.

tmux -V

unzip

Per ulteriori informazioni, vedere zip/unzip.
vim

vim è un editor personalizzabile con cui puoi interagire tramite un'interfaccia testuale. Per ulteriori informazioni, consulta le risorse di documentazione disponibili su vim.org.

vim --version

wget

wget è un programma informatico utilizzato per recuperare contenuti dai server Web specificati dagli endpoint nella riga di comando. Per ulteriori informazioni, consulta la documentazione di Wget. GNU

wget --version

zip/unzip

Le utilità zip/unzip utilizzano un formato di file di archivio che offre una compressione dei dati senza perdita di dati. Richiamate il comando zip per raggruppare e comprimere i file in un unico archivio. Usa unzip per estrarre i file da un archivio in una directory specificata.

unzip --version

zip --version

Docker

Docker è una piattaforma aperta per lo sviluppo, la spedizione e l'esecuzione di applicazioni. Docker ti consente di separare le applicazioni dall'infrastruttura in modo da poter distribuire il software rapidamente. Ti consente di creare file Dockerfile all'interno e di creare AWS CloudShell risorse Docker con. CDK Per informazioni su quali AWS regioni sono supportate con Docker, consulta Regioni supportate per. AWSAWS CloudShell Tieni presente che Docker ha uno spazio limitato nell'ambiente. Se hai immagini singole di grandi dimensioni o troppe immagini Docker preesistenti, ciò può causare problemi. Per ulteriori informazioni su Docker, consulta la guida alla documentazione Docker.

docker --version

Installazione AWS CLI nella tua home directory

Come il resto del software preinstallato nell' CloudShell ambiente, lo AWS CLI strumento viene aggiornato automaticamente con aggiornamenti pianificati e patch di sicurezza. Se vuoi assicurarti di avere la maggior parte delle up-to-date versioni di AWS CLI, puoi scegliere di installare manualmente lo strumento nella home directory della shell.

Importante

È necessario installare manualmente la copia AWS CLI nella home directory in modo che sia disponibile al successivo avvio di una CloudShell sessione. Questa installazione è necessaria perché i file aggiunti alle directory esterne $HOME vengono eliminati al termine di una sessione di shell. Inoltre, dopo l'installazione AWS CLI, questa copia di non viene aggiornata automaticamente. In altre parole, è tua responsabilità gestire gli aggiornamenti e le patch di sicurezza.

Per ulteriori informazioni sul modello di responsabilità AWS condivisa, vedereProtezione dei dati in AWS CloudShell.

Per installare AWS CLI
  1. Nella CloudShell riga di comando, usa il curl comando per trasferire una copia zippata del file AWS CLI installato nella shell:

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  2. Decomprimi la cartella zippata:

    unzip awscliv2.zip
  3. Per aggiungere lo strumento a una cartella specificata, esegui il AWS CLI programma di installazione:

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

    Se è stato installato correttamente, nella riga di comando viene visualizzato il seguente messaggio:

    You can now run: /home/cloudshell-user/usr/local/bin/aws --version
  4. Per comodità, consigliamo di aggiornare anche la variabile di PATH ambiente in modo da non dover specificare il percorso di installazione dello strumento durante l'esecuzione dei aws comandi:

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

    Se annulli questa modifica aPATH, aws i comandi che non presentano un percorso specificato utilizzano per impostazione predefinita la versione preinstallata di AWS CLI .

Installazione di software di terze parti nell'ambiente shell

Nota

Ti consigliamo di esaminare il modello di responsabilità di sicurezza condivisa prima di installare applicazioni di terze parti nell'ambiente AWS CloudShell di calcolo in uso.

Per impostazione predefinita, tutti AWS CloudShell gli utenti dispongono delle autorizzazioni sudo. Pertanto, è possibile utilizzare il sudo comando per installare software che non è già disponibile nell'ambiente di calcolo della shell. Ad esempio, potete utilizzarlo sudo con l'utilità di DNF gestione dei pacchetti to installcowsay, che genera immagini ASCII artistiche di una mucca con un messaggio:

sudo dnf install cowsay

È quindi possibile avviare il programma appena installato digitando. echo "Welcome to AWS CloudShell" | cowsay

Importante

Package gestisce utilità come dnf install programs in directory /usr/bin (ad esempio), che vengono riciclate al termine della sessione di shell. Ciò significa che software aggiuntivo viene installato e utilizzato per sessione.

Modificare la shell con degli script

Se si desidera modificare l'ambiente shell predefinito, è possibile modificare uno script di shell che viene eseguito ogni volta che l'ambiente shell viene avviato. Lo .bashrc script viene eseguito ogni volta che viene avviata la shell bash predefinita.

avvertimento

Se modificate erroneamente il .bashrc file, potreste non essere in grado di accedere al vostro ambiente shell in seguito. È buona norma fare una copia del file prima di modificarlo. È inoltre possibile ridurre il rischio aprendo due shell durante la modifica. .bashrc Se perdi l'accesso a una shell, sei ancora connesso all'altra shell e puoi annullare eventuali modifiche.

Se perdi l'accesso dopo aver modificato erroneamente .bashrc qualsiasi altro file, puoi tornare AWS CloudShell alle impostazioni predefinite eliminando la tua home directory.

Nella procedura, modificherete .bashrc lo script in modo che l'ambiente della shell passi automaticamente all'esecuzione della shell Z.

  1. Apri il file .bashrc usando un editor di testo (Vim, per esempio):

    vim .bashrc
  2. Nell'interfaccia dell'editor, premi il tasto I per iniziare a modificare, quindi aggiungi quanto segue:

    zsh
  3. Per uscire e salvare il .bashrc file modificato, premi Esc per accedere alla modalità di comando Vim e inserisci quanto segue:

    :wq

  4. Usa il source comando per ricaricare il .bashrc file:

    source .bashrc

    Quando l'interfaccia della riga di comando diventa nuovamente disponibile, il simbolo del prompt è cambiato % per indicare che ora stai usando la shell Z.