Jak skonfigurować dzienniki dostępu do serwera na S3

Jak skonfigurować dzienniki dostępu do serwera na S3
Ilekroć ktoś na serwerze inicjuje operację, żądanie jest generowane w zapleczu, aby wypełnić tę operację. Operacje wykonywane na serwerach to zwykle operacje CRUD (Utwórz, czytaj, aktualizuj, usuń). Żądania wygenerowane dla operacji mogą być rejestrowane lub przechowywane przez serwer, a my wywołujemy je dzienniki dostępu lub dzienniki dostępu serwera.

Te dzienniki mogą być używane do monitorowania wydajności, odtworzenia punktów awarii, poprawy bezpieczeństwa, analizy kosztów i wielu innych celów. Początkowo dzienniki są generowane w formacie tekstowym, ale możemy uruchomić analizę danych przy użyciu różnych narzędzi i oprogramowania, aby wyciągnąć z nich wymagane informacje.

AWS umożliwia włączenie dzienników dostępu dla wiader S3, dostarczając szczegółów dotyczących operacji i działań wykonanych na tym segmencie S3. Musisz tylko włączyć rejestrowanie wiadra i zapewnić lokalizację, w której te dzienniki będą przechowywane, zwykle kolejne wiadro S3. Proces nie jest w czasie rzeczywistym, ponieważ te dzienniki są aktualizowane w ciągu jednej lub dwóch godzin.

W tym artykule zobaczymy, w jaki sposób możemy łatwo włączyć dzienniki dostępu do serwera dla wiader S3 na naszych kontach AWS.

Tworzenie wiadra S3

Aby rozpocząć, musimy utworzyć dwa wiadra S3; Jednym z nich będzie rzeczywiste wiadro, które chcemy użyć do naszych danych, a drugi zostanie użyty do przechowywania dzienników naszego wiadra danych. Po prostu zaloguj się na swoje konto AWS i wyszukaj usługę S3 za pomocą paska wyszukiwania dostępnego u góry konsoli zarządzania.

Teraz w konsoli S3 kliknij Utwórz Bucket.

W sekcji tworzenia wiadra musisz podać nazwę wiadra; Nazwa wiadra musi być uniwersalnie unikalna i nie może istnieć na żadnym innym koncie AWS. Następnie musisz określić region AWS, w którym chcesz umieścić wiadro S3; Chociaż S3 jest usługą globalną, co oznacza, że ​​może być dostępna w każdym regionie, nadal musisz zdefiniować, w którym regionie Twoje dane będą przechowywane. Możesz zarządzać wieloma innymi ustawieniami, takimi jak wersja, szyfrowanie, dostęp publiczny itp., Ale możesz po prostu zostawić je jako domyślne.

Teraz przewiń w dół i kliknij kliknij Bucket w prawym dolnym rogu, aby zakończyć proces tworzenia wiadra.

Podobnie utwórz kolejne wiadro S3 jako docelowe wiadro dla dzienników dostępu do serwera.

Dlatego pomyślnie utworzyliśmy nasze wiadra S3 do przesyłania danych i przechowywania dzienników.

Włączanie dzienników dostępu za pomocą konsoli AWS

Teraz z listy S3 Bucket wybierz wiadro, dla którego chcesz włączyć dzienniki dostępu serwera.

Przejdź do zakładki właściwości z górnego paska menu.

W sekcji właściwości S3 przewiń w dół do sekcji rejestrowania dostępu do serwera i kliknij opcję Edytuj.

Tutaj wybierz opcję Włącz; To automatycznie zaktualizuje listę kontroli dostępu (ACL) twojego wiadra S3, więc nie musisz samodzielnie zarządzać uprawnieniami.

Teraz musisz podać docelowe wiadro, w którym będą przechowywane dzienniki; Po prostu kliknij przeglądaj S3.

Wybierz wiadro, które chcesz skonfigurować dla dzienników dostępu i kliknij Wybierz ścieżkę przycisk.

NOTATKA: Nigdy nie używaj tego samego wiadra do zapisywania dzienników dostępu do serwera, ponieważ każdy dziennik, po dodaniu w wiadrze uruchomi inny dziennik, a wygeneruje nieskończoną pętlę rejestrowania, która spowoduje wzrost rozmiaru wiadra S3, a skończysz z Ogromna kwota rachunku na Twoim koncie AWS.

Po wybraniu docelowego wiadra kliknij Zapisz zmiany w prawym dolnym rogu, aby ukończyć proces.

Dzienniki dostępu są teraz włączone i możemy je wyświetlić w skonfigurowanym przedsięwzięciu jako docelowe wiadro. Możesz pobrać i wyświetlić te pliki dzienników w formacie tekstowym.

