本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
步驟 2. 建立 AWS Service Catalog 產品
若要建立 AWS Service Catalog 產品,請遵循 AWS Service Catalog 管理員指南中建立產品的步驟。建立 AWS Service Catalog 產品時,您將新增帳戶藍圖做為範本。
重要
由於 HashiCorp 更新的 Terraform 授權,將對 Terraform Open Source 產品和佈建產品的支援 AWS Service Catalog 變更為新的產品類型,稱為 External。若要進一步了解此變更如何影響 AFC,包括如何將現有帳戶藍圖更新為外部產品類型,請檢閱轉換為外部產品類型。
建立藍圖的步驟摘要
-
建立或下載 AWS CloudFormation 範本或 Terraform tar.gz 組態檔案,該檔案將成為您的帳戶藍圖。本節稍後會提供一些範本範例。
-
登入 AWS 帳戶 您存放 Account Factory 藍圖的 (有時稱為中樞帳戶)。
-
導覽至 AWS Service Catalog 主控台。選擇產品清單,然後選擇上傳新產品。
-
在產品詳細資訊窗格中,輸入藍圖產品的詳細資訊,例如名稱和描述。
-
選取使用範本檔案,然後選取選擇檔案。選取或貼上您已開發或下載的範本或組態檔案,以用作藍圖。
-
選擇主控台頁面底部的建立產品。
您可以從 AWS Service Catalog 參考架構儲存庫下載 AWS CloudFormation 範本。該儲存庫的一個範例可協助為您的 資源設定備份計劃
以下是一個範例範本,適用於名為 Best Pets 的虛構公司。它有助於設定與寵物資料庫的連線。
Resources: ConnectionStringGeneratorLambdaRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Principal: Service: - lambda.amazonaws.com Action: - "sts:AssumeRole" ConnectionStringGeneratorLambda: Type: AWS::Lambda::Function Properties: FunctionName: !Join ['-', ['ConnectionStringGenerator', !Select [4, !Split ['-', !Select [2, !Split ['/', !Ref AWS::StackId]]]]]] Description: Retrieves the connection string for this account to access the Pet Database Role: !GetAtt ConnectionStringGeneratorLambdaRole.Arn Runtime: nodejs22.x Handler: index.handler Timeout: 5 Code: ZipFile: > export const handler = async (event, context) => { const awsAccountId = context.invokedFunctionArn.split(“:”)[4] const connectionString= “fake connection for account ” + awsAccountId; const response = { statusCode: 200, body: connectionString }; return response; }; ConnectionString: Type: Custom::ConnectionStringGenerator Properties: ServiceToken: !GetAtt ConnectionStringGeneratorLambda.Arn PetDatabaseConnectionString: DependsOn: ConnectionString # For example purposes we're using SSM parameter store. # In your template, use secure alternatives to store # sensitive values such as connection strings. Type: AWS::SSM::Parameter Properties: Name: pet-database-connection-string Description: Connection information for the BestPets pet database Type: String Value: !GetAtt ConnectionString.Value