2016-10-04 50 views
9

Bir MySQL RDS örneği için bir Route53 girdisi oluşturmaya çalışıyorum, ancak Terraform'dan dönen RDS bitiş noktasının sonunda :3306 ile ilgili sorunlar yaşıyorum.Terraform kullanarak RDS için bir Route53 girdisi oluşturma

resource "aws_db_instance" "mydb" { 
    allocated_storage = 10 
    engine    = "mysql" 
    engine_version  = "5.6.17" 
    instance_class  = "db.t2.micro" 
    name     = "mydb" 
    username    = "foo" 
    password    = "bar" 
    db_subnet_group_name = "my_database_subnet_group" 
    parameter_group_name = "default.mysql5.6" 
    } 

    resource "aws_route53_record" "database" { 
     zone_id = "${aws_route53_zone.primary.zone_id}" 
     name = "database.example.com" 
     type = "CNAME" 
     ttl = "300" 
     records = ["${aws_db_instance.default.endpoint}"] 
    } 

Terraform bitiş sonunda :3306 koyar ve bu CNAME ait Route53 Değeri girmiş olur.

Sonra alıyorum MySQL istemcisi ile CNAME'in database.example.com bağlanmayı deneyin

:

ERROR 2005 (HY000): Unknown MySQL server host 'database.example.com' (0) 

Ben kaldırdıktan sonra: Bu çalışma sadece iyi görünüyor AWS route53 konsolu aracılığıyla 3306.

Soru: Ben Terraform RDS son nokta

cevap

11

yanı sıra bir endpoint çıkışından :3306 şerit nasıl, Terraform en aws_db_instance kaynak da örneğinin FQDN'SINI sağlar address çıkarır.

Yani tüm yapmanız gereken yerine address kullanmak için aws_route53_record kaynak değiştirmektir:

resource "aws_db_instance" "mydb" { 
    allocated_storage = 10 
    engine    = "mysql" 
    engine_version  = "5.6.17" 
    instance_class  = "db.t2.micro" 
    name     = "mydb" 
    username    = "foo" 
    password    = "bar" 
    db_subnet_group_name = "my_database_subnet_group" 
    parameter_group_name = "default.mysql5.6" 
} 

resource "aws_route53_record" "database" { 
    zone_id = "${aws_route53_zone.primary.zone_id}" 
    name = "database.example.com" 
    type = "CNAME" 
    ttl = "300" 
    records = ["${aws_db_instance.mydb.address}"] 
} 
+0

mydb.address harika çalıştı. adresi - RDS örneğinin adresi. BTW Cevabı artıracağım ama henüz yeterince nüfuz duymuyorum. – Cale