Ambiente de computação do AWS CloudShell: 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á.

Ambiente de computação do AWS CloudShell: especificações e software

Quando você iniciaAWS CloudShell, um ambiente computacional baseado no Amazon Linux 2023 é criado para hospedar a experiência do shell. O ambiente é configurado com recursos computacionais (vCPU e memória) e fornece uma ampla variedade de softwares pré-instalados que podem ser acessados pela interface da linha de comando. Você também pode configurar seu ambiente padrão instalando software e modificando scripts de shell.

Recursos do ambiente de computação

Cada ambiente computacional do AWS CloudShell recebe os seguintes recursos de CPU e memória:

  • 1 vCPU (unidade de processamento central virtual)

  • 2 GiB de RAM

Além disso, 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.

CloudShell requisitos de rede

WebSockets

CloudShell depende do WebSocket protocolo, que permite a comunicação interativa bidirecional entre o navegador do usuário e o CloudShell serviço na AWS nuvem. Se você estiver usando um navegador em uma rede privada, o acesso seguro à Internet provavelmente é facilitado por servidores proxy e firewalls. WebSocket a comunicação geralmente pode atravessar servidores proxy sem problemas. Mas, em alguns casos, os servidores proxy WebSockets impedem o funcionamento correto. Se esse problema ocorrer, sua CloudShell 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 permitir WebSockets. Como alternativa, você pode entrar em contato com o administrador do sistema da sua rede.

nota

Se você quiser definir permissões granulares listando URLs específicos, você pode adicionar parte do URL que a AWS Systems Manager sessão usa para abrir uma WebSocket conexão para enviar entradas e receber saídas. (Seus comandos do AWS CloudShell são enviados para essa sessão do Systems Manager.)

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

A região representa o identificador da região para uma região da AWS compatível com o AWS Systems Manager, como us-east-2 para a região Leste dos EUA (Ohio).

Como o ID da sessão é criado após o início bem-sucedido de uma sessão específica do Systems Manager, você só pode especificar wss://ssmmessages.region.amazonaws.com ao atualizar sua lista de permissões de URL. Para obter mais informações, consulte a StartSessionoperação na Referência AWS Systems Manager da API.

Software pré-instalado

nota

Como o ambiente de desenvolvimento do AWS CloudShell é 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, insira o nome do programa seguido pela opção --version (por exemplo, git --version).

Shells

Shells pré-instalados
Nome Descrição Informações sobre a versão

Bash

O shell Bash é o aplicativo de shell padrão para AWS CloudShell.

bash --version

PowerShell (empurrão)

Oferecendo uma interface de linha de comando e suporte à linguagem de script, PowerShell é construído com base no Microsoft Command Language Runtime. PowerShell usa comandos leves chamados cmdlets que aceitam e retornam objetos.NET.

pwsh --version

Z Shell (zsh)

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

zsh --version

Interfaces da linha de comando (CLI) AWS

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

AWS CDK Toolkit CLI

O Toolkit AWS CDK, o comando da CLI, cdk, é a principal ferramenta que interage com seu aplicativo AWS CDK. Ele executa seu aplicativo, interroga o modelo de aplicativo que você definiu e produz e implanta os modelos AWS CloudFormation gerados pelo AWS CDK.

Para obter mais informações, consulte AWS CDK Toolkit.

cdk --version

AWS CLI

A AWS CLI é uma interface de linha de comando que você pode usar para gerenciar vários serviços da AWS pela linha de comando e automatizá-los 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 a maior parte da up-to-date AWS CLI versão 2, consulteComo instalar a AWS CLI no seu diretório inicial.

aws --version

EB CLI

A AWS Elastic Beanstalk CLI fornece uma interface da linha de comando para simplificar a criação, a atualização e o monitoramento de ambientes em um repositório local.

Para obter mais informações, consulte Como usar a interface da linha de comando do Elastic Beanstalk (EB CLI) no Guia do desenvolvedor do AWS Elastic Beanstalk.

eb --version

CLI do Amazon ECS

