

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

# 애플리케이션 수정
<a name="modify-application-using-api"></a>

AWS Resilience Hub 를 사용하면 애플리케이션의 초안 버전을 편집하고 변경 사항을 새(게시된) 버전에 게시하여 애플리케이션 리소스를 수정할 수 있습니다. AWS Resilience Hub 는 복원력 평가를 실행하기 위해 업데이트된 리소스가 포함된 애플리케이션의 게시된 버전을 사용합니다.

자세한 내용은 다음 항목을 참조하세요.
+ [애플리케이션에 리소스 수동 추가](#manually-add-resource-using-api)
+ [리소스를 단일 애플리케이션 구성 요소로 그룹화](#group-resource-using-api)
+ [AppComponent에서 리소스 제외하기](#exclude-resource-using-api)

## 애플리케이션에 리소스 수동 추가
<a name="manually-add-resource-using-api"></a>

리소스가 입력 소스의 일부로 배포되지 않은 경우 `CreateAppVersionResource` API AWS Resilience Hub 를 사용하여 애플리케이션에 리소스를 수동으로 추가할 수 있습니다. 이 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 유형

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

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

## 리소스를 단일 애플리케이션 구성 요소로 그룹화
<a name="group-resource-using-api"></a>

애플리케이션 구성 요소(AppComponent)는 단일 단위로 작동하고 실패하는 관련 AWS 리소스 그룹입니다. 예를 들어 대기 배포로 사용되는 리전 간 워크로드가 있는 경우, AWS Resilience Hub 에는 어떤 AWS 리소스가 어떤 유형의 AppComponent에 속할 수 있는지에 대한 규칙이 있습니다.는 다음 리소스 관리 APIs를 사용하여 리소스를 단일 AppComponent로 그룹화할 수 있도록 AWS Resilience Hub 허용합니다.
+ `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) 단원을 참조하세요.

**참고**  
입력 소스에서 가져온 리소스만 제외할 수 있습니다.

다음 예제는 AWS Resilience Hub 에서 `UpdateAppVersionResource` API를 사용할 때 애플리케이션의 리소스를 제외하는 방법을 보여줍니다.

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