步驟 3:修改您的應用程式 - AWS 韌性樞紐

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

步驟 3:修改您的應用程式

AWS Resilience Hub可讓您編輯應用程式的草稿版本,並將變更發佈至新 (已發佈) 版本,以修改應用程式資源。 AWS Resilience Hub使用已發佈的應用程式版本 (包括更新的資源) 來執行復原能力評估。

如需詳細資訊,請參閱下列主題:

手動將資源新增至應用程式

如果資源未部署為輸入來源的一部分,AWS Resilience Hub可讓您使用 CreateAppVersionResource API 手動將資源新增至應用程式。如需這種 API 的詳細資訊,請參閱 https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateAppVersionResource.html

您必須為此 API 提供下列參數:

  • 應用程式的 Amazon 資源名稱 (ARN)

  • 資源的邏輯 ID

  • 資源的實體 ID

  • AWS CloudFormation 類型

下面的示例演示了如何在AWS Resilience Hub使用 CreateAppVersionResource API 手動添加資源到您的應用程序。

請求

aws resiliencehub create-app-version-resource \ --app-arn <App_ARN> \ --resource-name "backup-efs" \ --logical-resource-id '{"identifier": "backup-efs"}' \ --physical-resource-id '<Physical_resource_id_ARN>' \ --resource-type AWS::EFS::FileSystem \ --app-components '["new-app-component"]'

回應

{ "appArn": "<App_ARN>", "appVersion": "draft", "physicalResource": { "resourceName": "backup-efs", "logicalResourceId": { "identifier": "backup-efs" }, "physicalResourceId": { "identifier": "<Physical_resource_id_ARN>", "type": "Arn" }, "resourceType": "AWS::EFS::FileSystem", "appComponents": [ { "name": "new-app-component", "type": "AWS::ResilienceHub::StorageAppComponent", "id": "new-app-component" } ] } }

將資源分組到單一應用程式元件

應用程序組件(AppComponent)是一組作為一個單元工作和失敗的相關AWS資源。例如,當您擁有用作待命部署的跨區域工作負載時。 AWS Resilience Hub具有管理哪些AWS資源可以屬於哪種類型的規則 AppComponent。 AWS Resilience Hub可讓您 AppComponent 使用下列資源管理 API 將資源分組為單一資源。

  • UpdateAppVersionResource— 此 API 更新應用程序的資源詳細信息。如需這種 API 的詳細資訊,請參閱 UpdateAppVersionResource

  • DeleteAppVersionAppComponent— 此 API 會從應用程式 AppComponent 中刪除。如需這種 API 的詳細資訊,請參閱 DeleteAppVersionAppComponent

下面的示例演示了如何在AWS Resilience Hub使用 DeleteAppVersionAppComponent API 更新應用程序的資源詳細信息。

請求

aws resiliencehub delete-app-version-app-component \ --app-arn <App_ARN> \ --id new-app-component

回應

{ "appArn": "<App_ARN>", "appVersion": "draft", "appComponent": { "name": "new-app-component", "type": "AWS::ResilienceHub::StorageAppComponent", "id": "new-app-component" } }

下面的示例演示了如何刪除在AWS Resilience Hub使用 UpdateAppVersionResource API 的先前示例中創建的空 AppComponent 。

請求

aws resiliencehub delete-app-version-app-component \ --app-arn <App_ARN> \ --id new-app-component

回應

{ "appArn": "<App_ARN>", "appVersion": "draft", "appComponent": { "name": "new-app-component", "type": "AWS::ResilienceHub::StorageAppComponent", "id": "new-app-component" } }

排除資源 AppComponent

AWS Resilience Hub可讓您使用 UpdateAppVersionResource API 將資源排除在評估之外。計算應用程式的復原能力時,不會考慮這些資源。如需這種 API 的詳細資訊,請參閱 https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateAppVersionResource.html

注意

您只能排除從輸入來源匯入的那些資源。

下面的示例演示了如何在AWS Resilience Hub使用 UpdateAppVersionResource API 排除應用程序的資源。

請求

aws resiliencehub update-app-version-resource \ --app-arn <App_ARN> \ --resource-name "ec2instance-nvz" \ --excluded

回應

{ "appArn": "<App_ARN>", "appVersion": "draft", "physicalResource": { "resourceName": "ec2instance-nvz", "logicalResourceId": { "identifier": "ec2", "terraformSourceName": "test.state.file" }, "physicalResourceId": { "identifier": "i-0b58265a694e5ffc1", "type": "Native", "awsRegion": "us-west-2", "awsAccountId": "123456789101" }, "resourceType": "AWS::EC2::Instance", "appComponents": [ { "name": "computeappcomponent-nrz", "type": "AWS::ResilienceHub::ComputeAppComponent" } ] } }