A interface da 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, consulte Como usar a interface da linha de comando do Amazon ECS no Guia do desenvolvedor do Amazon Elastic Container Service.

ecs-cli --version

AWS SAM CLI

A CLI do AWS SAM é uma ferramenta de linha de comando que opera em um modelo do AWS Serverless Application Model e código do aplicativo. Você pode realizar várias tarefas. Elas incluem invocar as funções do Lambda localmente, criar um pacote de implantação para seu aplicativo de tecnologia sem servidor e implantar seu aplicativo de tecnologia sem servidor na AWS Cloud.

Para obter mais informações, consulte a referência de comando da CLI AWS SAM, no Guia do Desenvolvedor do AWS Serverless Application Model.

sam --version

AWS Tools for PowerShell AWS Tools for PowerShellSão PowerShell módulos baseados na funcionalidade exposta peloAWS SDK for .NET. ComAWS Tools for PowerShell, você pode criar scripts de operações em seus AWS recursos a partir da linha de PowerShell comando.

O AWS CloudShell pré-instala a versão modularizada (AWS.Tools) do AWS Tools for PowerShell.

Para obter mais informações, consulte Como usar as ferramentas da AWS PowerShell no Guia AWS Tools for PowerShell do usuário.

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

Runtimes e SDKs da AWS: Node.js e Python 3

Runtimes e SDKs da AWS
Nome Descrição Informações sobre a versão

Node.js (com npm)

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

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

  • Node.js: node --version

  • npm: npm --version

SDK para JavaScript em Node.js

O kit de desenvolvimento de software (SDK) ajuda a simplificar a codificação fornecendo JavaScript objetos 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 está pronto 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 a documentação no site oficial do Python.

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

  • Python 3: python3 --version

  • pip: pip3 --version

SDK para Python (Boto3)

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

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

pip3 list | grep boto3

Ferramentas de desenvolvimento e utilitários de shell

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

bash-completion

O bash-completion é um conjunto de funções de shell que permitem o preenchimento automático de comandos ou argumentos parcialmente digitados pressionando a tecla Tab. Você pode encontrar os pacotes compatíveis com o bash-completion em /usr/share/bash-completion/completions.

Para configurar o preenchimento automático para os 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 .bashrc para que o atributo esteja disponível sempre que sua sessão do AWS CloudShell começar:

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

Se você quiser usar scripts de preenchimento personalizados, adicione-os ao seu diretório inicial persistente ($HOME) e origine-os diretamente no .bashrc.

Para obter mais informações, consulte a página README do projeto em GitHub.

dnf info bash-completion

CodeCommit utilitário para Git

git-remote-codecommit é um utilitário que fornece um método simples para enviar e extrair código de CodeCommit repositórios por meio da extensão do 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, consulte Etapas de configuração para conexões HTTPS AWS CodeCommit com git-remote-codecommit no Guia AWS CodeCommit do usuário.

pip3 list | grep git-remote-codecommit

Git

O Git é um sistema de controle de versão distribuído que dá suporte às 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 a pá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 o repositório iputils em. GitHub

Exemplos de uma ferramenta iputils: arping -V

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

jq --version

kubectl

O kubectl é uma ferramenta de linha de comando para comunicação com o ambiente de gerenciamento de um cluster Kubernetes, usando a API do Kubernetes.

kubectl --version

make

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

make --version

man

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

man --version

nano O nano é um editor pequeno e fácil de usar para interface baseada em texto. Para obter mais informações, consulte a documentação do 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 atualmente em execução. Para obter mais informações, consulte o arquivo README que lista os programas que podem ser executados com procps.

ps --version

Cliente SSH

Os clientes SSH usam o secure shell protocol para comunicações criptografadas com um computador remoto. OpenSSH é o cliente SSH pré-instalado. Para obter mais informações, consulte o site do OpenSSH mantido 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 é necessário instalar aplicativos como administrador do sistema. Para obter mais informações, consulte o Manual do Sudo.

sudo --version

tar

O 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 a documentação do GNU tar.

tar --version

tmux

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

tmux -V

unzip

Para obter mais informações, consulte zip/unzip.
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 os recursos de documentação fornecidos em vim.org.