Dlatego pomyślnie włączyliśmy dzienniki dostępu do serwera w naszym wiadrze S3. Teraz, za każdym razem, gdy operacja zostanie wykonywana w wiadrze, zostanie zalogowana w docelowym wiadrze S3.

Włączanie dzienników dostępu za pomocą CLI

Do tej pory mieliśmy do czynienia z konsolą zarządzania AWS, aby wykonać nasze zadanie. Zrobiliśmy to pomyślnie, ale AWS zapewnia także użytkownikom inny sposób zarządzania usługami i zasobami na koncie za pomocą interfejsu wiersza poleceń. Niektóre osoby, które mają niewielkie doświadczenie w korzystaniu z CLI, mogą uważać, że jest to trochę trudne i złożone, ale kiedy się z tym poradzisz, wolisz to od konsoli zarządzania, tak jak większość profesjonalistów. Interfejs wiersza polecenia AWS można skonfigurować dla dowolnego środowiska, Windows, Mac lub Linux, a także możesz po prostu otworzyć powłokę chmur AWS w przeglądarce.

Pierwszym krokiem jest po prostu utworzenie wiader na naszym koncie AWS, dla którego musimy po prostu użyć następującego polecenia.

$: AWS S3API Create-Bucket-Bucket --region

Jedno wiadro będzie naszym faktycznym wiadrem danych, w którym umieścimy nasze pliki, i musimy włączyć dzienniki w tym wiadrze.

Następnie potrzebujemy kolejnego wiadra, w którym logi dostępu do serwera zostaną przechowywane.

Aby wyświetlić dostępne wiadra S3 na koncie, możesz użyć następującego polecenia.

$: AWS S3API-Buckets

Kiedy włączamy rejestrowanie za pomocą konsoli, sam AWS przypisuje uprawnienia do mechanizmu rejestrowania, aby umieścić obiekty w docelowym wiadrze. Ale w przypadku CLI musisz samodzielnie dołączyć politykę. Musimy utworzyć plik JSON i dodać do niego następujące zasady.

Zastąp Data_bucket_name I Źródło_account_id z nazwą S3 Bucket, dla której konfigurowane są dzienniki dostępu do serwera, i identyfikator konta AWS, w którym istnieje źródło S3 Bucket.


„Wersja”: „2012-10-17”,
"Oświadczenie": [

„Sid”: „S3ServerAccesslogspolicy”,
„Efekt”: „Pozwól”,
„Principal”: „Service”: „Logowanie.S3.Amazonaws.com ",
„Action”: „S3: PutObject”,
„Zasób”: „ARN: AWS: S3 ::: data_bucket_name/*”,
"Stan : schorzenie":
„Arn jak”: „AWS: sourcearn”: „arn: AWS: s3 ::: data_bucket_name”,
„Stringequals”: ​​„AWS: sourceacocount”: „źródło_account_id”


]

Musimy dołączyć tę zasadę do naszego docelowego wiadra S3, w którym zostaną zapisane dzienniki dostępu serwera. Uruchom następujące polecenie AWS CLI, aby skonfigurować zasadę z docelowym wiadrem S3.

$: AWS S3API Put-Bucket-Policy-Bucket --Plik zasad: // s3_logging_policy.JSON

Nasze zasady są dołączone do docelowego wiadra, umożliwiając wiadro danych na umieszczenie dzienników dostępu serwera.

Po załączeniu zasad do docelowego segmentu S3, teraz włącz dzienniki dostępu serwera w wiadrze S3 źródłowym (danych). W tym momencie utwórz plik JSON z następującą zawartością.


„LoggingEnabled”:
„TargetBucket”: „Target_S3_Bucket”,
„TargetPrefix”: „Target_prefix”

Wreszcie, aby włączyć rejestrowanie dostępu do serwera S3 dla naszego oryginalnego wiadra, po prostu uruchom następujące polecenie.

$: AWS S3API Put-Bucket-Logging-Bucket --plik bucket-logging-status: // enable_logging.JSON

Dlatego pomyślnie włączyliśmy dzienniki dostępu do serwera w naszym segmencie S3 za pomocą interfejsu wiersza polecenia AWS.

Wniosek

AWS zapewnia obiekt, aby łatwo włączyć dzienniki dostępu do serwera w wiadrach S3. Dzienniki dostarczają adresu IP użytkownika, który zainicjował to konkretne żądanie operacji, datę i godzinę żądania, rodzaj wykonywanej operacji i czy to żądanie zakończyło się powodzeniem. Wyjście danych jest w formie surowej w pliku tekstowym, ale można również uruchomić nad nią analizę za pomocą zaawansowanych narzędzi, takich jak AWS Athena, aby uzyskać bardziej dojrzałe wyniki tych danych.