Application Auto Scaling のタグ付けサポート
AWS CLI または SDK を使用して、Application Auto Scaling スケーラブルターゲットにタグを付けることができます。スケーラブルターゲットとは、Application Auto Scaling がスケールできる AWS またはカスタムリソースを表すエンティティです。
各タグは、Application Auto Scaling API を使用してユーザー定義のキーと値で構成されるラベルです。タグは、組織のニーズに応じて、特定のスケーラブルターゲットへのきめ細かいアクセスを構成するのに役立ちます。詳細については、「ABAC と Application Auto Scaling」を参照してください。
新しいスケーラブルターゲットを登録するときにタグを追加したり、既存のスケーラブルターゲットにタグを追加したりできます。
タタグを管理するために一般的に使用されるコマンドには、以下があります。
-
register-scalable-target は、新しいスケーラブルターゲットを登録するときにタグ付けします。
-
tag-resource は、既存のスケーラブルターゲットにタグを追加します。
-
list-tags-for-resource は、スケーラブルターゲットでタグを返します。
-
untag-resource は、タグを削除します。
タグ付けの例
--tags
オプションがある、以下の register-scalable-target コマンドを使用します。この例では、2 つのタグでスケーラブルターゲットにタグを付けます。production
のタグ値で名前が environment
であるタグキーと、true
のタグ値で名前が iscontainerbased
であるタグキーです。
--min-capacity
と --max-capacity
のサンプル値と --service-namespace
のサンプルテキストを、Application Auto Scaling で使用している AWS サービスの名前空間に、--scalable-dimension
を登録しているリソースに関連付けられたスケーラブルなディメンションに、--resource-id
をリソースの識別子に置き換えます。各サービスの詳細情報および例については、Application Auto Scaling を使用できる AWS のサービス のサービス のトピックを参照してください。
aws application-autoscaling register-scalable-target \ --service-namespace
namespace
\ --scalable-dimensiondimension
\ --resource-ididentifier
\ --min-capacity1
--max-capacity10
\ --tagsenvironment
=production
,iscontainerbased
=true
成功した場合、このコマンドはスケーラブルターゲットの ARN を返します。
{
"ScalableTargetARN": "arn:aws:application-autoscaling:region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123"
}
注記
このコマンドでエラーが発生する場合は、AWS CLI がローカルで最新バージョンに更新されていることを確認してください。
セキュリティ用のタグ
タグを使用して、リクエスター (IAM ユーザーやロールなど) が特定のアクションを実行するアクセス許可を持っていることを確認します。以下の条件キーを 1 つ以上使用して、IAM ポリシーの条件要素にタグ情報を指定します。
-
特定のタグを持つスケーラブルターゲットに対してユーザーアクションを許可 (または拒否) するには、
aws:ResourceTag/
を使用します。tag-key
:tag-value
-
リクエストに特定のタグが含める (または含めない) ことを要求するには、
aws:RequestTag/
を使用します。tag-key
:tag-value
-
リクエストに特定のタグキーを含める (または含めない) ことを要求するには、
aws:TagKeys [
を使用します。tag-key
, ...]
例えば、次の IAM ポリシーでは、DeregisterScalableTarget
、DeleteScalingPolicy
、DeleteScheduledAction
アクションを使用するアクセス許可を付与します。ただし、処理対象のスケーラブルターゲットにタグ
=environment
がある場合は、そのアクションも拒否します。production
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction" ], "Resource": "*" } }, { "Effect": "Deny", "Action": [ "application-autoscaling:DeregisterScalableTarget", "application-autoscaling:DeleteScalingPolicy", "application-autoscaling:DeleteScheduledAction" ], "Resource": "*", "Condition": { "StringEquals": {"aws:ResourceTag/
environment
": "production
"} } } ] }
タグへのアクセスを制御する
タグを使用してリクエスター (IAM ユーザーまたはロールなど) が スケーラブルターゲットのタグを追加、変更、削除するアクセス許可を持っていることを確認します。
例えば、IAM ポリシーを作成して、スケーラブルターゲットから
キーでタグのみ削除することを許可できます。temporary
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "application-autoscaling:UntagResource", "Resource": "*", "Condition": { "ForAllValues:StringEquals": { "aws:TagKeys": ["
temporary
"] } } } ] }