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

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

タグとは、お客様または AWS が AWS リソースに割り当てるカスタム属性ラベルです。各タグは 2 つの部分で構成されます。

  • タグキー (例: 、costcenterenvironment または project)。

  • タグ値として知られるオプションのフィールド (例: 111122223333 または production)。

タグは、以下のことに役立ちます。

  • AWS のコストの追跡。これらのタグは、AWS Billing and Cost Management ダッシュボードにアクティブベースします。AWS では、タグを使用してコストを分類し、毎月のコスト割り当てレポートを設定することができます。詳細については、AWS Billing and Cost Management ユーザーガイド の「コスト配分タグの使用」を参照してください。

  • タグに基づいて、Auto Scaling グループへのアクセスを制御します。IAM ポリシーで条件を使用して、そのグループのタグに基づき、Auto Scaling グループへのアクセスを制御できます。詳細については、「セキュリティのためのタグ付け」を参照してください。

  • AWS リソースの特定と整理。多くの AWS のサービスではタグ付けがサポートされるため、さまざまなサービスからリソースに同じタグを割り当てて、リソースの関連を示すことができます。

新規または既存の Auto Scaling グループにタグを付けることができます。Auto Scaling グループからタグを伝達し、起動する Amazon EC2 インスタンスにタグを付けることもできます。

タグは Amazon EBS ボリュームには伝達されません。Amazon EBS ボリュームにタグを追加するには、起動テンプレートでタグを指定します。詳細については、「Auto Scaling グループの起動テンプレートの作成」を参照してください。

タグの作成と管理は、AWS Management Console、AWS CLI、または SDK を使用します。

タグの命名と使用制限

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

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

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

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

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

  • タグのキーと値は大文字と小文字が区別されます。ベストプラクティスとして、タグを大文字にするための戦略を決定し、その戦略をすべてのリソースタイプにわたって一貫して実装します。

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

EC2 インスタンスのタグ付けライフサイクル

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

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

  • Auto Scaling グループは、aws:autoscaling:groupName のキーおよび Auto Scaling グループの名前の値を使用して、タグをインスタンスに自動的に追加します。

  • 起動テンプレートでインスタンスタグを指定し、グループのタグをそのインスタンスに伝播することを選択した場合、すべてのタグがマージされます。タグキーの対立がある場合、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 グループの作成ウィザードの [Add Tags (タグの追加)] ページでタグのキーと値を指定できます。Auto Scaling グループで起動されるインスタンスにタグを付けるには、[Tag New Instances (新しいインスタンスのタグ付け)] オプションが選択されたままにしてください。タグを付けない場合は、このオプションの選択を解除できます。

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

  1. Amazon EC2 Auto Scaling コンソール (https://console.aws.amazon.com/ec2autoscaling/) を開きます。

  2. Auto Scaling グループの横にあるチェックボックスを選択します。

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

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

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

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

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

タグの追加または変更 (AWS CLI)

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

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

create-auto-scaling-group を使用して新しい Auto Scaling グループを作成し、タグを追加します (例: environment=production を Auto Scaling グループに追加)。タグは、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=environment,Value=production,PropagateAtLaunch=true

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

create-or-update-tags コマンドを使用して、タグを作成または変更します。たとえば、以下のコマンドは Name=my-asg および costcenter=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=costcenter,Value=cc123,PropagateAtLaunch=true

Auto Scaling グループのタグを記述する (AWS CLI)

特定の 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": "production", "Key": "environment" } ] }
  • describe-auto-scaling-group— 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": "production", "Key": "environment" } ], "EnabledMetrics": [], "LoadBalancerNames": [], "AutoScalingGroupName": "my-asg", ... } ] }

タグの削除

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

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

タグを削除するには

  1. Amazon EC2 Auto Scaling コンソール (https://console.aws.amazon.com/ec2autoscaling/) を開きます。

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

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

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

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

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

タグの削除 (AWS CLI)

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

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

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

セキュリティのためのタグ付け

IAM では、タグに基づく Auto Scaling グループへのアクセスの制御をサポートしています。タグに基づいてアクセスを制御するには、IAM ポリシーの条件要素でタグ情報を提供します。

たとえば、以下の例に示すように、キー environment および 値 production を持つタグを含むすべての Auto Scaling グループへのアクセスを拒否できます。。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "autoscaling:CreateAutoScalingGroup", "autoscaling:UpdateAutoScalingGroup", "autoscaling:DeleteAutoScalingGroup" ], "Resource": "*", "Condition": { "StringEquals": {"autoscaling:ResourceTag/environment": "production"} } } ] }

詳細については、「Amazon EC2 Auto Scaling タグに基づく認証」を参照してください。

タグに基づく IAM ポリシーの例については、「Amazon EC2 Auto Scaling アイデンティティベースのポリシーの例」を参照してください。

タグへのアクセスを制御する

IAM では、Auto Scaling グループにタグを追加、変更、または削除するためのアクセス許可をアカウント内のどの IAM ユーザーおよびグループが持つかをコントロールすることもできます。タグへのアクセスを制御するには、IAM ポリシーの条件要素でタグ情報を提供します。

たとえば、IAM ポリシーを作成して、Auto Scaling グループから temporary キーでタグのみ削除することを許可できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "autoscaling:DeleteTags" ], "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": ["temporary"] } } } ] }

タグに基づく IAM ポリシーの例については、「Amazon EC2 Auto Scaling アイデンティティベースのポリシーの例」を参照してください。

注記

ユーザーが Auto Scaling グループに対してタグ付け (または、タグの削除) オペレーションを実行することを制限するポリシーは、インスタンスの起動後にタグを手動で変更することを禁止しません。EC2 インスタンスでタグへのアクセスを制御する例については、Linux インスタンス用 Amazon EC2 ユーザーガイド例: リソースのタグ付けを参照してください。