Cloud Control API 시작하기 - 클라우드 제어 API

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

Cloud Control API 시작하기

이 짧은 자습서를 사용하여 리소스 작업 수행을 시작하십시오 AWS Cloud Control API. Cloud Control API를 사용하여 리소스를 만들고, 읽고, 업데이트하고, 삭제하고, 나열하는 기본적인 방법을 알아봅니다.

1단계: 리소스 생성

이 튜토리얼에서는 AWS::Logs::LogGroup 유형의 리소스를 생성합니다. 이 로그 그룹의 이름을 CloudControlExample로 지정하고 보존 정책을 90일로 설정합니다.

  1. AWS Command Line Interface (AWS CLI) 에서 다음 매개 변수를 create-resource 사용하여 명령을 실행합니다.

    • type-nameAWS::Logs::LogGroup으로 지정합니다.

    • desired-state를 원하는 속성을 설정하는 JSON이 포함된 문자열로 지정합니다.

      {"LogGroupName": "CloudControlExample", "RetentionInDays": 90}

    $ aws cloudcontrol create-resource --type-name AWS::Logs::LogGroup \ --desired-state '{"LogGroupName": "CloudControlExample","RetentionInDays":90}'

    Cloud Control API는 리소스 작업 요청 상태에 대한 정보가 포함된 ProgressEvent 객체를 반환합니다.

    { "ProgressEvent": { "EventTime": "2021-08-26T22:07:23.347Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "CREATE", "Identifier": "CloudControlExample", "RequestToken": "758f4a4e-fef4-491a-9b07-00123456789" } }
  2. 리소스 작업 요청의 상태를 추적하려면 다음 파라미터를 사용하여 get-resource-request-status 명령을 실행합니다.

    • request-token 파라미터를 ProgressEvent 개체에 반환한 RequestToken 속성 값으로 지정합니다.

    $ aws cloudcontrol get-resource-request-status --request-token 758f4a4e-fef4-491a-9b07-00123456789

    Cloud Control API는 리소스 작업 요청 상태에 대한 정보가 포함된 ProgressEvent 객체를 반환합니다. Cloud Control API가 리소스를 성공적으로 생성하면 OperationStatus 값을 SUCCESS로 설정합니다.

    { "ProgressEvent": { "EventTime": "2021-08-26T22:29:23.326Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "CREATE", "Identifier": "CloudControlExample", "RequestToken": "758f4a4e-fef4-491a-9b07-00123456789" } }

2단계: 리소스 읽기(설명)

다음으로 방금 생성한 리소스의 현재 상태를 확인합니다.

  • 에서 AWS CLI다음 매개 변수를 get-resource 사용하여 명령을 실행합니다.

    • 리소스를 생성할 때 ProgressEvent 개체에 반환된 identifier 속성 값을 identifier로 지정합니다. 이 경우에는 로그 그룹에 지정한 이름인 CloudControlExample입니다.

    $ aws cloudcontrol get-resource --type-name AWS::Logs::LogGroup --identifier CloudControlExample

    Cloud Control API는 속성 및 설정 모델을 포함하여 리소스의 현재 상태에 대한 세부 정보를 반환합니다. 이 경우 여기에는 리소스 생성 시 Amazon CloudWatch Events에서 생성한 속성이 포함됩니다. Arn

    { "TypeName": "AWS::Logs::LogGroup", "ResourceDescription": { "Identifier": "CloudControlExample", "ResourceModel": '{"RetentionInDays": 90, "LogGroupName": "CloudControlExample", "Arn": "arn:aws:logs:us-west-2:090123456789:log-group:CloudControlExample:*"}' } }

3단계: 리소스 업데이트

그런 다음, 로그 그룹을 업데이트하여 보존 정책을 180일로 두 배로 늘리세요.

  1. 에서 AWS CLI다음 파라미터를 update-resource 사용하여 명령을 실행합니다.

    • type-nameAWS::Logs::LogGroup으로 지정합니다.

    • 리소스를 생성할 때 ProgressEvent 개체에 반환된 identifier 속성 값을 identifier로 지정합니다. 이 경우에는 로그 그룹에 지정한 이름인 CloudControlExample입니다.

    • 보존 정책을 180일로 업데이트하는 대체 작업을 나타내는 JSON이 포함된 문자열로 patch-document 파라미터를 지정합니다.

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

      패치 문서 작성에 대한 자세한 내용은 을 참조하십시오패치 문서 작성.

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

    Cloud Control API는 리소스 작업 요청 상태에 대한 정보가 포함된 ProgressEvent 객체를 반환합니다.

    { "ProgressEvent": { "EventTime": "2021-08-26T22:29:22.547Z", "ResourceModel": '{"RetentionInDays":180,"LogGroupName":"CloudControlExample"}', "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "UPDATE", "Identifier": "CloudControlExample", "RequestToken": "2026055d-f21c-4b50-bd40-111111111111" } }
  2. 리소스 작업 요청의 상태를 추적하려면 다음 파라미터를 사용하여 get-resource-request-status 명령을 실행합니다.

    • request-token 파라미터를 ProgressEvent 개체에 반환한 RequestToken 속성 값으로 지정합니다.

    $ aws cloudcontrol get-resource-request-status --request-token 2026055d-f21c-4b50-bd40-123456789012

    Cloud Control API는 리소스 작업 요청 상태에 대한 정보가 포함된 ProgressEvent 객체를 반환합니다. Cloud Control API가 리소스를 성공적으로 업데이트하면 OperationStatus 값을 SUCCESS로 설정합니다.

    { "ProgressEvent": { "EventTime": "2021-08-26T22:29:23.326Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "UPDATE", "Identifier": "CloudControlExample", "RequestToken": "2026055d-f21c-4b50-bd40-123456789012" } }

4단계: 특정 유형의 모든 리소스를 나열합니다.

다음으로 Cloud Control API를 사용하여 AWS 계정에서 리소스를 검색합니다.

  • 에서 AWS CLI다음 매개 변수를 list-resources 사용하여 명령을 실행합니다.

    • type-nameAWS::Logs::LogGroup으로 지정합니다.

    $ aws cloudcontrol list-resources --type-name AWS::Logs::LogGroup

    Cloud Control API는 계정에 있는 AWS::Logs::LogGroup 리소스의 목록을 기본 식별자별로 반환합니다. 이는 이 튜토리얼의 일부로 생성한 리소스인 CloudControlExample뿐만 아니라 이미 계정에 존재하는 다른 로그 그룹들을 포함합니다. 또한 AWS::Logs::LogGroup 리소스의 경우 list-resources가 반환하는 정보에는 각 리소스에 대한 속성이 포함됩니다.

    { "TypeName": "AWS::Logs::LogGroup", "ResourceDescriptions": [ { "Identifier": "CloudControlExample", "Properties": '{"RetentionInDays":180, "LogGroupName": "CloudControlExample", "Arn":"arn:aws:logs:us-west-2:090123456789:log-group:CloudControlExample:*"}' }, { "Identifier": "AnotherLogGroupResourceExample", "Properties": '{"RetentionInDays": 90, "LogGroupName": "AnotherLogGroupResourceExample", "Arn": "arn:aws:logs:us-west-2:011111111111:log-group:AnotherLogGroupResourceExample:*"}' }, ] }

5단계: 리소스 삭제

마지막으로, 이 튜토리얼에서 정리할 로그 그룹을 삭제하세요.

  1. 에서 AWS CLI다음 매개 변수를 delete-resource 사용하여 명령을 실행합니다.

    • type-nameAWS::Logs::LogGroup으로 지정합니다.

    • 리소스를 생성할 때 ProgressEvent 개체에 반환된 identifier 속성 값을 identifier로 지정합니다. 이 경우에는 로그 그룹에 지정한 이름인 CloudControlExample입니다.

    $ aws cloudcontrol delete-resource --type-name AWS::Logs::LogGroup --identifier CloudControlExample

    Cloud Control API는 리소스 작업 요청 상태에 대한 정보가 포함된 ProgressEvent 객체를 반환합니다.

    { "ProgressEvent": { "EventTime": "2021-08-26T22:50:20.037Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "DELETE", "Identifier": "CloudControlExample", "RequestToken": "bb0ed9cd-84f9-44c2-b638-000000000000" } }
  2. 리소스 작업 요청의 상태를 추적하려면 다음 파라미터를 사용하여 get-resource-request-status 명령을 실행합니다.

    • request-token 파라미터를 ProgressEvent 개체에 반환한 RequestToken 속성 값으로 지정합니다.

    $ aws cloudcontrol get-resource-request-status --request-token 2026055d-f21c-4b50-bd40-111111111111

    Cloud Control API는 리소스 작업 요청 상태에 대한 정보가 포함된 ProgressEvent 객체를 반환합니다. Cloud Control API가 리소스를 성공적으로 삭제하면 OperationStatus 값을 SUCCESS로 설정합니다.

    { "ProgressEvent": { "EventTime": "2021-08-26T22:50:20.831Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "DELETE", "Identifier": "CloudControlExample", "RequestToken": "bb0ed9cd-84f9-44c2-b638-000000000000" } }

다음 단계

리소스와 함께 Cloud Control API를 사용하는 방법에 대한 자세한 내용 및 예시는 을 참조하십시오Cloud Control API 리소스 작업.