# Criar regra de firewall no EC2

Por padrão, quando uma instância é criada no EC2, lhe é atribuída uma regra de firewall, que no EC2 se chamam **Security Groups**.&#x20;

A regra *default* é que a instância fica com todas as portas abertas para toda a internet. Em termos de segurança, não queremos deixar nosso servidor tão exposto assim.&#x20;

Portanto, o único acesso inicial que queremos dar à nossa instância *é na porta 22 para que possamos fazer SSH* e entrar na máquina.&#x20;

Com isto em mente, queremos criar nossa instância com um security group customizado por nós onde o único acesso é através da porta 22, deixando todas as outras fechadas por default.&#x20;

#### Criando um security group via CLI

Podemos criar quantos security groups (sg) quisermos no EC2, inclusive adicionar e remover regras de firewall a estes security groups.&#x20;

```bash
aws --profile personal ec2 \
    create-security-group \
    --group-name instances-sg \
    --description "Security Group for EC2 instances" \
    --tag-specifications "ResourceType=security-group,Tags=[{Key=Name,Value=instances-sg}]"
```

A opção `tag-specifications` é opcional e muito útil para definirmos labels e nomes para nossos recursos na AWS, para uma melhor visualização e filtragem na interface web.

No output, deverá ter toda a informação do security group, incluindo o `SecurityGroupId`.

#### Adicionando regras de ingress no security group

Nosso security group está criado mas não possui nenhuma regra. Ele é completamente *fechado por default*. Precisamos abrir o necessário, no nosso caso, a porta 22, utilizando a ação `authorize-security-group-ingress`:

```bash
aws --profile personal ec2 \
    authorize-security-group-ingress \
    --group-id <g-group-id> \ <---------- mudar para o ID do security group
    --protocol tcp --port 22 --cidr 0.0.0.0/0
```

A opção `--protocol` define o tipo de protocolo, no caso TCP; a porta 22; e o bloco [CIDR](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) que, no nosso exemplo, permite qualquer interface de rede da internet, `0.0.0.0/0.`

#### E pronto,&#x20;

temos um security group devidamente criado a configurado, pronto para ser utilizado na nossa futura instância virtual.


---

# 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-regra-de-firewall-no-ec2.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.
