По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
В предыдущих статьях мы познакомились как управлять ресурсами AWS с помощью Terraform, в данной статье мы посмотрим, как создавать работающий web-сервер с помощью Terraform. Для развертывания настоящего боевого Web сервера, нам понадобится создать с помощью Terraform два ресурса. Инстанс EC2 и группу безопасности для того, чтобы открыть порт 80 во внешний мир. Для начала создадим новую директорию Lesson-2 и файл WebServer.tr. Вспоминаем именно данный файл с данным расширением является основным для написания кода и управления. Напоминаю, что это обычный текстовый файл, который редактируется с помощью любого текстового редактора в нашем случае мы будем использовать текстовый редактор nano. Mkdir Lesson-2 cd Lesson-2 nano WebServer.tr Сразу будем привыкать к оформлению кода и добавим в код комментарии, комментарии добавляются следующим образом. Ставим знак решетки # и за ней пишем комментарий. #----------------------------------------------- # Terraform # #Build WebServer during BootStrap #-------------------------------------------------- Для начала пишем, кто провайдер и регион для размещения наших ресурсов. provider "aws" { region = "eu-central-1" } Кстати, есть интересный сайт awsregion.info на котором можно посмотреть название регионов и место размещение. Сайт на момент написания статьи обновляется и поддерживается в актуальном состоянии. Так первый ресурс это инстанс EC2. Resource служебное слово, далее название ресурса в кавычках и имя, которое мы ему даем в кавычках, далее открываются и закрываются фигурные скобки. Именно между ними мы и будем описывать наш ресурс. Далее добавляем ami – который показывает, какой образ мы будем использовать. Instance_type – тип и размер ресурса, который мы будем использовать. В итоге смотрим, что у нас получилось в первой итерации кода: resource "aws_instance" "WebServer_my" { ami = "ami-0767046d1677be5a0" #Amazon Linux ami instance_type = "t2.micro" } В результате исполнения данной части у нас будет создан инстанс EC2. Далее создадим 2-й ресурс aws_security_group, фактически это правило сети для брандмауэра. Так же описание начинаем со служебного слова resource, далее название ресурса и имя ресурса в кавычках, а в конце открывающаяся и закрывающаяся скобка в которой пойдет описание ресурса. Указываем параметр name - этот параметр обязательный для корректного отображения, description – параметр не обязательный, но можем указать, vpc_id мы не указываем т.к используем ресурс vpc по умолчанию. Далее идет описание правил сетевых на языке Terraform. Служебный параметр ingress для входящего трафика с фигурными скобками где мы вставим порты и другие параметры данного параметра. И второй служебный параметр engress для исходящего трафика с фигурными скобками. Cidr_blocks = [“подсеть”], указывают откуда или куда разрешен данный поток трафика т.е подсеть 0.0.0.0/0 означает весь интернет или все подсети. Обратите внимание: Мы разрешили входящий трафик на 80 порт, тот порт на котором будет работать наш веб сервер. Мы разрешили входящий трафик на 22 порт, тот порт, который может принимать соединение для подключения по SSH протоколу. Мы разрешили ICMP трафик до нашего сервера, чтобы можно было из интернета проверить его доступность. Мы разрешили трафик на 443 порт, если мы в будущем захотим сделать защищенное HTTPS соединение. И мы разрешили весь исходящий трафик с сервера указав protocol “-1” В такой конфигурации кода Terraform мы получим два отдельных ресурса Инстанс EC2 и группу безопасности, но нас такой вариант не устроит. Нам необходимо, чтобы данная группа безопасности была автоматически присоединена к нашему серверу. Это можно сделать с помощью нового параметра, который мы добавим в первую часть кода, где мы описывали aws_instance. Данный параметр называется vpc_security_group_id, с помощью данного параметра можно сразу присоединить несколько групп безопасности, через знак равенства и скобки “= [“номер группы безопасности”]”. Например, номер группы безопасности можно взять той, что создается по умолчанию. Все остальные указываются, через запятую. Но в нашем случае данный вариант не подойдет, потому что у нас должно все подключиться автоматически, т.е присоединить ту группу безопасности, которая создастся и которую мы описали ниже. А делается это достаточно просто после знака = в квадратных скобках без кавычек вставляем aws_security_group – то что это группа безопасности, затем . – разделитель, затем вставляем имя группы безопасности, которую мы создали mywebserver, опять разделитель символ точки ., и мы ходим взять id. В итоге получается следующий параметр и его значение: vpc_security_group_ids = [aws_security_group.mywebserver.id] Этой самой строчкой мы привязали группу безопасности к нашему создаваемому инстансу. И как следствие возникла зависимость инстанса от группы безопасности. Следовательно, Terraform создаст сначала группу безопасности, а затем уже создаст инстанс. Код Terraform не выполняется сверху вниз, зачастую он исполняется в зависимости от зависимостей или вообще одновременно, когда многие части зависят друг от друга. Следовательно, вот в таком коде мы создали зависимость. По коду вы можете заметить, что если необходимо еще дополнительный порт открыть, например, в группе безопасности, то необходимо скопировать часть кода, отвечающую за открытие порта и добавить необходимые настройки, порт и протокол, подправить cidr_blocks. После корректировки вставить в правильное место, как параметр. И для того, чтобы завершить настройку нашего Web сервера, нам необходимо написать параметр user_data. В амазоне это называется bootstrapping, т.е начальная загрузка. User_data = <<EOF Скрипт EOF Как вы видите сам скрипт будет находится между EOF, а знак << говорит о том, что скрипт мы подаем на ввод. Далее, как любой скрипт в Linux системе мы пишем сначала интерпретатор или shell который будет исполнять и на языке понятном для bash. Поэтому в скрипте не должно быть никаких отступов! Это важно, даже если плагин текстового редактора пытается поправить. Теперь сам скрипт: user_data = <<EOF #!/bin/bash apt -y update apt -y install apache2 myip=`curl http://169.254.169.254/latest/meta-data/local-ipv4` echo "<h2>WebServer with IP: $myip</h2><br> Build by Terraform!" > /var/www/html /index.html sudo service httpd start chkconfig httpd on EOF Сначала обновляем систему apt –y update, далее команда apt –y install apache2 устанавливаем apache веб сервер непосредственно. Следующая строка присваиваем значение переменной myip, с помощью получения данных из самого амазона curl http://169.254.169.254/latest/meta-data/local-ipv4. Далее просто добавляем в индексную страницу по умолчанию вывод того что мы получили с подстановкой IP. Следующая строка стартует сервис, и последняя строка проверяет конфигурацию апача. Таким образом, мы получаем полностью готовый скрипт. Нам остается его сохранить в файле и инициализировать Terraform, командой terraform init и даем команду на применение terraform apply. В результате команды мы видим, что будет создано 2 ресурса, все, как и планировалось. Инстанс и группа безопасности. Как мы видим сначала, из-за зависимости создается группа безопасности. А затем поднимается инстанс, к которому и будет привязана данная группа. Спустя пару минут мы можем видеть, что у нас веб сервер поднялся. IP-адрес можно найти в консоли. Далее, если нам более данный Web сервер не нужен, то мы его можем уничтожить простой командой terraform destroy. И мы увидим, что из-за зависимостей ресурсы будут уничтожаться в обратном порядке тому, в котором они запускались. Сначала инстанс, потом группа безопасности. Скрипт вы можете легко модифицировать и добавить более сложные детали установки и настройки веб сервера – это полностью рабочая конфигурация.
img
В наше время компьютерные сети получили широчайшее распространение. Сложно представить работу любого учреждения, в котором не было бы доступа в интернет или же локальной компьютерной сети. В последние годы все большие обороты набирает беспроводной доступ в интернет, однако в этой статье речь пойдет о старых добрых проводных соединениях. В частности о витой паре. Это интересно - в профессиональной среде витую пару называют "патч - корд" Что такое витая пара? В народе так называют кабель связи, состоящий из пары (или нескольких пар) скрученных между собой проводов в единой оболочке. Чтобы связать устройства посредством этого кабеля, в большинстве современных устройств предусмотрены восьмиконтактные разъемы 8Р8С. В обиходе их часто называют RJ45, но это ошибочное именование, поскольку RJ45 это другой стандарт связи, со своим коннектором, не совместимым с 8Р8С, хотя и напоминающим последний внешним видом. Однако, просто обжать коннекторы на концах кабеля это еще не все. Многие администраторы сетей сталкивались с проблемой, когда сигнал не проходит по проводу. В данном случае приходится вынимать из разъемов оба конца витой пары, и сверять порядок проводов между собой. И хорошо, если кабель короткий 3-5 метра. А если он проведен в другое помещение? Для избежания таких ситуаций и были введены стандарты так называемой распиновки витой пары. Кабели витой пары имеют более десятка стандартов, однако на текущий момент ранние из них неактуальны по причине низкой скорости передачи данных. На текущий момент стандартная витая пара, используемая в большинстве сетевых устройств это 8 изолированных проводов, попарно свитых между собой и заключенных в общую оболочку. Для удобства распиновки каждый провод обозначается своим цветом (далее для иллюстрации схем распиновки используем сокращения): бело-оранжевый (БО) оранжевый (О); бело-зеленый (БЗ) зеленый (З); бело-синий (БС) синий (С); бело-коричневый (БК) коричневый (К;) Типы соединений посредством витой пары также разнятся. Это могут быть как прямые соединения (например, для соединения IP-камеры с сервером или коммутатором), так и кросс-соединения (для соединения однотипных устройств, к примеру, чтобы связать ноутбук и компьютер), или консольные соединения (используются для настройки маршрутизатора с ПК, в основном, в оборудовании Cisco). Для каждого типа соединения важно использовать свои стандарты распиновки. Типы соединений Для прямых соединений обычно используется два стандарта. По стандарту TIA/EIA-568A распиновка будет следующей: БЗ-З-БО-С-БС-О-БК-К Для стандарта TIA/EIA-568B, используемого чаще, применим такой вариант: БО-О-БЗ-С-БС-З-БК-К Чтобы создать перекрестное (кросс) соединение, на одном конце кабеля порядок проводов будет таким: БО-О-БЗ-С-БС-З-БК-К А на другом таким: БЗ-З-БО-С-БС-О-БК-К Отметим, однако, что большинство современных сетевых устройств автоматически определяют метод обжима кабеля и подстраиваются под него, поэтому кросс-соединение в настоящее время утратило актуальность в пользу прямого. Для консольного соединения необходимо обжимать провода в «зеркальном» порядке на обоих концах. Иными словами, на одном конце схема обжима будет выглядеть так: БО-О-БЗ-С-БС-З-БК-К А на другом так: К-БК-З-БС-С-БЗ-О-БО Несмотря на развитие в последние годы беспроводной передачи данных, проводные соединения обеспечивают более стабильную и быструю (в большинстве случаев) связь, что позволяет им быть актуальными до сих пор. Соблюдение стандартов распиновки позволит быстрее наладить соединение даже в крупных сетях, а также в будущем даст возможность быстрого устранения неполадок, связанных с выходом кабеля из строя, поскольку слабым местом витой пары обычно остаются соединения с коннекторами.
img
Здравствуй дорогой друг! В этой статье мы хотим рассказать про базовую настройку отслеживания статического маршрута Static Route Tracking, используя IP SLA. В современной сетевой среде избыточность является одним из наиболее важных аспектов, будь то на стороне локальной сети LAN или на стороне глобальной сети WAN. В этой статье мы рассмотрим избыточность WAN с несколькими каналами WAN, оканчивающимися на одном маршрутизаторе. Лучший и самый простой способ достижения избыточности WAN на устройствах Cisco - это использовать надежные резервные статические маршруты с отслеживанием IP SLA. IP SLA - это функция, включенная в программное обеспечение Cisco IOS, которая позволяет администраторам анализировать уровни обслуживания для IP приложений и сервисов, проверять QoS на соответствие параметрам, и помогать обнаруживать и локализовать неисправности. IP SLA использует технологию активного мониторинга трафика (когда тестовые пакеты добавляются в активное соединение) для мониторинга непрерывного трафика в сети. Маршрутизаторы Cisco предоставляют собой так называемые IP SLA Responder'ы, которые обеспечивают точность измеренных данных в сети. IP SLA собирает информацию об задержке, джиттере, потере пакетов, их пути, последовательности отправки и многого другого. С IP SLA маршрутизаторы и коммутаторы выполняют периодические измерения. Количество и тип доступных измерений огромны, и в этой статье мы рассмотрим только функцию ICMP ECHO. Сам по себе IP SLA - очень большая тема для обсуждения. Настройка Рассмотрим следующую схему с двумя провайдерами. На рисунке наше устройство Cisco подключено к двум каналам WAN - ISP1 и ISP2. Наиболее распространенная настройка, которую мы используем в повседневной жизни, - это настройка маршрутов по умолчанию на маршрутизаторе Cisco, указывающих на соответствующие IP-адреса следующего хопа (next-hop), как показано ниже: R1(config)# ip route 0.0.0.0 0.0.0.0 2.2.2.2 R1(config)# ip route 0.0.0.0 0.0.0.0 3.3.3.3 10 Как вы могли заметить административное расстояние для дополнительного маршрута, указывающего на ISP2, увеличено до 10, чтобы он стал резервным каналом. Вышеуказанная конфигурация с двумя плавающими статическими маршрутами частично выполняет наше требование, поскольку она будет работать только в сценарии, когда интерфейсы маршрутизаторов, подключенные к каналу WAN, находятся в состоянии UP/UP или DOWN/DOWN. Но во многих ситуациях мы видим, что, хотя линки остаются работоспособными, но мы не можем достичь шлюза, это обычно происходит, когда проблема находится на стороне провайдера. В таких случаях IP SLA становится лучшим другом инженера. Используя IP SLA, Cisco IOS получает возможность использовать эхо-запросы ICMP для идентификации, когда канал WAN отключается на удаленном конце, и, следовательно, позволяет инициировать резервное соединение с альтернативного порта. IP SLA настроен на пинг цели, такой как общедоступный IP-адрес или адрес в корпоративной сети, или ваш IP-адрес следующего хопа на маршрутизаторе ISP. Пинги маршрутизируются только с основного интерфейса. Пример конфигурации IP SLA для генерации пинга icmp, нацеленного на IP-адрес следующего перехода ISP1: R1(config)# ip sla 1 R1(config)# icmp-echo 2.2.2.2 source-interface FastEthernet0/0 R1(config)# timeout 1000 R1(config)# threshold 2 R1(config)# frequency 3 R1(config)# ip sla schedule 1 life forever start-time now Обратите внимание, что команды Cisco IP SLA меняются в зависимости от версии IOS, и чтобы узнать точную команду для вашей версии IOS, проверьте документацию Cisco. Вышеприведенные команды предназначены для IOS 12.4(4) T, 15.(0)1M и более поздних выпусков. Приведенная выше конфигурация определяет и запускает IP SLA. ICMP-echo отправляет эхо-пакет ICMP на IP следующего хопа 2.2.2.2 каждые 3 секунды, как определено параметром “frequency”. “Timeout” устанавливает время (в миллисекундах), в течение которого операция SLA Cisco IOS IP ожидает ответа от своего пакета запроса. “Threshold” устанавливает порог, который генерирует событие реакции и хранит хронологическую информацию для операции SLA Cisco IOS IP. После определения операции IP SLA наш следующий шаг - определить объект, который отслеживает SLA. Это можно сделать с помощью IOS Track Object, как показано ниже: R1(config)# track 1 ip sla 1 reachability Приведенная выше команда создает трек, который будет отслеживать состояние операции IP SLA. Если от IP-адреса следующего хопа нет откликов на пинг, трек отключится и начнет работать, когда SLA начнет снова получать пинг-ответ. Чтобы проверить состояние трека, используйте команду show track, как показано ниже: R1# show track Track 1 IP SLA 1 reachability Reachability is Down 1 change, last change 00:03:19 Latest operation return code: Unknown Последним шагом в конфигурации надежного статического маршрута IP SLA является добавление оператора отслеживания к маршрутам по умолчанию, указывающим на маршрутизаторы ISP, как показано ниже: R1(config)# ip route 0.0.0.0 0.0.0.0 2.2.2.2 track 1 R1(config)# ip route 0.0.0.0 0.0.0.0 3.3.3.3 10 Добавив после адрес ключевое слово track и его номер, мы указываем, что только если состояние настроенного трека будет Up. Следовательно, если статус трека Down, то вторичный маршрут будет использоваться для пересылки всего трафика. Готово! Мы успешно настроили автопереключение между двумя провайдерами при помощи IP SLA с icmp-echo
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59