Conceitos básicos do AWS CloudShell - AWS CloudShell

Conceitos básicos do AWS CloudShell

Este tutorial introdutório mostra como iniciar o AWS CloudShell e executar tarefas importantes usando a interface de linha de comando do shell.

Primeiro, você faz login no AWS Management Console e seleciona uma Região da AWS. Em seguida, você inicia o CloudShell em uma nova janela do navegador e um tipo de shell com o qual trabalhar.

Depois, você cria uma nova pasta no seu diretório inicial e carrega um arquivo nela a partir da sua máquina local. Você trabalha nesse arquivo usando um editor pré-instalado antes de executá-lo como um programa na linha de comando. Por fim, você chama os comandos AWS CLI para criar um bucket do Amazon S3 e adicionar o arquivo como objeto ao bucket.

Pré-requisitos

Permissões do IAM

Você pode obter permissões para o AWS CloudShell anexando a seguinte política gerenciada da AWS à sua identidade do IAM (como usuário, função ou grupo):

  • AWSCloudShellFullAccess: fornece aos usuários acesso total ao AWS CloudShell seus atributos.

Neste tutorial, você também interage com Serviços da AWS. Mais especificamente, você interage com o Amazon S3 criando um bucket do S3 e adicionando um objeto a esse bucket. Sua identidade do IAM exige uma política que conceda, no mínimo, as permissões s3:CreateBucket e s3:PutObject.

Para obter mais informações, consulte Ações do Amazon S3 no Guia do usuário do Amazon Simple Storage Service.

Arquivo de exercícios

Esse exercício também envolve carregar e editar um arquivo que é executado como um programa a partir da interface da linha de comando. Abra um editor de texto na máquina local e adicione o seguinte trecho de código.

import sys x=int(sys.argv[1]) y=int(sys.argv[2]) sum=x+y print("The sum is",sum)

Salve o arquivo com o nome add_prog.py.

Conteúdo

Etapa 1: fazer login no AWS Management Console

Essa etapa envolve a inserção das suas informações de usuário do IAM para acessar o AWS Management Console. Se você já estiver no console, vá para a etapa 2.

  • Você pode acessar o AWS Management Console usando um URL de login de usuários do IAM ou acessando a página principal de login.

    IAM user sign-in URL
    • Abra um navegador e insira o seguinte URL de login. Substitua account_alias_or_id pelo alias ou ID da conta que seu administrador forneceu.

      https://account_alias_or_id.signin.aws.amazon.com/console/
    • Insira suas credenciais de login do IAM e escolha Sign in (Entrar).

    Fazer login como usuário do IAM
    Main sign-in page
    • Abra https://aws.amazon.com/console/.

    • Se você não fez login anteriormente usando esse navegador, a página principal de login será exibida. Escolha IAM user (Usuário do IAM), insira o alias ou o ID da conta e escolha Next (Próximo).

      Fazer login como usuário do IAM
    • Se você já fez login como usuário do IAM. Talvez o seu navegador se lembre do alias ou do ID da conta da Conta da AWS. Nesse caso, insira suas credenciais de login do IAM e escolha Sign in (Entrar).

      Fazer login como usuário do IAM
    nota

    Você também pode fazer login como usuário raiz. Essa identidade tem acesso completo a todos os Serviços da AWS e recursos na conta. Recomendamos não usar o usuário raiz para suas tarefas diárias, nem mesmo as administrativas. Em vez disso, siga as práticas recomendadas sobre utilização de usuário raiz somente para criar seu primeiro usuário do IAM.

Etapa 2: selecionar uma região, iniciar o AWS CloudShell e escolher um shell

