我有在单个AZ(子网)中运行的自定义群集软件。服务器之一是“控制器”。一次只能运行其中之一。我需要能够在本地DNS中拥有它。如果由于任何原因失败,它需要自动重建自身。我不认为我需要为此设置elb / alb / nlb。但是,当我使用自动缩放组设置系统时,无法访问私有IP地址来更新route53记录。 AWS中是否有正确的设计模式?
这是存根代码,如果停止或运行不正常,则可以从头开始重建服务器。
resource "aws_launch_configuration" "example" {
image_id = "${lookup(var.AmiLinux,var.region)}"
instance_type = "t2.micro"
security_groups = [aws_security_group.ingress-all-test.id]
key_name = "akeyname"
lifecycle {
create_before_destroy = true
}
}
data "aws_availability_zones" "all" {}
resource "aws_autoscaling_group" "example" {
launch_configuration = aws_launch_configuration.example.id
min_size = 1
max_size = 1
health_check_grace_period = 60
vpc_zone_identifier = ["${aws_subnet.subnetTest.id}"]
tag {
key = "Name"
value = "tf-asg-example"
propagate_at_launch = true
}
}
我喜欢上面的内容,因为它确实在AZ中维护一台服务器。但是,ASG使其很难获得IP。我不是在寻找要在启动时“破解”更改的用户数据。由于它只能在单个子网(AZ)中运行,因此不能使用elb。在此先感谢您为这种类型的设置提供任何设计模式。