를 사용하여 리소스 업데이트 AWS Cloud Control API - 클라우드 제어 API

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

를 사용하여 리소스 업데이트 AWS Cloud Control API

update-resource 명령을 사용하여 기존 리소스를 업데이트합니다. 여기에는 Cloud Control 을 사용하여 원래 프로비저닝되지 않은 리소스가 포함됩니다API.

중요

Cloud ControlAPI을 사용하여 다른 서비스에서 활성 관리 중인 리소스를 업데이트하는 것이 좋습니다. 이렇게 하면 예상치 못한 결과가 발생할 수 있습니다. 예를 들어 Cloud ControlAPI을 사용하여 현재 AWS CloudFormation 스택의 일부인 리소스를 업데이트하지 마세요.

기존 리소스를 업데이트하려면 리소스 식별자를 지정해야 합니다. 리소스의 식별자를 결정하는 방법에 대한 자세한 내용은 리소스의 기본 식별자 사용 섹션을 참조하세요.

리소스를 업데이트하면 리소스 속성 값이 변경됩니다. 리소스의 속성은 리소스 유형 스키마에 정의되어 있습니다. 여기에는 속성이 필요한지 여부, 유효한 값, 기타 속성 제약 조건이 포함됩니다. 리소스 속성 보기에 대한 자세한 내용은 리소스 유형 스키마 보기 섹션을 참조하세요.

패치 문서 작성

리소스를 업데이트하려면 먼저 업데이트를 패치 문서에 포함된 패치 작업 목록으로 정의합니다. JSON 이 패치 문서는 RFC 6902 - JavaScript 객체 표기법(JSON) 패치에 정의된 표준을 준수해야 합니다.

각 패치 작업은 특정 리소스 속성에 대한 단일 업데이트를 정의합니다. 다음 속성이 필요합니다.

  • op: 작업 유형. Cloud Control은 RFC 6902에 정의된 add, , remove, replace, 및 movecopy의 모든 작업을 API 지원합니다test.

  • path: 리소스 스키마의 properties 섹션을 기준으로 한 리소스 속성의 경로입니다.

작업에 따라 추가 속성이 필요할 수 있습니다. 자세한 내용은 RFC 6902를 참조하세요.

update-resource 명령을 사용할 때 패치 문서를 문자열로 인라인으로 지정하거나 파일 위치를 지정할 수 있습니다.

다음 예제에서는 라는 AWS::Logs::LogGroup 리소스의 보존 정책을 90일로 업데이트CloudControlApiLogGroup합니다.

$ aws cloudcontrol update-resource --type-name AWS::Logs::LogGroup \ --identifier CloudControlApiLogGroup \ --patch-document '[{"op":"test","path":"RetentionInDays","value":90}]'

Cloud Control이 리소스를 API 업데이트하는 방법

리소스를 업데이트하기 위해 Cloud Control은 API 먼저 리소스의 현재 상태를 검색한 다음 2단계 프로세스로 리소스를 업데이트합니다.

  • Cloud Control은 업데이트 요청에 지정된 패치 작업을 리소스의 현재 상태와 API 결합하여 리소스가 업데이트된 후 원하는 리소스 상태를 생성합니다. 작업은 패치 문서에 표시된 순서대로 순차적으로 적용됩니다. 시퀀스의 각 작업은 리소스의 현재 상태에 적용되며, 결과 리소스 상태는 다음 작업의 대상이 됩니다.

    이 시점에서는 다음과 같은 경우 전체 업데이트 요청이 실패합니다.

    • 요청에 포함된 패치 작업이 잘못되었습니다.

    • op 유형 test의 패치 작업이 실패합니다.

    이러한 경우 전체 업데이트 요청이 실패하고 Cloud ControlAPI은 리소스를 업데이트하지 않습니다.

  • 그런 API 다음 Cloud Control은 리소스 유형의 업데이트 핸들러를 호출하여 리소스를 업데이트합니다.

    업데이트 핸들러가 언제든지 실패하면 Cloud ControlAPI은 리소스를 이전 상태로 롤백하지 않습니다.

예를 들어 AWS::Logs::LogGroup 리소스를 업데이트하도록 정의된 다음 패치 문서를 고려해 보세요. 이 문서에는 두 가지 패치 작업이 포함되어 있습니다. 첫 번째 작업은 test 유형이며 리소스의 보존 정책이 3653일로 설정되어 있는지 확인합니다. 이 경우 리소스는 테스트를 통과하고 Cloud Control은 다음 작업을 API 진행합니다. 이 작업은 현재 보존 정책 값을 180일로 대체합니다. 리소스의 보존 정책이 3653일이 아닌 값으로 설정된 경우 첫 번째 test 작업이 실패하고 Cloud Control은 두 번째 replace 작업을 실행API하지 않습니다.

[ { "op": "test", "path": "/RetentionInDays", "value":3653 }, { "op": "replace", "path": "/RetentionInDays", "value":180 } ]

업데이트 리소스 요청 진행 상황 추적

update-resource 명령은 ProgressEvent 객체를 반환하며, 이를 사용하여 리소스 운영 요청의 현재 상태를 추적할 수 있습니다. 자세한 내용은 리소스 작업 요청의 진행 상황 추적 단원을 참조하십시오.