本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
跨不同AWS帳戶和AWS區域複製 AWS Service Catalog 產品
由 Sachin Vighe (AWS) 和 Santosh Kale (AWS) 建立
環境:生產 | 技術:管理和治理;無伺服器 | 工作負載:所有其他工作負載 |
AWS 服務:AWSService Catalog;AWSLambda |
Summary
AWS Service Catalog 是一項區域性服務,這表示 AWS Service Catalog 產品組合和產品只會在建立它們的AWS區域中顯示。如果您在新的 區域中設定 AWS Service Catalog 中樞
此模式的方法透過描述如何將來源AWS帳戶或區域中的 AWS Service Catalog 中樞中的產品複製到目的地帳戶或區域中的新中樞,有助於簡化此程序。如需 AWS Service Catalog 中樞和輪輻模型的詳細資訊,請參閱 AWS Service Catalog 中樞和輪輻模型:如何將 AWS Service Catalog 的部署和管理自動化到管理和治理部落格上的許多帳戶
此模式也提供將 AWS Service Catalog 產品複製到帳戶或其他區域所需的個別程式碼套件。透過使用此模式,您的組織可以節省時間、在新的 AWS Service Catalog 中樞中提供現有和先前的產品版本、將手動錯誤的風險降至最低,以及將方法擴展到多個帳戶或區域。
注意:此模式的 Epics 區段提供兩種複製 產品的選項。您可以使用選項 1 跨帳戶複製產品,或選擇選項 2 跨區域複製產品。
先決條件和限制
先決條件
作用中的 AWS 帳戶。
來源帳戶或區域中的現有 AWS Service Catalog 產品。
目的地帳戶或區域中現有的 AWS Service Catalog 中樞。
如果您想要跨帳戶複製產品,您必須共用,然後將包含產品的 AWS Service Catalog 產品組合匯入目的地帳戶。如需詳細資訊,請參閱 AWS Service Catalog 文件中的共用和匯入產品組合。
限制
AWS 您要跨區域或帳戶複製的服務目錄產品不能屬於多個產品組合。
架構
下圖顯示 AWS Service Catalog 產品從來源帳戶複製到目的地帳戶。
下圖顯示 AWS Service Catalog 產品從來源區域複製到目的地區域。
技術堆疊
Amazon CloudWatch
AWS Identity and Access Management (IAM)
AWS Lambda
AWS Service Catalog
自動化和擴展
您可以使用 Lambda 函數來擴展此模式的方法,該函數可根據收到的請求數量或您需要複製的 AWS Service Catalog 產品數量進行擴展。如需詳細資訊,請參閱 Lambda 文件中的 Lambda 函數擴展。 AWS
工具
AWS Command Line Interface (AWS CLI) 是一種開放原始碼工具,可協助您透過命令列 Shell 中的命令與 AWS服務互動。
AWS Identity and Access Management (IAM) 透過控制誰經過身分驗證並獲授權使用,協助您安全地管理對AWS資源的存取。
AWS Lambda 是一種運算服務,可協助您執行程式碼,而不需要佈建或管理伺服器。它只會在需要時執行程式碼並自動擴展,因此您只需支付您使用的運算時間。
AWS Service Catalog 可協助您集中管理 核准的 IT 服務目錄AWS。最終使用者可在機構所設的限制範圍內,迅速地只部署自己需要且經核准的 IT 服務。
Code
您可以使用 cross-account-copy
套件 (已連接) 跨帳戶複製 AWS Service Catalog 產品,或使用 cross-region-copy
套件 (已連接) 跨區域複製產品。
cross-account-copy
套件包含下列檔案:
copyconf.properties
– 包含跨帳戶複製產品的區域和AWS帳戶 ID 參數的組態檔案。scProductCopyLambda.py
– 用於跨帳戶複製產品的 Python 函數。createDestAccountRole.sh
– 在目的地帳戶中建立IAM角色的指令碼。createSrcAccountRole.sh
– 在來源帳戶中建立IAM角色的指令碼。copyProduct.sh
– 用來建立和叫用 Lambda 函數,以跨帳戶複製產品的指令碼。
cross-region-copy
套件包含下列檔案:
copyconf.properties
– 包含跨區域複製產品的區域和AWS帳戶 ID 參數的組態檔案。scProductCopyLambda.py
– 用於跨區域複製產品的 Python 函數。copyProduct.sh
– 用來建立IAM角色,以及建立和叫用 Lambda 函數,以跨區域複製產品的指令碼。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
更新組態檔案。 |
| AWS 管理員、AWS系統管理員、雲端管理員 |
在目的地帳戶中設定 AWSCLI的憑證。 | 執行
如需詳細資訊,請參閱 AWS命令列介面文件中的組態基本知識。 | AWS 管理員、AWS系統管理員、雲端管理員 |
在來源帳戶中設定 AWSCLI的憑證。 | 透過執行
如需詳細資訊,請參閱 AWS命令列介面文件中的組態基本知識。 | AWS 管理員、AWS系統管理員、雲端管理員 |
在目的地帳戶中建立 Lambda 執行角色。 | 在目的地帳戶中執行
| AWS 管理員、AWS系統管理員、雲端管理員 |
在來源帳戶中建立跨帳戶IAM角色。 | 在來源帳戶中執行
| AWS 管理員、AWS系統管理員、雲端管理員 |
在目的地帳戶中執行 copyProduct 指令碼。 | 在目的地帳戶中執行
| AWS 管理員、AWS系統管理員、雲端管理員 |
任務 | 描述 | 所需的技能 |
---|---|---|
更新組態檔案。 |
| AWS 系統管理員、雲端管理員、AWS管理員 |
設定 的憑證AWSCLI。 | 透過執行
如需詳細資訊,請參閱 AWS命令列介面文件中的組態基本知識。 | AWS 管理員、AWS系統管理員、雲端管理員 |
執行 copyProduct 指令碼。 | 在目的地區域中執行
| AWS 管理員、AWS系統管理員、雲端管理員 |
相關資源
建立 Lambda 執行角色 (AWSLambda 文件)
建立 Lambda 函數 (AWSLambda 文件)
附件
若要存取與本文件相關聯的其他內容,請解壓縮下列檔案: attachment.zip