# Criar uma conta na AWS

Para o desenvolvimento do projeto, vamos utilizar o ambiente da AWS para configuração dos servidores e serviços.&#x20;

### Registro e informações pessoais

Começamos por [criar uma conta](https://portal.aws.amazon.com/billing/signup#/start/email) e seguir os passos para preencher informações pessoais.

### Forma de pagamento

Deve-se escolher uma forma de pagamento para cobrança da utilização dos serviços, entretanto a AWS disponibiliza um período "trial" chamado **Free Tier** onde, durante 12 meses, alguns serviços específicos não são cobrados. [Consulte aqui](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/billing-free-tier.html) mais informações sobre o free tier.

### Adicionando segurança à conta

Uma vez criada a conta raiz, o acesso é feito através do email escolhido. A conta raiz tem acesso *ilimitado* aos serviços da AWS e portanto deve ser protegida com máximo cuidado.&#x20;

1. Escolher uma senha forte: a escolha da senha é muito importante. É recomendado o uso de [password managers](https://en.wikipedia.org/wiki/Password_manager) como [bitwarden](https://bitwarden.com/), [1Password](https://1password.com/) entre outros. E não apenas para AWS, mas para armazenamento seguro de tuas passwords pessoais em qualquer serviço na internet.
2. No menu "Security Credentials", há uma opção para habilitar uso de [MFA](https://en.wikipedia.org/wiki/Multi-factor_authentication). Não conte com a sorte e habilite-o, principalmente em uma conta que tem acesso ilimitado aos recursos que serão cobrados no *teu* cartão de crédito.

### Criando um user "devops" no IAM

Nosso intuito é que, através da linha de comando, possamos utilizar um [CLI](https://aws.amazon.com/cli/) que crie, atualize e apague recursos na nossa conta da AWS.&#x20;

Para tanto, é necessário que o user associado à conta tenha acesso "programático" (*programmatic access),* através de uma chave segura de acesso e uma senha para esta chave.&#x20;

Podemos configurar a chave e senha ainda no menu "Security Credentials" do root user, mas não queremos que este user da conta tenha este tipo de acesso, pois caso as credenciais sejam roubadas, a conta fica comprometida pois este user tem acesso ilimitado.&#x20;

Para resolver isto, é recomendado que criemos **outro user** com permissões limitadas a um conjunto de serviços na AWS. A AWS disponibiliza de um serviço chamado [IAM](https://us-east-1.console.aws.amazon.com/iamv2/home#/home) que permite criar diversos users e definir permissões específicas para cada user.

Primeiro, vamos adicionar um user que terá acesso programático:

![](/files/6GVz88TpdauODYT7V4Ek)

Agora, devemos configurar as permissões específicas para este user. No nosso caso, precisa apenas de acesso full ao [EC2](https://aws.amazon.com/pt/ec2/):

![](/files/rfa4gSpgUlqLc1BxxNnK)

Um arquivo `.csv` vai ser gerado. Devemos guardar o arquivo em segurança, pelo que dentro dele temos a password inicial para acesso web a este user bem como as credenciais do CLI.

Após o user ser criado, e ainda na console web da AWS, devemos fazer o logout do root por segurança, e realizar o primeiro login com o novo user, utilizando a password gerada no arquivo CSV.

### Adicionando segurança à conta do IAM user

Assim como fizemos na conta raiz, é importante também escolher uma senha forte para o IAM user bem como habilitar MFA (multi-factor).

#### E pronto,

temos uma conta AWS devidamente criada, segura e com acesso limitado por meio de user criado no IAM.


---

# 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/criar-uma-conta-na-aws.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.
