Auto Scaling グループとインスタンスへのタグ付け - Amazon EC2 Auto Scaling (日本語)

Auto Scaling グループとインスタンスへのタグ付け

タグを使用すると、Auto Scaling グループを目的、所有者、環境などのさまざまな種別で分類できます。

各 Auto Scaling には、複数のタグを追加できます。さらに、Auto Scaling グループから、起動する Amazon EC2 インスタンスにタグを付けることができます。インスタンスにタグを付けることにより、AWS 請求書でインスタンスのコスト配分をタグごとに確認できます。詳細については、AWS Billing and Cost Management ユーザーガイドの「コスト配分タグの使用」を参照してください。

タグを作成、編集、または削除するためのアクセス許可をアカウント内のどの IAM ユーザーおよびグループが持つかをコントロールすることもできます。詳細については、「使用できるタグキーとタグ値を制御する」を参照してください。ただし、ユーザーが Auto Scaling グループに対してタグ付けオペレーションを実行することを制限するポリシーは、インスタンスの起動後にタグを手動で変更することを禁止しません。Amazon EC2 リソースのタグ付け (またはタグ解除) に関する IAM ポリシーの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドの「例:リソースのタグ付け」を参照してください。

タグは Amazon EBS ボリュームには伝達されません。Amazon EBS ボリュームにタグを追加するには、起動テンプレートでタグを指定します。ただし、起動テンプレートでインスタンスタグを設定するときは注意が必要です。起動テンプレートでインスタンスタグを指定する際に使用するキーが Auto Scaling グループにも指定されていると、Amazon EC2 Auto Scaling は Auto Scaling に指定されている値でインスタンスタグの値をオーバーライドします。起動テンプレートでタグを指定する方法については、「Auto Scaling グループの起動テンプレートを作成する」参照してください。

タグの制限

タグには以下のような基本制限があります。

  • リソースあたりのタグの最大数は 50 です。

  • 単一の呼び出しを使用して追加または削除できるタグの最大数は 25 です。

  • キーの最大長は Unicode 文字で 128 文字です。

  • 値の最大長は Unicode 文字で 256 文字です。

  • タグのキーと値は大文字と小文字が区別されます。

  • タグの名前または値に aws: プレフィックスは使用しないでください。このプレフィックスは AWS 用に予約されています。このプレフィックスが含まれるタグの名前または値は編集または削除できません。これらは Auto Scaling グループあたりのタグ数の制限に対して計算されません。

タグ付けのライフサイクル

Amazon EC2 インスタンスにタグを付けることを選択した場合、タグは以下のように管理されます。

  • Auto Scaling グループがインスタンスを起動すると、リソースの作成後ではなく作成中に、インスタンスにタグが追加されます。

  • Auto Scaling グループは、aws:autoscaling:groupName キーと Auto Scaling グループ名値を持つタグをインスタンスに自動的に追加します。

  • 既存のインスタンスをアタッチするときに、Auto Scaling グループはタグをインスタンスに追加し、同じタグキーを持つ既存のタグを上書きします。さらに、キーが aws:autoscaling:groupName で、値が Auto Scaling グループ名のタグが追加されます。

  • Auto Scaling グループからインスタンスからデタッチした場合は、aws:autoscaling:groupName タグのみが削除されます。

  • 手動でスケールインするか、Auto Scaling グループが自動的にスケールインする場合、削除中のインスタンスからすべてのタグが削除されます。

Auto Scaling グループのタグの追加または変更

Auto Scaling グループにタグを追加する際、Auto Scaling グループで起動するインスタンスに追加するかどうかを指定できます。タグを変更する場合は、変更後にその Auto Scaling グループで起動されたインスタンスには更新されたタグのバージョンが追加されます。Auto Scaling グループのタグを作成または変更しても、これらの変更内容は既に Auto Scaling グループで実行中のインスタンスには加えられません。

タグを追加または変更する (コンソール)

Amazon EC2 コンソールを使用して以下の操作を行います。

  • 新しい Auto Scaling グループの作成時にタグを追加する

  • 既存の Auto Scaling グループのタグを追加、変更、または削除する

Auto Scaling グループの作成時にタグを付けるには

Amazon EC2 コンソールを使用して Auto Scaling グループを作成する場合、Auto Scaling グループの作成ウィザードの [Configure Tags (タグの設定)] ページでタグのキーと値を指定できます。Auto Scaling グループで起動されるインスタンスにタグを付けるには、タグの [Tag New Instances (新しいインスタンスのタグ付け)] オプションが選択されたままにしてください。タグを付けない場合は、このオプションの選択を解除できます。

