Comment utiliser le profil pour authentifier et appliquer un fichier terraform

0

Je veux pouvoir déployer des fichiers de script sur aws lambda en utilisant un fichier terraform.

Voici un mon fichier:

terraform {
  required_version = "0.11.7"
}

variable "region" {}


provider "aws" {
  region = "${var.region}"
  version = "2.00"
}



// Zip the scripts folder (thus creating a package) before supplying it to the lambda function.
data "archive_file" "package_zip" {
  type = "zip"
  source_dir = "${path.root}/scripts/"  # Path from top level module.
  output_path = "./sources.zip"
}

resource "aws_lambda_function" "anthony_test_lambda" {
  filename      = "lambda_function_payload.zip"
  function_name = "anthony_test_lambda"
  role          = "new-role"
  handler       = "lambda_function.lambda_handler"

  source_code_hash = "${data.archive_file.package_zip.output_base64sha256}"

  runtime = "python3.7"


}

Je veux garder le script aussi flexible que possible car je ne suis peut-être pas le seul à travailler sur le script à l'avenir.

Je souhaite pouvoir piloter le processus à l'aide du profil AWS. Voici ce que j'ai essayé:

 export AWS_PROFILE=a_team
 tf apply

J'ai eu cette erreur:

* provider.aws: No valid credential sources found for AWS Provider.
    Please see https://terraform.io/docs/providers/aws/index.html for more information on
    providing credentials for the AWS Provider

Je ne peux pas utiliser l'identifiant et le secret de la clé d'accès AWS.

Comment puis-je résoudre ce problème?

Anthony Kong
la source

Réponses:

1

Il peut y avoir un problème avec la variable d'environnement AWS_PROFILE, assurez-vous que AWS_SECRET_ACCESS_KEY et AWS_ACCESS_KEY_ID sont non définis. Cela garantira que les clés qu'il prend via la variable d'environnement proviennent de la variable d'environnement AWS_PROFILE.

Reportez-vous à la section Variable d'environnement sous l' article https://www.terraform.io/docs/providers/aws/index.html pour savoir comment définir les variables d'environnement pour vos clés secrètes et d'accès.

Nishant Sondhi
la source