vim --version

wget

O 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 a documentação do GNU Wget.

wget --version

zip/unzip

Os utilitários zip/unzip usam um formato de arquivo que oferece compactação de dados 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

Docker

O Docker é uma plataforma aberta para desenvolvimento, envio e execução de aplicativos. O Docker permite que você separe seus aplicativos da sua infraestrutura para que você possa entregar software rapidamente. Ele permite que você crie Dockerfiles internamente AWS CloudShell e crie ativos do Docker com o CDK. Para obter informações sobre quais regiões são compatíveis com o Docker, consulte Regiões do Docker. Você deve estar ciente de que o Docker tem espaço limitado no ambiente. Se você tiver imagens individuais grandes ou muitas imagens pré-existentes do Docker, isso pode causar problemas. Para obter mais informações sobre o Docker, consulte o guia de documentação do Docker.

docker --version

Como instalar a AWS CLI no seu diretório inicial

Como o resto do software pré-instalado em seu CloudShell ambiente, a AWS CLI ferramenta é atualizada automaticamente com atualizações programadas e patches de segurança. Se quiser garantir que você tenha a up-to-date versão mais recente doAWS CLI, você pode optar por instalar manualmente a ferramenta no diretório inicial do shell.

Importante

Você precisa instalar manualmente sua cópia do AWS CLI no diretório inicial para que ela esteja disponível na próxima vez que você iniciar uma CloudShell sessão. Essa instalação é necessária porque os arquivos adicionados aos diretórios fora do $HOME são excluídos após a conclusão de uma sessão de shell. Além disso, depois de instalar essa cópia da AWS CLI, ela não é atualizada automaticamente. Em outras palavras, é de sua responsabilidade gerenciar as atualizações e os patches de segurança.

Para mais informações sobre o Modelo de responsabilidade compartilhada da AWS, consulte Proteção de dados em AWS CloudShell.

Para instalar o AWS CLI
  1. Na linha de CloudShell comando, use o curl comando para transferir uma cópia compactada do AWS CLI instalado para o shell:

    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 o instalador da AWS CLI:

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

    Se for instalado com sucesso, 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 a variável ambiental PATH para não precisar especificar o caminho para a instalação da ferramenta ao executar comandos aws:

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

    Se você desfizer essa alteração em PATH, os comandos aws que não apresentam um caminho especificado usarão a versão pré-instalada da AWS CLI por padrão.

Instalação de software de terceiros no ambiente do shell

nota

Recomendamos que você revise o Modelo de Responsabilidade de Segurança Compartilhada antes de instalar qualquer aplicativo de terceiros no ambiente computacional do AWS CloudShell.

Por padrão, todos os usuários do AWS CloudShell têm permissões sudo. Portanto, você pode usar o comando sudo para instalar software que ainda não esteja disponível no ambiente computacional do shell. Por exemplo, você pode usar sudo com o utilitário de gerenciamento de pacotes DNF para instalarcowsay, que gera imagens artísticas ASCII de uma vaca com uma mensagem:

sudo dnf install cowsay

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

Importante

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

Como modificar seu shell com scripts

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

Atenção

Se você modificar incorretamente o arquivo .bashrc, talvez não consiga acessar o ambiente do shell posteriormente. É uma boa prática fazer uma cópia do arquivo antes da edição. Você também pode reduzir o risco abrindo dois shells durante a edição do .bashrc. Se você perder o acesso em um shell, ainda terá o login no outro shell e poderá reverter quaisquer alterações.

Se perder o acesso após modificar incorretamente o .bashrc ou qualquer outro arquivo, poderá retornar o AWS CloudShell às configurações padrão excluindo seu diretório inicial.

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

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

    vim .bashrc
  2. Na interface do editor, pressione a tecla I para começar a editar e adicione o seguinte:

    zsh
  3. Para sair e salvar o arquivo .bashrc editado, pressione Esc para entrar no modo de comando do Vim e digite o seguinte:

    :wq

  4. Use o comando source para recarregar o arquivo .bashrc:

    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 Z shell.