

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á.

# Começando com AWS CloudShell
<a name="getting-started"></a>

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

Primeiro, você faz login no Console de gerenciamento da AWS e seleciona um Região da AWS. Em seguida, você inicia CloudShell em uma nova janela do navegador e em 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 AWS CLI comandos para criar um bucket do Amazon S3 e adicionar seu arquivo como um objeto ao bucket.

## Pré-requisitos
<a name="getting-started-prerequesities"></a>

**Permissões do IAM**

Você pode obter permissões AWS CloudShell anexando a seguinte política AWS gerenciada à sua identidade do IAM (como usuário, função ou grupo):
+ **AWSCloudShellFullAccess**: fornece aos usuários acesso total AWS CloudShell a seus recursos.

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](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-id-based-policies-actions) 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
<a name="getting-started-contents"></a>
+ [Etapa 1: faça login em Console de gerenciamento da AWS](#start-session)
+ [Etapa 2: selecione uma região AWS CloudShell, inicie e escolha um shell](#launch-region-shell)
+ [Etapa 3: baixar um arquivo do AWS CloudShell](#download-file)
+ [Etapa 4: fazer upload de um arquivo para AWS CloudShell](#folder-upload)
+ [Etapa 5: Remover um arquivo do AWS CloudShell](#remove-files)
+ [Etapa 6: criar um backup do diretório inicial](#home-directory-backup)
+ [Etapa 7: reiniciar uma sessão de shell](#restart-shell-session)
+ [Etapa 8: excluir um diretório inicial da sessão de shell](#delete-shell-session)
+ [Etapa 9: editar o código do seu arquivo e executá-lo na linha de comando](#edit-run)
+ [Etapa 10: Use AWS CLI para adicionar o arquivo como um objeto em um bucket do Amazon S3](#s3-put)

## Etapa 1: faça login em Console de gerenciamento da AWS
<a name="start-session"></a>

Essa etapa envolve a inserção das informações do usuário do IAM para acessar Console de gerenciamento da AWS o. Se você já estiver no console, vá para a [etapa 2](#launch-region-shell). 
+ Você pode acessar o Console de gerenciamento da AWS usando uma 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).

------
#### [ Main sign-in page ]
  + Abra o [https://aws.amazon.com/console/](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)**.
  + 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).

------
**nota**  
Você também pode fazer login como [usuário raiz](https://docs.aws.amazon.com/IAM/latest/UserGuide/). Essa identidade tem acesso completo a todos Serviços da AWS os recursos da 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: selecione uma região AWS CloudShell, inicie e escolha um shell
<a name="launch-region-shell"></a>

Nesta etapa, você inicia a CloudShell partir da interface do console, escolhe um disponível Região da AWS e alterna para o shell de sua preferênciaBash, como PowerShell, ouZ shell.

1. Para escolher uma Região da AWS para trabalhar, acesse o menu **Selecionar uma região** e selecione uma [AWS região suportada](supported-aws-regions.md) 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 CloudShell não estiver disponível na região selecionada quando você iniciar CloudShell noConsole 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 [Trabalhando em Regiões da AWS](working-with-aws-cloudshell.md#region-selection).  

**Example**  
**Exemplo**  
Se você escolher Europa (Espanhaeu-south-2) CloudShell , mas não estiver disponível na Europa (Espanhaeu-south-2), a região padrão será definida como Europa (Irlandaeu-west-1), que é a mais próxima da Europa (Espanha). eu-south-2   
Você usará as cotas de serviço para a região padrão, Europa (Irlanda), eu-west-1 e a mesma CloudShell sessão será restaurada em todas as regiões. A região padrão pode ser alterada e você será notificado na janela do CloudShell navegador.

1. A partir do Console de gerenciamento da AWS, você pode iniciar CloudShell escolhendo uma das seguintes opções:

   1. Na barra de navegação, escolha o ícone **CloudShell**.

   1. Na caixa **Pesquisar**, digite “CloudShell” e escolha **CloudShell**.

   1. No widget **Visitado recentemente**, escolha **CloudShell**.

   1. Escolha **CloudShell**noConsole Toolbar, no canto inferior esquerdo do console. 
      + Você pode ajustar a altura da CloudShell sessão `=` arrastando. 
      + Você pode mudar sua CloudShell sessão para uma tela cheia clicando **em Abrir na nova guia do navegador**.

   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 sucesso AWS CloudShell, verifique as informações para identificar e resolver esses problemas em[Solução de problemas AWS CloudShell](troubleshooting.md).

1. 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 AWS CloudShell.

------
#### [ PowerShell ]

   `pwsh`

   Se você mudar para 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](vm-specs.md#installed-shells) de ambiente [ CloudShell computacional da AWS](vm-specs.md).

## Etapa 3: baixar um arquivo do AWS CloudShell
<a name="download-file"></a>

**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.

1. Na caixa de diálogo **Baixar arquivo**, insira o caminho do arquivo a ser baixado.
**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`

1. 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 CloudShell noConsole Toolbar. Você pode baixar um arquivo do CloudShell console ou usando o navegador Chrome. 

## Etapa 4: fazer upload de um arquivo para AWS CloudShell
<a name="folder-upload"></a>

**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.<a name="create-folder-upload-file"></a>

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`). 

1. 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.

1. Escolha **Navegar**.

1. 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**.

1. 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.

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

1. 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`.

1. 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.

1. 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
<a name="remove-files"></a>

Esta etapa descreve como remover um arquivo do AWS CloudShell.<a name="remove-files-proc"></a>

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

   `rm my-file-for-removal`

1. 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 um específico Região da AWS. 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](limits.md#persistent-storage-limitations).

## Etapa 6: criar um backup do diretório inicial
<a name="home-directory-backup"></a>

Esta etapa descreve como criar um backup do diretório inicial.<a name="home-directory-backup-proc"></a>

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"
      ```

   1. **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"
      ```

1. **Transferir o arquivo de backup para fora CloudShell** 

   Você pode usar uma das seguintes opções para transferir o arquivo de backup para fora 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](#download-file).

      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`).

   1. **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.

1. **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
<a name="restart-shell-session"></a>

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 obter mais informações, consulte [Sessões de shell](limits.md#session-lifecycle-limitations).

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

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

1. Para confirmar, escolha **Reiniciar**.

   Uma interface exibe uma mensagem de que o ambiente CloudShell computacional 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
<a name="delete-shell-session"></a>

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 AWS CloudShell computacional. A exclusão do seu diretório pessoal retorna AWS CloudShell às configurações padrão.
Você deseja remover todos os seus dados AWS CloudShell imediatamente. Se você parar de usar AWS CloudShell em uma AWS região, o armazenamento persistente [será automaticamente excluído no final do período de retenção](limits.md#persistent-storage-limitations), a menos que você inicie AWS CloudShell novamente na região.
Se você precisar de armazenamento de longo prazo para seus arquivos, pense em um serviço, como o Amazon S3. 

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

   Você é notificado de que a exclusão do diretório AWS CloudShell inicial exclui todos os dados atualmente armazenados em seu AWS CloudShell ambiente.
**nota**  
Não será possível desfazer essa ação.

1. 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 novo ambiente ou configurar um ambiente CloudShell VPC.

1. Para criar um ambiente, escolha **Abrir uma guia**.

1. Para criar um ambiente de CloudShell VPC, 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
<a name="edit-run"></a>

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.

1. 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](customizing-cshell.md#safe-paste-enable) 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**.

1. 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 Vim e outras ferramentas disponíveis em AWS CloudShell, consulte[Ferramentas de desenvolvimento e utilitários de shell](vm-specs.md#utilities-installed).

1. 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: Use AWS CLI para adicionar o arquivo como um objeto em um bucket do Amazon S3
<a name="s3-put"></a>

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

**nota**  
Este tutorial mostra como você pode usar o AWS CLI in 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 um determinado local Região da AWS, digite 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 intervalos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html#bucketnamingrules), o seguinte erro será exibido: Ocorreu um erro (InvalidBucketName) ao chamar a CreateBucket operação: O intervalo especificado não é válido.

1. 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](https://repost.aws/knowledge-center/data-integrity-s3).

## Tópicos relacionados
<a name="related-topics-started"></a>
+ [Gerencie AWS serviços da CLI em CloudShell](working-with-aws-cli.md)
+ [Copiar vários arquivos entre sua máquina local e CloudShell](multiple-files-upload-download.md)
+ [AWS CloudShell Conceitos](working-with-aws-cloudshell.md)
+ [Personalizando sua experiência AWS CloudShellUsando AWS CloudShell na Amazon VPC](customizing-cshell.md)