Strategia tagowania zasobów w AWS jako sposób na skutecznie zarządzanie w chmurze

zdjęcie dekoracyjne
  • Luty 12, 2025

Zarządzanie projektami w chmurze może przysporzyć administratorom IT sporo problemów. Jednym ze sposobów na skuteczne zarządzanie elementami w Amazon Web Services (AWS) jest wykorzystanie tagowania - procesu dodawania etykiet, czyli par klucz-wartość do zasobów. Dzięki temu administratorzy wiedzą, kto utworzył dany zasób i do jakiego środowiska on przynależy.

Tagi AWS mogą być wykorzystywane w różnych przypadkach użycia, które usprawniają zarządzanie zasobami w chmurze. Niektóre z najczęstszych zastosowań tagów to:

  • organizacja zasobów, 

  • alokacja kosztów, 

  • automatyzacja

  • kontrola bezpieczeństwa lub dostępu. 

Każde z tych zastosowań pomaga administratorom osiągnąć wydajność w administrowaniu obciążeniami i zasobami w środowisku chmury AWS.

 

Przykładowo firma, która ma wiele działów, może chcieć zrozumieć, które obszary jej środowiska IT muszą być zgodne z wymogami regulacyjnymi i kto odpowiada za utrzymanie tych zasobów.  Załóżmy, że ta firma utrzymuje aplikację na instancjach EC2 (wirtualnych maszynach), które obsługują przetwarzanie transakcji kartą kredytową. Tą wirtualną maszynę można łatwo zidentyfikować za pomocą tagów zasobów, które uwzględniają fakt, że instancja EC2 musi być zgodna z PCI DSS, jest własnością działu e-commerce firmy, a „JohnDoe@example.com” odpowiada za ten projekt.

Klucz

Wartość

PoC

JohnDoe@example.com

Division

e-commerce

Compliance

PCI-DSS

W idealnym przypadku opracowanie strategii tagowania byłoby jedną z pierwszych rzeczy na które organizacja zwróci uwagę rozpoczynając swoją podróż do chmury. Istnieje jednak wiele sytuacji, w których tagi są rozważane dopiero na końcu i są przypisywane po przeniesieniu znacznej liczby procesów do chmury. AWS oferuje szereg usług do zarządzania i egzekwowania zasad oraz wizualizacji oznaczonych zasobów w celu uzyskania wglądu.


Polityki tagowania

Trzyetapowy proces opracowywania struktury tagowania AWS.

Identyfikuj
Zidentyfikuj istniejące tagi AWS i oceń, czy obecna struktura tagowania jest zgodna z celami biznesowymi.

Projektuj i wizualizuj
Skorzystaj z Amazon Quicksight, aby zwizualizować środowisko tagowania i zaprojektować odpowiednie elementy sterujące tagowaniem.

Wdrażaj i egzekwuj
Wdrażaj kontrole wykrywające i zapobiegawcze w celu identyfikacji, reagowania i egzekwowania zgodności z tagowaniem.

Polityki tagowania definiują i standaryzują tagi wymagane przez Twoją organizację. Służą również do generowania raportów zgodności tagów w całej organizacji. Zasady dotyczące tagów zapewniają szczegółową kontrolę nad typami dozwolonych tagów i mogą być dostosowywane do różnych jednostek organizacyjnych. 

Zasady dotyczące tagów można stosować na trzech poziomach:

Polityki dotyczące tagów stosowane na poziomie organizacji (root) mają pierwszeństwo przed wszystkimi innymi zasadami i obowiązują na wszystkich kontach członkowskich.

Zasady tagów przyjęte na poziomie OU są stosowane do wszystkich kont w ramach tej jednostki organizacyjnej. Jednostka organizacyjna odziedziczy również wszelkie zasady tagów, które istnieją na poziomie organizacji.

Zasady tagowania stosowane do kont indywidualnych w ramach jednostki organizacyjnej będą miały wpływ tylko na to konto indywidualne, które nadal będzie dziedziczyć wszelkie zasady stosowane na poziomie swojej jednostki organizacyjnej i organizacji.

Za pomocą polityk tagowania można określić zgodność z wymaganiami w całej organizacji. Możliwe jest wygenerowanie raportu zgodności tagowania, który zawiera listę wszystkich oznaczonych zasobów na kontach w całej organizacji AWS i czy każdy zasób jest zgodny z określoną zasadą tagowania. Raporty zgodności tagowania organizacji są generowane za pomocą konsoli AWS, CLI lub API i generują plik .CSV (wartości rozdzielone przecinkami) zawierający podsumowanie oznaczonych zasobów i ich status zgodności tagowania. Raport może zostać wygenerowany, w każdym momencie.


