Application Auto Scaling のタグ付けサポート - Application Auto Scaling

Application Auto Scaling のタグ付けサポート

AWS CLI または SDK を使用して、Application Auto Scaling スケーラブルターゲットにタグを付けることができます。スケーラブルターゲットとは、Application Auto Scaling がスケールできる AWS またはカスタムリソースを表すエンティティです。

各タグは、Application Auto Scaling API を使用してユーザー定義のキーと値で構成されるラベルです。タグは、組織のニーズに応じて、特定のスケーラブルターゲットへのきめ細かいアクセスを構成するのに役立ちます。詳細については、「ABAC と Application Auto Scaling」を参照してください。

新しいスケーラブルターゲットを登録するときにタグを追加したり、既存のスケーラブルターゲットにタグを追加したりできます。

タタグを管理するために一般的に使用されるコマンドには、以下があります。

タグ付けの例

--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-dimension dimension \ --resource-id identifier \ --min-capacity 1 --max-capacity 10 \ --tags environment=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 ポリシーでは、DeregisterScalableTargetDeleteScalingPolicyDeleteScheduledAction アクションを使用するアクセス許可を付与します。ただし、処理対象のスケーラブルターゲットにタグ 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"] } } } ] }