AWS CloudShell ambiente 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 CloudShell ambiente computacional: especificações e software

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

Recursos do ambiente de computação

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

  • 1 v CPU (unidade de processamento central virtual)

  • 2 GiB 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 da web 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 quiser definir permissões granulares por meio de listas de permissões específicasURLs, você pode adicionar parte da URL que a AWS Systems Manager sessão usa para abrir uma WebSocket conexão para enviar entradas e receber saídas. (Seus AWS CloudShell comandos 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 de uma AWS região suportada por AWS Systems Manager, como us-east-2 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. URL Para obter mais informações, consulte a StartSessionoperação na AWS Systems Manager APIReferência.

Software pré-instalado

nota

Como o ambiente de AWS CloudShell 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, 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 nos da Microsoft. NETTempo de execução da linguagem de comando. PowerShell usa comandos leves chamados cmdlets de aceitar e retornar. NETobjetos.

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

AWS interfaces de linha de comando (CLI)

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

AWS CDK Kit de ferramentas CLI

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

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

cdk --version

AWS CLI

AWS CLI É uma interface de linha de comando que você pode usar para gerenciar vários AWS serviços a partir da linha de comando e automatizá-los usando scripts. Para obter mais informações, consulte Gerencie AWS serviços de CLI dentro 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, consulteAWS CLI Instalando em seu diretório inicial.

aws --version

EB CLI

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

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

eb --version

Amazon ECS CLI

A interface de linha de comando (ECS) do Amazon Elastic Container Service (AmazonCLI) 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 de linha de ECS comando da Amazon no Amazon Elastic Container Service Developer Guide.

ecs-cli --version

AWS SAM CLI

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

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

sam --version

AWS Tools for PowerShell AWS Tools for PowerShell São PowerShell módulos que são construídos com base na funcionalidade exposta pelo AWS SDK for .NET. Com AWS Tools for PowerShell, você pode criar scripts de operações em seus AWS recursos a partir da linha de PowerShell comando.

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

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

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

Tempos de execução e AWSSDKs: Node.js e Python 3

Tempos de execução e AWS SDKs
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

SDKpara JavaScript em Node.js

O kit de desenvolvimento de software (SDK) ajuda a simplificar a codificação fornecendo JavaScript objetos para AWS serviços como Amazon S3, AmazonEC2, DynamoDB e Amazon. SWF Para 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

SDKpara Python (Boto3)

Boto é o kit de desenvolvimento de software (SDK) que os desenvolvedores de Python usam para criar, configurar e Serviços da AWS gerenciar, como Amazon e EC2 Amazon S3. O SDK fornece um easy-to-use acesso orientado a API objetos e 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 .bashrc para que o recurso esteja disponível sempre que AWS CloudShell sua sessão 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 READMEpágina 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 HTTPS conexões 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 JSON formatados 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

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

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 README arquivo que lista os programas que podem ser executados com procps.

ps --version

SSHcliente

SSHos clientes usam o protocolo secure shell para comunicações criptografadas com um computador remoto. Open SSH é o SSH cliente pré-instalado. Para obter mais informações, consulte o SSHsite Open 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 e crie AWS CloudShell ativos do Docker com. CDK Para obter informações sobre quais AWS regiões são compatíveis com o Docker, consulte AWS Regiões suportadas para AWS CloudShell. 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

AWS CLI Instalando em 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 do AWS 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 do AWS CLI, ela não é atualizada automaticamente. Em outras palavras, é de sua responsabilidade gerenciar as atualizações e os patches de segurança.

Para obter mais informações sobre o Modelo de Responsabilidade AWS Compartilhada, consulteProteção de dados em AWS CloudShell.

Para instalar 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 AWS CLI instalador:

    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 emPATH, os aws comandos que não apresentam um caminho especificado usarão a versão pré-instalada do 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 AWS CloudShell da empresa.

Por padrão, todos os AWS CloudShell usuários 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 DNF gerenciamento de pacotes para instalarcowsay, que gera imagens ASCII artísticas 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 você perder o acesso após modificar incorretamente .bashrc ou qualquer outro arquivo, poderá retornar AWS CloudShell às configurações padrão excluindo seu diretório pessoal.

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.