У меня есть настроенное программное обеспечение кластера, которое работает в одной 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. Заранее благодарим за любой шаблон проектирования для этого типа установки.