註冊和發佈範本 - AWS Proton

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

註冊和發佈範本

您可以使用註冊和發佈環境和服務範本AWS Proton,如以下各節所述。

您可以使用主控台或建立新的範本版本AWS CLI。

或者,您可以使用主控台或AWS CLI建立範本並設定設定範本同步為了它。這種配置可讓AWS Proton從您定義的已註冊 git 存儲庫中的模板包進行同步。每當將提交推送到更改模板包之一的存儲庫時,如果該版本尚不存在,則會創建模板的新次要或主要版本。若要進一步了解範本同步組態先決條件和需求,請參閱範本同步組態

註冊和發佈環境範本

您可以註冊和發佈以下類型的環境樣板。

  • 註冊並發佈標準環境模板AWS Proton用於部署和管理環境基礎結構。

  • 註冊並發佈客受受受受管環境模板AWS Proton用來連接至您管理的現有佈建基礎設施。AWS Proton 沒有管理您現有的佈建基礎結構。

重要

身為系統管理員,請確定您已佈建和受管理的基礎結構,以及所有輸出參數與關聯的相容客受受受受管環境樣板。AWS Proton無法代表您考慮變更,因為這些變更不會顯示AWS Proton。不一致會造成失敗。

您可以使用主控台或AWS CLI註冊並發佈環境範本。

AWS Management Console

使用主控台註冊並發佈新的環境範本。

  1. 在 中AWS Proton安慰,選擇環境範本

  2. 選擇建立環境範本

  3. 在 中建立環境範本頁面範本選項區段中,選擇兩個可用範本選項中的一個。

    • 建立用於佈建新環境的範本

    • 建立範本以使用您管理的佈建基礎結構

  4. 如果您選擇建立用於佈建新環境的範本,在範本區段中,選擇三個可用範本套件來源選項中的一個。若要進一步了解同步範本的需求和先決條件,請參閱範本同步組態

  5. 提供範本服務包的路徑。

    1. 如果您選擇使用我們的示例模板包之一

      在 中範本」區段中,選取範例範本套裝軟體。

    2. 如果您選擇從 Git 同步範本,在來源碼區段

      1. 選取範本同步配置的儲存庫。

      2. 輸入要同步的來源存放庫分支的名稱。

      3. (選擇性) 輸入目錄名稱,以限制範本套裝軟體的搜尋。

    3. 否則即為S3 套件位置」區段中,提供範本套裝軟體的路徑。

  6. 在 中範本詳細資訊區段

    1. 輸入範本名稱

    2. (選用) 輸入 a範本顯示名稱

    3. (選用) 輸入 a範本描述用於環境範本。

  7. (選擇性) 勾選核取方塊自訂加密設定 (進階)中的加密設定部分,以提供您自己的加密金鑰。

  8. (選擇性) 在標籤區段中,選擇新增標籤然後,輸入索引鍵和值,以建立客戶管理的標籤。

  9. 選擇建立環境範本

    您現在進入了一個新頁面,其中會顯示新環境範本的狀態和詳細資料。這些詳細信息包括列表AWS和客戶管理的標籤。AWS Proton自動產生AWS建立時為您提供受管理的標籤AWS Proton的費用。如需詳細資訊,請參閱 AWS Proton資源和標記

  10. 新環境範本狀態的狀態開始於草稿狀態。你和其他人proton:CreateEnvironment權限可以檢視和存取它。請按照下一步操作,使其他人可以使用該範本。

  11. 在 中範本版本區段中,選擇您剛建立的範本 (1.0) 次要版本左側的選項按鈕。作為替代方案,您可以選擇發布在資訊警報中,並跳過下一個步驟。

  12. 在 中範本版本區段中,選擇發布

  13. 範本狀態會變更為發佈。因為它是最新版本的範本,所以它是建議版本。

  14. 在導覽窗格中,選取環境範本,檢視環境範本和詳細資料的清單。

使用主控台註冊環境範本的新主要和次要版本。

