По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Продолжаем рассказывать про Terraform. Предыдущая статья тут. В данной статье мы разберем динамичные блоки кода в Terraform, которые можно использовать в своей работе. Данный функционал значительно облегчает написание кода Terraform с помощью которого мы управляем сервисами Amazon. В статье будет описан сценарий с генерацией кода Terraform. Данный функционал был добавлен в terraform 0.12 версии. Для работы создадим новую директорию, можно путем копирования из предыдущего урока. Директорию назовем lesson-5. Для написания кода мы по-прежнему используем текстовый редактор Atom. Мы можем создать файлик с именем DynamicSecurityGroup.tf или переименуем существующий webserver.tf если вы добавили папку путем копирования. Если вы создавали путем копирования отредактируем файл, убрав строчки, которые создают веб-сервер. Удаляем. Теперь мы начнем писать код Terraform, чтобы у нас появилась динамическая группа безопасности. В прошлой статье мы прописывали 2 правила. Данные правила открывали нам порты 80 и 22, аналогично можно прописать, чтобы открывался порт 443 ну или любой другой, который нам необходим для корректного инстанса и работоспособности сервиса. А теперь представим, что нам необходимо открыть еще 20 разных портов. Можно сделать это с помощью copy-paste, т.е. копированием и вставкой уже существующих блоков кода с редактированием протокола и номеров портов. В terraform версии 0.12 добавили функционал и назвали его DynamicBlocks, что позволит генерировать кусочки кода в Terraform. Добавим следующую часть кода: dynamic "ingress" { for_each = ["80", "443", "8080", "1541", "9092"] content { from_port = ingress.value to_port = ingress.value protocol = "tcp" cidr_blocks = ["0.0.0.0/0"] } } Разберем для лучшего понимания. Функция Dynamic, далее кавычки двойные и внутри мы пишем, что-будет динамическим, в нашем случае это функция Ingress. Открываем фигурные скобки и пишем цикл с помощью for_each = ["номерпорта1", "номерпорта2"] указывая номера портов. Следовательно, цикл for_each пройдется по каждому из параметров и будет применена конструкция content. Значения внутри конструкции content, будут заменены, а именно с какого порта на какой порт открывается доступ. Далее в конструкции content описываем используемый протокол сетевого уровня и cider_blocks – с каких IP или диапазонов IP разрешено использовать данной правило. Конструкция 0.0.0.0/0 позволяет указать, что данное правило с данным портом разрешено использовать всему интернету вне зависимости от IP адреса. В целях информационной безопасности рекомендую использовать конкретные подсети или конкретные IP адреса, конечно, если это не публичный сервис. Если посмотреть на пример, то написанное таким образом правило, сгенерирует нам 5 отдельных правил, т.е. получается достаточно удобно и сокращает нам количество строчек в коде, а также потенциально количество ошибок. Код становится более читаемым и легким. После использования в коде функции dynamic, мы можем удалить все ставшие ненужными функции ingress. Не забывайте изменить имя ресурса. Это делается путем редактирования переменной name в разделе функции resource, для читаемости кода и удобства управления ресурсами в облаке AWS. После того, как у нас готов наш код, мы можем его запустить. Так как, была создана новая папка, нам необходимо инициализировать ее использования. Переходим в необходимую директорию, в которой находится файл. И запускаем инициализацию стандартной командой terraform init. После ввода команды ожидаем пару минут, пока Terraform скачает все необходимые модули для подключения и работы. Следующей командой terraform apply мы запускаем код на исполнение. И получаем запрос на подтверждение операции. Среди вывода мы можем видеть: Это значит что все порты, которые были указаны в аргументах будут созданы. Осталось подтвердить и дождаться успешного выполнения операции.
img
Формат файла ZIP уменьшает размер файлов, сжимая их в один файл. Этот процесс экономит дисковое пространство, шифрует данные и позволяет легко обмениваться файлами с другими. Вот как можно сжать и разархивировать файлы с помощью PowerShell. Как архивировать файлы с помощью PowerShell Начнем с сжатия некоторых файлов в ZIP-архив с помощью командлета Compress-Archive. Он берет путь к любым файлам, которые вы хотите сжать - несколько файлов разделяются запятой - и архивирует их в указанном месте назначения. Сначала откройте PowerShell, выполнив поиск в меню «Пуск», а затем введите следующую команду, заменив PathToFiles и PathToDestination на путь к файлам, которые вы хотите сжать, а также на имя и папку, в которую вы хотите перейти, соответственно: Compress-Archive -LiteralPath <PathToFiles> -DestinationPath <PathToDestination> Когда вы указываете путь назначения, обязательно укажите имя файла архива, иначе PowerShell сохранит его как .zip. Примечание. Кавычки вокруг пути необходимы только в том случае, если путь к файлу содержит пробел. В качестве альтернативы, чтобы сжать все содержимое папки и все ее подпапки, вы можете использовать следующую команду, заменив PathToFolder и PathToDestination на путь к файлам, которые вы хотите сжать, а также на имя и папку, которую вы хотите. чтобы перейти соответственно: Compress-Archive -LiteralPath <PathToFolder> -DestinationPath <PathToDestination> В предыдущем примере мы указали путь к каталогу с несколькими файлами и папками без указания отдельных файлов. PowerShell берет все внутри корневого каталога и сжимает его, а также все подпапки. Командлет Compress-Archive позволяет использовать подстановочный знак (*) для дальнейшего расширения функциональности. При использовании символа вы можете исключить корневой каталог, сжать только файлы в каталоге или выбрать все файлы определенного типа. Чтобы использовать подстановочный знак с Compress-Archive, вы должны использовать вместо этого параметр -Path, так как -LiteralPath не принимает их. Выше мы рассмотрели, как включить корневой каталог и все его файлы и подкаталоги при создании архивного файла. Однако, если вы хотите исключить корневую папку из Zip-файла, вы можете использовать подстановочный знак, чтобы исключить ее из архива. Добавляя звездочку (*) в конец пути к файлу, вы указываете PowerShell только захватить то, что находится внутри корневого каталога. Это должно выглядеть примерно так: Compress-Archive -Path C:path ofile* -DestinationPath C:path oarchive.zip Далее, скажем, у вас есть папка с кучей файлов разных типов (.doc, .txt, .jpg и так далее), Но вы хотите сжать только один тип. Вы можете указать PowerShell архивировать их, не затрагивая явно. Обозначение команды будет выглядеть так: Compress-Archive -Path C:path ofile*.jpg -DestinationPath C:path oarchive.zip Примечание. Подкаталоги и файлы корневой папки не включаются в архив этим методом. Наконец, если вам нужен архив, который сжимает файлы только в корневом каталоге и во всех его подкаталогах, вы должны использовать подстановочный знак «звезда-точка-звезда» (*. *) Для их сжатия. Это будет выглядеть примерно так: Compress-Archive -Path C:path ofile*.* -DestinationPath C:path oarchive.zip Примечание. Подкаталоги и файлы корневой папки не включаются в архив этим методом. Даже после завершения архивирования вы можете обновить существующий заархивированный файл с помощью параметра -Update. Это позволяет заменять старые версии файлов в архиве новыми версиями с такими же именами и добавлять файлы, созданные в корневом каталоге. Это будет выглядеть примерно так: Compress-Archive -Path C:path ofiles -Update -DestinationPath C:path oarchive.zip Как распаковать файлы с помощью PowerShell Помимо возможности архивировать файлы и папки, PowerShell имеет возможность разархивировать архивы. Процесс даже проще, чем их сжатие; все, что вам нужно, это исходный файл и место для данных, готовых к распаковке. Откройте PowerShell и введите следующую команду, заменив PathToZipFile и PathToDestination на путь к файлам, которые вы хотите сжать, а также на имя и папку, в которую вы хотите перейти, соответственно: Expand-Archive -LiteralPath <PathToZipFile> -DestinationPath <PathToDestination> Папка назначения, указанная для извлечения файлов, будет заполнена содержимым архива. Если папка не существовала до разархивирования, PowerShell создаст папку и поместит содержимое в нее перед разархивированием. По умолчанию, если вы пропустите параметр -DestinationPath, PowerShell разархивирует содержимое в текущий корневой каталог и использует имя файла Zip для создания новой папки. В предыдущем примере, если мы опускаем -DestinationPath, PowerShell создаст папку «Архив» по пути C:Usersuser и извлечет файлы из архива в папку. Если папка уже существует в месте назначения, PowerShell выдаст ошибку при попытке разархивировать файлы. Однако вы можете заставить PowerShell перезаписывать данные новыми, используя параметр -Force. Вы должны использовать параметр -Force только в том случае, если старые файлы больше не нужны, поскольку это необратимо заменит файлы на вашем компьютере.
img
Область подкачки играет важную роль в производительности системы. Давайте узнаем, как определить размер области подкачки в вашей системе и как она используется. Большинство из нас не часто задумываемся об области подкачки, если только мы не сталкиваемся с проблемой нехватки памяти в наших системах. Даже в этом случае изучение и оценка области подкачки в системе не является сложным, и знание того, что нормально для вашей системы, может помочь вам определить, когда что-то работает не так. Итак, давайте изучим некоторые команды, которые помогут вам заглянуть в область подкачки. Но сначала давайте рассмотрим некоторые базовые основы. Что такое область подкачки и как она используется. Область подкачки (swap space) – это дисковое пространство, которое действует как расширение памяти. Он используется, когда физическая память (ОЗУ) системы заполнена и системе требуется больше ресурсов памяти. Это называется «swap», потому что система перемещает некоторые неактивные страницы в памяти в область подкачки, чтобы можно было разместить больше данных в ОЗУ. Другими словами, это позволяет освободить оперативную память в загруженной системе. Программы и данные используют оперативную память, потому что это единственный способ их обработки системой. Фактически, когда система загружается, она перемещает такие программы, как ядро и systemd, в оперативную память, чтобы начать работу. Область подкачки может быть настроена как отдельный раздел диска или как файл. В наши дни большинство установок Linux создают раздел во время установки, и это является опцией. Однако вы можете создать файл подкачки и использовать его для подкачки. Из-за нехватки области подкачки вы можете столкнуться с проблемой, называемой «перегрузкой», при которой программы и данные перемещаются между ОЗУ и областью подкачки так часто, что система работает очень медленно. Вместе RAM и swap называются «виртуальной памятью». Какой объем swap space необходим? Раньше для области подкачки рекомендовали выбирать объем равный двойному размеру оперативной памяти, но это было в те времена, когда в системах не было столько оперативной памяти, как сегодня. Эти рекомендации для Ubuntu, но вероятно, должны работать и для других дистрибутивов: Важно различать подкачку и подкачку с гибернацией. Система, которая переходит в спящий режим, немедленно сохраняет состояние вашей системы на жестком диске и выключается. Когда вы разбудите его (например, подняв "крышку" ноутбука), все запущенные вами программы вернутся в то состояние, в котором они находились, когда система перешла в спящий режим. Поэтому рекомендуется увеличить область подкачки. Но не все системы переходят в спящий режим. Чтобы узнать, может ли ваша система перейти в спящий режим, выполните команду: $ which pm-hibernate /usr/sbin/pm-hibernate Если на экран выведен ответ, показанный выше, значит ваша система готова к переходу в спящий режим. Вы можете проверить это, выполнив эту команду: $ sudo pm-hibernate Как можно просмотреть объем области подкачки в вашей системе Linux? Используйте команду swapon --show, чтобы просмотреть область подкачки в вашей системе. Еще одна полезная команда — это команда free, которая отображает как размер области подкачки, так и использование памяти. При использовании параметра -m результаты отображаются в МБ, а не в КБ. Команда sar сообщает об использовании области подкачки Обратите внимание, что в приведенных выше выходных данных команды free область подкачки используется скромно, хотя доступно много свободной памяти. Вы также можете просмотреть раздел подкачки с помощью такой команды: Когда необходима область подкачки? Если в вашей системе много памяти, возможно, вам никогда не понадобится использовать область подкачки. Но почти всегда полезно иметь ее под рукой. Дисковое пространство относительно дешево по сравнению с памятью, и вы никогда не знаете, когда какой процесс увеличит нагрузку. С другой стороны, если ваша область подкачки интенсивно используется почти все время, вам, возможно, следует подумать о добавлении дополнительной оперативной памяти в систему, поскольку с ее использованием связаны некоторые затраты на производительность. Создание файла подкачки. Если вам нужно создать файл подкачки в системе Linux, используйте команду: После создания файла измените права доступа к нему, запустите команду mkswap и используйте команду swapon -a, чтобы сделать его доступным, и команду swapon --show, чтобы убедиться, что он запущен. Можно включать и выключать использование файла подкачки с помощью команд swapoff и swapon, хотя вы, возможно, захотите отключить подкачку, только если вы добавили раздел подкачки и хотите использовать его вместо файла подкачки.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59