Amazon является крупнейшим игроком на рынке облачных вычислений, и его платформа облачных вычислений Amazon Web Services (AWS) сохраняет очень высокие темпы роста с момента запуска в 2006 году.
Чтобы помочь своим клиентам в полной мере воспользоваться преимуществами своего облачного предложения, компания создала собственную серверную операционную систему Linux под названием Amazon Linux. Amazon Linux, основанный на Red Hat Enterprise Linux (RHEL), выделяется своей тесной интеграцией со многими сервисами Amazon Web Services (AWS), долгосрочной поддержкой, а также компилятором, набором инструментов для сборки и ядром LTS, настроенным для повышения производительности на Amazon EC2.
В декабре 2017 года Amazon анонсировала вторую версию своей операционной системы Linux: Amazon Linux 2. Как и его предшественник, Amazon Linux 2 будет поддерживаться в течение 5 лет с обновлениями безопасности и обслуживания до 30 июня 2023 года.
Встречайте Amazon Linux 2
У Amazon много клиентов по всему миру, чьи приложения и инфраструктура полностью размещены на облачных серверах. Для таких клиентов имеет смысл использовать операционную систему, которая была разработана так, чтобы легко интегрироваться с платформой облачных вычислений Amazon и выжать из нее максимум производительности.
Стабильный Bleeding Edge
С Amazon Linux 2 клиенты также получают два преимущества, которые не часто сочетаются друг с другом: долгосрочную поддержку и доступ к последним версиям популярных программных пакетов. Долгосрочная поддержка распространяется на основные пакеты (полный список которых можно найти на странице часто задаваемых вопросов по Amazon Linux 2). Amazon обещает предоставлять обновления безопасности и исправления ошибок в течение 5 лет.
Одно важное предостережение заключается в том, что Amazon Linux 2 не поддерживает совместимость с ABI в пространстве ядра, поэтому изменения в исходном ядре Linux, нарушающие стабильность ABI, могут потребовать дополнительных модификаций для любых приложений, использующих сторонние драйверы ядра.
На момент написания ядром по умолчанию в Amazon Linux 2, которое получает долгосрочную поддержку со стороны Amazon, является ядро Linux 4.14. Однако пользователи могут легко перейти на оптимизированное для AWS ядро Linux 4.19, установив его из каталога Extras, репозитория новейшего программного обеспечения, включая ядра, среды выполнения, инструментальные средства, базы данных, веб-стеки и многое другое.
Установка ядра Linux 4.19 выполняется одной простой командой:
sudo amazon-linux-extras install kernel-ng
Другое доступное программное обеспечение в каталоге Extras можно просмотреть с помощью следующей команды:
amazon-linux-extras list 0 ansible2 available [ =2.4.2 =2.4.6 =2.8 ] 2 httpd_modules available [ =1.0 ] 3 memcached1.5 available [ =1.5.1 =1.5.16 ] 5 postgresql9.6 available [ =9.6.6 =9.6.8 ] 6 postgresql10 available [ =10 ] 8 redis4.0 available [ =4.0.5 =4.0.10 ] 9 R3.4 available [ =3.4.3 ] 10 rust1 available \ [ =1.22.1 =1.26.0 =1.26.1 =1.27.2 =1.31.0 ] 11 vim available [ =8.0 ] 13 ruby2.4 available [ =2.4.2 =2.4.4 =2.4.7 ] 15 php7.2 available \ [ =7.2.0 =7.2.4 =7.2.5 =7.2.8 =7.2.11 =7.2.13 =7.2.14 =7.2.16 =7.2.17 =7.2.19 =7.2.21 ] 16 php7.1 available \ [ =7.1.22 =7.1.25 =7.1.27 =7.1.28 =7.1.30 =7.1.31 ] 17 lamp-mariadb10.2-php7.2 available \ [ =10.2.10_7.2.0 =10.2.10_7.2.4 =10.2.10_7.2.5 =10.2.10_7.2.8 =10.2.10_7.2.11 =10.2.10_7.2.13 =10.2.10_7.2.14 =10.2.10_7.2.16 =10.2.10_7.2.17 =10.2.10_7.2.19 =10.2.10_7.2.21 ] 18 libreoffice available [ =5.0.6.2_15 =5.3.6.1 ] 19 gimp available [ =2.8.22 ] 20 docker=latest enabled \ [ =17.12.1 =18.03.1 =18.06.1 ] 21 mate-desktop1.x available [ =1.19.0 =1.20.0 ] 22 GraphicsMagick1.3 available [ =1.3.29 =1.3.32 ] 23 tomcat8.5 available \ [ =8.5.31 =8.5.32 =8.5.38 =8.5.40 =8.5.42 ] 24 epel available [ =7.11 ] 25 testing available [ =1.0 ] 26 ecs available [ =stable ] 27 corretto8 available \ [ =1.8.0_192 =1.8.0_202 =1.8.0_212 =1.8.0_222 ] 28 firecracker available [ =0.11 ] 29 golang1.11 available \ [ =1.11.3 =1.11.11 =1.11.13 ] 30 squid4 available [ =4 ] 31 php7.3 available \ [ =7.3.2 =7.3.3 =7.3.4 =7.3.6 =7.3.8 ] 32 lustre2.10 available [ =2.10.5 ] 33 java-openjdk11 available [ =11 ] 34 lynis available [ =stable ] 35 kernel-ng available [ =stable ] 36 BCC available [ =0.x ] 37 mono available [ =5.x ] 38 nginx1 available [ =stable ] 39 ruby2.6 available [ =2.6 ]
Локальная разработка и тестирование
Вероятно, вас не удивит, что Amazon Linux 2 доступен как образ машины Amazon (AMI) для использования в Amazon Elastic Compute Cloud (AmazonEC2) и как образ контейнера Docker, совместимый с Amazon Elastic Container Service (Amazon ECS).
Что вас может удивить, так это то, что вы также можете загрузить образы виртуальных машин для решений виртуализации VMware, Oracle VM VirtualBox и Microsoft Hyper-V для локальной разработки и тестирования программного обеспечения.
Чтобы запустить Amazon Linux 2 на локальной машине, все, что вам нужно сделать, это подготовить загрузочный образ с информацией о начальной конфигурации, загрузить образ виртуальной машины Amazon Linux 2 для выбранной платформы виртуализации и загрузиться на новую виртуальную машину. Первый шаг – также единственный, который требует от пользователей ознакомления с руководством пользователя Amazon Linux 2.
От SysVinit к systemd
Предыдущая версия Amazon Linux полагалась на SysVinit для начальной загрузки пользовательского пространства Linux и последующего управления системными процессами.
Несмотря на свою простоту и компактность, SysVinit не был разработан для удовлетворения потребностей современных пользователей и запуска большого количества процессов, на которые пользователи привыкли полагаться на протяжении многих лет. Кроме того, SysVinit запускает процессы поочередно, что означает, что он должен ждать загрузки каждого процесса, прежде чем он сможет начать загрузку следующего процесса. Настройка порядка загрузки процессов – это большая работа, а не удовольствие.
Systemd предоставляет систему инициализации на основе зависимостей, способную параллельно загружать пользовательское пространство Linux. Это приводит к значительному повышению производительности по сравнению с SysVinit. Systemd также включает в себя такие функции, как запуск демонов по требованию, поддержку моментальных снимков, отслеживание процессов и блокировки-ингибиторы, которые делают его набором основных строительных блоков для системы Linux.
Безопасность прежде всего
Amazon Linux 2 ограничивает подверженность уязвимостям системы безопасности за счет уменьшения количества некритических пакетов, установленных на инстансе. Репозитории Amazon Linux 2 yum служат основным каналом для доставки обновлений безопасности, но обновления безопасности также достигают пользователей через обновленные образы машин Amazon (AMI), а также образы виртуальных машин и контейнеров.
Все события безопасности перечислены в Центре безопасности Amazon Linux AMI, который также предоставляет удобный RSS-канал. Пользователи, которые хотят еще больше усилить свою киберзащиту, могут воспользоваться преимуществами сотен решений безопасности, доступных на AWS Marketplace, включая Trend Micro Deep Security.
«Компания Trend Micro любит Linux, потому что наши клиенты любят Linux. Linux – действительно первоклассный гражданин в Trend Micro, и наша запускаемая поддержка AL2 – еще один пример нашей приверженности защите изменяющихся рабочих нагрузок наших клиентов », – говорится в сообщении Trend Micro на своем веб-сайте. «Независимо от того, используете ли вы свой AL2 в AWS, на виртуальных серверах или в контейнерах, Deep Security обеспечивает многоуровневую защиту для вашей гибридной среды».
Варианты поддержки клиентов премиум-класса доступны через подписку на AWS Support, но они не охватывают использование Amazon Linux 2 локально, что отличает их от аналогичных вариантов подписки, предлагаемых Red Hat.
Вывод
Когда дело доходит до запуска рабочих нагрузок Linux на AWS, Amazon Linux 2 – простой выбор. Сочетая долгосрочную поддержку с удобным доступом к новейшему программному обеспечению, этот дистрибутив Linux на основе RHEL обеспечивает удобную точку входа в мир Amazon Web Services и безграничные возможности, которые с ним связаны.