как развернуть кластер elasticsearch на aws с помощью Terraform и ansible

к

Всем Привет!

Если Вас интересует как развернуть высокодоступный кластер Elasticsearch на AWS с использованием terraform и ansible — то вы определенно попали по адресу. Mеня зовут Сергей Демьянчук. У меня более 17 лет опыта работы в различных областях ИТ. В настоящее время я работаю техническим директором и архитектором на одном из крупнейших транспортных маркетплейсов Европы – Clicktrans. Здесь я хочу представить свой второй курс, посвященный Elasticsearch и различным аспектам devops вокруг него. 1-й курс («Elasticsearch, каким вы его раньше не знали«), который был посвящен основам Elasticsearch, тому, как работать с Elasticsearch с использованием популярных языков программирования и фреймворков, оказался очень успешным – он собрал более 500 студентов за 8 месяцев, получил очень положительные отзывы, а блог вокруг курса собрал более 30 тысяч пользователей. Но есть одна проблема: студенты моего 1-го курса, как и читатели моего блога, постоянно задают мне разные вопросы, связанные с devops и тем как развернуть и настроить кластре Elasticsearch. Именно поэтому появился этот курс, и он называется «AWS devops: Elasticsearch в AWS с использованием terraform и ansible«.

В первую очередь хочу отметить, что текущий курс не для новичков. Чтобы начать, вы должны знать основы terraform/ansible, иметь учетную запись AWS и понимать основные концепции AWS, например, VPC, EC2, группы безопасности… Вы также должны хорошо разбираться в докере и быть знакомым с его оркестровкой. Это не тот курс, где вы найдете упражнения по написанию модулей TODO terraform или ansible. На этом курсе вы получите готовые рабочие решения, используемые в коммерческой жизни, которые можно легко расширить под новые требования. Курс состоит из 5 основных модулей:

  • Первый модуль описывает как развернуть Elasticsearch в качестве сервиса AWS, который называется OpenSearch. Здесь я расскажу вам об интересных подводных камнях OpenSearch, которые я обнаружил во время своей коммерческой практики. И поверьте мне, вы не найдете эту информацию в документации AWS. Вы получите готовый модуль terraform для развертывания кластра Opensearch и мы вместе разберем его шаг за шагом.
  • Во 2-й части я покажу, как развернуть кластер Elasticsearch на AWS ECS (Elastic Container Service). И снова мы будем использовать для этого модули terraform. Я покажу, почему в таком случае нельзя использовать Fargate и какие проблем нужно решить, чтобы развернуть Elasticsearch на ECS.
  • Следующий раздел курса посвящен тому, как развернуть Elasticsearch на инстансах AWS EC2 с помощью docker swarm. Я докажу вам, что это самый простой и в то же время самый дешевый способ развернуть Elasticsearch практически в любом облаке для большинства малых и средних компаний с устойчивой схемой роста. Вы получите готовые модули terraform, которые позволят вам подготовить инфраструктуру AWS и модули ansible для развертывания на ней кластра Elasticsearch.
  • Четвертая часть посвящена возможностям автомасштабирования кластера Elasticsearch с использованием различных подходов к развертыванию. Мы поговорим о том, что мы действительно можем масштабировать, когда мы можем использовать ісфдштп и какие большие ограничения у нас есть в случае работы с Elasticsearch.
  • 5-й модуль посвящен теории. Если вы уже знакомы с концепцией кластера Elasticsearch и всем, что связано с шардами и производительностью Elasticsearch — то можете пропустить это. Но если нет — это то место, откуда вы должны начать. Как читатель этого блога, вы также получаете возможность использовать купон по максимально низкой цене.


About the author

sergii-demianchuk

Software engineer with over 18 year’s experience. Everyday stack: PHP, Python, Java, Javascript, Symfony, Flask, Spring, Vue, Docker, AWS Cloud, Machine Learning, Ansible, Terraform, Jenkins, MariaDB, MySQL, Mongo, Redis, ElasticSeach

архитектура гео докер кластер поиск поисковые системы рекомендательные системы фреймворк-flask фреймворк-spring-boot фреймворк-symfony язык-java язык-php язык-python языки программирования