

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 애플리케이션 준비
<a name="prepare-app-using-api"></a>

애플리케이션을 준비하려면 먼저 애플리케이션을 생성하고 복원력 정책을 할당한 다음 입력 소스에서 애플리케이션 리소스를 가져와야 합니다. 애플리케이션을 준비하는 데 사용되는 AWS Resilience Hub APIs에 대한 자세한 내용은 다음 주제를 참조하세요.
+ [애플리케이션 생성](#create-app-using-api)
+ [복원력 정책 생성](#create-res-policy-using-api)
+ [입력 소스에서 리소스 가져오기 및 가져오기 상태 모니터링](#import-app-resource-using-api)
+ [애플리케이션 초안 버전 게시 및 복원력 정책 할당](#publish-application-using-api)

## 애플리케이션 생성
<a name="create-app-using-api"></a>

에서 새 애플리케이션을 생성하려면 `CreateApp` API를 호출하고 고유한 애플리케이션 이름을 제공해야 AWS Resilience Hub합니다. 이 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) 단원을 참조하세요.

다음 예제는 `CreateApp` API를 사용하여 AWS Resilience Hub 에서 새 애플리케이션 `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는 업데이트된 AppComponent와 함께 새 버전의 애플리케이션을 게시합니다. 이 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) 단원을 참조하세요.

다음 예제는 AWS Resilience Hub 에서 `ImportResourcesToDraftAppVersion` API를 사용하여 애플리케이션으로 리소스를 가져오는 방법을 보여줍니다.

### 요청
<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>
        }
    ]
}
```

다음 예제는 AWS Resilience Hub 에서 `CreateAppVersionResource` API를 사용하여 애플리케이션에 리소스를 수동으로 추가하는 방법을 보여줍니다.

### 요청
<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"
       }
   }
   ```