> ## Documentation Index
> Fetch the complete documentation index at: https://docs.strattum.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Preparar ferramentas e acessos na AWS

> Confira ferramentas, autenticação e conectividade antes do provisionamento acompanhado pela Strattum.

Faça estas verificações no computador ou ambiente em que você executará o Terraform. O objetivo é chegar à sessão com a Strattum pronto para provisionar, sem precisar instalar ferramentas ou resolver acessos durante a reunião.

Você precisa ter o ID da conta dedicada, a região acordada e o acesso liberado pela equipe responsável pela AWS na sua organização.

## 1. Ferramentas

Siga as instruções oficiais para seu sistema operacional:

> **[Instalar a AWS CLI v2](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)**
>
> Instruções da AWS para Windows, macOS e Linux.

> **[Instalar o Terraform](https://developer.hashicorp.com/terraform/install)**
>
> Instruções da HashiCorp. Use Terraform 1.16.3 ou superior.

Depois da instalação, abra um terminal e execute:

```shell theme={null}
aws --version
terraform version
```

| Verificação | Resultado esperado |
| - | - |
| AWS CLI | A saída começa com `aws-cli/2.`. |
| Terraform | A primeira linha mostra `Terraform v1.16.3` ou uma versão superior. Não precisa ser exatamente 1.16.3. |

Se o comando não for encontrado, reabra o terminal. Persistindo o erro, confira o `PATH` conforme as instruções oficiais de instalação.

## 2. Autenticação

Entrar no console pelo navegador não autentica automaticamente seu terminal. Use o mecanismo de acesso definido pela sua organização.

> **Entrar com SSO — IAM Identity Center**
>
> Antes de começar, peça à equipe responsável:
>
> * A URL de acesso SSO.
> * A região do IAM Identity Center, que pode ser diferente da região da instalação.
> * A conta e a função liberadas para o provisionamento.
>
> #### 1. Configure o perfil
>
> Se ainda não tem um perfil configurado, execute:
>
> ```shell theme={null}
> aws configure sso --profile strattum-install
> ```
>
> Siga as instruções do assistente e conclua o login no navegador. Escolha a conta dedicada à instalação e a função liberada para o provisionamento. Ao configurar a região padrão dos comandos, use a região acordada para a instalação.
>
> #### 2. Inicie a sessão
>
> Para entrar ou renovar a sessão desse perfil:
>
> ```shell theme={null}
> aws sso login --profile strattum-install
> ```
>
> `strattum-install` é um nome de exemplo. Se você já usa outro perfil, substitua esse nome nos comandos do guia.
>
> Consulte o [guia de configuração SSO da AWS](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sso.html) para acompanhar as etapas do assistente.

> **Usar outro mecanismo de acesso**
>
> Se sua organização usa uma função assumida, credenciais temporárias ou um ambiente de execução com identidade própria, siga as instruções da equipe responsável pela conta.
>
> Quando o acesso for por perfil, use o nome desse perfil nos comandos abaixo. Se a identidade já estiver disponível no ambiente, omita `--profile strattum-install`.
>
> Credenciais temporárias podem exigir um token de sessão além da chave e do segredo. Confira também a validade da sessão. Não é necessário criar chaves permanentes para seguir este guia.
>
> Veja as [formas de autenticação da AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-authentication.html).

## 3. Conta e identidade

No mesmo terminal em que você executará o provisionamento, rode:

```shell theme={null}
aws sts get-caller-identity --profile strattum-install --output json --no-cli-pager
```

Exemplo ilustrativo de resposta:

```json theme={null}
{
  "UserId": "EXEMPLO:sua-sessao",
  "Account": "123456789012",
  "Arn": "arn:aws:sts::123456789012:assumed-role/FuncaoDeProvisionamento/sua-sessao"
}
```

Confira o campo **Account** com o ID informado à Strattum. Confira também se o **Arn** corresponde à identidade ou função combinada com sua equipe. Se a conta estiver diferente, corrija o perfil antes de continuar.

> [!NOTE]
>
> Esse comando confirma a identidade usada e o acesso ao STS. Ele não comprova permissões para criar recursos com CloudFormation ou Terraform.

### Identidade no Terraform

A opção `--profile` vale para o comando AWS CLI em que foi usada. Ela não seleciona, por si só, o perfil do Terraform.

Para um ambiente que utiliza perfis AWS, selecione o perfil no terminal da sessão:

```bash macOS / Linux theme={null}
export AWS_PROFILE=strattum-install
aws sts get-caller-identity --output json --no-cli-pager
```

```powershell Windows PowerShell theme={null}
$env:AWS_PROFILE = "strattum-install"
aws sts get-caller-identity --output json --no-cli-pager
```

Confira a conta novamente. Credenciais definidas em variáveis de ambiente podem ter precedência sobre o perfil. Se o resultado mudar, veja o FAQ antes de prosseguir. Configurações explícitas de autenticação no pacote também devem ser conferidas com a Strattum.

## 4. Região e conectividade

Substitua `us-east-1` pela região acordada para sua instalação e repita a consulta usando o endpoint regional:

```shell theme={null}
aws sts get-caller-identity --region us-east-1 --output json --no-cli-pager
```

Uma resposta válida confirma que esse terminal conseguiu autenticar e se comunicar com o STS naquela região. Ela não testa todos os serviços usados pelo pacote.

Se houver VPN, proxy ou regras de saída, faça a verificação com a mesma conexão que será usada na sessão. Alinhe com sua equipe de rede o acesso HTTPS aos serviços AWS exigidos pela instalação e às fontes de download de módulos e providers do Terraform.

Você também pode conferir o acesso HTTPS ao registro público de providers:

```bash macOS / Linux theme={null}
curl --connect-timeout 10 --max-time 30 -I https://registry.terraform.io/.well-known/terraform.json
```

```powershell Windows PowerShell theme={null}
curl.exe --connect-timeout 10 --max-time 30 -I https://registry.terraform.io/.well-known/terraform.json
```

O esperado é uma resposta HTTP bem-sucedida, sem erro de DNS, timeout ou certificado. Esse teste cobre apenas esse endereço; downloads podem usar outros domínios. A lista necessária depende do pacote e será conferida com a Strattum.

## 5. Pacote e permissões

| Preparação | Antes da sessão |
| - | - |
| **Pacote** | Baixe e extraia o arquivo entregue pela Strattum, incluindo o `package.zip` interno quando presente. |
| **README** | Localize o README e confira os requisitos da entrega. |
| **Permissões** | Confirme com sua equipe e a Strattum que a função usada pode executar as etapas de CloudFormation e Terraform do pacote. |
| **Contato técnico** | Tenha o contato de quem pode resolver bloqueios de IAM, políticas da organização ou rede. |

Não há um comando único neste guia que garanta todas as permissões de provisionamento. Elas dependem dos recursos, das políticas da conta e das restrições da organização.

Os comandos de inicialização e execução do pacote serão seguidos pelo README durante a sessão acompanhada. `terraform validate` verifica a configuração, mas não comprova permissões AWS nem garante que o provisionamento funcionará.

## Checklist de preparação

| Verificação | Resultado esperado |
| - | - |
| **Ferramentas** | AWS CLI v2 e Terraform ≥ 1.16.3 respondem no terminal. |
| **Identidade** | `get-caller-identity` retorna a conta e a identidade esperadas. |
| **Região** | A região de instalação foi confirmada com a Strattum. |
| **Conectividade** | Os testes funcionam na rede que será usada; liberações adicionais foram alinhadas. |
| **Permissões** | A função e as restrições de provisionamento foram conferidas com as equipes responsáveis. |
| **Arquivos** | Pacote extraído e README disponível. |

Se algum item estiver pendente, avise antes da sessão. Refaça a consulta de identidade no dia da reunião: sessões temporárias podem expirar entre a preparação e a execução.

## Solução de problemas

> **O terminal não encontra aws ou terraform**
>
> Reabra o terminal após a instalação e repita os comandos de versão. Se continuar, confira se a pasta do executável está no `PATH`. Consulte o guia oficial correspondente à ferramenta e ao seu sistema operacional.

> **Instalei o Terraform, mas aparece uma versão antiga**
>
> Pode haver mais de uma instalação no computador. Localize o executável usado:
>
> ```bash macOS / Linux theme={null}
> command -v terraform
> terraform version
> ```
>
> ```powershell Windows PowerShell theme={null}
> Get-Command terraform -All
> terraform version
> ```
>
> Ajuste a ordem do `PATH` para usar a instalação com versão 1.16.3 ou superior. Não é necessário fazer downgrade de uma versão superior apenas para igualar o exemplo.

> **Consigo entrar no console, mas a CLI diz Unable to locate credentials**
>
> O login do navegador não configura o terminal. Configure o perfil pelo mecanismo da sua organização. No SSO, use `aws configure sso --profile strattum-install` e depois `aws sso login --profile strattum-install`.

> **A sessão expirou ou aparece ExpiredToken**
>
> Para SSO, execute novamente `aws sso login --profile strattum-install`. Para outro mecanismo, renove as credenciais conforme o fluxo da sua organização. Depois repita `get-caller-identity`.

> **O perfil não existe ou a conta retornada está errada**
>
> Liste os perfis disponíveis:
>
> ```shell theme={null}
> aws configure list-profiles
> ```
>
> Use o perfil correto ou refaça sua configuração. Confira o campo `Account` antes de qualquer provisionamento. A região do SSO não determina qual conta será usada.

> **Com --profile funciona, mas sem ele aparece outra identidade**
>
> Confira `AWS_PROFILE` e a existência de variáveis de credenciais na sessão. Para listar apenas os nomes, sem mostrar seus valores:
>
> ```bash macOS / Linux theme={null}
> printenv | cut -d= -f1 | grep '^AWS_'
> ```
>
> ```powershell Windows PowerShell theme={null}
> Get-ChildItem Env:AWS_* | Select-Object -ExpandProperty Name
> ```
>
> Variáveis como `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY` e `AWS_SESSION_TOKEN` podem selecionar outra identidade. Abra uma sessão de terminal sem credenciais herdadas ou ajuste o ambiente com sua equipe. Se o acesso depende dessas variáveis, não as remova sem entender o fluxo. Selecione o perfil e repita a consulta sem `--profile`.

> **Aparece AccessDenied ou UnauthorizedOperation**
>
> Autenticar não garante permissão para provisionar. Registre a operação negada, a identidade usada e a mensagem de erro para análise com a Strattum e a equipe AWS. Políticas IAM, permission boundaries e políticas da organização podem limitar o acesso. Não amplie permissões indiscriminadamente para contornar o erro.

> **Aparece timeout, erro de DNS ou Could not connect to the endpoint URL**
>
> Confira a região, a conexão VPN, o proxy e as regras de saída. Repita o teste no ambiente que será usado na sessão. Envie à equipe de rede o endereço que falhou e a mensagem de erro. Acesso ao console pelo navegador não prova que o terminal consegue alcançar os mesmos serviços.

> **Aparece SSL validation failed ou erro de certificado**
>
> Redes com inspeção TLS podem exigir a instalação da cadeia de certificados corporativa. Peça à equipe de rede a configuração adequada para AWS CLI e ferramentas de download. Não use `--no-verify-ssl` nem `curl -k` como solução.

> **O Terraform não consegue baixar um provider ou módulo**
>
> Confira o endereço indicado no erro, as regras de rede e a extração completa do pacote. Use o README entregue para identificar dependências. Preserve os arquivos de lock e não execute `terraform init -upgrade` para tentar resolver um bloqueio de download sem alinhar com a Strattum.

Ao pedir ajuda, informe sistema operacional, versões das ferramentas, etapa e mensagem de erro. Não envie chaves, tokens ou o conteúdo de arquivos de credenciais.

> **[Voltar ao deployment na AWS](https://docs.strattum.ai/getting-started/installation-aws.md#4-provisionar-com-a-strattum)**
>
> Com a preparação concluída, siga para o provisionamento acompanhado.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.