1

Terraform ne semble pas être capable de créer des zones Route53 hébergées privées AWS et meurt avec l'erreur suivante lorsque j'essaie de créer une nouvelle zone privée hébergée associée à un VPC existant:Terraform ne peut pas créer de zone route53 privée hébergée AWS

Error applying plan: 
    1 error(s) occurred: 
    aws_route53_zone.analytics: InvalidVPCId: The VPC: vpc-xxxxxxx you provided is not authorized to make the association. 
    status code: 400, request id: b411af23-0187-11e7-82e3-df8a3528194f 

Voici mon fichier .tf:

provider "aws" { 
    region = "${var.region}" 
    profile = "${var.environment}" 
} 

variable "vpcid" { 
    default = "vpc-xxxxxx" 
} 

variable "region" { 
    default = "eu-west-1" 
} 

variable "environment" { 
    default = "dev" 
} 

resource "aws_route53_zone" "analytics" { 
    vpc_id = "${var.vpcid}" 
    name = "data.int.example.com" 
} 

Je ne sais pas si l'erreur fait référence à l'un de ces:

  • VPC doit en quelque sorte être autorisé à s'associer à la Zone à l'avance.
  • Aws compte courant des besoins de Terraform autorisations correctes IAM pour associer la zone à la vpc

Quelqu'un la moindre idée comment je pourrais résoudre ce encore?

+0

Quelle est la version terraform? Vous semblez courir avec l'ancienne version. – BMW

Répondre

0

Vérifiez la version terraform si elle est exécutée avec le dernier fichier ou non.

Deuxièmement, vos codes sont mal si comparer avec le sample

data "aws_route53_zone" "selected" { 
    name = "test.com." 
    private_zone = true 
} 

resource "aws_route53_record" "www" { 
    zone_id = "${data.aws_route53_zone.selected.zone_id}" 
    name = "www.${data.aws_route53_zone.selected.name}" 
    type = "A" 
    ttl = "300" 
    records = ["10.0.0.1"] 
} 
+0

Je suis sur Terraform v0.8.2, il semble qu'il y ait une grande différence dans la documentation pour cet article entre ma version et la dernière: –

+0

Ce n'est pas parce que l'exemple est différent que le code de l'OP est faux. En fait, cela devrait fonctionner correctement. Je suppose que c'est soit que l'ID VPC est faux ou que l'utilisateur/rôle n'a pas les autorisations VPC nécessaires. – ydaetskcoR

0

Le error code que vous obtenez est parce que soit votre utilisateur/rôle ne dispose pas des autorisations liées VPC nécessaires ou que vous utilisez le mauvais ID VPC

Je vous suggère de vous vérifiez l'ID VPC que vous utilisez, en utilisant éventuellement la VPC data source pour la prendre:

# Assuming you use the "Name" tag on the VPC resource to identify your VPCs 
variable "vpc_name" {} 

data "aws_vpc" "selected" { 
    tags { 
    Name = "${var.vpc_name}" 
    } 
} 

resource "aws_route53_zone" "analytics" { 
    vpc_id = "${data.aws_vpc.selected.id}" 
    name = "data.int.example.com" 
} 

Vous voulez également vérifier que votre utilisateur/rôle dispose des autorisations VPC connexes nécessaires. Pour cela, vous voudrez probablement toutes les autorisations énumérées dans le docs:

enter image description here

+0

J'ai rencontré des problèmes lors de l'utilisation du profil avec le fournisseur AWS. Peu importe ce que j'ai fait (v 0.8.7), il serait toujours par défaut à l'accès au compte que j'avais défini dans l'environnement. Une fois que j'ai changé les variables d'env pour accéder au compte dans lequel je voulais faire le travail, ça a bien fonctionné. – jpancoast