Cloud Control API の開始方法 - Cloud Control 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 コマンドを実行します。

    • AWS::Logs::LogGroup として type-name を指定します。

    • 必要なプロパティを設定する JSON を含む文字列として desired-state を指定します。

      {"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 コマンドを実行します。

    • ProgressEvent オブジェクトに返される RequestToken プロパティ値として request-token パラメータを指定します。

    $ 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 コマンドを実行します。

    • AWS::Logs::LogGroup として type-name を指定します。

    • リソースを作成したときに 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 コマンドを実行します。

    • ProgressEvent オブジェクトに返される RequestToken プロパティ値として request-token パラメータを指定します。

    $ 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 コマンドを実行します。

    • AWS::Logs::LogGroup として type-name を指定します。

    $ 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 コマンドを実行します。

    • AWS::Logs::LogGroup として type-name を指定します。

    • リソースを作成したときに 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 コマンドを実行します。

    • ProgressEvent オブジェクトに返される RequestToken プロパティ値として request-token パラメータを指定します。

    $ 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 の使用に関する詳細と例については、「」を参照してくださいリソースオペレーションの実行