Usługi chmurowe AWS i punkty końcowe łączące aplikacje
Amazon Web Services (AWS) to organizacja świadcząca usługi chmurowe, które umożliwiają tworzenie i utrzymywanie aplikacji oraz obsługę innych obciążeń. Jej oferta obejmuje usługi obliczeniowe, przechowywanie danych, bazy danych, analitykę, integrację aplikacji i dodatkowe obszary. Warto rozróżnić, że AWS dostarcza wiele usług o różnych zastosowaniach, a nie jedną aplikację z jednym przepływem pracy.
Domena amazonaws.com stanowi przestrzeń nazw punktów końcowych usług AWS, za pośrednictwem której oprogramowanie może łączyć się z poszczególnymi usługami i zasobami AWS. Publiczna witryna informacyjna AWS znajduje się pod adresem aws.amazon.com, więc domena punktów końcowych i marketingowa strona główna pełnią różne role. Zrozumienie tej różnicy pomaga wyjaśnić, dlaczego aplikacja może łączyć się z amazonaws.com, mimo że nikt nie przegląda witryny AWS.
Co AWS pomaga tworzyć i utrzymywać?
AWS rozpoczęło działalność w 2006 roku i udostępnia funkcje chmurowe, które organizacje mogą wykorzystywać do tworzenia i obsługi obciążeń. Dostarczone oficjalne materiały opisują usługi służące do uruchamiania aplikacji, przechowywania informacji, pracy z bazami danych i łączenia systemów rozproszonych. Wybór AWS wymaga więc określenia funkcji potrzebnych do obsługi danego obciążenia i poznania odpowiadających im usług.
Katalog usług ilustruje tę różnorodność, ale nie oznacza, że wszystkie usługi są wzajemnie zamienne. EC2 opisano jako usługę udostępniającą serwery wirtualne, S3 jako obiektową pamięć masową, a Lambda jako usługę umożliwiającą uruchamianie kodu bez zarządzania serwerami lub klastrami. Są to różne elementy składowe, choć korzystające z nich aplikacje mogą wysyłać żądania w obrębie tej samej szerokiej rodziny domen.
| Potrzeba związana z obciążeniem | Przykłady opisane w dostarczonych materiałach AWS | Różnica w praktyce |
|---|---|---|
| Uruchamianie obciążeń aplikacyjnych | EC2 i Lambda | Usługi obliczeniowe oferują różne sposoby uruchamiania kodu. |
| Przechowywanie obiektów | S3 | Obiektowa pamięć masowa służy do innych celów niż relacyjna baza danych. |
| Praca z bazami danych | RDS i DynamoDB | AWS obejmuje usługi relacyjnych baz danych oraz baz NoSQL. |
| Łączenie komponentów aplikacji | API Gateway, SQS i Step Functions | Dostęp do API, kolejki komunikatów i przepływy pracy odpowiadają na różne potrzeby integracyjne. |
| Analizowanie i obserwowanie obciążeń | Athena i CloudWatch | Wykonywanie zapytań do danych i monitorowanie działania to odrębne czynności. |
Ta różnorodność sprawia, że AWS jest przydatne dla twórców potrzebujących kilku funkcji chmurowych do obsługi jednego obciążenia. Wiąże się też z koniecznością dokonania wyboru: organizacja musi określić usługę, model dostępu i obowiązki operacyjne odpowiednie dla swojej aplikacji. Znajoma domena nadrzędna nie zwalnia z podejmowania tych decyzji.
Do czego służy amazonaws.com?
Dokumentacja AWS definiuje punkt końcowy jako adres URL stanowiący punkt wejścia do usługi internetowej AWS. Wiele punktów końcowych zawiera amazonaws.com w nazwie hosta, obok informacji identyfikujących usługę, a czasem także region AWS. Oprogramowanie używa tych adresów, aby dotrzeć do odpowiedniego punktu wejścia usługi.
Żądanie do punktu końcowego AWS może być częścią działania aplikacji, a nie świadomą wizytą w witrynie internetowej. Różne żądania w obrębie domeny nadrzędnej mogą dotyczyć różnych usług, kont, zasobów i modeli dostępu. Ich wspólny sufiks dostarcza mniej kontekstu dotyczącego aplikacji niż pełne żądanie.
Odczytywanie punktu końcowego usługi
Udokumentowany przykład dynamodb.us-west-2.amazonaws.com zawiera więcej przydatnych informacji niż samo amazonaws.com. Wskazuje DynamoDB i zawiera kod regionu us-west-2. Informacje te zawężają kontekst usługi, ale nie ujawniają wszystkiego o podmiocie wysyłającym żądanie ani o danym zasobie.
- Nazwa usługi: pomaga rozpoznać funkcję AWS, z którą nawiązywane jest połączenie.
- Kod regionu: dostarcza kontekstu regionalnego, jeśli dany punkt końcowy ma format regionalny.
- Pełna nazwa hosta: zachowuje różnice, które znikają po ograniczeniu obserwacji do domeny nadrzędnej.
- Ścieżka żądania: dostarcza dodatkowego kontekstu żądania, który należy interpretować na podstawie dokumentacji usługi.
- Aplikacja wysyłająca żądanie: pomaga powiązać adres techniczny z działaniem oczekiwanym przez osobę lub organizację.
Te szczegóły należy rozpatrywać łącznie. Nazwa hosta usługi dostarcza przydatnych informacji o miejscu docelowym, natomiast aplikacja i żądanie pozwalają zrozumieć, dlaczego jest ono używane. Ani nazwa usługi, ani domena nadrzędna nie określają samodzielnie celu wykorzystania danych.
Dlaczego niektóre adresy AWS zawierają region?
Wiele punktów końcowych AWS zawiera kod regionu, ponieważ zapewniają regionalny punkt wejścia do usługi. AWS dokumentuje również ogólne i globalne punkty końcowe dla niektórych usług. Dokładne działanie punktu końcowego zależy od konkretnej usługi, dlatego jednego schematu nazewnictwa nie należy stosować do całego katalogu.
Dla twórcy praktyczne pytanie brzmi: który punkt końcowy dokumentacja wybranej usługi wskazuje dla zamierzonej operacji? Rozpoznanie kodu regionu może pomóc to ustalić, ale zgadywanie adresu na podstawie schematu innej usługi nie zastępuje sprawdzenia dokumentacji. Punktem wyjścia są ogólna dokumentacja referencyjna AWS i dokumentacja punktów końcowych usług.
| Typ punktu końcowego | Co wynika z dostarczonych materiałów | Co nadal wymaga sprawdzenia |
|---|---|---|
| Regionalny | Wiele nazw hostów zawiera kod usługi, kod regionu i amazonaws.com. | Punkt końcowy udokumentowany dla wybranej usługi i regionu. |
| Ogólny | Niektóre usługi mają ogólne punkty końcowe. | Sposób, w jaki dana usługa obsługuje żądania wysyłane do tego punktu końcowego. |
| Globalny | AWS dokumentuje globalne punkty końcowe dla niektórych usług. | Operacje i zachowanie regionalne opisane w dokumentacji usługi. |
Zaletą punktów końcowych przypisanych do poszczególnych usług jest czytelniejsze kierowanie ruchu i rozdzielenie funkcji. Dla osoby analizującej aktywność sieciową ograniczeniem jest to, że zapis z symbolem wieloznacznym, taki jak *.amazonaws.com, ukrywa wiele tych przydatnych szczegółów. Łączy miejsca docelowe, które mogą służyć do zasadniczo różnych celów.
Czy adres AWS wskazuje, kto zarządza aplikacją?
Obecność amazonaws.com nie identyfikuje klienta, obciążenia ani właściciela aplikacji odpowiedzialnego za konkretne żądanie. AWS dostarcza kontekstu usługi chmurowej, ale domena nadrzędna nie wyjaśnia, jakie konto lub zasób stoi za daną aktywnością. Nie określa też, jakie informacje są przechowywane, pobierane lub przetwarzane.
Ma to znaczenie, gdy ktoś zauważy nieznane połączenie w aktywności aplikacji lub zapisach sieciowych. Adres może pomóc zidentyfikować usługę AWS, ale interpretacja połączenia wymaga informacji z oprogramowania, które je nawiązuje. Właściwe pytanie dotyczy tego, co dana aplikacja robi z miejscem docelowym.
Przydatna analiza rozdziela następujące pytania:
- Która aplikacja zainicjowała żądanie? Powiąż miejsce docelowe z analizowanym oprogramowaniem i działaniem.
- Jakie jest pełne miejsce docelowe? Zachowaj nazwę hosta i ścieżkę, a nie tylko sufiks domeny.
- Jaką usługę reprezentuje? Porównaj adres z odpowiednią dokumentacją AWS.
- Jaka operacja jest oczekiwana? Ustal, jak żądanie wiąże się z zamierzonym zachowaniem aplikacji.
- Jaki model dostępu ma zastosowanie? Sprawdź poświadczenia i uprawnienia wymagane przez daną usługę i zasób.
- Co pozostaje niewyjaśnione? Pozostaw kwestie własności, celu wykorzystania danych lub autoryzacji nierozstrzygnięte, jeśli dostępny kontekst ich nie wyjaśnia.
Takie podejście pozwala uniknąć utożsamiania tożsamości infrastruktury z tożsamością aplikacji. Sprawia też, że analiza jest bardziej konkretna: niepewność dotycząca żądania jednej aplikacji staje się pytaniem o tę aplikację i usługę, zamiast prowadzić do wniosku o wszystkich miejscach docelowych mających ten sam sufiks.
Jak poświadczenia i uprawnienia wpływają na dostęp?
Poświadczenia i uprawnienia AWS odpowiadają na różne pytania. Poświadczenia uwierzytelniają podmiot wysyłający żądanie, natomiast uprawnienia określają działania, które może on wykonywać. Wiedza o tym, do której usługi należy punkt końcowy, nie przesądza, czy dany podmiot może korzystać z konkretnego zasobu.
Dokładne wymagania wynikają z konkretnej usługi i jej modelu dostępu. Twórcy powinni zapoznać się z omówieniem poświadczeń bezpieczeństwa AWS oraz dokumentacją zamierzonej usługi i operacji. Samo istnienie punktu końcowego nie opisuje wszystkich tych wymagań.
| Pytanie o dostęp | Powiązane pojęcie | Czego samo w sobie nie określa |
|---|---|---|
| Kto wysyła żądanie? | Uwierzytelnianie za pomocą poświadczeń | Czy podmiot wysyłający żądanie może wykonać żądane działanie. |
| Czy podmiot wysyłający żądanie może wykonać to działanie? | Autoryzacja na podstawie uprawnień | Czy dozwolone jest również inne, niepowiązane działanie lub dostęp do innego zasobu. |
| Jakie wymagania mają tu zastosowanie? | Dokumentacja konkretnej usługi | Uniwersalnej reguły dostępu dla każdego punktu końcowego AWS. |
Odpowiedzialność wykracza poza rozpoznanie dostawcy
AWS publikuje model współodpowiedzialności, który pomaga zrozumieć podział obowiązków podczas korzystania z jego usług. Jest to kwestia odrębna od rozpoznania nazwy hosta AWS. Zespoły muszą rozpatrywać swoje obowiązki wraz z wymaganiami dostępu do usługi, zamiast zakładać, że tożsamość dostawcy rozstrzyga kwestie na poziomie aplikacji.
Dostarczone materiały uzasadniają wyjaśnienie tego podziału w ramach oceny AWS. Nie pozwalają jednak ustalić, jak konkretny klient skonfigurował aplikację lub zasób. Ocena konkretnego wdrożenia wymaga informacji o tym wdrożeniu.
Czy organizacja powinna zezwolić na dostęp do całej rodziny domen, czy go zablokować?
Decyzja dotycząca całej domeny ma szeroki zakres, ponieważ amazonaws.com obejmuje wiele usług i potencjalnie niepowiązanych obciążeń. Zablokowanie całej rodziny może zakłócić działanie aplikacji zależnych od tych miejsc docelowych. Bezwarunkowe zezwolenie na dostęp pozostawia niewyjaśnione tożsamość i cel poszczególnych żądań.
Żaden z tych wyborów nie wynika automatycznie z obecności nazwy hosta AWS. Administrator sieci potrzebuje zasad obowiązujących w organizacji, informacji o celu aplikacji wysyłającej żądanie oraz kontekstu miejsca docelowego właściwego dla danej usługi. Dostarczone materiały uzasadniają przeanalizowanie tych szczegółów przed określeniem odpowiedniego zakresu dostępu.
| Sytuacja | Przydatny kolejny krok | Ograniczenie dostępnych informacji |
|---|---|---|
| Znana aplikacja łączy się z punktem końcowym AWS | Porównaj miejsce docelowe z oczekiwanym sposobem korzystania z usługi przez aplikację. | Znajomość aplikacji nie wyjaśnia każdego żądania. |
| Nieznany proces łączy się z amazonaws.com | Zidentyfikuj proces i zachowaj pełny kontekst żądania. | Domena nadrzędna nie identyfikuje właściciela procesu ani jego zamiaru. |
| Proponowana reguła obejmuje każdą subdomenę | Oceń, na które aplikacje i usługi wpłynie reguła. | Symbol wieloznaczny ukrywa różnice między poszczególnymi miejscami docelowymi. |
| Żądanie wygląda podejrzanie | Zbadaj aplikację, zasób i kontekst odpowiedniej usługi. | Rozpoznanie infrastruktury AWS nie jest gwarancją bezpieczeństwa. |
To samo rozumowanie dotyczy osoby próbującej zrozumieć nieoczekiwany adres. Rozpoznanie AWS może wyjaśnić kategorię infrastruktury, ale nie rozstrzyga, czy połączenie jest właściwe. Kluczowe pozostają zachowanie aplikacji i cel żądania.
Gdzie twórcy mogą znaleźć dokumentację, pomoc społeczności lub dane kontaktowe do zgłaszania nadużyć?
Indeks dokumentacji AWS to ogólny punkt wyjścia do wskazówek dotyczących usług. Ogólna dokumentacja referencyjna i strony poświęcone punktom końcowym usług są szczególnie przydatne podczas identyfikowania adresów i zachowania regionalnego. Omówienie poświadczeń uzupełnia te informacje o wyjaśnienie uwierzytelniania podmiotów wysyłających żądania.
AWS udostępnia również re:Post jako społecznościowy serwis pytań i odpowiedzi. Daje on twórcom miejsce do zadawania pytań o korzystanie z AWS, natomiast oficjalne zasoby kontaktowe umożliwiają uzyskanie wsparcia i zgłaszanie podejrzeń nadużyć. Dyskusje społeczności i zgłaszanie nadużyć służą różnym celom, dlatego należy dobierać je odpowiednio do potrzeb.
- Zidentyfikuj punkt końcowy: zacznij od ogólnej dokumentacji referencyjnej AWS i dokumentacji punktów końcowych.
- Poznaj usługę: skorzystaj z indeksu dokumentacji, aby znaleźć wskazówki dotyczące odpowiedniej usługi.
- Wyjaśnij wymagania dostępu: przeczytaj omówienie poświadczeń wraz z dokumentacją uprawnień danej usługi.
- Zadaj pytania dotyczące implementacji: skorzystaj ze społeczności AWS re:Post.
- Znajdź informacje kontaktowe lub materiały dotyczące zgłaszania nadużyć: zajrzyj na oficjalną stronę kontaktową AWS.
- Zapoznaj się z informacjami AWS o prywatności: przeczytaj Informację o prywatności AWS, osobno analizując aplikację odpowiedzialną za żądanie.
AWS jest przeznaczone dla organizacji i twórców potrzebujących funkcji chmurowych do uruchamiania aplikacji, przechowywania informacji, integrowania komponentów i obsługi obciążeń. Dostępne informacje uzasadniają opisanie amazonaws.com jako przestrzeni nazw punktów końcowych łączących oprogramowanie z tymi funkcjami. Jest to rozwiązanie odpowiednie dla czytelników oceniających konkretne usługi i twórców je wdrażających, pod warunkiem zachowania kontekstu usługi, regionu, aplikacji i dostępu, którego sama domena nadrzędna nie dostarcza.
Prawidłowa odpowiedź nie gwarantuje bezpieczeństwa. Pomiary opisują pojedynczą obserwację w określonym czasie.
