

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Información general
<a name="overview"></a>

Los proveedores de Terraform son complementos que permiten a Terraform interactuar con diferentes API. El AWS proveedor de Terraform es el complemento oficial para administrar la AWS infraestructura como código (IaC) con Terraform. Traduce la sintaxis de Terraform en llamadas a la AWS API para crear, leer, actualizar y eliminar recursos. AWS 

El AWS proveedor se encarga de la autenticación, traduce la sintaxis de Terraform en llamadas a la AWS API y aprovisiona los recursos. AWS Utiliza un bloque de `provider` código de Terraform para configurar el complemento del proveedor que Terraform utiliza para interactuar con la API. AWS Puedes configurar varios bloques AWS de proveedores para administrar los recursos en diferentes Cuentas de AWS regiones.

A continuación, se muestra un ejemplo de configuración de Terraform que usa varios bloques de AWS proveedores con alias para administrar una base de datos de Amazon Relational Database Service (Amazon RDS) que tiene una réplica en una región y una cuenta diferentes. Los proveedores principal y secundario asumen diferentes funciones 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
}
```

En este ejemplo:
+ El primer `provider` bloque configura el AWS proveedor principal de la `us-west-1` región con el alias. `primary`
+ El segundo `provider` bloque configura un AWS proveedor secundario en la `us-east-1` región con el alias. `replica` Este proveedor se utiliza para crear una réplica de lectura de la base de datos principal en una región y una cuenta diferentes. El `assume_role` bloque se utiliza para asumir una función de IAM en la cuenta de réplica. `role_arn`Especifica el nombre de recurso de Amazon (ARN) de la función de IAM que se va a asumir y `session_name` es un identificador único para la sesión de Terraform.
+ El `aws_db_instance.primary` recurso crea la base de datos principal de Amazon RDS mediante el `primary` proveedor de la `us-west-1` región.
+ El `aws_db_instance.read_replica` recurso crea una réplica de lectura de la base de datos principal de la `us-east-1` región mediante el `replica` proveedor. El `replicate_source_db` atributo hace referencia al ID de la `primary` base de datos.