Présentation - AWS Conseils prescriptifs

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

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 AWS Identity and Access Management (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'aliasprimary.

  • Le deuxième provider bloc configure un AWS fournisseur secondaire dans la us-east-1 région avec l'aliasreplica. 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_arnSpé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_dbattribut fait référence à l'ID de la primary base de données.