View a markdown version of this page

使用 CodeDeploy 建立部署組態 - AWS CodeDeploy

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

使用 CodeDeploy 建立部署組態

如果您不想使用 CodeDeploy 隨附的其中一個預設部署組態,您可以使用下列指示建立自己的組態。

您可以使用 CodeDeploy 主控台 AWS CLI、CodeDeploy APIs或 CloudFormation 範本來建立自訂部署組態。

如需使用 CloudFormation 範本建立部署組態的詳細資訊,請參閱 CloudFormation CodeDeploy 參考的 範本

建立部署組態 (主控台)

使用以下指示,使用 AWS 主控台建立部署組態。

使用主控台在 CodeDeploy 中建立部署組態
  1. 登入 AWS 管理主控台 ,並在 https://https://console.aws.amazon.com/codedeploy 開啟 CodeDeploy 主控台。

    注意

    使用您在 中設定的相同使用者登入CodeDeploy 入門

  2. 在導覽窗格中,選擇部署組態

    內建部署組態清單隨即出現。

  3. 選擇 Create deployment configuration (建立部署組態)

  4. 部署組態名稱中,輸入部署組態的名稱。例如 my-deployment-config

  5. 運算平台下,選擇下列其中一項:

    • EC2/內部部署

    • AWS Lambda

    • Amazon ECS

  6. 執行以下任意一項:

    • 如果您選擇 EC2/內部部署

      1. 運作狀態良好的最低主機下,指定必須在部署期間隨時保持可用的執行個體數量或百分比。如需 CodeDeploy 在部署期間如何監控和評估執行個體運作狀態的詳細資訊,請參閱 Instance Health

      2. (選用) 在區域組態下,選取啟用區域組態,讓 CodeDeploy 一次將您的應用程式部署到區域內 AWS 的一個可用區域。透過一次部署到一個可用區域,您可以向越來越多的受眾公開部署,因為對部署效能和可行性增加的信心。如果您未啟用區域組態,CodeDeploy 會將您的應用程式部署到跨區域的隨機主機選擇。

        如果您啟用區域組態功能,請注意下列事項:

        • 只有在 Amazon EC2 執行個體就地部署時,才支援區域組態功能。(不支援藍/綠部署和內部部署執行個體。) 如需就地部署的詳細資訊,請參閱部署類型

        • 預先定義的部署組態不支援區域組態功能。若要使用區域組態,您必須建立自訂部署組態,如此處所述。

        • 如果 CodeDeploy 需要復原部署,CodeDeploy 將在隨機主機上執行復原操作。(CodeDeploy 不會如您預期一次復原一個區域。) 基於效能原因選擇此轉返行為。如需轉返的詳細資訊,請參閱 使用 CodeDeploy 重新部署以及復原部署

      3. 如果您選取啟用區域組態核取方塊,請選擇性地指定下列選項:

        • (選用) 在監控持續時間中,指定 CodeDeploy 在完成部署至可用區域後必須等待的期間,以秒為單位。CodeDeploy 會等待此時間量,再開始部署到下一個可用區域。考慮新增監控持續時間,讓部署有時間在一個可用區域中證明自己 (或 'bake'),然後再在下一個區域中發佈。如果您未指定監控持續時間,則 CodeDeploy 會立即開始部署到下一個可用區域。如需監控持續時間設定如何運作的詳細資訊,請參閱 每個可用區域的運作狀態良好執行個體數量下限

        • (選用) 選取新增第一個區域的監控持續時間,以設定僅適用於第一個可用區域的監控持續時間。如果您想要為第一個可用區域允許額外的製作時間,您可以設定此選項。如果您未在新增第一個區域監控持續時間中指定值,則 CodeDeploy 會使用第一個可用區域的監控持續時間值。

        • (選用) 在每個區域運作狀態良好的最低主機下,指定部署期間每個可用區域必須保持可用的執行個體數量或百分比。選擇 FLEET_PERCENT 以指定百分比,或選擇 HOST_COUNT 以指定數字。此欄位可與運作狀態良好的最低主機欄位搭配使用。如需詳細資訊,請參閱每個可用區域的運作狀態良好執行個體數量下限

          如果您未在每個區域運作狀態良好的最低主機下指定值,則 CodeDeploy 會使用預設值 0%。

    • 如果您選擇 AWS LambdaAmazon ECS

      1. 針對類型,選擇線性Canary

      2. 步驟間隔欄位中,執行下列其中一項:

        • 如果您選擇 Canary,請在步驟中輸入要轉移的流量百分比,介於 1 到 99 之間。這是在第一個增量中轉移的流量百分比。剩餘的流量會在第二個增量之選定間隔後轉移。

          針對間隔,輸入第一個和第二個流量轉移之間的分鐘數。

        • 如果您選擇線性,請在步驟中輸入要轉移的流量百分比,介於 1 到 99 之間。這是在每個間隔開始時轉移的流量百分比。

          針對間隔,輸入每個增量輪班之間的分鐘數。

  7. 選擇 Create deployment configuration (建立部署組態)

    您現在擁有可與部署群組建立關聯的部署組態。

使用 CodeDeploy 建立部署組態 (AWS CLI)

若要使用 AWS CLI 建立部署組態,請呼叫 create-deployment-config 命令。

下列範例會建立名為 的 EC2/現場部署組態ThreeQuartersHealthy,要求 75% 的目標執行個體在部署期間保持運作狀態:

aws deploy create-deployment-config --deployment-config-name ThreeQuartersHealthy --minimum-healthy-hosts type=FLEET_PERCENT,value=75

下列範例會建立名為 的 EC2/現場部署組態300Total50PerAZ,每個部署總共需要 300 個目標執行個體才能維持運作狀態,而每個可用區域需要 50 個執行個體才能維持運作狀態。它也會設定 1 小時的監控持續時間。

aws deploy create-deployment-config --deployment-config-name 300Total50PerAZ --minimum-healthy-hosts type=HOST_COUNT,value=300 --zonal-config '{"monitorDurationInSeconds":3600,"minimumHealthyHostsPerZone":{"type":"HOST_COUNT","value":50}}'

下列範例會建立名為 的 AWS Lambda 部署組態Canary25Percent45Minutes。它使用 Canary 轉換功能,轉換第一個遞增的 25% 的流量。剩餘的 75% 會在 45 分鐘之後轉移。

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform Lambda

下列範例會建立名為 的 Amazon ECS 部署組態Canary25Percent45Minutes。它使用 Canary 轉換功能,轉換第一個遞增的 25% 的流量。剩餘的 75% 會在 45 分鐘之後轉移。

aws deploy create-deployment-config --deployment-config-name Canary25Percent45Minutes --traffic-routing-config "type="TimeBasedCanary",timeBasedCanary={canaryPercentage=25,canaryInterval=45}" --compute-platform ECS