產品是您想在 AWS 上部署的一組 AWS 雲端資源。產品可以包含一或多個 AWS 資源,例如 EC2 執行個體、儲存磁碟區、資料庫、監控設定以及聯網元件,或封裝的 AWS Marketplace 產品。產品可以是一個執行 AWS Linux 的運算執行個體、或是一個完全設定好且在自有環境中執行的多層 Web 應用程式,或是介於這二者之間的任何事物。使用 AWS Service Catalog,您可以透過多種方式建立產品,包括 AWS CloudFormation 範本或 Terraform 組態。這些範本和組態定義了產品所需的 AWS 資源、資源之間的關係、最終使用者在啟動產品時用來設定安全群組的外掛參數、建立金鑰對以及執行其他自訂項目。
AWS Service Catalog 產品可以是 AWS CloudFormation 類型產品、Terraform 開放原始碼類型產品或 Terraform Cloud 產品。AWS CloudFormation 類型產品是以 AWS CloudFormation 堆疊的形式啟動,這是為產品執行個體佈建的一組資源。對於 Terraform 開放原始碼類型產品和 Terraform Cloud 類型產品,基礎資源會在 AWS Resource Groups 中儲存並標記。透過讓您可將產品執行個體作為一個單位來佈建、標記、更新以及終止,AWS CloudFormation 堆疊和 AWS Resource Groups 讓產品生命週期的管理更輕鬆。
產品組合是指產品及其設定資訊的集合。產品組合可以協助管理產品設定、使用特定產品的使用者以及這些使用者使用產品的方式。您可以利用 AWS Service Catalog 為組織內的每種使用者建立自訂的產品組合,並選擇性授與他們對適當產品組合的存取權。當您將產品的新版本新增至產品組合時,該版本會自動提供給產品組合的全部現有使用者。您也可以與其他 AWS 帳戶分享您的產品組合,且允許那些帳戶的管理員分發您的產品組合並加上額外約束。例如,您可以為開發人員定義一個開發環境產品組合,像是使用者可用於軟體開發及測試的已核准版本的 LAMP 堆疊。您也可以為行銷組織定義一個產品組合,裡面包含行銷活動網站以及市場分析應用程式。產品組合可以包含各種不同類型的產品,包括 AWS CloudFormation 類型產品、Terraform 開放原始碼類型產品和 Terraform Cloud 類型產品。
AWS Service Catalog 讓您可以管理目錄中各產品的多個版本。這讓您可以根據軟體更新或設定變更,來加入範本的新版本及相關資源。當您建立產品的新版本時,此更新會自動分送到有權存取產品的所有使用者,讓使用者可以選取要使用哪個產品版本。使用者可以快速輕鬆地將執行中的產品執行個體更新到新版本。
授與使用者對於產品組合的存取權,可讓該使用者瀏覽產品組合以及啟動其中的產品。您可以套用 AWS Identity and Access Management (IAM) 許可,來控制誰可以檢視和修改您的產品和產品組合。您可以將 IAM 權限指派給 IAM 使用者、群組以及角色。使用者啟動獲指派 IAM 角色的產品時,AWS Service Catalog 會使用該角色來啟動此產品的雲端資源。透過將 IAM 角色指派給每個產品,就可以避免授與使用者執行未獲核准之操作的權限,並讓他們使用目錄來佈建資源。
約束限制了可為產品部署特定 AWS 資源的方式。您可以使用約束將各項限制套用到產品,以進行管理或成本控制。約束有兩種:範本和啟動。範本約束會限制使用者在啟動產品時可用的設定參數 (例如,EC2 執行個體類型或 IP 範圍)。範本約束讓您可以重複使用產品的通用基礎設施即程式碼 (IaC) 範本,並且根據每個產品或每個產品組合將限制套用到範本。啟動約束讓您可以為產品組合中的產品指定角色。這個角色用於在啟動時佈建資源,以便您可以限制使用者權限,又不會影響使用者從目錄佈建產品的能力。以行銷人員為例,您可以允許他們建立行銷活動網站,但使用約束來限制他們佈建相關資料庫的存取權。Terraform 開放原始碼類型產品和 Terraform Cloud 類型產品支援啟動限制。範本條件約束尚不適用於 Terraform 開放原始碼類型產品和 Terraform Cloud 類型產品。
使用服務動作,您可以讓最終使用者執行操作任務、排解問題、執行核准的命令,或在您佈建的產品上的 AWS Service Catalog 中請求許可,而無需授與最終使用者對 AWS 服務的完整存取權。您可以使用 AWS Systems Manager 文件來定義服務動作。AWS Systems Manager 文件可讓您存取用於實作 AWS 最佳實務的預先定義動作 (如 Amazon EC2 停止和重新啟動),您也可以定義自訂動作。 服務動作尚不適用於 Terraform 開放原始碼類型產品和 Terraform Cloud 類型產品。
建置器可以透過提供名稱、描述、與應用程式中繼資料的關聯以及與 CloudFormation 堆疊的關聯,在 Service Catalog AppRegistry 中定義應用程式。關聯的屬性群組表示您的企業為應用程式建立和管理的中繼資料。關聯的 CloudFormation 堆疊表示與應用程式關聯的 AWS 資源。這可能是單一環境中所需的基礎設施,也可能包含支援所有環境中的應用程式的程式碼儲存庫和管道。現有或新的 CloudFormation 堆疊都可以與應用程式關聯。堆疊可以與範本本身中的應用程式關聯,從而在佈建期間自動化應用程式關聯。
您的企業可以建立和管理用於擷取應用程式中繼資料的屬性,這些屬性對企業很重要。應用程式屬性支援開放 JSON 結構描述,為您提供了擷取企業中繼資料分類方式的複雜度所需的彈性。應用程式屬性可以包含項目,如應用程式安全分類、組織擁有權、應用程式類型、成本中心和支援資訊。建置器會將必要的屬性與應用程式關聯。屬性更新時,這會自動反映在所有關聯的應用程式中。