3단계: 애플리케이션 수정 - AWS 레질리언스 허브

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

3단계: 애플리케이션 수정

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

자세한 정보는 다음 주제를 참조하세요.

애플리케이션에 리소스 수동 추가

리소스가 입력 소스의 일부로 배포되지 않은 경우 AWS Resilience Hub을 사용하면 CreateAppVersionResource API를 사용하여 애플리케이션에 리소스를 수동으로 추가할 수 있습니다. 이 API에 대한 자세한 내용은 https://docs.aws.amazon.com/resilience-hub/latest/APIReference/API_CreateAppVersionResource.html 단원을 참조하세요.

다음 파라미터를 이 API에 입력해야 합니다.

  • 애플리케이션의 Amazon 리소스 이름(ARN)입니다.

  • 리소스의 논리적 ID

  • 리소스의 물리적 ID

  • AWS CloudFormation 유형

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

요청

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

리소스를 단일 애플리케이션 구성 요소로 그룹화

애플리케이션 구성 요소(AppComponent)는 단일 단위로 작동하고 실패하는 관련 AWS 리소스 그룹입니다. 예를 들어, 리전 간 워크로드가 스탠바이 배포로 사용되는 경우가 있습니다. AWS Resilience Hub은 어떤 AWS 리소스가 어떤 유형의 AppComponent에 속할 수 있는지를 규정하는 규칙이 있습니다. AWS Resilience Hub을 사용하면 다음 리소스 관리 API를 사용하여 리소스를 단일 AppComponent로 그룹화할 수 있습니다.

  • UpdateAppVersionResource – 이 API는 애플리케이션의 리소스 세부 정보를 업데이트합니다. 이 API에 대한 자세한 내용은 UpdateAppVersionResource 단원을 참조하세요.

  • DeleteAppVersionAppComponent – 이 API는 애플리케이션에서 AppComponent를 삭제합니다. 이 API에 대한 자세한 내용은 DeleteAppVersionAppComponent 단원을 참조하세요.

다음 예제는 AWS Resilience Hub에서 DeleteAppVersionAppComponent API를 사용하여 애플리케이션의 리소스 세부 정보를 업데이트하는 방법을 보여줍니다.

요청

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에서 UpdateAppVersionResource API를 사용하여 이전 예제에서 만든 빈 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 단원을 참조하세요.

참고

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

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

요청

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