Nesta etapa, você inicia o AWS CloudShell a partir da interface do console, escolhe uma Região da AWS disponível e alterna para o shell de sua preferência, por exemplo, Bash, PowerShell ou Z shell.

  1. Para escolher uma Região da AWS para trabalhar, acesse o menu Selecionar uma região e selecione uma AWS Region compatível para trabalhar. (As regiões disponíveis estão em destaque.)

    Importante

    Se você alternar entre regiões, a interface será atualizada e o nome da Região da AWS selecionada será exibido acima do texto da linha de comando. Todos os arquivos que você adiciona ao armazenamento persistente estão disponíveis somente nessa mesma Região da AWS. Se você alterar as regiões, diferentes armazenamentos e arquivos estarão acessíveis.

    Importante

    Se o CloudShell não estiver disponível na região selecionada quando você iniciar o CloudShell no Console Toolbar, no canto inferior esquerdo do console, a região padrão será definida como a região mais próxima da região selecionada. Você pode executar o comando que fornece permissões para gerenciar recursos em uma região diferente da região padrão. Para obter mais informações, consulte Trabalhar em Regiões da AWS.

    Exemplo

    Se você escolher Europa (Espanha) eu-south-2, mas o CloudShell não estiver disponível na Europa (Espanha) eu-south-2, a região padrão será definida como Europa (Irlanda) eu-west-1, que é a mais próxima da Europa (Espanha) eu-south-2.

    Você usará Service Quotas para a região padrão, Europa (Irlanda) eu-west-1 e a mesma sessão do CloudShell será restaurada em todas as regiões. A região padrão pode ser alterada e você será notificado na janela do navegador CloudShell.

  2. A partir do AWS Management Console, é possível iniciar o CloudShell escolhendo uma das opções a seguir:

    1. Na barra de navegação, clique no ícone do CloudShell.

    2. Na caixa Pesquisar, digite “CloudShell” e escolha CloudShell.

    3. No widget Visitado recentemente, escolha CloudShell.

    4. Escolha CloudShell no Console Toolbar, na parte inferior esquerda do console.

      • Para ajustar a altura da sua sessão do CloudShell, arraste =.

      • Para mudar sua sessão do CloudShell para tela cheia, clique no ícone Abrir na nova guia do navegador.

    Principais atributos na interface do AWS CloudShell.

    Quando o prompt de comando for exibido, o shell estará pronto para interação.

    nota

    Se você encontrar problemas que o impeçam de iniciar ou interagir com o AWS CloudShell, verifique as informações para identificar e resolver esses problemas emSolução de problemas de AWS CloudShell.

  3. Para escolher um shell pré-instalado com o qual trabalhar, digite o nome de programa no prompt da linha de comando.

    Bash

    bash

    Se você alternar para o Bash, o símbolo no prompt de comando será atualizado para $.

    nota

    Bash é o shell padrão que está sendo executado quando você inicia o AWS CloudShell.

    PowerShell

    pwsh

    Se você alternar para o PowerShell, o símbolo no prompt de comando será atualizado para PS>.

    Z shell

    zsh

    Se você alternar para o Z shell, o símbolo no prompt de comando será atualizado para %.

    Para obter informações sobre as versões pré-instaladas em seu ambiente de shell, consulte a tabela de shells na seção ambiente computacional do AWS CloudShell.

Etapa 3: fazer download de um arquivo do AWS CloudShell

nota

Esta opção não está disponível para ambientes de VPC.

Esta etapa orienta você no processo de download de um arquivo.

  1. Para baixar um arquivo, acesse Ações e escolha Baixar arquivo no menu.

    A caixa de diálogo Baixar arquivo é exibida.

  2. Na caixa de diálogo Baixar arquivo, insira o caminho do arquivo a ser baixado.

    Para especificar um caminho para o download de um arquivo.
    nota

    Você pode usar caminhos absolutos ou relativos ao especificar um arquivo para download. Com nomes de caminhos relativos, /home/cloudshell-user/ é adicionado automaticamente ao início por padrão. Portanto, para baixar um arquivo chamado mydownload-file, os dois caminhos a seguir são válidos:

    • Caminho absoluto: /home/cloudshell-user/subfolder/mydownloadfile.txt

    • Caminho relativo: subfolder/mydownloadfile.txt

  3. Escolha Baixar.

    Se o caminho do arquivo estiver correto, uma caixa de diálogo será exibida. Use essa caixa de diálogo para abrir o arquivo com o aplicativo padrão. Ou salve o arquivo em uma pasta na sua máquina local.

nota

