Рубрики
Uncategorized

Создание удаленного BitTorrent Box с террафором, трансмиссией и докером на AWS

Моя голова в последнее время была в пространстве DevOps в последнее время, когда я был все больше и больше рук с AWS. Я подумал о идее, которую у меня было некоторое время назад … Что будет вовлечена в запуском клиента Ephemeral BitTorrent на AWS с загрузоками, автоматически сохраненными в S3?. Теги с DevOps, Terraform, AWS, BitTorrent.

Моя голова в последнее время была в пространстве DevOps в последнее время, когда я был все больше и больше рук с AWS. Я подумал о идее, которую у меня было некоторое время назад … Что будет вовлечена в запуском клиента Ephemeral BitTorrent на AWS с загрузоками, автоматически сохраненными в S3?

Моя конечная цель состояла в том, чтобы уметь вращаться и разорвать удаленный клиент BitTorrent все из командной строки. Я знал, что хочу бежать Передача Когда я использовал его в прошлом, так как у него есть веб-интерфейс для добавления и удаления торрент и мониторинга загрузки.

Впутник

Когда я принимаю это в облаке, я действительно хотел, чтобы трафик BitTorrent настроен через VPN, а не прямо на экземпляр хоста. Когда я впервые начал экспериментировать с этой идеей, я умоляю, вращающуюся вверх по экземпляру T2.Micro через консоль AWS, подключая через SSH и устанавливая OpenVPN непосредственно на хосте. Я быстро обнаружил трудный путь, чем начать OpenVPN, когда подключился к хосту через SSH, не будет работать, как я думаю, по умолчанию по умолчанию требуется над сетевым трафиком Host, сразу же бросив мое SSH-соединение и кирпича сервера, пока он не перезагрузится через консоль AWS.

Это приведет меня к доке. Наличие контейнеров OpenVPN ощущается как более разумное решение, так как он позволит мне SSH в экземпляр хоста для Tinker с настройкой. Я понял, что кто-то, должно быть, уже создал изображение Docker OpenVPN и после того, как некоторые обнаружили Этот пользователь GitHub Haugene создал открытое названное изображение, Docker-Transmission-OpenVPN , который связывается как OpenVPN, так и передача вместе. Бонус!

Синхронизация загрузки на S3

После загрузки Полная передача копий файлов на /data/Завершено каталог. Мне нужно было выяснить способ автоматически копировать загрузки S3. Для этого я решил написать свою собственную утилиту в том, что просто смотрели бы содержимое каталога для новых файлов и загружать их в ведро S3. Эта утилита называется Go-Watch-S3 и у меня есть посвященный блог по поводу этого здесь Отказ

Как контейнер передачи, так и контейнер, работающий GO-Watch-S3, разделяет каталог, установленный привязкой, поэтому, когда передача пишет файлы на это /data/Завершено Каталог Go-Watch-S3 увидит новые файлы и загрузит их. Довольно аккуратно!

Предоставление экземпляра с террафом

Предоставление обрабатывается Террафом Конфигурация, которая устанавливает нашу инфраструктуру. Он создает экземпляр EC2, группу безопасности, чтобы мы могли получить доступ к интернет-интерфейсу передачи, а также соответствующую роль IAM, политику и профиль экземпляра, поэтому экземпляр способен записывать файлы нашему существующему ведрю S3.

Установка программного обеспечения на экземпляр рассматривается как часть скрипта пользовательских данных, который работает при первом запусках экземпляра и определяется как часть aws_instance Тип ресурса в террафоре. Этот скрипт на самом деле относительно прост, так как он просто устанавливает Docker, вытаскивает вышеупомянутые изображения и запускает их. Я рассмотрел использование Docker Compose Как обычно приятнее опыт при оморожении нескольких контейнеров, но вместо этого опережал команды Docker Run Vanilla Docker.

Наконец, все, что осталось сделать, это применить конфигурацию с Террафом применяется создать наши ресурсы на AWS. После применения конфигурации URL-адрес веб-интерфейса передачи будет выведен, однако вам нужно будет подождать несколько минут для сценария запуска, чтобы сделать это. Как только интернет-интерфейс доступен, торренты могут быть добавлены с завершенными загрузоками, автомагически скопированными на S3!

Как только вы закончите, уничтожить инфраструктуру, которую вы только что создали, может быть снесена с Террафору уничтожить Отказ

С заявкой очевидного

Таким образом, я чувствую, что это был забавный проект «игрушек», хотя я не чувствую, что нужно больше улучшать его. Зуд был поцарапан, если вы будете. Чтобы увидеть полную конфигурацию террафора, проверьте Террафор-Трансмиссия-AWS на github.

Хотя нет ничего незакового в отношении BitTorrent с чистой точки зрения технологии, пиратный контент может быстро отслеживать вас к выходу от AWS или ухудшающуюся учетную запись закрытую.

Оригинал: «https://dev.to/willdady/creating-a-remote-bittorrent-box-with-terraform-transmission-and-docker-on-aws-2m40»