AWS CloudShellambiente computacional: especificações e software - AWS CloudShell

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS CloudShellambiente computacional: especificações e software

Quando você lançaAWS CloudShell, um ambiente computacional baseado emAmazon Linux 2foi criado para hospedar a experiência do shell. O ambiente está configurado comrecursos computacionais (vCPU e memória)e fornece uma ampla variedade desoftware pré-instaladoque pode ser acessado a partir da interface da linha de comando. Você também pode configurar seu ambiente padrão instalando software e modificando scripts de shell.

Recursos do ambiente computacional

CadaAWS CloudShellao ambiente computacional são atribuídos os seguintes recursos de CPU e memória:

  • 1 vCPU (unidade de processamento central virtual)

  • RAM de 2 GiB

E o ambiente é provisionado com a seguinte configuração de armazenamento:

  • Armazenamento persistente de 1 GB (o armazenamento persiste após o término da sessão)

Para obter mais informações, consulte Armazenamento persistente.

Importante

Atualmente, oAWS CloudShello ambiente computacional não oferece suporte a contêineres Docker.

CloudShellrequisitos de rede

WebSockets

CloudShelldepende doWebSocketprotocolo, que permite a comunicação interativa bidirecional entre o navegador do usuário e oCloudShellserviço noAWSNuvem. Se você estiver usando um navegador em uma rede privada, o acesso seguro à Internet provavelmente é facilitado por servidores proxy e firewalls. WebSocketa comunicação geralmente pode atravessar servidores proxy sem problemas. Mas, em alguns casos, os servidores proxy evitamWebSocketsde funcionar corretamente. Se esse problema ocorrer, seuCloudShella interface relata o seguinte erro:Failed to open sessions : Timed out while opening the session.

Se esse erro ocorrer repetidamente, consulte a documentação do seu servidor proxy para garantir que ele esteja configurado para permitirWebSockets. Como alternativa, você pode entrar em contato com o administrador do sistema da sua rede.

nota

Se você quiser definir permissões granulares ao listar URLs específicos, você pode adicionar parte do URL que oAWS Systems Managera sessão é usada para abrir umWebSocketconexão para envio de saídas de entrada e recepção. (SeuAWS CloudShellos comandos são enviados para essa sessão do Systems Manager.)

O formato para issoStreamUrlusado pelo Systems Manager éwss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

Oregiãorepresenta o identificador de região para umAWSRegião apoiada porAWS Systems Manager, comous-east-2para a região Leste dos EUA (Ohio).

Porque oID da sessãoé criadodepoisuma sessão específica do Systems Manager foi iniciada com êxito, você só pode especificarwss://ssmmessages.region.amazonaws.comao atualizar sua lista de permissões de URL. Para obter mais informações, consulte oStartSessionoperação noAWS Systems ManagerReferência da API.

Software pré-instalado

nota

Porque oAWS CloudShellO ambiente de desenvolvimento é atualizado regularmente para fornecer acesso ao software mais recente. Não fornecemos números de versão específicos nesta documentação. Em vez disso, descrevemos como você pode verificar qual versão está instalada. Para verificar a versão instalada, digite o nome do programa seguido pelo--versionopção (por exemplo,git --version).

Conchas

Conchas pré-instaladas
Name (Nome) Descrição Informações sobre a versão

Bash

O shell Bash é o aplicativo shell padrão paraAWS CloudShell.

bash --version

PowerShell(empurrar)

Oferecendo uma interface de linha de comando e suporte à linguagem de script,PowerShellé construído sobre o.NET Command Language Runtime da Microsoft. PowerShellusa comandos leves chamadoscmdletsque aceitam e retornam objetos.NET.

pwsh --version

Uma concha (zsh)

O Z Shell, também conhecido comozsh, é uma versão estendida do Bourne Shell que oferece suporte aprimorado de personalização para temas e plug-ins.

zsh --version

AWSinterfaces de linha de comando (CLI)

CLI
Name (Nome) Descrição Informações sobre a versão

AWS CDKKit de ferramentas CLI

OAWS CDKKit de ferramentas, o comando CLI,cdk, é a principal ferramenta que interage com seuAWS CDKaplicativo. Ele executa seu aplicativo, interroga o modelo de aplicativo que você definiu e produz e implanta oAWS CloudFormationmodelos gerados peloAWS CDK.

Para obter mais informações, consulteAWS CDKKit de ferramentas.

cdk --version

AWS CLI

