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.
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:
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.
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ć:
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.
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.
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"
}
}
}
}
}
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.
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.
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"