Назад | Перейти на главную страницу

Частично неизменяемая инфраструктура в AWS с Packer?

Я очень молодой системный инженер / системный администратор подрядчика с рабочей нагрузкой с высокой пропускной способностью, которая только что переехала в область, где я получаю 2 Мбит / с и 20 загрузок через мое интернет-соединение. Из-за этого я перемещаю свою рабочую станцию ​​Debian 10 на AWS, и мне нужен совет.

Я хочу управлять настройкой своей рабочей станции с помощью terraform (выполнено 99%), упаковщика и возможности. Я хочу создать сценарий, который будет запускаться каждый раз, когда я изменяю свою настройку ansible, которая создаст новый AMI с packer + ansible и развернет его с помощью Terraform.

Я хочу, чтобы мой домашний каталог был одинаковым во всех версиях моей инфраструктуры, поскольку у меня есть тонна бродячих ящиков и pip venv, заполненных пакетами, которые я хочу иметь согласованными, независимо от конфигурации базовой системы. Домашний каталог будет немного управляться по мере того, как я добавляю ключи ssh, создаю бродячую настройку с горячим подключением (которая достойна отдельного поста) и т.д.

Я думал об использовании второго тома EBS и монтировать его в / home /. Проблема в том, что когда вы создаете AMI из другого экземпляра, он копирует EBS и получает собственный идентификатор EBS. В следующий раз, когда я создам AMI с помощью Packer, мне нужно будет сделать снимок, подключить и смонтировать том EBS на работающем экземпляре, и я не вижу четкого способа сделать это с помощью Packer или Ansible. EFS слишком медленный, чтобы его рассматривать.

По сути, каков способ сохранить данные из производственного экземпляра при переходе на новый экземпляр в AWS без создания ami из старого экземпляра, избегая при этом медленных или дорогих компонентов, таких как EFS. Я не могу просто создать новый экземпляр, потому что хочу, чтобы мои AMI были сгенерированы из базового образа Debian 10, чтобы предотвратить дрейф конфигурации.

Это левый ответ, и, вероятно, он не будет принят, но я думаю, что об этом варианте стоит упомянуть. Пожалуйста, избегайте желания проголосовать за меня, потому что я отвечаю не так, как ожидалось.

Вероятно, лучше всего использовать EFS. Это немного дороже с немного большей задержкой, но для этой задачи подходит.

AWS Workspaces

Вы считали AWS Workspaces? Это Ubuntu, но может решить вашу проблему с облачной рабочей станцией.

S3 Хранилище

Хранилище на S3 дешево и обычно достаточно быстрое, особенно если у вас есть шлюз S3 в вашем VPC.

Два основных варианта использования S3:

  • Использовать S3FS чтобы смонтировать корзину S3 в качестве хранилища, со шлюзом S3 в VPC вы должны получить приемлемую производительность
  • Синхронизируйте данные с S3 при запуске, завершении работы, и вы также можете сделать это с помощью cron. Я считаю, что пропускная способность для S3 бесплатна, когда вы используете шлюз VPC, но вы все равно платите за операции ввода / вывода, которые должны быть довольно низкими.