Korzystaj z ciągłego wdrażania CloudFront, aby bezpiecznie weryfikować zmiany w sieci CDN

18 listopada 2022

Sieci dostarczania treści (CDN), takie jak Amazon CloudFront, są często sposobem dla użytkowników i urządzeń do łączenia się ze stronami internetowymi lub aplikacjami.

Zmiana konfiguracji CDN może spowodować całkowitą awarię z ograniczonym wglądem w przyczynę problemu. Istniejące obecnie rozwiązania branżowe do testowania zmian konfiguracji CDN wymagają wplatania niestandardowych nagłówków do klienta, zastępowania ustawień DNS klienta lub wdrażania oddzielnych domen testowych. To sprawia, że testy na dużą skalę są trudne. Klienci mogą być zmuszeni do wbudowania w swoje aplikacje złożonych flag funkcji w celu przetestowania szerokiej gamy typów klientów, w tym urządzeń mobilnych, komputerów osobistych, inteligentnych telewizorów, telewizorów Amazon Fire i innych. Takiemu podejściu brakuje skalowalności, a także możliwości kierowania procentami ruchu produkcyjnego, aby upewnić się, że wprowadzone zmiany nie wpłyną negatywnie na obciążenie.

Nowe, ciągłe wdrażanie CloudFront

Od dzisiaj możesz korzystać z ciągłego wdrażania CloudFront, aby bezpiecznie testować i weryfikować zmiany dystrybucji CloudFront przy użyciu części ruchu produkcyjnego przed zatwierdzeniem całego obciążenia. Możesz łatwo zintegrować się z potokami CI/CD i wdrażać zmiany konfiguracji przy użyciu niebiesko-zielonej strategii lub canary deployment strategy. Korzystając z AWS Console, AWS Command Line Interface (AWS CLI), AWS CloudFormation lub AWS SDK możesz teraz stworzyć nową wersję istniejącej dystrybucji przy użyciu tej samej alternatywnej nazwy domeny, a następnie precyzyjnie kontrolować procent ruchu współdzielonego między wersje. Typowe przypadki użycia obejmują konfigurowanie nowego pochodzenia, zrozumienie wpływu zmiany ustawień pamięci podręcznej na wydajność, testowanie nowych ograniczeń geograficznych lub testowanie nowych wersji funkcji Lambda@Edge lub CloudFront.

Gdy wymagane jest testowanie, CloudFront pozwala utworzyć dystrybucję pomostową w celu powiązania z dystrybucją produkcyjną. Pochodzenie, grupy pochodzenia, zachowania w pamięci podręcznej, odpowiedzi na błędy klienta, domyślny obiekt główny, rejestrowanie i ograniczenia geograficzne to tylko niektóre z ustawień, które można modyfikować w ramach dystrybucji pomostowej, a więcej pojawi się w przyszłości. Telemetria z Twoich klientów, aplikacji i CloudFront może zapewnić wgląd w to, jak zmiany w dystrybucji przejściowej wpływają na żądania. Jeśli telemetria wykazuje negatywny wpływ, możesz po prostu przywrócić ruch z powrotem do dystrybucji produkcyjnej. Po zakończeniu testów i upewnieniu się co do wprowadzonych zmian, awans dystrybucji pomostowej do środowiska produkcyjnego jest łatwy, a to powoduje przeniesienie pozostałego ruchu produkcyjnego do nowej konfiguracji. Awans do wersji produkcyjnej nie wymaga zmian DNS, rozłączania połączenia przeglądającego ani utraty pamięci podręcznej.

Możesz przenieść ruch do dystrybucji przejściowej przy użyciu zasad ciągłego wdrażania, które umożliwiają jeden z dwóch sposobów: header-based lub weight-based. Pora przyjrzeć się tym ustawieniom.

Header-based

Przekierowanie do staging distribution można wykonać, wykrywając nagłówek w żądaniu klienta. Wymaga to od klienta dołączenia predefiniowanego niestandardowego nagłówka jako części żądania HTTP do CloudFront. Korzystanie z tej metody może być przydatne, gdy masz małą liczbę urządzeń w kontrolowanym środowisku, w którym chcesz przeprowadzić testy na małą skalę.

