

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Présentation
<a name="overview"></a>

Les fournisseurs Terraform sont des plugins qui permettent à Terraform d'interagir avec différentes API. Le Terraform AWS Provider est le plugin officiel pour gérer l' AWS infrastructure en tant que code (iAc) avec Terraform. Il traduit la syntaxe Terraform en appels AWS d'API pour créer, lire, mettre à jour et supprimer AWS des ressources.

Le AWS fournisseur gère l'authentification, la traduction de la syntaxe Terraform en appels d' AWS API et le provisionnement des ressources dans. AWS Vous utilisez un bloc de `provider` code Terraform pour configurer le plugin du fournisseur que Terraform utilise pour interagir avec l'API. AWS Vous pouvez configurer plusieurs blocs AWS de fournisseurs pour gérer les ressources dans différentes Comptes AWS régions.

Voici un exemple de configuration Terraform qui utilise plusieurs blocs AWS Provider avec des alias pour gérer une base de données Amazon Relational Database Service (Amazon RDS) qui possède une réplique dans une région et un compte différents. Les fournisseurs principaux et secondaires assument des rôles Gestion des identités et des accès AWS (IAM) différents :

```
# 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
}
```

Dans cet exemple :
+ Le premier `provider` bloc configure le AWS fournisseur principal de la `us-west-1` région avec l'alias`primary`.
+ Le deuxième `provider` bloc configure un AWS fournisseur secondaire dans la `us-east-1` région avec l'alias`replica`. Ce fournisseur est utilisé pour créer une réplique en lecture de la base de données principale dans une région et un compte différents. Le `assume_role` bloc est utilisé pour assumer un rôle IAM dans le compte de réplique. `role_arn`Spécifie le nom de ressource Amazon (ARN) du rôle IAM à assumer et `session_name` constitue un identifiant unique pour la session Terraform.
+ La `aws_db_instance.primary` ressource crée la base de données Amazon RDS principale en utilisant le `primary` fournisseur de la `us-west-1` région.
+ La `aws_db_instance.read_replica` ressource crée une réplique en lecture de la base de données principale de la `us-east-1` région à l'aide du `replica` fournisseur. L'`replicate_source_db`attribut fait référence à l'ID de la `primary` base de données.