Compreender as APIs Cloud de Confiance by S3NS e o Terraform

Este guia destina-se a esclarecer como o Terraform interage com as APIs Cloud de Confiance by S3NS (ao diferenciar entre APIs públicas e privadas) e explicar conceitos importantes, como a ativação de APIs e a importação de recursos. Esta compreensão é fundamental para gerir eficazmente os seus recursos com o Terraform e evitar erros comuns. Cloud de Confiance by S3NS

APIs públicas versus privadas Cloud de Confiance by S3NS

Cloud de Confiance by S3NS Os serviços expõem várias APIs que permitem que as aplicações e as ferramentas (como o Terraform) interajam com os recursos e os geram. Estas APIs dividem-se, de forma geral, em duas categorias:

APIs públicas

Finalidade: estas são as interfaces principais para os clientes e as ferramentas criarem, configurarem e gerirem Cloud de Confiance by S3NS recursos (por exemplo, Instâncias do Compute Engine, contentores do Cloud Storage e conjuntos de dados do BigQuery).

Exposição: as APIs públicas estão bem documentadas, têm pontos finais REST definidos e destinam-se ao consumo externo. São as APIs com as quais o fornecedor do Terraform foi criado para interagir.google

Exemplos: compute.googleapis.com, storage.googleapis.com, bigquery.googleapis.com.

APIs privadas (internas)

Finalidade: estas APIs são internas aos serviços Cloud de Confiance by S3NS , usadas pela própria Google para a operação, a orquestração e o aprovisionamento internos dos respetivos serviços geridos. Expõem funcionalidades que não se destinam à interação ou gestão direta do cliente.

Exposição: geralmente, as APIs privadas não são documentadas publicamente, não têm pontos finais externos estáveis e não são concebidas para acesso direto por ferramentas de terceiros, como o Terraform. São um detalhe de implementação do serviço.

Exemplo: dataproc-control.googleapis.com é uma API interna que o Dataproc usa para o respetivo plano de controlo operacional. Os clientes não interagem nem gerem diretamente esta API.

Ativação de APIs versus importação de recursos no Terraform

Compreender a distinção entre "ativar uma API" e "importar um recurso" é fundamental para usar o Terraform de forma eficaz com o Cloud de Confiance by S3NS.

Ativar uma API

  • O que significa: quando "ativa uma API" no Cloud de Confiance by S3NS, está a ativar um serviço Cloud de Confiance by S3NS específico para o seu projeto. Isto concede ao seu projeto as autorizações e o acesso necessários para usar as funcionalidades desse serviço e criar recursos geridos por ele.

Contexto do Terraform: no Terraform, isto é normalmente feito através do recurso google_project_service. Este recurso valida que uma API pública especificada (por exemplo, compute.googleapis.com) está ativada para o seu Cloud de Confiance by S3NS projeto.

Finalidade: a ativação de uma API é um pré-requisito para criar ou gerir recursos pertencentes a esse serviço. Por exemplo, tem de ativar compute.googleapis.com antes de poder criar recursos google_compute_instance.

Exemplo (Terraform):

```hcl
resource "google_project_service" "compute_api" {
  project            = "your-gcp-project-id"
  service            = "compute.googleapis.com"
  disable_on_destroy = false
}
```

Nota importante: o recurso google_project_service foi concebido exclusivamente para gerir o estado de ativação das APIs acessíveis publicamente Cloud de Confiance by S3NS . Não se destina a APIs internas ou privadas e não funciona com estas. A tentativa de utilização para APIs privadas resulta em erros, uma vez que essas APIs não são expostas através da superfície da API pública para essa gestão.

Importar um recurso

O que significa: no Terraform, a "importação" refere-se à colocação de um recurso da nuvem existente (um recurso que foi criado manualmente ou por outro processo fora do Terraform) sob a gestão do Terraform. Quando importa um recurso, o Terraform gera uma entrada de estado para o mesmo, o que lhe permite gerir o respetivo ciclo de vida (atualizações, eliminação) através da sua configuração do Terraform.

Contexto do Terraform: isto é conseguido através do comando terraform import ou da utilização de blocos import introduzidos no Terraform 1.5 ou superior.

Finalidade: obter controlo sobre recursos que não foram inicialmente aprovisionados pelo Terraform.

Exemplo (CLI do Terraform):

```bash
terraform import google_compute_instance.my_instance projects/your-gcp-project-id/zones/us-central1-a/instances/my-vm
```

Abordar preocupações acerca das APIs privadas (por exemplo, dataproc-control.googleapis.com)

Por vezes, os clientes encontram referências a APIs privadas (como dataproc-control.googleapis.com para o Dataproc) nos registos ou na documentação e perguntam-se se precisam de as ativar ou importar com o Terraform.

Não é necessária nenhuma ação do cliente: se uma API for identificada como uma API privada ou interna Cloud de Confiance by S3NS , não precisa de a ativar explicitamente através de google_project_service nem tentar importá-la com o Terraform.

Gestão interna: estas APIs são cruciais para o funcionamento interno dos serviçosCloud de Confiance by S3NS . São geridos automaticamente pela Google e não foram concebidos para interação direta com o cliente nem gestão através de ferramentas públicas.

Sem impacto na utilização do serviço: a sua incapacidade de "importar" ou gerir explicitamente uma API privada através do Terraform não afeta a sua capacidade de usar o serviço Cloud de Confiance by S3NS associado (por exemplo, O Dataproc funciona corretamente sem que tenha de gerir dataproc-control.googleapis.com. As interações necessárias da API interna são processadas pela Google.

Foque-se nas APIs públicas: quando gere Cloud de Confiance by S3NS recursos com o Terraform, deve focar-se apenas na ativação e configuração das APIs públicas que correspondem aos serviços e recursos que pretende aprovisionar.

Conclusão

Compreendendo a distinção clara entre APIs públicas e privadas Cloud de Confiance by S3NS, e os papéis específicos de "ativar" APIs em comparação com "importar" recursos no Terraform, pode gerir eficazmente a sua Cloud de Confiance by S3NS infraestrutura. Não tente gerir ou importar explicitamente APIs Cloud de Confiance by S3NS privadas; são componentes internos geridos pela Google. Foque as suas configurações do Terraform nas APIs expostas publicamente e nos respetivos recursos.