# AWS - Service Catalog
# Service Catalog
AWS Service Catalog 允許組織創建和管理已批准的 IT 服務目錄,
這些服務可以在 AWS 上部署。
# 核心價值
- 標準化部署
- 治理與合規
- 自助服務
- 成本控制
- 版本管理
# 主要用途
讓終端使用者 (開發者、數據科學家等) 能夠
- 快速部署預批准的 IT 服務
- 無需深入的 AWS 知識
- 遵循組織標準和政策
# 核心組件
# Product (產品)
一個可部署的 IT 服務
基於 CloudFormation 模板或 Terraform 配置
# Product Type
CloudFormation Product
- 使用 CloudFormation 模板
- 最常見的類型
- 原生 AWS 支持
Terraform Product
- 使用 Terraform 配置
- 支持多雲部署
- 需要 Terraform Cloud/Enterprise
# Portfolio (產品組合)
產品的集合,用於組織和訪問控制
# 結構
1 | Portfolio |
# Portfolio Type
1 | 1. 本地 Portfolio |
# Provisioned Product (已配置產品)
用戶啟動的產品實例,實際運行的 AWS 資源
# 生命週期
1 | 1. Launch(啟動) |
# Constraints (約束)
控制產品部署方式的規則
# Constraints Type
# Launch Constrain (啟動約束)
用途
- 指定用於啟動產品的 IAM 角色
- 用戶無需擁有創建資源的權限
示例
Product: RDS Database
Launch Role: ServiceCatalogRDSLaunchRole
- 該角色有權限創建 RDS
- 用戶只需啟動產品的權限
# Notification Constraint (通知約束)
用途
- 發送生命週期事件通知
- 使用 SNS Topic
事件
- 產品啟動
- 產品更新
- 產品終止
- 操作失敗
# Template Constraint (模板約束)
用途
- 限制模板參數
- 強制特定值
示例
限制實例類型
- 只允許 t3.micro, t3.small
- 禁止使用大型實例
# Stack Set Constraint (堆疊集約束)
用途
- 跨多個帳戶和區域部署
- 使用 CloudFormation StackSets
# Tag Update Constraint (標籤更新約束)
用途
- 控制標籤更新權限
- 允許 / 禁止用戶修改標籤
# Reference
- AWS - AWS Service Catalog