AWS CloudShellambiente 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 CloudShellambiente di calcolo: specifiche e software

Al momento del lancioAWS CloudShell, viene creato un ambiente di elaborazione basato su Amazon Linux 2023 per ospitare l'esperienza shell. L'ambiente è configurato con risorse di calcolo (vCPU e memoria) e fornisce un'ampia gamma di software preinstallato a cui è possibile accedere dall'interfaccia a riga di comando. È inoltre possibile 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 di CPU e memoria:

  • 1 vCPU (unità di elaborazione centrale virtuale)

  • RAM da 2 GiB

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 autorizzando l'elenco di URL specifici, puoi aggiungere parte dell'URL utilizzato 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 daAWS 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 l'elenco di indirizzi URL consentiti. Per ulteriori informazioni, vedete l'StartSessionoperazione nell'API Reference. AWS Systems Manager

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 Microsoft.NET Command Language Runtime. PowerShell utilizza comandi leggeri chiamati cmdlets che accettano e restituiscono oggetti.NET.

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

AWSinterfacce a riga di comando (CLI)

CLI
Nome Descrizione Version information (Informazioni relative alla versione)

AWS CDKCLI del toolkit

Il AWS CDK Toolkit, il comando CLIcdk, è lo strumento principale che interagisce con l'app. AWS CDK Esegue l'app, interroga il modello di applicazione definito e produce e distribuisce i modelli generati da. AWS CloudFormation 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 Lavorare conAWS i servizi inAWS 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

CLI EB

La AWS Elastic Beanstalk CLI fornisce 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 (EB CLI) nella Developer Guide. AWS Elastic Beanstalk

eb --version

CLI di Amazon ECS

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

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

ecs-cli --version

CLI AWS SAM

AWS SAMCLI è uno strumento da riga di comando che funziona 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 comandi AWS SAM CLI nella AWS Serverless Application ModelDeveloper Guide.

sam --version

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

AWS CloudShellpreinstalla la versione modularizzata (AWS.Tools) di. AWS Tools for PowerShell

Per ulteriori informazioni, consulta Using the AWS Tools for PowerShell nella AWS Tools for PowerShellUser Guide.

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

Runtime e SDK AWS: Node.js e Python 3

Runtime e SDK AWS
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

SDK per Node.js JavaScript

Il kit di sviluppo software (SDK) aiuta a semplificare la codifica fornendo JavaScript oggetti per i servizi AWS tra cui Amazon S3, Amazon EC2, 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

SDK per Python (Boto3)

Boto è il kit di sviluppo software (SDK) utilizzato dagli sviluppatori Python per creare, configurare e gestireServizi AWS, come Amazon EC2 e Amazon S3. L'SDK fornisce un'API orientata agli oggetti easy-to-use e un accesso a 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, consultate la pagina README 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 le connessioni HTTPS a AWS CodeCommit with git-remote-codecommit nella Guida per l'AWS CodeCommitutente.

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 formato JSON 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 l'API Kubernetes.

kubectl --version

make

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

make --version

man

Il comando man fornisce pagine di manuale per le utilità e gli strumenti da 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, consultate la documentazione di GNU nano.

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 file README che elenca i programmi che possono essere eseguiti con procps.

ps --version

Client SSH

I client SSH utilizzano il protocollo Secure Shell per le comunicazioni crittografate con un computer remoto. OpenSSH è il client SSH preinstallato. Per ulteriori informazioni, consultate il sito OpenSSH gestito da 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 GNU tar.

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, vedere la documentazione di GNU Wget.

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 regioni sono supportate con Docker, consulta Docker Regions. 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 diAWS 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'installazioneAWS 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, utilizzate 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 diAWS 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, è possibile utilizzare l'utilità di gestione dei pacchetti DNF to installcowsay, che genera immagini artistiche in formato ASCII di una mucca sudo 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.