Найти в Дзене
Игорь Сотников

Изменение ресурсов AWS с помощью Terraform

В прошлой статье мы рассмотрели, как создавать в амазоне инстансы с помощью terraform. В данной статье мы рассмотрим, как изменять то, что мы создали в облаке.

Из прошлой статьи у нас есть работающий сервер в амазоне, теперь нам необходимо изменить его параметры.

-2

Допустим мы решили, что нам одного сервера недостаточно и нам понадобился еще один сервер. Мы можем внести изменение. Вместо count 1, подставим значение 2

-3

Сохраняем изменение в файле. Пробуем запустить, команду которая покажет, что у нас произойдет terraform plan.

-4

Мы видим, что в результате наших действий, будет добавлен еще один сервер. Запускаем на выполнение terraform apply. Не забываем, что необходимо подтвердить наше действие напечатав yes.

-5

Мы можем увидеть, что в результате наших действий изменилось количество бегущих серверов. Теперь их 2 штуки.

Следующий шаг. Давайте попробуем изменить, размер сервера. У нас был t2.micro, возьмем немного побольше сервер t3.micro и уберем один лишний сервер изменив параметр count c 2 на 1.

Вводим команду terraform plan и видим, что один сервер будет уничтожен, а второй будет изменен.

-6

Ну и стандартное уже terraform apply с подтверждением своих действий. Перейдем в консоль амазон и посмотрим, что происходит.

-7

Амазон, в соответствии с произведёнными изменениями меняет размер виртуального сервера и уничтожает лишний. Теперь, можно посмотреть в официальной документации resource aws_instance, те параметры, которые можно изменять таким нехитрым образом в амазон с помощью terraform.

Давайте добавим так, чтобы обозначить, например, сервер. На странице в официальной документации, было показано, что внутрь ресурса надо добавить.

tags = {

Name = "Vasya"

}

-8

И отправляем изменения в амазон terraform apply. На выходе мы получим.

-9

Сервер с именем Vasya. По факту мы не сделали ничего нового, просто изменили пустые параметры, грубо говоря просто подписали, добавили tags. Tags имеет смысл добавлять к каждому развертываемому серверу, потому что в крупных проектах, когда серверов более 100, а то и пол тысячи, будет очень легко запутаться и в параметрах и в запущенных серверах. В этом случае tag или по-другому метки, нас выручат очень хорошо.

-10

Обратите внимание, когда мы вносим, какое-либо изменение в код, то при выводе результата команды terraform plan, на против планируемых изменений мы видим знак “+” зеленый если добавляется что-то или знак “-” красный если мы, что-то убираем.

Еще не мало важный фактор. Нельзя вносить изменения в сервера, в ручном режиме через консоль, которые мы обслуживаем с помощью terraform. Все, изменения, которые вы внесете в ручном режиме, будут удалены при синхронизации, потому что данных параметров нет в коде.

Следовательно, исходя из этого принципа, удалять ресурсы тоже необходимо через код. Делается это достаточно просто, просто необходимо удалить ресурс из кода или поставить параметр count = 0 внутри ресурса.

В нашем примере я изменил параметр count = 0. И можно видеть, что terraform сообщил нам о том, что сервер будет уничтожен в облаке.

-11

И действительно, если мы посмотрим в консоль, то мы увидим, что все сервера в облаке находятся в состоянии terminated, в течении полутора минут.

-12

Это означает, что данные сервера выключены и готовятся к удалению. Если у нас несколько серверов предназначен для удаления, то terraform будет производить выключение и последующее удаление данных серверов параллельно.

Если у кого появится желание пообщаться или для сотрудничества, мой ТГ канал https://t.me/ITharchevnya

Если у кого есть желание сказать спасибо за канал или статьи :

Сбер : 4274 3200 2419 9740

Paypal: is.sotnikov@gmail.com

QIWI: KNEYE561

Юmoney ( ЯД ) 41001606289345

#terraform #aws #open source #devops

P.s Всех с наступившим Новым Годом! Большое спасибо за ваши донаты и поддержку. Очень стараюсь уделять больше времени каналу и проработки контента, но времени категорически не хватает. Постараюсь почаще писать новые статьи.