

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

# アプリケーションの準備
<a name="prepare-app-using-api"></a>

アプリケーションを準備するには、まずアプリケーションを作成し、障害耐性ポリシーを割り当ててから、入力ソースからアプリケーションリソースをインポートする必要があります。アプリケーションの準備に使用される AWS Resilience Hub APIs の詳細については、以下のトピックを参照してください。
+ [Creating an application](#create-app-using-api)
+ [障害耐性ポリシーの作成](#create-res-policy-using-api)
+ [入力ソースからのリソースのインポートとインポートステータスの監視](#import-app-resource-using-api)
+ [アプリケーションのドラフトバージョンの発行と障害耐性ポリシーの割り当て](#publish-application-using-api)

## Creating an application
<a name="create-app-using-api"></a>

で新しいアプリケーションを作成するには AWS Resilience Hub、 `CreateApp` API を呼び出し、一意のアプリケーション名を指定する必要があります。この API の詳細については、「[https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateApp.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateApp.html)」を参照してください。

次の例では、 AWS Resilience Hub で`CreateApp` API を使用して新しいアプリケーション`newApp`を作成する方法を示しています。

### リクエスト
<a name="create-app-using-api-req"></a>

```
aws resiliencehub create-app --name newApp
```

### 応答
<a name="create-app-using-api-res"></a>

```
{
    "app": {
        "appArn": "<App_ARN>",
        "name": "newApp",
        "creationTime": "2022-10-26T19:48:00.434000+03:00",
        "status": "Active",
        "complianceStatus": "NotAssessed",
        "resiliencyScore": 0.0,
        "tags": {},
        "assessmentSchedule": "Disabled"
    }
}
```

## 障害耐性ポリシーの作成
<a name="create-res-policy-using-api"></a>

アプリケーションを作成したら、`CreateResiliencyPolicy` API を使用してアプリケーションの障害耐性を把握できるようにする障害耐性ポリシーを作成する必要があります。この API の詳細については、「[https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateResiliencyPolicy.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateResiliencyPolicy.html)」を参照してください。

次の例は、 `CreateResiliencyPolicy` API AWS Resilience Hub を使用して でアプリケーション`newPolicy`用に を作成する方法を示しています。

### リクエスト
<a name="create-res-policy-using-api-req"></a>

```
aws resiliencehub create-resiliency-policy \
--policy-name newPolicy --tier NonCritical \
--policy '{"AZ": {"rtoInSecs": 172800,"rpoInSecs": 86400}, \
"Hardware": {"rtoInSecs": 172800,"rpoInSecs": 86400}, \
"Software": {"rtoInSecs": 172800,"rpoInSecs": 86400}}'
```

### 応答
<a name="create-res-policy-using-api-res"></a>

```
{
    "policy": {
        "policyArn": "<Policy_ARN>",
        "policyName": "newPolicy",
        "policyDescription": "",
        "dataLocationConstraint": "AnyLocation",
        "tier": "NonCritical",
        "estimatedCostTier": "L1",
        "policy": {
            "AZ": {
                "rtoInSecs": 172800,
                "rpoInSecs": 86400
            },
            "Hardware": {
                "rtoInSecs": 172800,
                "rpoInSecs": 86400
            },
            "Software": {
                "rtoInSecs": 172800,
                "rpoInSecs": 86400
            }
        },
        "creationTime": "2022-10-26T20:48:05.946000+03:00",
        "tags": {}
    }
}
```

## 入力ソースからのリソースのインポートとインポートステータスの監視
<a name="import-app-resource-using-api"></a>

AWS Resilience Hub には、アプリケーションにリソースをインポートするための次の APIs が用意されています。
+ `ImportResourcesToDraftAppVersion`— この API を使用すると、さまざまな入力ソースからアプリケーションのドラフトバージョンにリソースをインポートできます。この API の詳細については、「[https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_ImportResourcesToDraftAppVersion.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_ImportResourcesToDraftAppVersion.html)」を参照してください。
+ `PublishAppVersion` - この API は、更新された AppComponents とともにアプリケーションの新しいバージョンを発行します。この API の詳細については、「[https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_PublishAppVersion.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_PublishAppVersion.html)」を参照してください。
+ `DescribeDraftAppVersionResourcesImportStatus`— この API を使用すると、リソースのアプリケーションバージョンへのインポートステータスを監視できます。この API の詳細については、「[https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_DescribeDraftAppVersionResourcesImportStatus.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_DescribeDraftAppVersionResourcesImportStatus.html)」を参照してください。

次の例では、`ImportResourcesToDraftAppVersion` API を使用してリソースを AWS Resilience Hub のアプリケーションにインポートする方法を示しています。

### リクエスト
<a name="w2aac12b9c11b9"></a>

```
aws resiliencehub import-resources-to-draft-app-version \
--app-arn <App_ARN> \
--terraform-sources '[{"s3StateFileUrl": <S3_URI>}]'
```

### 応答
<a name="w2aac12b9c11c13"></a>

```
{
    "appArn": "<App_ARN>",
    "appVersion": "draft",
    "sourceArns": [],
    "status": "Pending",
    "terraformSources": [
        {
            "s3StateFileUrl": <S3_URI>
        }
    ]
}
```

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

### リクエスト
<a name="create-res-policy-using-api-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="create-res-policy-using-api-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"
            }
        ]
    }
}
```

次の例では、 AWS Resilience Hub で `DescribeDraftAppVersionResourcesImportStatus` API を使用して、リソースのインポートステータスを監視する方法を示しています。

### リクエスト
<a name="describe-draft-app-policy-req"></a>

```
aws resiliencehub describe-draft-app-version-resources-import-status \
--app-arn <App_ARN>
```

### 応答
<a name="describe-draft-app-policy-res"></a>

```
{
    "appArn": "<App_ARN>",
    "appVersion": "draft",
    "status": "Success",
    "statusChangeTime": "2022-10-26T19:55:18.471000+03:00"
}
```

## アプリケーションのドラフトバージョンの発行と障害耐性ポリシーの割り当て
<a name="publish-application-using-api"></a>

評価を実行する前に、まずアプリケーションのドラフトバージョンを発行し、リリースされたバージョンのアプリケーションに障害耐性ポリシーを割り当てる必要があります。

**アプリケーションのドラフトバージョンを発行し、障害耐性ポリシーを割り当てるには**

1. アプリケーションのドラフトバージョンを発行するには `PublishAppVersion` API を使用します。この API の詳細については、「[https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_PublishAppVersion.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_PublishAppVersion.html)」を参照してください。

   次の例は、 `PublishAppVersion` API AWS Resilience Hub を使用して でアプリケーションのドラフトバージョンを発行する方法を示しています。

   

**リクエスト**  


   ```
   aws resiliencehub publish-app-version \
    --app-arn <App_ARN>
   ```

**レスポンス**  


   ```
   {
       "appArn": "<App_ARN>",
       "appVersion": "release"
   }
   ```

1. `UpdateApp` API を使用して、リリースされたバージョンのアプリケーションに障害耐性ポリシーを適用します。この API の詳細については、「[https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateApp.html](https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_UpdateApp.html)」を参照してください。

   次の例は、 `UpdateApp` API AWS Resilience Hub を使用して でリリースされたバージョンのアプリケーションに障害耐性ポリシーを適用する方法を示しています。

**リクエスト**  


   ```
   aws resiliencehub update-app \
   --app-arn <App_ARN> \
   --policy-arn <Policy_ARN>
   ```

**レスポンス**  


   ```
   {
       "app": {
           "appArn": "<App_ARN>",
           "name": "newApp",
           "policyArn": "<Policy_ARN>",
           "creationTime": "2022-10-26T19:48:00.434000+03:00",
           "status": "Active",
           "complianceStatus": "NotAssessed",
           "resiliencyScore": 0.0,
           "tags": {
               "resourceArn": "<App_ARN>"
           },
           "assessmentSchedule": "Disabled"
       }
   }
   ```