本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
更新環境
如果AWS Proton環境帳戶連線,不要更新或包含protonServiceRoleArn
用於更新或連接到環境帳戶連接的參數。
只有在下列兩項都成立時,您才能更新為新的環境帳戶連線:
如果環境不是與環境帳戶連線不要更新或包含environmentAccountConnectionId
參數。
您可以更新environmentAccountConnectionId
或者protonServiceRoleArn
參數和值。您無法同時更新。
如果您的環境使用自我管理佈建,不要更新provisioning-repository
參數和忽略該environmentAccountConnectionId
和protonServiceRoleArn
參數。
更新環境有四種模式,如下列清單所述。當您使用AWS CLI,該deployment-type
字段定義模式。使用主控台時,這些模式對應至Edit (編輯)、更新、次要更新,以及主要更新下拉式功能表的動作動作。
-
NONE
在此模式下,部署不發生。只會更新要求的中繼資料參數。
-
CURRENT_VERSION
在此模式下,環境會部署並使用您提供的新規格進行更新。僅更新請求的參數。Don't使用此參數時包括次要或主要版本參數deployment-type
。
-
MINOR_VERSION
在此模式下,依預設,會使用目前主要版本的已發佈、建議 (最新) 次要版本來部署和更新環境。您也可以指定目前正在使用的主要版本的不同次要版本。
-
MAJOR_VERSION
在此模式下,依預設,會使用目前範本的已發佈、建議 (最新) 主要和次要版本來部署和更新環境。您也可以指定高於使用中的主要版本和次要版本 (選用) 的不同主要版本。
更新AWS-管理的佈建環境
標準佈建僅由以下項目提供的環境支援AWS CloudFormation。
使用主控台或AWS CLI以更新您的環境。
- AWS Management Console
-
使用主控台更新環境,如以下步驟所示。
-
選擇以下 2 個步驟之一。
-
在環境列表中。
-
在 中AWS Proton安慰,選擇環境。
-
在環境清單中,選擇您要更新環境的左側的選項按鈕。
-
在控制台環境詳細信息頁面中。
-
在 中AWS Proton安慰,選擇環境。
-
在環境清單中,選擇您要更新的環境名稱。
-
選擇接下來 4 個步驟中的一個來更新您的環境。
-
進行不需要環境部署的編輯。
-
例如,若要變更描述。
選擇 Edit (編輯)。
-
請填寫表單,然後選擇表單下一頁。
-
查看您的編輯並選擇更新。
-
僅對中繼資料輸入進行更新。
-
選擇動作然後更新。
-
請填寫表單,然後選擇表單Edit (編輯)。
-
填寫表單,然後選擇表單下一頁直到你到達檢閱(憑證已建立!) 頁面上的名稱有些許差異。
-
查看您的更新並選擇更新。
-
更新其環境範本的新次要版本。
-
選擇動作然後次要更新。
-
請填寫表單,然後選擇表單下一頁。
-
填寫表單,然後選擇表單下一頁直到你到達檢閱(憑證已建立!) 頁面上的名稱有些許差異。
-
查看您的更新並選擇更新。
-
要更新其環境模板的新主要版本。
-
選擇動作然後主要更新。
-
請填寫表單,然後選擇表單下一頁。
-
填寫表單,然後選擇表單下一頁直到你到達檢閱(憑證已建立!) 頁面上的名稱有些許差異。
-
查看您的更新並選擇更新。
- AWS CLI
-
使用AWS Proton AWS CLI以將環境更新為新的次要版本。
執行下列命令以更新環境:
$
aws proton update-environment \
--name "MySimpleEnv
" \
--deployment-type "MINOR_VERSION
" \
--template-major-version "1
" \
--template-minor-version "1
" \
--proton-service-role-arn arn:aws:iam::123456789012
:role/service-role/ProtonServiceRole
\
--spec "file:///spec.yaml
"
回應:
{
"environment": {
"arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv",
"createdAt": "2021-04-02T17:29:55.472000+00:00",
"deploymentStatus": "IN_PROGRESS",
"lastDeploymentAttemptedAt": "2021-04-02T17:48:26.307000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T17:29:55.472000+00:00",
"name": "MySimpleEnv",
"protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole",
"templateMajorVersion": "1",
"templateMinorVersion": "0",
"templateName": "simple-env"
}
}
執行下列命令以取得並確認狀態:
$
aws proton get-environment \
--name "MySimpleEnv
"
回應:
{
"environment": {
"arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv",
"createdAt": "2021-04-02T17:29:55.472000+00:00",
"deploymentStatus": "SUCCEEDED",
"environmentName": "MySimpleEnv",
"lastDeploymentAttemptedAt": "2021-04-02T17:48:26.307000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00",
"protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole",
"spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "simple-env"
}
}
更新自我管理的佈建環境
只有使用 Terraform 佈建的環境才支援自我管理的佈建。
使用主控台或AWS CLI以更新您的環境。
- AWS Management Console
-
使用主控台更新環境,如以下步驟所示。
-
選擇以下 2 個步驟之一。
-
在環境列表中。
-
在 中AWS Proton安慰,選擇環境。
-
在環境清單中,選擇您要更新的環境範本左側的選項按鈕。
-
在控制台環境詳細信息頁面中。
-
在 中AWS Proton安慰,選擇環境。
-
在環境清單中,選擇您要更新的環境名稱。
-
選擇接下來 4 個步驟中的一個來更新您的環境。
-
進行不需要環境部署的編輯。
-
例如,若要變更描述。
選擇 Edit (編輯)。
-
填寫表單,然後選擇表單下一頁。
-
查看您的編輯並選擇更新。
-
僅對中繼資料輸入進行更新。
-
選擇動作然後更新。
-
填寫表單,然後選擇表單Edit (編輯)。
-
填寫表單,然後選擇表單下一頁直到你到達檢閱(憑證已建立!) 頁面上的名稱有些許差異。
-
查看您的更新並選擇更新。
-
更新其環境範本的新次要版本。
-
選擇動作然後次要更新。
-
填寫表單,然後選擇表單下一頁。
-
填寫表單,然後選擇表單下一頁直到你到達檢閱(憑證已建立!) 頁面上的名稱有些許差異。
-
查看您的更新並選擇更新。
-
要更新其環境模板的新主要版本。
-
選擇動作然後主要更新。
-
填寫表單,然後選擇表單下一頁。
-
填寫表單,然後選擇表單下一頁直到你到達檢閱(憑證已建立!) 頁面上的名稱有些許差異。
-
查看您的更新並選擇更新。
- AWS CLI
-
使用AWS CLI將 Terraform 環境更新為具有自我管理佈建的新次要版本。
-
執行下列命令以更新環境:
$
aws proton update-environment \
--name "pr-environment
" \
--deployment-type "MINOR_VERSION
" \
--template-major-version "1
" \
--template-minor-version "1
" \
--provisioning-repository "branch=main
,name=myrepos/env-repo
,provider=GITHUB
" \
--spec "file://env-spec-mod.yaml
"
回應:
{
"environment": {
"arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment",
"createdAt": "2021-11-18T21:09:15.745000+00:00",
"deploymentStatus": "IN_PROGRESS",
"lastDeploymentAttemptedAt": "2021-11-18T21:25:41.998000+00:00",
"lastDeploymentSucceededAt": "2021-11-18T21:09:15.745000+00:00",
"name": "pr-environment",
"provisioningRepository": {
"arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo",
"branch": "main",
"name": "myrepos/env-repo",
"provider": "GITHUB"
},
"templateMajorVersion": "1",
"templateMinorVersion": "0",
"templateName": "pr-env-template"
}
}
-
執行下列命令以取得並確認狀態:
$
aws proton get-environment \
--name "pr-environment
"
回應:
{
"environment": {
"arn": "arn:aws:proton:region-id:123456789012:environment/pr-environment",
"createdAt": "2021-11-18T21:09:15.745000+00:00",
"deploymentStatus": "SUCCEEDED",
"lastDeploymentAttemptedAt": "2021-11-18T21:25:41.998000+00:00",
"lastDeploymentSucceededAt": "2021-11-18T21:25:41.998000+00:00",
"name": "pr-environment",
"provisioningRepository": {
"arn": "arn:aws:proton:region-id:123456789012:repository/github:myrepos/env-repo",
"branch": "main",
"name": "myrepos/env-repo",
"provider": "GITHUB"
},
"spec": "proton: EnvironmentSpec\nspec:\n ssm_parameter_value: \"test\"\n ssm_another_parameter_value: \"update\"\n",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "pr-env-template"
}
}
-
檢閱由傳送的提取要求AWS Proton。
-
如果核准請求,則正在進行佈建。
-
如果您拒絕請求,則會取消環境建立。
-
如果提取請求逾時,則環境建立不完成。
-
將佈建狀態提供給AWS Proton。
$
aws proton notify-resource-deployment-status-change \
--resource-arn "arn:aws:proton:region-id
:123456789012
:environment/pr-environment
" \
--status "SUCCEEDED
"
取消正在進行的環境部署
您可以嘗試取消環境更新部署,如果deploymentStatus
在IN_PROGRESS
。AWS Proton嘗試取消部署。成功取消不是保證。
當您取消更新部署時,AWS Proton嘗試取消部署,如下列步驟所列。
如需如何取消環境部署的詳細資訊,請參閱CancelEnvironmentDeployment中的AWS ProtonAPI 參考。
您可以使用主控台或 CLI 來取消進行中的環境。
- AWS Management Console
-
使用主控台來取消環境更新部署,如以下步驟所示。
-
在 中AWS Proton安慰,選擇環境在導覽窗格中。
-
在環境清單中,選擇您要取消部署更新的環境名稱。
-
如果您的更新部署狀態為In progress (正在進行)」中的環境詳細資訊頁面上,選擇動作然後Cancel 部署。
-
強制回應會提示您確認取消。選擇Cancel 部署。
-
您的更新部署狀態設定為取消然後Cancelled完成取消。
- AWS CLI
-
使用AWS Proton AWS CLI,以取消對新次要版本 2 的 IN_PROGRESS 環境更新部署。
等待條件包含在用於此範例的範本中,以便在更新部署成功之前開始取消。
執行下列命令以取消更新:
$
aws proton cancel-environment-deployment \
--environment-name "MySimpleEnv
"
回應:
{
"environment": {
"arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv",
"createdAt": "2021-04-02T17:29:55.472000+00:00",
"deploymentStatus": "CANCELLING",
"lastDeploymentAttemptedAt": "2021-04-02T18:15:10.243000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00",
"name": "MySimpleEnv",
"protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole",
"spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "simple-env"
}
}
執行下列命令以取得並確認狀態:
$
aws proton get-environment \
--name "MySimpleEnv
"
回應:
{
"environment": {
"arn": "arn:aws:proton:region-id:123456789012:environment/MySimpleEnv",
"createdAt": "2021-04-02T17:29:55.472000+00:00",
"deploymentStatus": "CANCELLED",
"deploymentStatusMessage": "User initiated cancellation.",
"lastDeploymentAttemptedAt": "2021-04-02T18:15:10.243000+00:00",
"lastDeploymentSucceededAt": "2021-04-02T17:48:26.307000+00:00",
"name": "MySimpleEnv",
"protonServiceRoleArn": "arn:aws:iam::123456789012:role/service-role/ProtonServiceRole",
"spec": "proton: EnvironmentSpec\n\nspec:\n my_sample_input: hello\n my_other_sample_input: everybody\n",
"templateMajorVersion": "1",
"templateMinorVersion": "1",
"templateName": "simple-env"
}
}