gik|iewicz

szukaj
Amazon Linux 2027 w publicznej wersji zapoznawczej – kernel 7.1 i SELinux

Amazon Linux 2027 w publicznej wersji zapoznawczej – kernel 7.1 i SELinux

Amazon Linux 2027 trafił do publicznego podglądu 3 września i przynosi największą przebudowę platformy w historii tej dystrybucji. AWS buduje nową edycję na bazie AL2023, wyposaża ją w kernel 7.1, DNF5 oraz kompilację z LTO. Największą zmianą jest jednak SELinux działający domyślnie w trybie enforcing, który może zepsuć aplikacje działające wcześniej w trybie permissive.

TL;DR: Amazon Linux 2027 wszedł do publicznego podglądu 3 września. Dystrybucja bazuje na AL2023, otrzymuje kernel 7.1, DNF5, kompilację z LTO oraz SELinux w trybie enforcing domyślnie – co może zepsuć aplikacje działające wcześniej w trybie permissive. Ogłoszenie nie podaje daty GA ani daty końca wsparcia AL2023.

Czym jest Amazon Linux 2027 i co oznacza publiczny podgląd?

Amazon Linux 2027 to kolejna generacja dystrybucji serwerowej od AWS, która 3 września trafiła do publicznego podglądu. Według infoq.com ogłoszenie AWS nie zawiera daty ogólnej dostępności (GA) ani daty zakończenia wsparcia dla AL2023.

To istotna luka informacyjna. Planowanie migracji wymaga przecież znajomości ram czasowych. Ponadto publiczny podgląd daje zespołom czas na wykrycie problemów ze zgodnością zanim dystrybucja trafi na produkcję. Historyczną chronologię generacji Amazon Linux opisuje z kolei hidekazu-konishi.com, gdzie widać wzorzec: każde pokolenie zastępuje poprzednie, a daty końca wsparcia potrafiły się przesuwać.

Dlaczego SELinux w trybie wymuszania domyślnie to największa zmiana?

Największym ryzykiem migracji jest SELinux przełączony domyślnie w tryb enforcing. Jak podaje InfoQ, aplikacje, które przechodzą testy na AL2023 w trybie permissive, mogą w trybie wymuszania po prostu przestać działać.

W praktyce oznacza to, że service’y piszące do katalogów poza dozwolonymi kontekstami przestaną działać bez ostrzeżenia. Dlatego przed migracją należy uruchomić obrazy AL2027 w podglądzie i przeanalizować logi audytowe. Na przykład demony z własnymi ścieżkami danych to pierwsi kandydaci do nieprzyjemnych niespodzianek. Tematykę bezpieczeństwa kernela i systemu podejmowałem już wcześniej przy okazji odpowiedzi Cloudflare na lukę „Copy Fail” w Linuksie, choć tam problem dotyczył innej warstwy.

Na czym bazuje AL2027 i jaki kernel otrzymuje?

AL2027 bazuje na linii AL2023, a jednocześnie otrzymuje kernel 7.1. Z byteiota.com wynika, że chodzi o największą przebudowę platformy w historii dystrybucji, obejmującą właśnie nowy kernel, DNF5 oraz kompilację z LTO. Skok wersji jądra jest o tyle istotny, że dotyka sterowników i modułów zależnych od ABI.

Kernel 7.1 to edycja, o której pisano również w kontekście źródło, co pokazuje, jak szybko rozjeżdżają się numery wersji jądra. Dla administratorów oznacza to natomiast konieczność sprawdzenia, czy własne moduły i sterowniki kompilują się z nową serią. Nie można na razie potwierdzić z udostępnionych źródeł, jakie dokładnie zmiany w konfiguracji kernela wprowadza AWS – ogłoszenia tego szczegółu nie precyzują.

Co zamiast YUM – czy DNF5 zmienia sposób pracy z pakietami?

Menedżerem pakietów w AL2027 jest DNF5, obok LTO (optymalizacji czasu łączenia przy kompilacji) wymieniany jako jeden z filarów przebudowy platformy. W ogłoszeniu opisanym przez byteiota DNF5 figuruje jako główny element modernizacji obok kernela 7.1. Skrypty i playbooki wywołujące stare narzędzia pakietowe mogą więc wymagać przeglądu.

Na przykład pipeline’y CI/CD zakładające dotychczasową składnię poleceń warto uruchomić przeciwko obrazom podglądu. Ponadto kompilacja z LTO może wpłynąć na wydajność i rozmiar binariów dostarczanych w dystrybucji, choć ogłoszenie nie podaje konkretnych liczb. Źródła nie opisują też szczegółów zachowania DNF5 w tej wersji, dlatego dalszych wniosków na ten temat formułować nie można.

Co warto przetestować w publicznym podglądzie AL2027?

Najważniejsze jest zweryfikowanie własnych obrazów na nowej platformie, zanim enforcing SELinux zablokuje usługi na produkcji. Lista priorytetów wygląda następująco:

  • uruchomienie obrazów AL2027 w podglądzie z obecnymi workloadami,
  • analiza logów audytowych SELinux pod kątem blokowanych operacji,
  • test modułów i sterowników kernela przeciw wersji 7.1,
  • przegląd skryptów i playbooków korzystających z narzędzi pakietowych,
  • weryfikacja wydajności binariów skompilowanych z LTO.

Publiczny podgląd trwa, a AWS nie ogłosiło jeszcze daty GA ani końca wsparcia AL2023. Z tego powodu testing w trybie preview to obecnie jedyne pewne źródło informacji o zgodności własnych aplikacji.

Co daje kompilacja z LTO i dlaczego ma znaczenie dla EC2?