OAWS CLIé uma interface de linha de comando que você pode usar para gerenciar váriosAWSserviços da linha de comando e automatize-os usando scripts. Para obter mais informações, consulte Trabalhando comAWS serviços emAWS CloudShell.

Para obter informações sobre como você pode garantir que está usando o máximoup-to-dateversãoAWS CLIversão 2, consulteInstalandoAWS CLIpara o seu diretório inicial.

aws --version

EB CLI

OAWS Elastic BeanstalkA CLI fornece uma interface de linha de comando para simplificar a criação, atualização e monitoramento de ambientes a partir de um repositório local.

Para obter mais informações, consulteUsando a interface de linha de comando do Elastic Beanstalk (EB CLI)naAWS Elastic BeanstalkGuia do desenvolvedor.

eb --version

CLI do Amazon ECS

A interface de linha de comando (CLI) do Amazon Elastic Container Service (Amazon ECS) fornece comandos de alto nível para simplificar a criação, a atualização e o monitoramento de clusters e tarefas.

Para obter mais informações, consulteUsando a interface de linha de comando do Amazon ECSnaGuia do desenvolvedor do Amazon Elastic Container Service.

ecs-cli --version

CLI do AWS SAM

AWS SAMA CLI é uma ferramenta de linha de comando que opera em umAWS Serverless Application Modelmodelo e código do aplicativo. Você pode realizar várias tarefas. Isso inclui invocar funções do Lambda localmente, criar um pacote de implantação para seu aplicativo sem servidor e implantar seu aplicativo sem servidor noAWSNuvem.

Para obter mais informações, consulte oAWS SAMReferência do comando CLInaAWS Serverless Application ModelGuia do desenvolvedor.

sam --version

AWS Tools for PowerShell OAWS Tools for PowerShellestáPowerShellmódulos que são construídos com base na funcionalidade exposta peloAWS SDK for .NET. ComAWS Tools for PowerShell, você pode criar scripts de operações em seuAWSrecursos doPowerShelllinha de comando.

AWS CloudShellpré-instala a versão modularizada (AWS.Tools) doAWS Tools for PowerShell.

Para obter mais informações, consulteUsando as ferramentas da AWS paraPowerShellnaAWS Tools for PowerShellGuia do usuário.

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

Tempos de execução e SDKs da AWS: Node.js e Python 3

Tempos de execução e SDKs da AWS
Name (Nome) Descrição Informações sobre a versão

Node.js (com npm)

Node.js é umJavaScripttempo de execução projetado para facilitar a aplicação de técnicas de programação assíncrona. Para obter mais informações, consulte odocumentação no site oficial do Node.js.

O npm é um gerenciador de pacotes que fornece acesso a um registro on-line deJavaScriptmódulos. Para obter mais informações, consulte odocumentação no site oficial do npm.

  • Node.js:node --version

  • npm:npm --version

SDK paraJavaScriptem Node.js

O kit de desenvolvimento de software (SDK) ajuda a simplificar a codificação fornecendoJavaScriptobjetos para serviços da AWS, incluindo Amazon S3, Amazon EC2, DynamoDB e Amazon SWF. Para obter mais informações, consulte o Guia do desenvolvedor do AWS SDK for JavaScript.

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

Python

O Python 3 e o Python 2 estão prontos para uso no ambiente shell. O Python 3 agora é considerado a versão padrão da linguagem de programação (o suporte ao Python 2 terminou em janeiro de 2020). Para obter mais informações, consulte odocumentação no site oficial do Python.

Além disso, pré-instalado está o pip, o instalador de pacotes para Python. Você pode usar esse programa de linha de comando para instalar pacotes do Python a partir dos índices on-line, como o Python Package Index. Para obter mais informações, consulte odocumentação fornecida pela Python Packaging Authority.

  • Python 2:python --version

  • Python 3:python3 --version

  • caroço:pip3 --version

SDK para Python (Boto3).

O Boto é o kit de desenvolvimento de software (SDK) que os desenvolvedores de Python usam para criar, configurar e gerenciarServiços da AWS, como Amazon EC2 e Amazon S3. O SDK fornece umeasy-to-use, API orientada a objetos, bem como acesso de baixo nível aServiços da AWS.

Para obter mais informações, consulte oDocumentação do Boto3.

pip3 list | grep boto3

Ferramentas de desenvolvimento e utilitários de shell

Ferramentas de desenvolvimento e utilitários de shell
Name (Nome) Descrição Informações sobre a versão

conclusão do bash