既存の Auto Scaling グループのタグを追加または変更するには

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

  3. グループ [Auto Scaling] の横にあるチェックボックスをオンにします。

    [Auto Scaling グループ] ページの下部に分割ペインが開き、選択したグループに関する情報が表示されます。

  4. [詳細] タブで、[タグ]、[編集] の順に選択します。(旧コンソール: [タグ] タブで、[タグの追加/編集] を選択します)。

  5. 既存のタグを変更するには、[Key] と [Value] フィールドを編集します。

  6. 新しいタグを追加するには、[Add tag] を選択し、[Key] と [Value] フィールドを選択します。[Tag New Instances (新しいインスタンスにタグ付けする)] を選択したままにして Auto Scaling グループで起動されるインスタンスに自動的にタグを追加することも、選択解除して追加しないこともできます。

  7. タグの追加を完了したら、[保存] を選択します

タグを追加または変更する (AWS CLI)

以下の例では、AWS CLI を使用して Auto Scaling グループを作成するときにタグを追加する方法、および既存の Auto Scaling グループのタグを追加または変更する方法を示しています。

Auto Scaling グループの作成時にタグを付けるには

  • create-auto-scaling-group コマンドを使用して、新しい Auto Scaling グループを作成し、Auto Scaling グループに env=prod などのタグを追加します。タグは、Auto Scaling グループで起動されるインスタンスにも追加されます。

    aws autoscaling create-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-configuration-name my-launch-config --min-size 1 --max-size 3 \ --vpc-zone-identifier "subnet-5ea0c127,subnet-6194ea3b,subnet-c934b782" \ --tags Key=env,Value=prod,PropagateAtLaunch=true

既存の Auto Scaling グループのタグを作成または変更するには

  • create-or-update-tags コマンドを使用して、タグを作成または変更します。たとえば、以下のコマンドは Name=my-asg および cost-center=cc123 タグを追加します。この変更後、それらのタグは Auto Scaling グループ内で起動されるすべてのインスタンスに追加されます。いずれかのキーを持つタグがすでに存在する場合、既存のタグは置き換えられます。Amazon EC2 コンソールでは、各インスタンスの表示名は、Name キーに指定された名前に関連付けられます (大文字と小文字は区別)。

    aws autoscaling create-or-update-tags \ --tags ResourceId=my-asg,ResourceType=auto-scaling-group,Key=Name,Value=my-asg,PropagateAtLaunch=true \ ResourceId=my-asg,ResourceType=auto-scaling-group,Key=cost-center,Value=cc123,PropagateAtLaunch=true

Auto Scaling グループのすべてのタグを一覧表示するには

  • 以下の describe-tags コマンドを使用して、指定した Auto Scaling グループのタグを一覧表示します。

    aws autoscaling describe-tags --filters Name=auto-scaling-group,Values=my-asg

    以下に、応答の例を示します。

    { "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "prod", "Key": "env" } ] }
  • または、次の describe-auto-scaling-groups コマンドを使用して、タグが Auto Scaling グループに追加されていることを確認します。

    aws autoscaling describe-auto-scaling-groups --auto-scaling-group-name my-asg

    以下に、応答の例を示します。

    { "AutoScalingGroups": [ { "AutoScalingGroupARN": "arn", "HealthCheckGracePeriod": 0, "SuspendedProcesses": [], "DesiredCapacity": 1, "Tags": [ { "ResourceType": "auto-scaling-group", "ResourceId": "my-asg", "PropagateAtLaunch": true, "Value": "prod", "Key": "env" } ], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", ... } ] }

タグの削除

Auto Scaling グループに関連付けられたタグは、いつでも削除できます。

タグの削除 (コンソール)

タグを削除するには (新しいコンソール)

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

  3. デフォルトでは、元のコンソールが開きます。新しいコンソールにアクセスするには、ページ上部のバナーで、[新しいコンソールに移動する] を選択します。

  4. 既存のグループの横にあるチェックボックスをオンにします。

    [Auto Scaling グループ] ページの下部に分割ペインが開き、選択したグループに関する情報が表示されます。

  5. [詳細] タブで、[タグ]、[編集] の順に選択します。

  6. タグの横にある [削除] を選択します。

  7. [Update (更新)] を選択します。

タグを削除するには (旧コンソール)

  1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  2. ナビゲーションペインの [Auto Scaling] で、[Auto Scaling グループ] を選択します。

  3. リストから既存のグループを選択します。

  4. [Tags (タグ)] タブで、[タグの追加/編集] を選択します。[Auto Scaling グループタグの追加/編集] ページに Auto Scaling グループに対するすべての既存のタグが一覧表示されます。

  5. タグの横にある削除アイコンを選択します。

  6. [Save] を選択します。

タグの削除 (AWS CLI)

タグを削除するには、delete-tags コマンドを使用します。たとえば、以下のコマンドは env キーを持つタグを削除します。

aws autoscaling delete-tags --tags "ResourceId=my-asg,ResourceType=auto-scaling-group,Key=env"

タグのキーは指定する必要がありますが、値を指定する必要はありません。指定した値が正しくない場合、タグは削除されません。