如需詳細資訊,請參閱 版本化模板

  1. 在 中AWS Proton安慰,選擇環境範本

  2. 在環境樣板清單中,選擇您要為其建立主要或次要版本之環境樣板的名稱。

  3. 在環境樣板詳圖中,選擇建立新版本中的範本版本區段

  4. 在 中建立新的環境範本版本頁面範本區段中,選擇兩個可用範本套件來源選項中的一個。

    • 使用我們的示例模板包之一

    • 使用您自己的範本

  5. 提供所選範本套裝軟體的路徑。

    • 如果您選擇使用我們的示例模板包之一,在範本」區段中,選取範例範本套裝軟體。

    • 如果您選擇使用您自己的範本,在S3 套件位置」區段中,選擇範本套件的路徑。

  6. 在 中範本區段

    1. (選用) 輸入 a範本顯示名稱

    2. (選用) 輸入 a範本描述用於服務範本。

  7. 在 中範本區段中,選擇以下其中一個選項:

    • 若要建立次要版本,請保留核取方塊核取以建立新的主要版本空白

    • 若要建立主要版本,請勾選核取方塊核取以建立新的主要版本

  8. 繼續執行主控台步驟以建立新的次要或主要版本,然後選擇建立新版本

AWS CLI

使用 CLI 來註冊和發佈新的環境範本,如下列步驟所示。

  1. 建立標準或者客戶受管透過指定區域、名稱、顯示名稱 (可選) 和描述 (可選) 來環境樣板。

    1. 建立標準環境範本。

      執行以下命令:

      $ aws proton create-environment-template \ --name "simple-env" \ --display-name "Fargate" \ --description "VPC with public access"

      回應:

      { "environmentTemplate": { "arn": "arn:aws:proton:region-id:123456789012:environment-template/simple-env", "createdAt": "2020-11-11T23:02:45.336000+00:00", "description": "VPC with public access", "displayName": "VPC", "lastModifiedAt": "2020-11-11T23:02:45.336000+00:00", "name": "simple-env" } }
    2. 建立客戶受管環境樣板 (透過加入provisioning具有參數CUSTOMER_MANAGED

      執行以下命令:

      $ aws proton create-environment-template \ --name "simple-env" \ --display-name "Fargate" \ --description "VPC with public access" \ --provisioning "CUSTOMER_MANAGED"

      回應:

      { "environmentTemplate": { "arn": "arn:aws:proton:region-id:123456789012:environment-template/simple-env", "createdAt": "2020-11-11T23:02:45.336000+00:00", "description": "VPC with public access", "displayName": "VPC", "lastModifiedAt": "2020-11-11T23:02:45.336000+00:00", "name": "simple-env", "provisioning": "CUSTOMER_MANAGED" } }
  2. 建立環境範本主要版本 1 的次要版本 0

    這和其餘步驟對於這兩個步驟都是相同的標準客戶受管環境樣板。

    包含範本名稱、主要版本,以及包含環境範本組合包的儲存貯體的 S3 儲存貯體名稱和金鑰。

    執行以下命令:

    $ aws proton create-environment-template-version \ --template-name "simple-env" \ --description "Version 1" \ --source s3="{bucket=your_s3_bucket, key=your_s3_key}"

    回應:

    { "environmentTemplateVersion": { "arn": "arn:aws:proton:region-id:123456789012:environment-template/simple-env:1.0", "createdAt": "2020-11-11T23:02:47.763000+00:00", "description": "Version 1", "lastModifiedAt": "2020-11-11T23:02:47.763000+00:00", "majorVersion": "1", "minorVersion": "0", "status": "REGISTRATION_IN_PROGRESS", "templateName": "simple-env" } }
  3. 使用 get 命令檢查註冊狀態。

    執行以下命令:

    $ aws proton get-environment-template-version \ --template-name "simple-env" \ --major-version "1" \ --minor-version "0"

    回應:

    { "environment": { "arn": "arn:aws:proton:region-id:123456789012:environment-template/simple-env:1.0", "createdAt": "2020-11-11T23:02:47.763000+00:00", "description": "Version 1", "lastModifiedAt": "2020-11-11T23:02:47.763000+00:00", "majorVersion": "1", "minorVersion": "0", "recommendedMinorVersion": "0", "schema": "schema:\n format:\n openapi: \"3.0.0\"\n environment_input_type: \"MyEnvironmentInputType\"\n types:\n MyEnvironmentInputType:\n type: object\n description: \"Input properties for my environment\"\n properties:\n my_sample_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello world\"\n my_other_sample_input:\n type: string\n description: \"Another sample input\"\n required:\n - my_other_sample_input\n", "status": "DRAFT", "statusMessage": "", "templateName": "simple-env" } }
  4. 透過提供範本名稱以及主要和次要版本,發佈環境範本的主要版本 1 的次要版本 0。這個版本是Recommended版本。

    執行以下命令:

    $ aws proton update-environment-template-version \ --template-name "simple-env" \ --major-version "1" \ --minor-version "0" \ --status "PUBLISHED"

    回應:

    { "environmentTemplateVersion": { "arn": "arn:aws:proton:region-id:123456789012:environment-template/simple-env:1.0", "createdAt": "2020-11-11T23:02:47.763000+00:00", "description": "Version 1", "lastModifiedAt": "2020-11-11T23:02:54.610000+00:00", "majorVersion": "1", "minorVersion": "0", "recommendedMinorVersion": "0", "schema": "schema:\n format:\n openapi: \"3.0.0\"\n environment_input_type: \"MyEnvironmentInputType\"\n types:\n MyEnvironmentInputType:\n type: object\n description: \"Input properties for my environment\"\n properties:\n my_sample_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello world\"\n my_other_sample_input:\n type: string\n description: \"Another sample input\"\n required:\n - my_other_sample_input\n", "status": "PUBLISHED", "statusMessage": "", "templateName": "simple-env" } }

使用建立新範本之後AWS CLI,您可以檢視清單AWS和客戶管理的標籤。AWS Proton自動產生AWS為您管理的標籤。您也可以使用AWS CLI。如需詳細資訊,請參閱 AWS Proton資源和標記

執行以下命令:

$ aws proton list-tags-for-resource \ --resource-arn "arn:aws:proton:region-id:123456789012:environment-template/simple-env"

註冊和發佈服務範本

當您建立服務範本版本時,請指定相容環境範本的清單。這樣,當開發人員選擇服務模板時,他們可以選擇將其服務部署到哪個環境。

從服務範本建立服務之前,或在發佈服務範本之前,請確認已從列出的相容環境範本部署環境。

無法如果服務部署到從已移除的相容環境範本建置的環境,請將服務更新為新的主要版本。

若要新增或移除服務範本版本的相容環境範本,請建立新的主要版本。

您可以使用主控台或AWS CLI註冊並發佈服務範本。

AWS Management Console

使用主控台註冊並發佈新的服務範本。

  1. 在 中AWS Proton安慰,選擇服務範本

  2. 選擇建立服務範本

  3. 在 中建立服務範本頁面範本區段中,選擇其中一個可用範本選項。

    • 使用我們的示例模板包之一

    • 使用您自己的範本

    • 從 Git 同步範本

  4. 提供範本服務包的路徑。

    1. 如果您選擇使用我們的示例模板包之一

      在 中範本」區段中,選取範例範本套裝軟體。

    2. 如果您選擇從 Git 同步範本,在原始碼儲存庫區段

      1. 選取範本同步配置的儲存庫。

      2. 輸入要同步的來源存放庫分支的名稱。

      3. (選擇性) 輸入目錄名稱,以限制範本套裝軟體的搜尋。

    3. 否則即為S3 套件位置」區段中,提供範本套裝軟體的路徑。

  5. 在 中範本詳細資訊區段

    1. 輸入範本名稱

    2. (選用) 輸入 a範本顯示名稱

    3. (選用) 輸入 a範本描述用於服務範本。

  6. 在 中相容的環境範本」區段中,從相容的環境範本清單中選擇。

  7. (選擇性) 在加密設定區段中,選擇自訂加密設定 (進階)提供您自己的加密金鑰。

  8. (選擇性) 在管道區段

    如果您未在服務範本中包含服務管線定義,請取消核取管道-可選頁面底部的核取方塊。您無法在建立服務範本之後變更此選項。如需詳細資訊,請參閱 範本套件

  9. (選擇性) 在支援的元件來源區段元件來源,選擇直接定義,將直接定義的元件附加至您的服務執行個體。

  10. (選擇性) 在標籤區段中,選擇新增標籤然後,輸入索引鍵和值,以建立客戶管理的標籤。

  11. 選擇建立服務範本

    您現在進入了一個新頁面,其中顯示新服務模板的狀態和詳細信息。這些詳細信息包括列表AWS和客戶管理的標籤。AWS Proton自動產生AWS建立時為您提供受管理的標籤AWS Proton的費用。如需詳細資訊,請參閱 AWS Proton資源和標記

  12. 新服務範本狀態的狀態開始於草稿狀態。你和其他人proton:CreateService權限可以檢視和存取它。請按照下一步操作,使其他人可以使用該範本。

  13. 在 中範本版本區段中,選擇您剛建立的範本 (1.0) 次要版本左側的選項按鈕。作為替代方案,您可以選擇發布在資訊警報中,並跳過下一個步驟。

  14. 在 中範本版本區段中,選擇發布

  15. 範本狀態會變更為發佈。因為它是最新版本的範本,所以它是建議版本。

  16. 在導覽窗格中,選取服務範本檢視服務範本和詳細資料的清單。

使用主控台註冊服務範本的新主要和次要版本。

如需詳細資訊,請參閱 版本化模板

  1. 在 中AWS Proton安慰,選擇服務範本

  2. 在服務範本清單中,請選擇您要建立主要或次要版本的服務範本名稱。

  3. 在服務範本詳細資料檢視中,選擇建立新版本中的範本版本區段

  4. 在 中建立新的服務範本版本頁面範例範本套件來源區段中,選擇兩個可用範本選項中的一個。

    • 使用我們的示例模板包之一

    • 使用您自己的範本

  5. 提供所選範本套裝軟體的路徑。

    • 如果您選擇使用我們的示例模板包之一,在範本」區段中,選取範例範本套裝軟體。

    • 如果您選擇使用您自己的範本,在S3 套件位置」區段中,選擇範本套件的路徑。

  6. 在 中範本詳細資訊區段

    1. (選用) 輸入 a範本顯示名稱

    2. (選用) 輸入 a範本描述用於服務範本。

  7. 在 中範本詳細資訊區段中,選擇以下其中一個選項:

    • 若要建立次要版本,請保留核取方塊核取以建立新的主要版本空白

    • 若要建立主要版本,請勾選核取方塊核取以建立新的主要版本

  8. 繼續執行主控台步驟以建立新的次要或主要版本,然後選擇建立新版本

AWS CLI

若要建立不使用服務管線部署服務的服務範本,請新增參數和值--pipeline-provisioning "CUSTOMER_MANAGED"create-service-template指令。依照中的說明設定範本套裝軟體範本套件建立和服務範本組合的結構描述需求

注意

您無法修改pipelineProvisioning建立服務範本之後。

  1. 使用 CLI 來註冊和發佈新的服務範本 (含或不含服務管線),如下列步驟所示。

    1. 使用 CLI 建立具有服務管道的服務範本。

      指定名稱、顯示名稱 (選擇性) 和說明 (選擇性)。

      執行以下命令:

      $ aws proton create-service-template \ --name "fargate-service" \ --display-name "Fargate" \ --description "Fargate-based Service"

      回應:

      { "serviceTemplate": { "arn": "arn:aws:proton:region-id:123456789012:service-template/fargate-service", "createdAt": "2020-11-11T23:02:55.551000+00:00", "description": "Fargate-based Service", "displayName": "Fargate", "lastModifiedAt": "2020-11-11T23:02:55.551000+00:00", "name": "fargate-service" } }
    2. 建立不含服務管線的服務範本。

      新增 --pipeline-provisioning

      執行以下命令:

      $ aws proton create-service-template \ --name "fargate-service" \ --display-name "Fargate" \ --description "Fargate-based Service" \ --pipeline-provisioning "CUSTOMER_MANAGED"

      回應:

      { "serviceTemplate": { "arn": "arn:aws:proton:region-id:123456789012:service-template/fargate-service", "createdAt": "2020-11-11T23:02:55.551000+00:00", "description": "Fargate-based Service", "displayName": "Fargate", "lastModifiedAt": "2020-11-11T23:02:55.551000+00:00", "name": "fargate-service", "pipelineProvisioning": "CUSTOMER_MANAGED" } }
  2. 建立服務範本主要版本 1 的次要版本 0。

    包含範本名稱、相容環境範本、主要版本,以及包含服務範本組合包之儲存貯體的 S3 儲存貯體名稱和金鑰。

    執行以下命令:

    $ aws proton create-service-template-version \ --template-name "fargate-service" \ --description "Version 1" \ --source s3="{bucket=your_s3_bucket, key=your_s3_key}" \ --compatible-environment-templates '[{"templateName":"simple-env","majorVersion":"1"}]'

    回應:

    { "serviceTemplateMinorVersion": { "arn": "arn:aws:proton:region-id:123456789012:service-template/fargate-service:1.0", "compatibleEnvironmentTemplates": [ { "majorVersion": "1", "templateName": "simple-env" } ], "createdAt": "2020-11-11T23:02:57.912000+00:00", "description": "Version 1", "lastModifiedAt": "2020-11-11T23:02:57.912000+00:00", "majorVersion": "1", "minorVersion": "0", "status": "REGISTRATION_IN_PROGRESS", "templateName": "fargate-service" } }

  3. 使用得到命令,以檢查註冊狀態。

    執行以下命令:

    $ aws proton get-service-template-version \ --template-name "fargate-service" \ --major-version "1" \ --minor-version "0"

    回應:

    { "serviceTemplateMinorVersion": { "arn": "arn:aws:proton:us-east-1:123456789012:service-template/fargate-service:1.0", "compatibleEnvironmentTemplates": [ { "majorVersion": "1", "templateName": "simple-env" } ], "createdAt": "2020-11-11T23:02:57.912000+00:00", "description": "Version 1", "lastModifiedAt": "2020-11-11T23:02:57.912000+00:00", "majorVersion": "1", "minorVersion": "0", "schema": "schema:\n format:\n openapi: \"3.0.0\"\n pipeline_input_type: \"MyPipelineInputType\"\n service_input_type: \"MyServiceInstanceInputType\"\n\n types:\n MyPipelineInputType:\n type: object\n description: \"Pipeline input properties\"\n required:\n - my_sample_pipeline_required_input\n properties:\n my_sample_pipeline_optional_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello world\"\n my_sample_pipeline_required_input:\n type: string\n description: \"Another sample input\"\n\n MyServiceInstanceInputType:\n type: object\n description: \"Service instance input properties\"\n required:\n - my_sample_service_instance_required_input\n properties:\n my_sample_service_instance_optional_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello world\"\n my_sample_service_instance_required_input:\n type: string\n description: \"Another sample input\"", "status": "DRAFT", "statusMessage": "", "templateName": "fargate-service" } }
  4. 使用 update 指令將狀態變更為,以發佈服務範本"PUBLISHED"

    執行以下命令:

    $ aws proton update-service-template-version \ --template-name "fargate-service" \ --description "Version 1" \ --major-version "1" \ --minor-version "0" \ --status "PUBLISHED"

    回應:

    { "serviceTemplateVersion": { "arn": "arn:aws:proton:region-id:123456789012:service-template/fargate-service:1.0", "compatibleEnvironmentTemplates": [ { "majorVersion": "1", "templateName": "simple-env" } ], "createdAt": "2020-11-11T23:02:57.912000+00:00", "description": "Version 1", "lastModifiedAt": "2020-11-11T23:02:57.912000+00:00", "majorVersion": "1", "minorVersion": "0", "recommendedMinorVersion": "0", "schema": "schema:\n format:\n openapi: \"3.0.0\"\n pipeline_input_type: \"MyPipelineInputType\"\n service_input_type: \"MyServiceInstanceInputType\"\n\n types:\n MyPipelineInputType:\n type: object\n description: \"Pipeline input properties\"\n required:\n - my_sample_pipeline_required_input\n properties:\n my_sample_pipeline_optional_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello pipeline\"\n my_sample_pipeline_required_input:\n type: string\n description: \"Another sample input\"\n\n MyServiceInstanceInputType:\n type: object\n description: \"Service instance input properties\"\n required:\n - my_sample_service_instance_required_input\n properties:\n my_sample_service_instance_optional_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello world\"\n my_sample_service_instance_required_input:\n type: string\n description: \"Another sample input\"\n", "status": "PUBLISHED", "statusMessage": "", "templateName": "fargate-service" } }
  5. 檢查AWS Proton使用 get 命令擷取服務範本詳細資料,已發佈 1.0 版。

    執行以下命令:

    $ aws proton get-service-template-version \ --template-name "fargate-service" \ --major-version "1" \ --minor-version "0"

    回應:

    { "serviceTemplateMinorVersion": { "arn": "arn:aws:proton:us-east-1:123456789012:service-template/fargate-service:1.0", "compatibleEnvironmentTemplates": [ { "majorVersion": "1", "templateName": "simple-env" } ], "createdAt": "2020-11-11T23:02:57.912000+00:00", "description": "Version 1", "lastModifiedAt": "2020-11-11T23:03:04.767000+00:00", "majorVersion": "1", "minorVersion": "0", "schema": "schema:\n format:\n openapi: \"3.0.0\"\n pipeline_input_type: \"MyPipelineInputType\"\n service_input_type: \"MyServiceInstanceInputType\"\n\n types:\n MyPipelineInputType:\n type: object\n description: \"Pipeline input properties\"\n required:\n - my_sample_pipeline_required_input\n properties:\n my_sample_pipeline_optional_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello world\"\n my_sample_pipeline_required_input:\n type: string\n description: \"Another sample input\"\n\n MyServiceInstanceInputType:\n type: object\n description: \"Service instance input properties\"\n required:\n - my_sample_service_instance_required_input\n properties:\n my_sample_service_instance_optional_input:\n type: string\n description: \"This is a sample input\"\n default: \"hello world\"\n my_sample_service_instance_required_input:\n type: string\n description: \"Another sample input\"", "status": "PUBLISHED", "statusMessage": "", "templateName": "fargate-service" } }