bash-completion é uma coleção de funções do shell que permitem o preenchimento automático de comandos ou argumentos parcialmente digitados pressionando oTabchave. Você pode encontrar os pacotes que o bash-completion suporta em/usr/share/bash-completion/completions.

Para configurar o preenchimento automático dos comandos de um pacote, o arquivo do programa deve ser originado. Por exemplo, para configurar o preenchimento automático para comandos do Git, adicione a seguinte linha ao.bashrcportanto, o recurso está disponível sempre que seuAWS CloudShella sessão começa:

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

Se você quiser usar scripts de conclusão personalizados, adicione-os ao seu diretório inicial persistente ($HOME) e forneça-os diretamente em.bashrc.

Para obter mais informações, consulte o projetoLEIA-MEpágina emGitHub.

yum info bash-completion

CodeCommitutilitário para Git

git-remote-codecommité um utilitário que fornece um método simples para enviar e extrair código doCodeCommitrepositórios estendendo o Git. É o método recomendado para oferecer suporte a conexões feitas com acesso federado, provedores de identidade e credenciais temporárias.

Para obter mais informações, consulteEtapas de configuração para conexões HTTPS comAWS CodeCommitcomgit-remote-codecommitnaAWS CodeCommitGuia do usuário.

pip3 list | grep git-remote-codecommit

Git

O Git é um sistema de controle de versão distribuído que suporta práticas modernas de desenvolvimento de software por meio de fluxos de trabalho de ramificações e preparação de conteúdo. Para obter mais informações, consulte opágina de documentação no site oficial do Git.

git --version

iputils

O pacote iputils contém utilitários para redes Linux. Para obter mais informações sobre os utilitários fornecidos, consulte orepositório iputils emGitHub.

Exemplos de uma ferramenta iputils:arping -V

jq O utilitário jq analisa dados formatados em JSON para produzir uma saída modificada por filtros de linha de comando. Para obter mais informações, consulte omanual jq hospedado emGitHub.

jq --version

kubectl

kubectl é uma ferramenta de linha de comando para comunicação com o plano de controle de um cluster Kubernetes, usando a API Kubernetes.

kubectl --version

make

O utilitário make usamakefilespara automatizar conjuntos de tarefas e organizar a compilação de código. Para obter mais informações, consulte oDocumentação do GNU Make.

make --version

man

O comando man fornece páginas de manual para utilitários e ferramentas de linha de comando. Por exemplo,man lsretorna a página do manual para olscomando que lista o conteúdo dos diretórios. Para obter mais informações, consulte oEntrada da Wikipédia na página principal.

man --version

nano O nano é um editor pequeno e fácil de usar para interface baseada em texto. Para obter mais informações, consulte oDocumentação GNU nano.

nano --version

procps

O procps é um utilitário de administração do sistema que você pode usar para monitorar e interromper os processos em execução no momento. Para obter mais informações, consulteo arquivo README que lista os programas que podem ser executados com procps.

ps --version

Cliente SSH

Os clientes SSH usam o protocolo secure shell para comunicações criptografadas com um computador remoto. O OpenSSH é o cliente SSH pré-instalado. Para obter mais informações, consulte oSite OpenSSHmantido pelo OpenBSD.

ssh -V

sudo

Com o utilitário sudo, os usuários podem executar um programa com as permissões de segurança de outro usuário, normalmente o superusuário. O Sudo é útil quando você precisa instalar aplicativos como administrador do sistema. Para obter mais informações, consulte oManual do Sudo.

sudo --version

tar

tar é um utilitário de linha de comando que você pode usar para agrupar vários arquivos em um único arquivo (geralmente chamado de tarball). Para obter mais informações, consulte oDocumentação GNU tar.

tar --version

tmux

O tmux é um multiplexador de terminal que você pode usar para executar diferentes programas simultaneamente em várias janelas. Para obter mais informações, consulteum blog que fornece uma introdução concisa ao tmux.

tmux -V

unzip

Para obter mais informações, consultefechar/descompactar.
vim

O vim é um editor personalizável com o qual você pode interagir por meio de uma interface baseada em texto. Para obter mais informações, consulte orecursos de documentação fornecidos em vim.org.

vim --version

wget

wget é um programa de computador usado para recuperar conteúdo de servidores web especificados por endpoints na linha de comando. Para obter mais informações, consulte oDocumentação do GNU Wget.

wget --version

fechar/descompactar

Os utilitários de zip/unzip usam um formato de arquivo que oferece compactação de dados sem perdas sem perda de dados. Chame o comando zip para agrupar e compactar arquivos em um único arquivo. Use unzip para extrair arquivos de um arquivo em um diretório especificado.