A opção Download não está disponível quando você inicia o CloudShell no Console Toolbar. Você pode baixar um arquivo do console do CloudShell ou usar o navegador Chrome. Para obter mais informações sobre como baixar um arquivo, consulte Etapa 3: fazer download de um arquivo do AWS CloudShell.

Etapa 4: fazer o upload de um arquivo para o AWS CloudShell

nota

Esta opção não está disponível para ambientes de VPC.

Esta etapa descreve como fazer upload de um arquivo e, em seguida, movê-lo para um novo diretório em seu diretório inicial.

  1. Para verificar seu diretório de trabalho atual, no prompt, digite o seguinte comando:

    pwd

    Quando você pressiona Enter, o shell retorna seu diretório de trabalho atual (por exemplo, /home/cloudshell-user).

  2. Para fazer upload de um arquivo para esse diretório, acesse Ações e escolha Carregar arquivo no menu.

    A caixa de diálogo Carregar arquivo é exibida.

  3. Escolha Navegar.

  4. Na caixa de diálogo Upload de arquivo do seu sistema, selecione o arquivo de texto que você criou para este tutorial (add_prog.py) e escolha Abrir.

  5. Na caixa de diálogo Carregar arquivo, escolha Carregar.

    Uma barra de progresso rastreia o upload. Se o upload for bem-sucedido, uma mensagem confirmará que add_prog.py foi adicionado à raiz do seu diretório inicial.

  6. Para criar um diretório para o arquivo, digite o comando make directories: mkdir mysub_dir.

  7. Para mover o arquivo carregado da raiz do seu diretório inicial para o novo diretório, use o comando mv:

    mv add_prog.py mysub_dir.

  8. Para alterar seu diretório de trabalho para o novo diretório, digite cd mysub_dir.

    O prompt de comando é atualizado para indicar que você alterou seu diretório de trabalho.

  9. Para visualizar o conteúdo do diretório atual, mysub_dir, digite o comando ls.

    O conteúdo do diretório de trabalho está listado. Isso inclui o arquivo que você acabou de carregar.

Etapa 5: remover um arquivo do AWS CloudShell

Esta etapa descreve como remover um arquivo do AWS CloudShell.

  1. Para remover um arquivo do AWS CloudShell, use comandos de shell padrão, como rm (remover).

    rm my-file-for-removal

  2. Para remover vários arquivos que atendam aos critérios especificados, execute o comando find.

    O exemplo a seguir remove todos os arquivos que incluem o sufixo “.pdf” em seus nomes.

    find -type f -name '*.pdf' -delete
nota

Suponha que você pare de usar AWS CloudShell em uma Região da AWS específica. Em seguida, os dados que estão no armazenamento persistente dessa região são removidos automaticamente após um período especificado. Para obter informações, consulte Armazenamento persistente.

Etapa 6: criar um backup do diretório inicial

Esta etapa descreve como criar um backup do diretório inicial.

  1. Crie um arquivo de backup

    Crie uma pasta temporária fora do diretório inicial.

    HOME_BACKUP_DIR=$(mktemp --directory)

    Você pode usar uma das seguintes opções para criar um backup:

    1. Criar um arquivo de backup usando tar

      Para criar um arquivo de backup usando tar, insira o seguinte comando:

      tar \ --create \ --gzip \ --verbose \ --file=${HOME_BACKUP_DIR}/home.tar.gz \ [--exclude ${HOME}/.cache] \ // Optional ${HOME}/ echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.tar.gz"
    2. Criar um arquivo de backup usando zip

      Para criar um arquivo de backup usando zip, insira o seguinte comando:

      zip \ --recurse-paths \ ${HOME_BACKUP_DIR}/home.zip \ ${HOME} \ [--exclude ${HOME}/.cache/\*] // Optional echo "Home directory backed up to this file: ${HOME_BACKUP_DIR}/home.zip"
  2. Transferir o arquivo de backup para fora do CloudShell

    Você pode usar uma das opções a seguir para transferir o arquivo de backup para fora do CloudShell:

    1. Baixar o arquivo de backup em sua máquina local

      Você pode baixar o arquivo criado na etapa anterior. Para obter mais informações sobre como baixar um arquivo do CloudShell, consulte Baixar um arquivo do AWS CloudShell.

      Na caixa de diálogo do arquivo de download, insira o caminho do arquivo a ser baixado (por exemplo, /tmp/tmp.iA99tD9L98/home.tar.gz).

    2. Transferir o arquivo de backup para o S3

      Para gerar um bucket, insira este comando:

      aws s3 mb s3://${BUCKET_NAME}

      Use o AWS CLI para copiar o arquivo para o bucket do S3:

      aws s3 cp ${HOME_BACKUP_DIR}/home.tar.gz s3://${BUCKET_NAME}
      nota

      Taxas de transferência de dados podem ser aplicadas.

  3. Fazer backup diretamente em um bucket do S3

    Para fazer backup diretamente em um bucket do S3, insira o seguinte comando:

    aws s3 cp \ ${HOME}/ \ s3://${BUCKET_NAME} \ --recursive \ [--exclude .cache/\*] // Optional

