Amazon Ec2 – Terraform: Игнорировать_Изменения Условно? (Временный Общедоступный Ip-Адрес Экземпляра Ec2)

  • Автор темы Maikl_baklan
  • Обновлено
  • 22, Oct 2024
  • #1

У меня есть пара экземпляров EC2, управляемых Terraform, с общедоступными IP-адресами в VPC.

При каждом запуске Terraform я обновляю записи DNS на основе этих общедоступных IP-адресов.

Однако мне не нужны эти экземпляры постоянно, и когда я их отключаю, они, конечно, теряют свой общедоступный IP-адрес.

Поначалу это вызывало

value
to become
ignore_changes
, и Terraform захотел воссоздать экземпляры.
public_ip
solves this:

resource "aws_instance" "instance1" {

associate_public_ip_address = true

...

lifecycle {

ignore_changes = ["associate_public_ip_address"]

}
}

resource "cloudflare_record" "record1" {

domain = "example.com"

name   = "server1.example.com"

value  = "${aws_instance.instance1.public_ip}"

type   = "A"
}

Но...

lifecycle.ignore_changes
attribute also becomes blank ;). This causes an attempted update to the A record, which fails because you can't set a blank record.

Итак, я пытаюсь найти решение. Я мог бы использовать эластичные IP-адреса, к которым я мог бы в конечном итоге прибегнуть, но в идеале я бы хотел избежать этого, если смогу. Моей следующей мыслью было... можно ли как-нибудь использовать

false
conditionally, and thus ignore changes to the DNS record's
associate_public_ip_address
если он пустой?

Есть ли другие решения, которые вы можете порекомендовать?

#amazon-ec2 #terraform

Maikl_baklan


Рег
22 Mar, 2007

Тем
75

Постов
186

Баллов
561
  • 25, Oct 2024
  • #2

Может быть, вы могли бы использовать для этого атрибут count?

resource "cloudflare_record" "record1" {

count = ${aws_instance.instance1.public_ip == "" ? 0 : 1}"

...
}
 

Enrobbyturn


Рег
10 Feb, 2007

Тем
73

Постов
186

Баллов
601
Похожие темы Дата
Похожие темы
Kubernetes – Как Создать Секрет Реестра Докеров, Не Передавая Пароль В Командной Строке?
Как Создать Сетевое Соединение В Удаленном Стеке Докеров?
Какие Объемные Решения Наиболее Удобны При Создании Приложений На Основе Docker И Микросервисов?
Linux — Где Находится Каталог Окружения Puppet На Amazon Linux2?
Jenkinsfile – Как Назначить Значения Столбцов Соляной Стеки Из Входных Параметров Jenkins, Разделенных Запятыми?
Как Я Могу Связать Неудачный Запуск Конвейера С Новым Или Существующим Рабочим Элементом?
Повторное Выполнение Заданий Bamboo При Фиксации
Моделирование Экономической Ценности Усилий Devop По Снижению Рисков
Docker — Встроенная Кодовая База Не Отображается После Развертывания
Безопасность — Компания Обеспокоена Раскрытием Нашей Личной Информации В Tableau. Можем Ли Мы Запустить Tableau, Не Раскрывая Наши Данные Третьим Лицам?
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно