AWS Service Catalog
AWS Service Catalog
Zarzadzaj katalogiem zatwierdzonych uslug IT w AWS. Daj zespolom self-service z pelna kontrola governance - od szablonów CloudFormation po Terraform.
AWS Service Catalog pozwala administratorom tworzyc i zarzadzac katalogiem zatwierdzonych produktów IT, które uzytkownicy koncowi moga wdrazac samodzielnie. Zamiast dawac deweloperom pelny dostep do konsoli AWS, udostepniasz im gotowe "produkty" - np. zatwierdzona konfiguracje EC2, klaster RDS czy pipeline CI/CD.
Kazdy produkt to szablon CloudFormation lub Terraform, opakowany w constraints (ograniczenia) i TagOptions. Dzieki temu zespól platform engineeringu utrzymuje kontrole, a deweloperzy dostaja self-service bez czekania na tickety.
AWS Service Catalog obsluguje nie tylko CloudFormation, ale takze szablony Terraform. Dzieki Terraform Reference Engine mozesz udostepniac moduly Terraform jako produkty w katalogu - dajac zespolom wybór miedzy natywnymi szablonami AWS a Terraform.
Uzyj Launch Constraint, aby przypisac role IAM z minimalnymi uprawnieniami do kazdego produktu. Dzieki temu deweloperzy moga wdrazac zasoby bez posiadania uprawnien iam:CreateRole czy ec2:RunInstances - Service Catalog dziala w ich imieniu z okreslona rola.
AWS Service Catalog pozwala organizacjom tworzyc i zarzadzac katalogiem zatwierdzonych produktow IT (szablonow CloudFormation/Terraform). Uzytkownicy uruchamiaja zasoby AWS z gotowych produktow zamiast konfigurowac je recznie, co zapewnia zgodnosc ze standardami firmy.
Tworzenie produktu
Produkt to szablon CloudFormation lub Terraform opakowany w metadata: nazwa, opis, wersje. Administrator tworzy produkt definiujacy np. "Bezpieczna aplikacja webowa" - szablon zawiera VPC, ALB, EC2 ASG, RDS z wszystkimi wymaganymi security settings. Uzytkownicy nie musza rozumiec CloudFormation - widza prosty formularz.
Organizacja produktow w portfolia
Portfolio grupuje powiazane produkty i kontroluje dostep. Np. portfolio "Data Analytics" zawiera produkty: EMR Cluster, Redshift, Glue Job. Portfolio przypisujesz do grup IAM lub kont AWS Organizations. Mozesz wspoldzielic portfolia miedzy kontami przez Organizations lub direct share.
Konfiguracja constraintow
Constraints ograniczaja sposob uzycia produktow: Launch Constraint (okresla IAM role do provisionowania - uzytkownik nie potrzebuje bezposrednich uprawnien), Template Constraint (ogranicza dozwolone wartosci parametrow, np. tylko instancje t3.medium i t3.large), TagOption (wymusza tagi na provisionowanych zasobach).
Provisioning produktu przez uzytkownika
Uzytkownik przegladla katalog w konsoli AWS, wybiera produkt, wypelnia parametry (ograniczone przez constraints) i klika Provision. Service Catalog uzywa Launch Constraint role do deploymentu CloudFormation stack. Uzytkownik widzi status provisioningu i moze zarzadzac swoim produktem.
Zarzadzanie wersjami produktow
Administrator publikuje nowe wersje produktow (np. v2.0 z ulepszonymi security groups). Moze wymusic aktualizacje lub pozwolic uzytkownikowi zdecydowac. Stare wersje mozna dezaktywowac. Wersjonowanie zapewnia, ze nowe deployementy uzywaja najnowszych best practices.
Governance i audyt
Service Catalog loguje wszystkie operacje w CloudTrail. Provisioned Products dashboard pokazuje kto, co i kiedy uruchomil. TagOptions wymuszaja tagowanie. AWS Config rules weryfikuja compliance zasobow z produktow. To daje pelna widocznosc i kontrole nad zasobami tworzonymi przez uzytkow.
Praktyczne wskazowki z wdrazania AWS Service Catalog - od projektowania produktow po zarzadzanie w duzej organizacji.
Launch Constraints - klucz do bezpieczenstwa
Launch Constraint pozwala uzytkownikowi provisionowac zasoby AWS bez bezposrednich uprawnien do tych zasobow. Uzytkownik potrzebuje tylko servicecatalog:ProvisionProduct. IAM role w Launch Constraint ma uprawnienia do tworzenia EC2, RDS itp. To zasada least privilege - deweloper moze uruchomic zatwierdzona infrastrukture bez dostepu do surowych API AWS.
PoczatkujacyWersjonowanie produktow z CI/CD
Zintegruj Service Catalog z pipeline CI/CD. Gdy szablon CloudFormation przejdzie code review i testy, pipeline automatycznie publikuje nowa wersje produktu. Uzyj CodePipeline z akcja ServiceCatalog:CreateProvisioningArtifact. To eliminuje reczne aktualizacje i zapewnia, ze produkty sa zawsze aktualne.
ZaawansowanyWspoldzielenie portfoliow przez Organizations
W AWS Organizations mozesz wspoldzielic portfolia z calym OU lub konkretnymi kontami. Centralny zespol platform tworzy i utrzymuje produkty, a zespoly deweloperskie uzywaja ich w swoich kontach. Uzyj delegated administrator, aby rozproszyc zarzadzanie na wiele zespolow.
ZaawansowanyTemplate Constraints - ograniczaj parametry
Template Constraints pozwalaja ograniczyc dozwolone wartosci parametrow szablonu CloudFormation. Np. dla produktu EC2: dozwolone typy instancji tylko t3.micro i t3.small, dozwolone regiony tylko eu-central-1. Uzytkownik widzi tylko dozwolone opcje w formularzu. To zapobiega tworzeniu drogich zasobow.
PoczatkujacySelf-service z TagOptions
TagOptions wymuszaja tagi na zasobach tworzonych przez Service Catalog. Zdefiniuj obowiazkowe tagi: CostCenter, Environment, Owner. Uzytkownik wybiera wartosci z predefiniowanej listy. To zapewnia, ze wszystkie zasoby sa poprawnie otagowane do rozliczen kosztow i audytu bez polegania na dobrej woli deweloperow.
PoczatkujacyScreenshoty z AWS Console
Wkrotce pojawia sie tu zrzuty ekranu pokazujace jak korzystac z AWS Service Catalog bezposrednio w konsoli AWS.
Do czego sluzy AWS Service Catalog?
Self-service dla deweloperów
Udostepnij katalog zatwierdzonych srodowisk (dev, staging, prod), które deweloperzy moga wdrazac jednym kliknieciem bez znajomosci CloudFormation.
Governance i compliance w organizacji
Wymus standardowe tagi, regiony i typy instancji za pomoca constraints. Kazdy wdrozony zasob automatycznie spelnia polityki firmy.
Udostepnianie produktów miedzy kontami
Uzyj AWS Organizations do udostepniania portfoliów na wszystkie konta w organizacji - jeden katalog, wiele zespolów.
Standaryzacja infrastruktury
Zdefiniuj zatwierdzone wersje produktów z version history. Gdy pojawi sie nowa wersja, uzytkownik moze zaktualizowac provisioned product.
Co musisz wiedziec?
Portfolio
Kolekcja produktów udostepnianych okreslonym uzytkownikom IAM, grupom lub rolom. Portfolio to glówna jednostka organizacyjna i kontroli dostepu.
Product
Szablon CloudFormation lub Terraform opakowany w metadane (nazwa, opis, wersje). Uzytkownik wdraza produkt nie widzac surowego szablonu.
Provisioned Product
Instancja wdrozonego produktu - konkretny stack CloudFormation utworzony przez uzytkownika. Mozna go aktualizowac lub terminowac.
Constraint
Ograniczenie nakladane na produkt w portfolio: Launch Constraint (rola IAM do wdrozenia), Template Constraint (limitowanie parametrów), Notification Constraint (SNS).
TagOption
Predefiniowane tagi wymuszane na produktach w portfolio. Zapewniaja spójne tagowanie zasobów bez koniecznosci recznego wpisywania przez uzytkownika.
AppRegistry
Rejestr aplikacji pozwalajacy grupowac zasoby AWS w logiczne aplikacje. Integruje sie z Service Catalog do sledzenia, które produkty naleza do której aplikacji.
Architektura: Self-service platforma z Service Catalog
Architektura platformy self-service, gdzie centralny zespol utrzymuje zatwierdzony katalog infrastruktury, a zespoly deweloperskie provisionuja zasoby bez bezposrednich uprawnien.
Ile kosztuje AWS Service Catalog?
Sam serwis Service Catalog jest darmowy - nie platisz za tworzenie portfoliów, produktów ani constraints.
Platisz tylko za zasoby AWS wdrozone przez produkty (instancje EC2, bazy RDS, itp.) wedlug standardowego cennika tych serwisów.
Szablony CloudFormation uzywane przez produkty sa darmowe. Szablony Terraform wymagaja Terraform Cloud lub Engine z wlasnymi kosztami.
Przyklady AWS CLI
Utworzenie portfolio
Tworzy nowe portfolio o nazwie Web Applications zarzadzane przez Platform Team.
aws servicecatalog create-portfolio --display-name "Web Applications" --provider-name "Platform Team" --description "Zatwierdzone szablony aplikacji webowych"
Dodanie produktu do portfolio
Przypisuje istniejacy produkt do portfolio, udostepniajac go uzytkownikom z dostepem do tego portfolio.
aws servicecatalog associate-product-with-portfolio --product-id prod-abc123 --portfolio-id port-xyz789
Wdrozenie produktu (provisioning)
Wdraza produkt z wybranym typem instancji. Tworzy provisioned product i odpowiedni stack CloudFormation.
aws servicecatalog provision-product --product-id prod-abc123 --provisioning-artifact-id pa-def456 --provisioned-product-name "MyWebApp" --provisioning-parameters Key=InstanceType,Value=t3.small
Lista provisioned products
Wyswietla wszystkie produkty wdrozone na biezacym koncie AWS.
aws servicecatalog scan-provisioned-products --access-level-filter Key=Account,Value=self
Quiz: AWS Service Catalog
Sprawdz czy dobrze rozumiesz podstawy. Kliknij odpowiedz — feedback pojawi sie od razu.
1. Jaka jest glówna jednostka organizacyjna w AWS Service Catalog?
2. Który typ constraint okresla role IAM uzywana do wdrazania produktu?
3. Co to jest provisioned product?
4. Jak udostepnic portfolio na wiele kont w AWS Organizations?
Czesto uzywane razem z AWS Service Catalog
Chcesz poznac AWS Service Catalog w praktyce?
Darmowy kurs "AWS od podstaw" pokazuje jak uzywac AWS Service Catalog krok po kroku. Teoria + praktyka od zera.