Etapa 7: reiniciar uma sessão de shell

Esta etapa descreve como reiniciar uma sessão do shell.

nota

Como medida de segurança, se você não interagir com o shell usando o teclado ou o ponteiro por um longo período, a sessão será interrompida automaticamente. Sessões de longa execução também são interrompidas automaticamente. Para ter mais informações, consulte Sessões de shell.

  1. Para reiniciar uma sessão de shell, escolha Ações, Reiniciar .

    Você é notificado de que a reinicialização do AWS CloudShell interrompe todas as sessões ativas na atual Região da AWS.

  2. Para confirmar, escolha Reiniciar.

    Uma interface exibe uma mensagem de que o ambiente computacional do CloudShell está parando. Depois que o ambiente for interrompido e reiniciado, você poderá começar a trabalhar com a linha de comando em uma nova sessão.

    nota

    Em alguns casos, pode levar alguns minutos para que o ambiente seja reiniciado.

Etapa 8: excluir um diretório inicial da sessão de shell

Esta etapa descreve como excluir uma sessão do shell.

nota

Esta opção não está disponível para ambientes de VPC. Quando você reinicia um ambiente de VPC, seu diretório inicial é excluído.

Atenção

Excluir seu diretório inicial é uma ação irreversível em que todos os dados armazenados em seu diretório inicial são excluídos permanentemente. No entanto, considere essa opção nas seguintes situações:

  • Você modificou um arquivo incorretamente e não consegue acessar o ambiente computacional do AWS CloudShell. A exclusão do seu diretório inicial retorna o AWS CloudShell às configurações padrão.

  • Você deseja remover todos os seus dados do AWS CloudShell imediatamente. Se você parar de usar o AWS CloudShell em uma AWS Region, o armazenamento persistente será automaticamente excluído no final do período de retenção, a menos que você inicie o AWS CloudShell novamente na região.

Se você precisar de armazenamento de longo prazo para seus arquivos, considere um serviço como o Amazon S3 ou o CodeCommit.

  1. Para excluir uma sessão de shell, escolha Ações, Excluir.

    Você é notificado de que a exclusão do diretório inicial do AWS CloudShell exclui todos os dados atualmente armazenados em seu ambiente AWS CloudShell.

    nota

    Não é possível desfazer essa ação.

  2. Para confirmar a exclusão, insira excluir no campo de entrada de texto e selecione Excluir.

    O AWS CloudShell interrompe todas as sessões ativas na atual Região da AWS. Você pode criar um ambiente ou configurar um ambiente de VPC no CloudShell.

  3. Para criar um ambiente, escolha Abrir uma guia.

  4. Para criar um ambiente de VPC no CloudShell, escolha Criar um ambiente de VPC.

    Para sair manualmente das sessões do shell

    Com a linha de comando, você pode sair de uma sessão de shell e fazer logout usando o comando exit. Em seguida, pressione qualquer tecla para se reconectar e continuar usando o AWS CloudShell.

Etapa 9: editar o código do seu arquivo e executá-lo usando a linha de comando

