

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Visão geral
<a name="overview"></a>

Os provedores do Terraform são plug-ins que permitem que o Terraform interaja com diferentes APIs. O Terraform AWS Provider é o plugin oficial para gerenciar AWS infraestrutura como código (IaC) com o Terraform. Ele traduz a sintaxe do Terraform em chamadas de AWS API para criar, ler, atualizar e excluir recursos. AWS 

O AWS provedor lida com a autenticação, traduz a sintaxe do Terraform em chamadas de AWS API e fornece recursos em. AWS Você usa um bloco de `provider` código do Terraform para configurar o plug-in do provedor que o Terraform usa para interagir com a AWS API. Você pode configurar vários blocos de AWS provedores para gerenciar recursos em diferentes Contas da AWS regiões.

Aqui está um exemplo de configuração do Terraform que usa vários blocos de AWS provedores com aliases para gerenciar um banco de dados do Amazon Relational Database Service (Amazon RDS) que tem uma réplica em uma região e conta diferentes. Os provedores primários e secundários assumem funções diferentes AWS Identity and Access Management (IAM):

```
# Configure the primary AWS Provider
provider "aws" {
  region = "us-west-1"
  alias  = "primary"
}

# Configure a secondary AWS Provider for the replica Region and account
provider "aws" {
  region      = "us-east-1"
  alias       = "replica"
  assume_role {
    role_arn     = "arn:aws:iam::<replica-account-id>:role/<role-name>"
    session_name = "terraform-session"
  }
}

# Primary Amazon RDS database
resource "aws_db_instance" "primary" {
  provider = aws.primary

  # ... RDS instance configuration
}

# Read replica in a different Region and account
resource "aws_db_instance" "read_replica" {
  provider = aws.replica

  # ... RDS read replica configuration
  replicate_source_db = aws_db_instance.primary.id
}
```

Neste exemplo:
+ O primeiro `provider` bloco configura o AWS provedor principal na `us-west-1` região com o `primary` alias.
+ O segundo `provider` bloco configura um AWS provedor secundário na `us-east-1` região com o `replica` alias. Esse provedor é usado para criar uma réplica de leitura do banco de dados principal em uma região e conta diferentes. O `assume_role` bloco é usado para assumir uma função do IAM na conta de réplica. O `role_arn` especifica o Amazon Resource Name (ARN) da função do IAM a ser assumida `session_name` e é um identificador exclusivo para a sessão do Terraform.
+ O `aws_db_instance.primary` recurso cria o banco de dados primário do Amazon RDS usando o `primary` provedor na `us-west-1` região.
+ O `aws_db_instance.read_replica` recurso cria uma réplica de leitura do banco de dados principal na `us-east-1` região usando o `replica` provedor. O `replicate_source_db` atributo faz referência ao ID do `primary` banco de dados.