ステップ 3: アプリケーションプログラムを変更する - AWS レジリエンスハブ

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ステップ 3: アプリケーションプログラムを変更する

AWS Resilience Hub ではアプリケーションのドラフトバージョンを編集し、その変更を新しい 「発行済みの」バージョンに発行することで、アプリケーションリソースを変更できます。AWS Resilience Hub は、回復力評価を実行するために、更新されたリソースを含むアプリケーションの発行済みバージョンを使用します。

詳細については、次のトピックを参照してください。

リソースのアプリケーションへの手動追加

リソースが入力ソースの一部としてデプロイされていない場合は、AWS Resilience Hub ではCreateAppVersionResourceAPI を使用してリソースをアプリケーションに手動で追加できます。この API の詳細については、「https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateAppVersionResource.html」を参照してください。

に以下のパラメータを提供する必要があります。

  • アプリケーションの Amazon リソースネーム (ARN)。

  • リソースの論理的な ID。

  • リソースの物理 ID

  • AWS CloudFormation type

次の例では、CreateAppVersionResource APIを使用してAWS Resilience Hubのアプリケーションにリソースを手動で追加する方法を示しています。

リクエスト

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" } ] } }

リソースを 1 つのアプリケーションコンポーネントにグループ化

アプリケーションコンポーネント (AppComponent) は、1 つのユニットとして機能し、障害が発生する AWS 関連リソースのグループです。たとえば、スタンバイデプロイメントとして使用されるクロスリージョンのワークロードがある場合です。AWS Resilience Hub には、どの AWS リソースをどの種類の AppComponent に属させることができるかを管理するルールがあります。AWS Resilience Hub では以下のリソース管理 API を使用して、リソースを単一の AppComponent にグループ化できます。

  • UpdateAppVersionResource— この API はアプリケーションのリソース詳細を更新します。この API の詳細については、UpdateAppVersionResourceを参照してください。

  • DeleteAppVersionAppComponent— この API はアプリケーションから AppComponent を削除します。この API の詳細については、DeleteAppVersionAppComponentを参照してください。

次の例では、DeleteAppVersionAppComponentAPI を使用してAWS Resilience Hubのアプリケーションのリソース詳細を更新する方法を示しています。

リクエスト

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でUpdateAppVersionResourceAPI を使用して、前の例で作成した空の 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」を参照してください。

注記

入力ソースからインポートされたリソースのみを除外できます。

次の例は、UpdateAppVersionResource APIを使用する際にAWS Resilience Hubのアプリケーションのリソースを除外する方法を示しています。

リクエスト

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" } ] } }