すべてのプロダクト
Search
ドキュメントセンター

Resource Management:複数のリソースのタグ値を一括変更する方法

最終更新日:Apr 20, 2025

このトピックでは、CloudOps Orchestration Service(OOS)カスタムテンプレートを使用して、同じリージョン内の複数のリソースのタグ値を一括変更する方法について説明します。

前提条件

Elastic Compute Service(ECS)インスタンスにタグが追加されています。 詳細については、「タグを作成する」および「タグを追加する」をご参照ください。

背景情報

このトピックでは、複数の ECS インスタンスのタグ値を一括変更するために、OOS でカスタムテンプレートを作成します。 この例では、ECS インスタンスのタグ値を OldTagValue から NewTagValue に変更します。 関連するタグのキーと値のペアは、TagKey:OldTagValue から TagKey:NewTagValue に変更されます。

説明
  • OOS カスタムテンプレートを使用して、最大 1,000 個のリソースのタグ値を一括変更できます。 リソース数が 1,000 を超える場合は、テンプレートを複数回実行する必要があります。

  • OOS カスタムテンプレートを使用して、同じリージョン内のタグをサポートするリソースのタグ値を変更できます。 テンプレート内の関連 API 操作を変更して、さまざまなリソースに適用できます。 タグをサポートするリソースの詳細については、「タグと連携するサービス」をご参照ください。 OOS でサポートされているリソースの詳細については、「サポートされているクラウドサービスの一覧」をご参照ください。

手順 1:OOS カスタムテンプレートを作成する

次の手順を実行して、複数のリソースのタグ値を一括変更するために使用する OOS カスタムテンプレートを作成できます。

  1. OOS コンソール にログインします。

  2. 左側のナビゲーションウィンドウで、[自動タスク] > [カスタムテンプレート] を選択します。

  3. 上部のナビゲーションバーで、目的のリージョンを選択します。

  4. [テンプレートの作成] をクリックします。

  5. [JSON] タブをクリックし、テンプレートのコードを記述します。

    次のコードは例を示しています。

    {
        "Description": "Modify a tag value of multiple resources at a time", // 複数のリソースのタグ値を一括変更する
        "FormatVersion": "OOS-2019-06-01",
        "Parameters": {
            "operateId": {
                "Description": "The operation ID", // 操作 ID
                "Type": "String",
                "MinLength": 1,
                "MaxLength": 64
            },
            "tagKey": {
                "Description": "Current tag key", // 現在のタグキー
                "Type": "String",
                "MinLength": 1,
                "MaxLength": 64
            },
            "tagValue": {
                "Description": "Current tag value", // 現在のタグ値
                "Type": "String",
                "MinLength": 1,
                "MaxLength": 64
            },
            "newTagValue": {
                "Description": "New tag value", // 新しいタグ値
                "Type": "String",
                "MinLength": 1,
                "MaxLength": 64
            }
        },
        "Tasks": [
            {
                "Name": "DescribeInstances_ECS",
                "Action": "ACS::ExecuteAPI",
                "Description": {
                    "en": "filter ecs instances by tags" // タグで ECS インスタンスをフィルタリングする
                },
                "Properties": {
                    "Service": "ECS",
                    "API": "DescribeInstances",
                    "AutoPaging": true,
                    "Parameters": {
                        "Tags": [
                            {
                                "Key": "{{ tagKey }}",
                                "Value": "{{ tagValue }}"
                            }
                        ]
                    }
                },
                "Outputs": {
                    "Instances": {
                        "Type": "List",
                        "ValueSelector": "Instances.Instance[].InstanceId"
                    }
                }
            },
            {
                "Name": "TagResources_ECS_Instances",
                "Action": "ACS::ExecuteAPI",
                "Description": {
                    "en": "tag ecs instances" // ECS インスタンスにタグを付ける
                },
                "Properties": {
                    "Service": "ECS",
                    "API": "TagResources",
                    "Parameters": {
                        "Tags": [
                            {
                                "Key": "{{ tagKey }}",
                                "Value": "{{ newTagValue }}"
                            }
                        ],
                        "ResourceType": "Instance",
                        "ResourceId": [
                            "{{ACS::TaskLoopItem}}"
                        ]
                    }
                },
                "Loop": {
                    "MaxErrors": "100%",
                    "Concurrency": 20,
                    "Items": "{{DescribeInstances_ECS.Instances}}"
                }
            }
        ],
        "Outputs": {}
    }
  6. [テンプレートの作成] をクリックします。

  7. [テンプレートの基本情報] ダイアログボックスで、テンプレート名、タグ、リソースグループ、バージョンの説明などの基本情報を設定します。

  8. [OK] をクリックします。

手順 2:カスタムテンプレートを実行する

手順 1:OOS カスタムテンプレートを作成する で作成したテンプレートを実行して、複数のリソースのタグ値を変更するには、次の手順を実行します。

  1. [カスタムテンプレート] ページで、手順 1:OOS カスタムテンプレートを作成する で作成したテンプレートを見つけ、[実行の作成][アクション] 列の をクリックします。

  2. 基本情報ステップで、[実行の説明][実行モード] を設定します。 次に、[次のステップ:パラメータ設定] をクリックします。

  3. パラメータ設定ステップで、パラメータを設定し、[次のステップ:OK] をクリックします。

    このステップでは、次のパラメータを設定する必要があります。

    • operateId:操作を識別するために使用される操作 ID。 このパラメータは、要件に基づいて設定できます。

    • tagKey:現在のタグキー。 この例では、現在のタグキーは TagKey です。

    • tagValue:現在のタグ値。 この例では、現在のタグ値は OldTagValue です。

    • newTagValue:新しいタグ値。 この例では、新しいタグ値は NewTagValue です。

  4. [作成] をクリックします。

    テンプレートが実行されると、実行の詳細ページが表示されます。 このページで実行結果を確認できます。

    説明

    実行に失敗した場合は、ログで失敗の原因を確認し、調整を行うことができます。