Weight-based

Weight-based, częściej określane jako canary deployment, umożliwia zdefiniowanie procentu ruchu produkcyjnego, który ma zostać wypchnięty do dystrybucji przejściowej. Wartość procentowa może początkowo być niewielka, a następnie zwiększać się z czasem, co pozwala bezproblemowo przeprowadzać testy na dużą skalę bez konieczności wprowadzania zmian w aplikacji lub klientach. Trwałość sesji zapewnia, że żądania przekazywane do dystrybucji przejściowej będą kontynuowane do momentu zamknięcia sesji przeglądarki lub usunięcia lub podwyższenia dystrybucji przejściowej. Klienci mogą najpierw sprawdzić poprawność zmian na podstawie nagłówka ze znanych testowych użytkowników i urządzeń, a następnie wprowadzić ruch produkcyjny na podstawie wagi.

Rysunek 1: Przykład użycia opartego na wadze do ważenia 10% ruchu produkcyjnego w dystrybucji tymczasowej.

Rysunek 1: Przykład użycia opartego na wadze do ważenia 10% ruchu produkcyjnego w dystrybucji tymczasowej.

Utwórz pierwszą staging distribution

Teraz, gdy autorzy omówili, czym jest ciągłe wdrażanie CloudFront, pora utworzyć staging distribution z opcją weight-based. 

Uruchom CloudFront Management Console i wybierz dystrybucję, z którą chcesz przetestować ciągłe wdrażanie. Stamtąd wybierz przycisk Create Staging Distribution.

Rysunek 2: Zaktualizowana dystrybucja CloudFront z ciągłym wdrażaniem.

Rysunek 2: Zaktualizowana dystrybucja CloudFront z ciągłym wdrażaniem.

Nadaj opis dystrybucji przemieszczania (opcjonalnie) i wybierz Dalej.

Rysunek 3: Tworzenie nowej dystrybucji pomostowej.

Rysunek 3: Tworzenie nowej dystrybucji pomostowej.

Następnie możesz zmodyfikować ustawienia staging distribution, w tym Origins. Jednak w przypadku tego ćwiczenia przewiń w dół i wybierz Dalej.

Rysunek 4: Konfigurowanie nowych ustawień dystrybucji pomostowej.

Rysunek 4: Konfigurowanie nowych ustawień dystrybucji pomostowej.

Wybierz typ zasad dotyczących ruchu. Tutaj określa się zasady Weight-based i procent ruchu, który chcesz wysłać do staging distribution.

Rysunek 5: Określanie zasad ruchu dla dystrybucji pomostowej.

Rysunek 5: Określanie zasad ruchu dla dystrybucji pomostowej.

Na koniec przejrzyj konfiguracje i wybierz pozycję Zakończ.

Rysunek 6: Przeglądanie ustawień nowej dystrybucji pomostowej.

Rysunek 6: Przeglądanie ustawień nowej dystrybucji pomostowej.

Teraz Twoja staging distribution została utworzona i jest gotowa do przyjmowania ruchu.

Rysunek 7: Nowo utworzona dystrybucja pomostowa jest teraz wyświetlana w konsoli.

Rysunek 7: Nowo utworzona dystrybucja pomostowa jest teraz wyświetlana w konsoli.

Podsumowanie

Za pomocą tego artykułu dowiedziałeś się, w jaki sposób ciągłe wdrażanie CloudFront zapewnia bezpieczny i łatwy sposób sprawdzania poprawności zmian w Twojej dystrybucji CloudFront. Przejrzałeś, jak kierować ruch do testów, a także zapoznałeś się z instrukcjami krok po kroku za pośrednictwem konsoli, aby skonfigurować pierwszą dystrybucję pomostową. Zaloguj się do konsoli zarządzania CloudFront i wypróbuj ją już dziś!

źródło: AWS

Case Studies
Referencje

Jesteśmy ogromnie zadowoleni ze współpracy z firmą Hostersi. Ich specjaliści doradzili nam rozwiązanie, które dało nam stabilną, skalowalną infrastrukturę, która umożliwia obsłużenie ciągle rosnącego ruchu związanego z COVID-19

Jakub Sperczyński
Prezes Zarządu EduNect
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.