> For the complete documentation index, see [llms.txt](https://aws101.leandronsp.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://aws101.leandronsp.com/criar-uma-conta-na-aws.md).

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