Skip to content

Grupo-G03-4SOAT-FIAP/Health-Med-iac

Repository files navigation

Health&Med

Health&Med

Infrastructure as code (IaC)

Terraform Apply Terraform Plan Quality Gate Status Security Rating

Projeto desenvolvido durante o Hackathon da Pós Tech em Software Architecture da FIAP.

Terraform

Ver no Terraform Cloud↗️

Pré-requisitos

Você deve ter instalado o Terraform CLI, a AWS CLI, o kubectl e possuir uma conta na AWS.

Antes de começar, você precisa definir duas variáveis de ambiente em seu computador: AWS_ACCESS_KEY_ID e AWS_SECRET_ACCESS_KEY

export AWS_ACCESS_KEY_ID=???
export AWS_SECRET_ACCESS_KEY=???

Substitua os sinais de interrogação ??? acima pelas suas credenciais do IAM da AWS.

Tip

Você pode obter o ID da chave de acesso do seu usuário do IAM na AWS e sua respectiva Chave de acesso secreta na seção "Minhas credenciais de segurança" no console da AWS, conforme instruções na página Managing access keys for IAM users.

Como aplicar o plano de execução do Terraform manualmente

  1. Clone este repositório;
  2. Navegue até a pasta raiz do projeto;
  3. Use o comando terraform init para baixar e instalar os módulos e providers;
  4. Use o comando terraform fmt -recursive para formatar e identar os arquivos .tf
  5. Use o comando terraform validate para validar os arquivos de configuração;
  6. Use o comando terraform plan para revisar o plano de execução;
  7. Use o comando terraform apply para aplicar o plano de execução;

Você também pode fazer terraform apply --auto-approve ou terraform destroy --auto-approve para aplicar o plano ou destruir a infra imediatamente, pulando a aprovação (não recomendado).

Como provisionar somente um módulo específico?

Para provisionar somente um módulo específico, use a opção -target:

terraform init
terraform apply -target="module.cognito_idp"
terraform destroy -target="module.cognito_idp"
Como remover um recurso do tfstate?

Para remover um recurso do terraform.tfstate use o comando abaixo:

terraform state rm "module.cluster_k8s.kubernetes_namespace_v1.health-med"

Isso é útil por exemplo quando o Terraform por algum motivo não é capaz de fazer a destruição de um recurso específico com terraform destroy, impedindo a destruição dos demais.

Para excluir a infraestrutura provisionada pelo Terraform, use o comando terraform destroy

Você também pode visualizar o tfstate através do comando terraform show

Projetos relacionados

API do Backend
https://github.com/Grupo-G03-4SOAT-FIAP/Health-Med-api

Requisitos

Terraform 1.7.3, aws-cli/2.15.10

SonarCloud