Projektowanie i wizualizacja zgodności tagowania

Drugim krokiem we wdrażaniu rozwiązania tagowania AWS jest projektowanie kontroli zgodnie z zasadami i standardami Twojej organizacji. Przed zaprojektowaniem nowych kontroli, zrób inwentaryzację istniejących mechanizmów w Twojej organizacji, aby określić, gdzie zasady mogą wymagać zmiany. W przypadku zidentyfikowania luk w istniejących kontrolach, można zaprojektować nowe w celu wykrywania lub zapobiegania niezgodnie oznaczonym zasobom. Kontrole powinny obejmować określone zasoby AWS, które wymagają tagowania, takie jak instancje EC2, Amazon Machine Images (AMI), kopie zapasowe EBS, grupy zabezpieczeń EC2, VPC (wirtualne chmury prywatne), S3, instancje RDS DB i inne. 

Istnieje możliwość dodania wizualizacji, aby umożliwić scentralizowany widok zgodności tagowania, którym można udostępnić managerom i zespołom technicznym w celu zapewnienia przejrzystości środowiska. Twoja firma może chcieć polegać na określonych metrykach, aby zwizualizować, w jaki sposób Twoja organizacja śledzi zgodnie z polityką tagowania. Metryki mogą obejmować:

  • Procent ogólnej zgodności tagowania na wszystkich kontach
  • Liczbę niezgodnie oznaczonych zasobów podzieloną na jednostki organizacyjnej
  • Liczbę niezgodnie oznaczonych zasobów podzieloną na konta
  • Liczbę niezgodnie oznaczonych zasobów podzieloną na typy zasobów
  • Liczbę automatycznie naprawionych niezgodnych tagów

Jednym ze sposobów tworzenia wizualizacji jest użycie AWS Lambda, Amazon S3 i Amazon QuickSight do generowania pulpitów nawigacyjnych przy użyciu danych wyjściowych .CSV z raportu zgodności tagów. Raporty zgodności tagów mogą być tworzone automatycznie co 48 godzin. Zintegrowano je z AWS Lambda, aby pobrać raporty zgodności, a następnie umieścić je w centralnym S3, gdzie Amazon QuickSight może ich używać jako źródła danych dla scentralizowanego pulpitu zgodności tagowania na wszystkich kontach.


Wdrażanie i egzekwowanie tagowania w AWS

Aby wdrożyć odpowiednie środowisko tagowania, możesz użyć kontroli detekcyjnych i zapobiegawczych. Kontrole detekcyjne identyfikują i reagują na niezgodność; kontrole zapobiegawcze zapobiegają wystąpieniu niezgodnej akcji.

Skutecznym sposobem na wdrożenie kontroli detektywistycznych jest AWS Config, usługa, która pomaga użytkownikom oceniać, audytować i analizować konfigurację kont. AWS Config umożliwia korzystanie z zarządzanych reguł, takich jak zarządzana reguła required-tags. Umożliwia definiowanie tagów wymaganych przez organizację i typów zasobów, które wymagają tych tagów.

Po włączeniu reguły AWS Config za pomocą Amazon Simple Notification Service (SNS) wywołuje ona mechanizm alertów, który może powiadomić administratorów o niezgodnie oznaczonych zasobach. AWS Config wykryje niezgodne tagi w nowo wdrożonych zasobach, a także w zasobach, które znajdowały się w środowisku AWS przed wdrożeniem rozwiązania. 

Poniższy rysunek pokazuje, jak AWS Config jest używany do wykrywania błędnych konfiguracji za pomocą Managed Config Rules. Gdy wykryje problem, wysyła powiadomienie za pośrednictwem Amazon SNS.

Konfiguracja reguł zarządzanych przez AWS Config w celu wykrywania błędnych konfiguracji w AWS EC2

Konfiguracja reguł zarządzanych przez AWS Config w celu wykrywania błędnych konfiguracji w AWS EC2
    Example "Required-Tags" Managed Config Rule
    {
      "AWSTemplateFormatVersion": "2010-09-09",
      "Description": "",
      "Resources": {
        "ConfigRule”: {
          "Type": "AWS::Config::ConfigRule",
          "Properties": {
            "ConfigRuleName": "required-tags",
            "Scope": {
              "ComplianceResourceTypes" [
                "AWS::EC2::Instance"
              ]
            },
            "Description": "A Config rule that checks whether resources have required tags.",
            "InputParameters": {
              "tag1Key": "Division",
              "tag1Value": "ecommerce"
            },
            "Source": {
              "Owner": "AWS",
              "Sourceldentifier": "REQUIRED_TAGS"
            }
          }
        }
      }
    }
    
    

