Serverless Framework w celu po艂膮czenia si臋 z chmur膮 AWS i stworzenia zasob贸w potrzebuje konta o odpowiednich uprawnieniach. Zgodnie z dobrymi praktykami bezpiecze艅stwa warto stworzy膰 osobne konto u偶ytkownika nawet je艣li tylko my sami zamierzamy korzysta膰 z ca艂ego konta w AWS. U偶ywanie tzw. root account jest uwa偶ane za ma艂o bezpieczne. O tym jak stworzy膰 konto AWS i u偶ytkownika mo偶esz przeczyta膰 tutaj
Serverless Framework (tak samo jak ka偶de inne narz臋dzie) b臋dzie potrzebowa艂o Access Key
oraz Secret Access Key
(czyli takie login i has艂o). Framework jest na tyle wszechstronny, 偶e mo偶emy owe parametry poda膰 mu na wiele sposob贸w. Praktyk膮 kt贸r膮 osobi艣cie stosuje oraz zalecam ze wzgl臋d贸w wygody i bezpiecze艅stwa jest u偶ywanie ju偶 raz zdefiniowanych danych uwierzytelniania na potrzeby AWS CLI.
AWS CLI (Command Line Interface)
Samo AWS CLI nie jest nam potrzebne do pracy z Serverless Framework, natomiast pewnie pr臋dzej czy p贸藕niej mo偶e nam si臋 przyda膰 (np. do uploadu plik贸w do S3). Dlatego radz臋 je zainstalowa膰 ju偶 teraz.
Instalacja
Dla ka偶dego z system贸w operacyjnych przebiega podobnie:
- Windows:
choco install awscli
(zak艂adaj膮c, 偶e masz ju偶 zainstalowane Chocolately, je艣li nie to kliknij tutaj) - Ubuntu 18.04:
sudo snap install aws-cli --classic
- MacOS:
brew install awscli
Konfiguracja
AWS CLI korzysta z dw贸ch plik贸w konfiguracyjnych znajduj膮cych si臋 w katalogu u偶ytkownika w podkatalogu .aws
. S膮 to odpowiednio:
.aws/credentials
przechowuj膮cy dane logowania, czyliAccess Key
orazSecret Access Key
oraz odpowiadaj膮cy mu.aws/config
zawierajacy informacje o domy艣lnym regionie i formacie zwracanych informacji prze AWS CLI.
Przyk艂adowa konfiguracja
.aws/credentials
1 | [default] |
.aws/config
1 | [default] |
W obydwu plikach w nawiasach kwadratowych mamy podana nazw臋 profilu identyfikuj膮c膮 konfiguracj臋 dla danego u偶ytkownika. Oczywi艣cie profil [default]
jest domy艣lny i nie musimy go jawnie podawa膰 przy wywo艂aniu komend aws
. Przyk艂adowo obie poni偶sze komendy s膮 r贸wnowa偶ne:
1 | aws s3 ls |
Wiele profili
W ramach potrzeb pr臋dzej czy p贸藕niej b臋dziemy mieli dost臋p do kilku kont u偶ytkownik贸w, cz臋sto przypisanych do r贸偶nych kont AWS. Mo偶e si臋 tak zdarzy膰 gdy偶 nasza organizacja b臋dzie mia艂a kilka kont AWS na ka偶dy etap rozwoju oprogramowania DEV, TEST, PROD . Innym przyk艂adem b臋d膮 konta daj膮ce nam dost臋p do chmur r贸偶nych klient贸w. W obu przypadkach mo偶emy zdefiniowa膰 profile w ww. plikach. Ja osobi艣cie posiadam dwa konta AWS. Pierwsze traktuje jako moje g艂贸wne, a drugie jako testowe. Dlatego moje pliki konfiguracyjne wygl膮daj膮 w nast臋puj膮cy spos贸b:
.aws/credentials
1 | [default] |
.aws/config
1 | [default] |
Bior膮c pod uwag臋 powy偶sz膮 konfiguracj臋, poni偶sze komendy wykonaj膮 si臋 na dw贸ch r贸偶nych kontach AWS:
1 | aws s3 ls |
Dzi臋kuj臋 i zapraszam do nast臋pnej lekcji.
Mi艂ego dnia!