Esta etapa demonstra como usar o editor Vim pré-instalado para trabalhar com um arquivo. Em seguida, execute esse arquivo como programa da linha de comando.

  1. Para editar o arquivo que você carregou na etapa anterior, insira o seguinte comando:

    vim add_prog.py

    A interface do shell é atualizada para exibir o editor do Vim.

  2. Para editar o arquivo no Vim, pressione a tecla I. Agora edite o conteúdo para que o programa some três números em vez de dois.

    import sys x=int(sys.argv[1]) y=int(sys.argv[2]) z=int(sys.argv[3]) sum=x+y+z print("The sum is",sum)
    nota

    Se você colar o texto no editor e tiver o atributo Safe Paste ativado, um aviso será exibido. O texto de várias linhas copiado pode conter scripts maliciosos. Com o atributo Safe Paste, é possível verificar o texto completo antes de colá-lo. Se você estiver convencido de que o texto é seguro, escolha Colar.

  3. Depois de editar o programa, pressione Esc para inserir o modo de comando Vim. Em seguida, insira o comando :wq para salvar o arquivo e sair do editor.

    nota

    Se você é novo no modo de comando Vim, inicialmente poderá achar difícil alternar entre o modo de comando e o modo de inserção. O modo de comando é usado ao salvar arquivos e sair do aplicativo. O modo de inserção é usado ao inserir um novo texto. Para entrar no modo de inserção, pressione I e, para entrar no modo de comando, pressione Esc. Para obter mais informações sobre o Vim e outras ferramentas que estão disponíveis no AWS CloudShell, consulte Ferramentas de desenvolvimento e utilitários de shell.

  4. Na interface da linha de comando principal, execute o programa a seguir e especifique três números para entrada. A sintaxe é a seguinte.

    python3 add_prog.py 4 5 6

    A linha de comando exibe a saída do programa: The sum is 15.

Etapa 10: usar AWS CLI para adicionar o arquivo como objeto em um bucket do Amazon S3

Nesta etapa, você cria um bucket do Amazon S3 e, em seguida, usa o método PutObject para adicionar o arquivo de código como objeto nesse bucket.

nota

Na maioria dos casos, você pode Como usar o CodeCommit no AWS CloudShell para confirmar um arquivo de software em um repositório com controle de versão. Este tutorial mostra como você pode usar a AWS CLI no AWS CloudShell para interagir com outros serviços da AWS. Usando este método, não é necessário baixar nem instalar nenhum recurso adicional. Além disso, como você já está autenticado no shell, não precisará configurar as credenciais antes de fazer chamadas.

  1. Para criar um bucket em uma Região da AWS especificada, insira o seguinte comando:

    aws s3api create-bucket --bucket insert-unique-bucket-name-here --region us-east-1
    nota

    Se você estiver criando um bucket fora da us-east-1 Region, adicione create-bucket-configuration com o parâmetro LocationConstraint para especificar a região. Veja a seguir um exemplo de sintaxe.

    $ aws s3api create-bucket --bucket my-bucket --region eu-west-1 --create-bucket-configuration LocationConstraint=eu-west-1

    Se a chamada tiver êxito, a linha de comando exibirá uma resposta do serviço semelhante à seguinte saída.

    { "Location": "/insert-unique-bucket-name-here" }
    nota

    Se você não seguir as regras de nomeação de buckets, o erro a seguir será exibido: Ocorreu um erro (InvalidBucketName) ao chamar a operação CreateBucket: o bucket especificado não é válido.

  2. Para fazer upload de um arquivo e adicioná-lo como um objeto ao bucket que você acabou de criar, chame o método PutObject.

    aws s3api put-object --bucket insert-unique-bucket-name-here --key add_prog --body add_prog.py

    Depois que o objeto é carregado no bucket do Amazon S3, a linha de comando exibe uma resposta do serviço semelhante à seguinte saída:

    {"ETag": "\"ab123c1:w:wad4a567d8bfd9a1234ebeea56\""}

    O ETag é o hash do objeto que foi armazenado. Você pode usar esse hash para verificar a integridade do objeto carregado no Amazon S3.