unzip --version

zip --version

InstalandoAWS CLIpara o seu diretório inicial

Como o resto do software pré-instalado em seuCloudShellmeio ambiente, oAWS CLIa ferramenta é atualizada automaticamente com atualizações programadas e patches de segurança. Se você quiser garantir que você tenha o máximoup-to-dateversão doAWS CLI, você pode optar por instalar manualmente a ferramenta no diretório inicial do shell.

Importante

Você precisa instalar manualmente sua cópia doAWS CLIno diretório inicial para que esteja disponível na próxima vez que você iniciar umCloudShellsessão. Essa instalação é necessária porque os arquivos são adicionados a diretórios fora do$HOMEsão excluídos após o término de uma sessão de shell. Além disso, depois de instalar essa cópia doAWS CLI, ele não é atualizado automaticamente. Em outras palavras, é sua responsabilidade gerenciar atualizações e patches de segurança.

Para obter mais informações sobre oAWSModelo de responsabilidade compartilhada, consulteProteção de dados no AWS CloudShell.

Para instalar o AWS CLI
  1. NoCloudShelllinha de comando, use ocurlcomando para transferir uma cópia zipada doAWS CLIinstalado no invólucro:

    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  2. Descompacte a pasta compactada:

    unzip awscliv2.zip
  3. Para adicionar a ferramenta a uma pasta especificada, execute oAWS CLIinstalador:

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

    Se for instalado com êxito, a linha de comando exibirá a seguinte mensagem:

    You can now run: /home/cloudshell-user/usr/local/bin/aws --version
  4. Para sua conveniência, recomendamos que você também atualize oPATHvariável de ambiente para que você não precise especificar o caminho para a instalação da ferramenta durante a execuçãoawscomandos:

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

    Se você desfizer essa alteração emPATH,awscomandos que não apresentam um caminho especificado usam a versão pré-instalada doAWS CLIpor padrão.

Instalando software de terceiros em seu ambiente shell

nota

Recomendamos que você revise oModelo de responsabilidade de segurança compartilhadaantes de instalar qualquer aplicativo de terceiros noAWS CloudShelldo ambiente computacional.

Por padrão, todosAWS CloudShellos usuários têm permissões de sudo. Portanto, você pode usar osudocomando para instalar o software que ainda não está disponível no ambiente computacional do shell. Por exemplo, você pode usarsudocom o utilitário de gerenciamento de pacotes YUM para instalarcowsay, que gera imagens artísticas ASCII de uma vaca com uma mensagem:

sudo yum install cowsay

Em seguida, você pode iniciar o programa recém-instalado digitandoecho "Welcome to AWS CloudShell" | cowsay.

Importante

Utilitários de gerenciamento de pacotes, como o yum, instalam programas em diretórios (/usr/bin, por exemplo), que são reciclados quando a sessão do shell termina. Isso significa que software adicional é instalado e usado por sessão.

Modificando seu shell com scripts

Se quiser modificar o ambiente de shell padrão, você pode editar um script de shell que é executado sempre que o ambiente shell é inicializado. O.bashrcO script é executado sempre que o shell bash padrão é inicializado.

Atenção

Se você modificar incorretamente seu.bashrcarquivo, talvez você não consiga acessar seu ambiente shell posteriormente. É uma boa prática fazer uma cópia do arquivo antes de editá-lo. Você também pode reduzir o risco abrindo duas conchas ao editar.bashrc. Se você perder o acesso em um shell, ainda estará conectado ao outro shell e poderá reverter qualquer alteração.

Se você perder o acesso após a modificação incorreta.bashrcou qualquer outro arquivo, você pode retornarAWS CloudShellpara suas configurações padrão porexcluindo seu diretório inicial.

No procedimento, você modificará o.bashrcscript para que seu ambiente de shell mude automaticamente para a execução do shell Z.

  1. Abra o.bashrcusando um editor de texto (Vim, por exemplo):

    vim .bashrc
  2. Na interface do editor, pressione a teclaEUtecla para iniciar a edição e, em seguida, adicione o seguinte:

    zsh
  3. Para sair e salvar o editado.bashrcarquivo, pressioneEscpara entrar no modo de comando do Vim e digite o seguinte:

    :wq

  4. Use osourcecomando para recarregar o.bashrcarquivo:

    source .bashrc

    Quando a interface da linha de comando estiver disponível novamente, o símbolo do prompt será alterado para%para indicar que agora você está usando o shell Z.