

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

# アプリケーションの変更
<a name="modify-application-using-api"></a>

AWS Resilience Hub では、アプリケーションのドラフトバージョンを編集し、新しい (公開された) バージョンに変更を公開することで、アプリケーションリソースを変更できます。 AWS Resilience Hub は、更新されたリソースを含むアプリケーションの公開バージョンを使用して回復性評価を実行します。

詳細については、以下の各トピックを参照してください。
+ [リソースのアプリケーションへの手動追加](#manually-add-resource-using-api)
+ [リソースを 1 つのアプリケーションコンポーネントにグループ化](#group-resource-using-api)
+ [AppComponent からのリソースの除外](#exclude-resource-using-api)

## リソースのアプリケーションへの手動追加
<a name="manually-add-resource-using-api"></a>

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

この API に以下のパラメータを提供する必要があります。
+ アプリケーションの Amazon リソースネーム (ARN)
+ リソースの論理的な ID。
+ リソースの物理 ID
+ AWS CloudFormation タイプ

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

### リクエスト
<a name="manually-add-resource-req"></a>

```
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"]'
```

### レスポンス
<a name="manually-add-resource-res"></a>

```
{
    "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 つのアプリケーションコンポーネントにグループ化
<a name="group-resource-using-api"></a>

アプリケーションコンポーネント (AppComponent) は、単一のユニットとして動作および失敗する関連 AWS リソースのグループです。たとえば、スタンバイデプロイとして使用されるクロスリージョンワークロードがある場合、 には、どの AWS リソースがどのタイプの AppComponent に属できるかを規定するルール AWS Resilience Hub があります。 AWS Resilience Hub では、次のリソース管理 APIs を使用してリソースを 1 つの AppComponent にグループ化できます。
+ `UpdateAppVersionResource`— この API はアプリケーションのリソース詳細を更新します。この API の詳細については、[UpdateAppVersionResource](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateAppVersionResource.html) を参照してください。
+ `DeleteAppVersionAppComponent`— この API はアプリケーションから AppComponent を削除します。この API の詳細については、[DeleteAppVersionAppComponent](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_DeleteAppVersionAppComponent.html) を参照してください。

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

### リクエスト
<a name="update-resource-req"></a>

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

### レスポンス
<a name="update-resource-res"></a>

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

次の例は、 `UpdateAppVersionResource` API AWS Resilience Hub を使用して前の例で作成した空の AppComponent を削除する方法を示しています。

### リクエスト
<a name="delete-appComp-req"></a>

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

### レスポンス
<a name="delete-appComp-res"></a>

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

## AppComponent からのリソースの除外
<a name="exclude-resource-using-api"></a>

AWS Resilience Hub では、`UpdateAppVersionResource`API を使用して評価からリソースを除外できます。これらのリソースは、アプリケーションの障害耐性を計算する際には考慮されません。この API の詳細については、「[https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateAppVersionResource.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateAppVersionResource.html)」を参照してください。

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

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

### リクエスト
<a name="update-appComp-resource-req"></a>

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

### レスポンス
<a name="update-appComp-resource-res"></a>

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