使用Terraform将route53附加到Elb

问题描述

我正在尝试使用自定义域名创建route53,该域名中将带有noobterraform.workspace这样的www.prodnoob.comwww.devnoob.com名称。我是新来的,我已经创建了terraform文件(不附加每个文件,而是附加elb和route53文件)。我已经以模块的形式实现了terraform。在route53 main.tf中,我给出了dns_name和zone_id的值,但仍然无法对其进行配置。任何帮助将不胜感激

Route53 main.tf

resource "aws_route53_zone" "primary" {
  name = "noob.com"
}
resource "aws_route53_record" "www" {
  zone_id = aws_route53_zone.primary.zone_id
  name    = "www.${terraform.workspace}-noob.com"
  type    = "A"

  alias {
    name                   = var.alb_dns
    zone_id                = var.zone_id
    evaluate_target_health = true
  }
}

route53 var.tf

variable "zone_id" {}
variable "alb_dns" {}

Loadbalancer main.tf

# Create a new load balancer
resource "aws_elb" "alb" {
  name            = "Application-loadbalancer-${terraform.workspace}"
  security_groups = [aws_security_group.alb_sg.id]
  subnets         = var.public_subnet

  listener {
    instance_port     = 80
    instance_protocol = "http"
    lb_port           = 80
    lb_protocol       = "http"
  }

  health_check {
    healthy_threshold   = 2
    unhealthy_threshold = 2
    timeout             = 3
    target              = "HTTP:80/SamplePage.php"
    interval            = 30
  }

  instances                   = var.ec2_instance
  cross_zone_load_balancing   = true
  idle_timeout                = 400
  connection_draining         = true
  connection_draining_timeout = 400

  tags = {
    Name = "alb-${terraform.workspace}"
  }
}
resource "aws_security_group" "alb_sg" {
  name        = "alb-sg-${terraform.workspace}"
  description = "Allow internet traffic"
  vpc_id      = var.vpc_id

  ingress {
    description = "incoming for ec2-instance"
    from_port   = 80
    to_port     = 80
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }

  egress {
    from_port   = 0
    to_port     = 0
    protocol    = "-1"
    cidr_blocks = ["0.0.0.0/0"]
  }
  tags = {
    Name = "alb-sg"
  }

}
output "alb_sg" {
  value = aws_security_group.alb_sg.id
}
output "alb_dns" {
  value = aws_elb.alb.dns_name
}
output "zone_id" {
  value = aws_elb.alb.zone_id
}

Loadbalancer var.tf

variable "ec2_instance" {}
variable "vpc_id" {}
variable "public_subnet" {}

Main.tf

module "alb" {
  source        = "./modules/alb"
  vpc_id        = "${module.my_vpc.vpc_id}"
  ec2_instance  = "${module.my_ec2.ec2_instance}"
  public_subnet = "${module.my_vpc.public_subnets_ids}"
}
module "route53" {
  source  = "./modules/route53"
  alb_dns = "${module.alb.alb_dns}"
  zone_id = "${module.alb.zone_id}"
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...