AWS ogłasza koniec wsparcia dla Python 2.7 w AWS Lambda

21 kwietnia 2021

Z dniem 15 lipca 2021, AWS Lambda wycofa Python 2.7 jako obsługiwane środowisko wykonawcze, formalnie kończąc obsługę Pythona 2.7.

Dlaczego AWS przestaje wspierać Python 2.7 w funkcji Lambda?

Python 2.7.18 był ostatnią wersją Pythona 2. Python Software Foundation (PSF), która jest organem zarządzającym językiem Python, ogłosiła, że „Od 1 stycznia 2020 r. nie zostaną wprowadzone żadne nowe raporty o błędach, poprawki ani zmiany dla Python 2. Python 2 nie będzie już obsługiwane. ”

AWS Lambda wcześniej ogłosił, że wsparcie będzie kontynuowane do 1 czerwca 2020 r.
Od 2021 roku wiele projektów społeczności przestaje wspierać Python 2, a AWS zakończy również obsługę Pythona 2.7 dla AWS CLI i SDK. Koniec wsparcia AWS Lambda dla Pythona 2.7 wynika z tych zmian.

Co oznacza „koniec wsparcia” dla funkcji Lambda używających Pythona 2.7?

Zgodnie z zasadami obsługi środowiska wykonawczego AWS Lambda wycofanie odbywa się w dwóch fazach. Od daty wycofania 15 lipca 2021, Lambda nie będzie już stosować poprawek bezpieczeństwa i innych aktualizacji środowiska Python 2.7 używanego przez funkcje Lambda. Lambda nie będzie już stosować poprawek bezpieczeństwa i innych aktualizacji do środowiska uruchomieniowego Pythona 2.7 używanego przez funkcje Lambda. Ponadto funkcje korzystające z języka Python 2.7 nie będą już kwalifikować się do pomocy technicznej. Od tej daty nie będzie już można tworzyć nowych funkcji Lambda przy użyciu środowiska uruchomieniowego Python 2.7.

Przez dodatkowy czas można będzie kontynuować aktualizowanie istniejących funkcji, które używają przestarzałego środowiska wykonawczego. W przypadku Pythona 2.7 ten okres będzie trwał do 30 września 2021 r. Po tym okresie zarówno tworzenie funkcji, jak i aktualizacje zostaną trwale wyłączone. Jednak funkcja nadal będzie dostępna do uruchamiania.

Te zmiany dotyczą wszystkich funkcji korzystających z zarządzanego środowiska uruchomieniowego Python 2.7 w AWS Lambda.

Czy istniejące funkcje w Python 2.7 będą wciąż działały?

Tak, funkcje Pythona 2.7 będą nadal działać. Jednak AWS zdecydowanie zaleca migrację funkcji do obsługiwanej wersji środowiska wykonawczego, aby nadal otrzymywać poprawki zabezpieczeń i zachować uprawnienia do pomocy technicznej.

Co z funkcjami Pythona 2.7 wdrażanymi jako obrazy kontenerów?

Możesz nadal tworzyć i aktualizować funkcje języka Python 2.7, które są wdrażane jako obrazy kontenerów po dacie zakończenia wsparcia. Jednak Lambda nie będzie już aktualizować podstawowego obrazu Pythona 2.7 używanego do tworzenia tych funkcji. Odpowiadasz za zarządzanie poprawkami zabezpieczeń i innymi aktualizacjami obrazów kontenerów.

Co muszę zrobić?

Przeprowadź migrację istniejących funkcji Lambda Pythona 2.7 do obsługiwanego środowiska wykonawczego Pythona. AWS zaleca używanie Pythona 3.8, który jest najnowszą obsługiwaną wersją Pythona w Lambdzie. Workflowy tworzące nowe funkcje powinny zostać zaktualizowane do 15 lipca 2021 r., a istniejące funkcje - do 30 września 2021 r.

Jak zawsze, przed zastosowaniem zmian w aplikacjach produkcyjnych należy przetestować swoje funkcje pod kątem zgodności z językiem Python 3.

 

Skąd wiadomo czy posiadam jakiekolwiek funkcje korzystające z Pythona 2.7?

Klienci z funkcjami Pythona 2.7 zostaną powiadomieni drogą mailową oraz na stronie Personal Health Dashboard.
Poniższe polecenie pokazuje jak użyć AWS CLI, aby wyświetlić listę wszystkich funkcji na koncie, które korzystają z Pythona 2.7:

 

Bash

aws lambda list-functions --function-version ALL --output text --query "Functions[?Runtime=='python2.7'].FunctionArn"

 

Możesz również użyć AWS Config advanced queries, aby wyświetlić listę wszystkich funkcji korzystająych z Python 2.7, i zastosować Aggregator, aby rozszerzyć zakres zapytania na wiele kont i obsługiwane regiony. Oto przykładowe zapytanie konfiguracyjne AWS:

python 3.0

Jak wykonać upgrade do Pythona 3?

Społeczność Pythona oferuje pomocne przewodniki i narzędzia, które pomogą Ci przenieść kod Python 2 na Python 3. Aby uzyskać więcej informacji, przeczytaj:

A jeśli potrzebuję dodatkowej pomocy?

Jeśli masz więcej pytań, skontaktuj się z AWS Support o lub AWS Discussion Forums.

źródło:AWS

Case Studies
Referencje

Firma Hostersi pozwoliła nam osadzić ogólne zagadnienia programu Well Architected Framework w kontekście naszej firmy. Oszczędziło nam to wiele czasu i pozwoliło znaleźć lepiej dopasowane rozwiązania do specyfiki naszego biznesu. WAF był świetnym katalizatorem do wprowadzenie szeregu zmian w obszarze niezawodności, szybkości i bezpieczeństwa edrone. 

Piotr Stachowicz
CTO
W skrócie o nas
Specjalizujemy się w dostarczaniu rozwiązań IT w obszarach projektowania infrastruktury serwerowej, wdrażania chmury obliczeniowej, opieki administracyjnej i bezpieczeństwa danych.