AWS CloudShell – dostęp do zasobów AWS z wiersza poleceń

22 stycznia 2021

Niezależnie od tego, ile automatyzacji stworzyłeś, jak świetny jesteś w ćwiczeniu IAC (Infrastructure as Code), czasami musisz wchodzić w interakcję ze swoimi zasobami AWS w wierszu poleceń. Być może będziesz musiał sprawdzić albo dopasować plik konfiguracyjny, dokonać szybkiej naprawy środowiska produkcyjnego lub nawet eksperymentować z niektórymi nowymi funkcjami bądź usługami AWS.

Niektórzy z klientów czują się najbardziej komfortowo, kiedy pracują w obrębie przeglądarki internetowej i wciąż nie skonfigurowali ani nie dostosowali swojego własnego wiersza poleceń (CLI). Twierdzą, że nie chcą zajmować się aplikacjami klientów, kluczami publicznymi, danymi uwierzytelniającymi AWS, narzędziami itp. Podczas gdy żaden z tych kroków nie jest trudny ani nie zajmuje zbyt dużo czasu, może mimo wszystko wydawać się złożony i powodować napięcie, dlatego zespół stara się zrobić wszystko, co w jego mocy, aby dało się tego uniknąć.

Pora na AWS CloudShell

Aby proces uzyskiwania dostępu do powłoki osłaniającej AWS był dokładny, szybki i bezpieczny, warto zainteresować się nowo uruchomionym AWS CloudShell. Każde środowisko powłoki uruchamiane z CloudShell posiada zainstalowany i skonfigurowany interfejs wiersza poleceń AWS Command Line Interface (CLI) (v2), dzięki czemu możesz uruchamiać polecenia aws zaraz po „wyjęciu z pudełka”. Środowiska zawierają także środowiska wykonawcze programów Python oraz Node i wielu więcej, które pojawią się w przyszłości.

Aby rozpocząć, należy kliknąć na ikonę CloudShell w konsoli zarządzania AWS (AWS Management Console):

konsola AWS CloudShell

Powłoka konfiguruje się w przeciągu kilku sekund, dlatego możliwe jest natychmiastowe wydanie pierwszej komendy aws:

konsola CloudShell

Środowisko powłoki jest oparte na Amazon Linux 2. Można przechowywać do 1 GB plików na region w katalogu domowym, które będą dostępne za każdym razem, kiedy powłoka zostanie otwarta w regionie. Dotyczy to także plików konfiguracyjnych powłoki jak .bashrc i plików historii powłoki.

Dostęp do powłoki można uzyskać poprzez SSO lub jako dowolny podmiot IAM, który może zalogować się do AWS Management Console, w tym do ról operacyjnych. W celu uzyskania dostępu do CloudShell muszą obowiązywać zasady AWS Cloud Shell Full Access. Powłoka działa jako zwykły (nieuprzywilejowany) użytkownik, ale może również wywoływać programy z uprawnieniami innych użytkowników (sudo) i zainstalować pakiety, jeśli będzie to konieczne.

Poniżej znajduje się kilka funkcji, o których warto wiedzieć:

Motywy i rozmiary czcionek – możesz przełączać się pomiędzy jasnymi i ciemnymi motywami i wybrać jeden z pięciu rozmiarów czcionek:

AWS Cloud Shell Full Access

Zakładki i Sesje – możesz mieć otwartych kilka sesji w tym samym regionie i możesz kontrolować ich „zachowanie”; z możliwością rozdzielenia horyzontalnego i wertykalnego.

karty i sesj aws cloudshell

Możesz także pobrać pliki ze środowiska powłoki do swojego pulpitu, a następnie przesłać je z pulpitu do powłoki.

Warto wiedzieć

Poniżej znajduje się kilka ważnych informacji, o których warto pamiętać podczas oceny CloudShell:

  • Limity czasowe i trwałość – każda sesja CloudShell wygaśnie po około 20 minutach braku aktywności i może zostać przywrócona poprzez odświeżenie okna:

cloudshell sesja

  • Regiony – CloudShell jest aktualnie dostępna w następujących regionach: USA – Północnej Wirginii, Ohio, Oregonie, na terenie Europy (Irlandia), Azji Pacyficznej (Tokio); pozostałe regiony będą dostępne wkrótce.
  • Pamięć trwała – pliki przechowywanie wewnątrz $HOME utrzymują się pomiędzy wywołaniami (inwokacjami) CloudShell z limitem 1 GB na region; pozostała pamięć jest nietrwała. Oznacza to, że jakiekolwiek oprogramowanie zainstalowane poza $HOME nie przetrwa i niezależnie od tego, co zmienisz (lub zepsujesz), możesz zawsze rozpocząć na nowo z nowym środowiskiem CloudShell.
  • Dostęp do sieci – sesje mogą nawiązywać połączenia wychodzące z internetem, ale nie zezwalają na jakikolwiek rodzaj połączeń przychodzących. Aktualnie sesje nie mogą łączyć się z zasobami w prywatnych podsieciach VPC, jednakże to też znajduje się już w planach.
  • Czas pracy – oprócz czasów pracy Pythona i Node zainstalowane i gotowe do pracy są także: Bash, PowerShell, jq, git, ECS CLI, SAM CLI, npm oraz pip.
  • Cennik – możesz używać do 10 powłok w każdym regionie jednocześnie, bez opłat. Płacisz tylko za pozostałe zasoby AWS, których używasz z CloudShell do stworzenia i uruchamiania swoich aplikacji.

 

Źródło: https://aws.amazon.com/blogs/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.