# Configurar AWS CLI

Após termos uma conta devidamente criada, a seguir é necessário que façamos a instalação e configuração do executável [AWS CLI](https://aws.amazon.com/cli/) na linha de comando do terminal.&#x20;

### Instalação

Siga [este passos](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) para instalação de acordo com teu sistema operacional.

### Configuração

Vamos começar por executar `aws configure --profile personal`. O CLI irá pedir a chave de acesso e a senha, que estão no `.csv` gerado no momento da criação do IAM user.

Irá pedir também a `region` e `output`, que podem ser `us-east-1` (North Virginia) e `json`, respectivamente.&#x20;

No fim, o CLI deverá ter criado os arquivos `~./.aws/credentials` e `~/.aws/config`. Pode conferir com o comando `cat`:

```bash
leandronsp:~ $ cat ~/.aws/credentials 
[personal]
aws_access_key_id = AKIA******Y9
aws_secret_access_key = aBTL***************DroW
```

```bash
leandronsp:~ $ cat ~/.aws/config
[profile personal]
region = us-east-1
output = json
```

### Utilizando a API do AWS CLI

A [API do AWS CLI](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/index.html) é vasta, cobrindo quase todos senão todos os serviços existentes na AWS. Praticamente tudo o que conseguimos fazer pela console web, deveríamos também conseguir pelo AWS CLI.&#x20;

Isto abre portas para todo um mundo de automação, e sendo esta capacidade não exclusiva apenas à AWS, outros cloud-providers como GCP e Microsoft Azure  possuem também seus respectivos CLI's com acesso a todos os serviços existentes.&#x20;

Se você digitar `aws` no terminal, verá que ele mostra a utilização do comando, que tem o seguinte padrão:

```bash
aws <command> <subcommand>
```

Onde "command" representa um serviço específico da AWS (como `ec2`, `s3`, etc) e "subcommand" é uma das ações disponíveis para aquele serviço em específico.

#### Listar as instâncias virtuais no EC2

```bash
aws --profile personal ec2 describe-instances

### note que o "profile", quando passado como opção, 
### vai utilizar as credenciais [personal] do arquivo 
### ~/.aws/credentials. 
#
### caso queira omitir, tem que executar o `aws configure` sem o profile,
### para que seja utilizado como profile default.
```

Output:

```bash
{
    "Reservations": []
}
```

No nosso caso, ainda não temos nenhuma instância virtual criada, pelo que será o objetivo das próximas sessões.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aws101.leandronsp.com/configurar-aws-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