Kompilacja z LTO (Link Time Optimization) to trzeci filar przebudowy platformy obok kernela 7.1 i DNF5. Z źródło.

Jakie ryzyko oznacza przejście z trybu permissive na enforcing?

Podstawowym ryzykiem jest nagłe blokowanie operacji, które wcześniej były jedynie logowane. Jak relacjonuje InfoQ, aplikacje przechodzące testy na AL2023 w trybie permissive mogą w trybie enforcing po prostu przestać działać.

Skutki mogą być różnorodne. Na przykład demon zapisujący do niestandardowego katalogu danych dostanie odmowę bez wcześniejszego ostrzeżenia. Ponadto błędy konfiguracji polityk ujawniają się dopiero w runtime, a nie przy starcie usługi. Dlatego logi audytowe SELinux powinny być pierwszym miejscem analizy podczas testów podglądu. Zbliżone podejście do diagnostyki problemów kernelowych opisuje tekst o odpowiedzi Cloudflare na lukę „Copy Fail”.

Czego jeszcze nie wiadomo – brakujące daty wsparcia i GA?

Ogłoszenie AWS nie podaje trzech kluczowych informacji: daty ogólnej dostępności AL2027, daty końca wsparcia dla AL2023 ani dodatkowych szczegółów konfiguracji. Według InfoQ brakuje wyraźnie daty GA i daty zakończenia wsparcia AL2023. To istotna luka dla zespołów planujących migrację.

Wobec tego nie da się dziś ustalić, ile czasu mają administratorzy na przejście na nową generację. Historyczne daty z chronologii Amazon Linux pokazują z kolei, że terminy końca wsparcia potrafiły się przesuwać, więc pewność jest tu iluzoryczna. Dlatego tak ważne jest śledzenie kolejnych komunikatów AWS, zamiast opierania planów na domysłach. Więcej o tym, jak brak wczesnych zapowiedzi komplikuje pracę z jądrem Linuksa, pisano w tekście o podatnościach jądra bez wcześniejszego ostrzegania dystrybucji.

Jak wygląda historia linii Amazon Linux na tle AL2027?

AL2027 to czwarta generacja w historii dystrybucji, licząc od Amazon Linux AMI. Z timeline opartego wyłącznie na oficjalnych datach wynika, że Amazon Linux AMI został ogłoszony w 2010 roku i zakończył życie pod koniec 2023 roku.

Wzorzec jest powtarzalny. Każda generacja zastępuje poprzednią, a instancje działające na starych wersjach stopniowo tracą wsparcie. Ponadto sam artykuł o historii Amazon Linux tytułuje jedną ze sekcji o „zegarach, które nie ruszają instancjami”, co dobrze oddaje problem ślepego polegania na terminach wsparcia. Jak sugeruje byteiota, tytuł materiału wprost pyta, co deweloperzy EC2 powinni zrobić teraz. Odpowiedź sprowadza się do planu testowego:

  • uruchomienie kluczowych workloadów na obrazie preview AL2027,
  • przejrzenie logów audytowych SELinux pod kątem odmówionych operacji,
  • sprawdzenie kompilacji własnych moduł i sterowników z kernelem 7.1,
  • przegląd skryptów pakietowych pod kątem DNF5,
  • benchmark wydajności binariów z LTO względem obecnych pakietów,
  • udokumentowanie wyników, zanim pojawi się data GA.

Taki przygotowany wcześniej plan ogranicza ryzyko chaosu, gdy AWS ogłosi finalną dostępność. Z kolei zespoły korzystające z usług AI na AWS mogą też śledzić kontekst szerszej platformy, o czym pisze tekst o Nvidii dostarczającej Amazonowi milion chipów AI do 2027.

Często zadawane pytania

Kiedy Amazon Linux 2027 trafi do wersji finalnej (GA)?

Jedyną potwierdzoną datą jest 3 września, kiedy AL2027 wszedł do publicznego podglądu. Dopóki AWS nie opublikuje kolejnego komunikatu, nie można wskazać nawet orientacyjnego terminu wersji finalnej.

Czy aplikacje działające na AL2023 będą działać na AL2027 bez zmian?

Nie ma gwarancji. AL2027 bazuje na linii AL2023, jednak wprowadza kernel 7.1, DNF5, kompilację z LTO oraz SELinux w trybie enforcing. Zgodnie z InfoQ aplikacje przechodzące testy na AL2023 w trybie permissive mogą pod enforcingiem przestać działać. Jedyną weryfikacją są testy na obrazie podglądu.

Dlaczego SELinux w trybie enforcing może zepsuć aplikacje?

Aplikacja pisząca do katalogów poza dozwolonymi kontekstami lub używająca niestandardowych ścieżek danych otrzyma odmowę dostępu. Objawy pojawiają się w runtime, dlatego analiza logów audytowych jest niezbędna przed migracją.

Czy ogłoszenie podaje datę końca wsparcia dla AL2023?

Nie. Historycznie terminy końca wsparcia w linii Amazon Linux potrafiły się przesuwać, co potwierdza opublikowana oś czasu czterech generacji dystrybucji.

Podsumowanie

Publiczny podgląd AL2027 od 3 września daje zespołom realny czas na przygotowanie się do najważniejszej zmiany – SELinux w trybie enforcing domyślnie. Kernel 7.1, DNF5 i kompilacja z LTO dopełniają obraz przebudowy platformy. Brak dat GA i końca wsparcia AL2023 oznacza z kolei, że planowanie migracji musi opierać się na założeniach, nie pewnikach.

Komentarze pod tym wpisem są otwarte – podziel się wynikami testów, zwłaszcza jeśli enforcing zablokował którejś usługi.