Kontrola zapobiegawcza

Istnieją dwa podejścia, które należy zastosować w celu wdrożenia kontroli zapobiegawczych:

Pierwsze wykorzystuje politykę-jako-kod (policy-as-code) do skanowania szablonów infrastruktury-jako-kod (Infrastructure-as-Code) w AWS CodePipeline pod kątem zdefiniowanych wymagań konfiguracyjnych. Policy-as-code będzie oznaczać niezgodne konfiguracje przed wdrożeniem zasobów w AWS. Ta metoda identyfikuje niezgodne zasoby na wczesnym etapie cyklu życia, zmniejszając wszelkie koszty lub wpływ na infrastrukturę w wyniku pominięcia identyfikacji błędnych zasobów do momentu wdrożenia. CloudFormation Guard to narzędzie typu policy-as-code typu open source, które można wykorzystać do wymuszania konfiguracji w AWS CodePipeline podczas korzystania z CloudFormation dla IaC.

AWS CodePipeline skonfigurowany z policy-as-code w celu walidacji szablonów IaC

AWS CodePipeline skonfigurowany z policy-as-code w celu walidacji szablonów IaC
AWS CodePipeline skonfigurowany z policy-as-code w celu walidacji szablonów IaC - mobile

Drugim sposobem wdrożenia kontroli zapobiegawczych dla tagowania jest użycie zasad tagowania w ramach organizacji AWS, aby zapobiec wdrażaniu niezgodnych operacji. Działając podobnie do zasad kontroli usług dla tagów, ta konfiguracja pomaga zapobiec wdrażaniu zasobów naruszających zasady tagowania na kontach AWS które są członkiem organizacji AWS.

Kontrola zapobiegawcza ogranicza ręczne wdrożenia za pośrednictwem konsoli, a także wdrożenia IaC, które naruszają zasady tagów. Podczas korzystania z zasad tagów w celu zapobiegania niezgodnemu tagowaniu, będą one zapobiegać tylko tym zasobom, które naruszają zasady tagów. Tak więc w przypadku, gdy użytkownik wdraża grupę zasobów, zatrzymywane będą tylko te zasoby, które naruszają zasady, co może powodować częściowe wdrożenia, jeśli nie zostaną prawidłowo uwzględnione. 

Typ konta (testowe, produkcyjne itd.) może również wpływać na preferowany typ kontroli do wdrożenia. W przypadku środowisk niższego poziomu, ustanowienie kontroli wykrywających z alertami wraz z automatyczną naprawą może być najlepszym sposobem na utrzymanie zgodności tagowania, co potencjalnie pozwala zaoszczędzić pieniądze. Natomiast w przypadku kont wyższego poziomu (produkcyjne), możesz chcieć wdrożyć tylko kontrole wykrywające, aby ostrzegać, a nie automatycznie naprawiać niezgodnych zasobów. Zapobieganie wdrażaniu krytycznego obciążenia lub kończenie instancji na żywo w środowisku produkcyjnym może mieć poważniejsze konsekwencje w środowisku AWS niż niezgodny tag.


Wnioski

Użycie tagowania zapewnia łatwy sposób na efektywne zarządzanie zasobami w rozwijającym się środowisku AWS. Tagi AWS służą do organizowania, definiowania i przydzielania zasobów, dzięki czemu bezpieczeństwo, alokacja kosztów i automatyzacja zasobów stają się łatwiejsze do opanowania. Brak spójnego utrzymywania tagów we wszystkich zasobach może utrudnić osiągnięcie korzyści. Zastosowanie tego trójfazowego podejścia do tagowania na nowych lub istniejących kontach AWS pomoże usprawnić zarządzanie operacjami, zmniejszyć koszty, zachować zgodność i zwiększyć przejrzystość.

Artykuł na podstawie strony "Devise an AWS tagging strategy"

Newsletter Technologia

Otrzymuj informacje prosto na maila


Skontaktuj się z nami

Daniel Chwaszczewski

Daniel Chwaszczewski

Starszy Menedżer, PwC Polska

Tel.: +48 571 778 062

Obserwuj nas